diff --git a/.gitattributes b/.gitattributes index d5658b7f8b..e43e74adcc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -151,3 +151,4 @@ research/p111-minrank-proof-reconciliation/vendor/pr620/geo.py -text -whitespace research/community-batch1099-audit/** -text -whitespace research/community-frontier1094-audit/** -text -whitespace research/abelian-cayley-metric-scope/** -text +research/gmx-t74-borrow43-handoff/** -text -whitespace diff --git a/research/gmx-t74-borrow43-handoff/.gitattributes b/research/gmx-t74-borrow43-handoff/.gitattributes new file mode 100644 index 0000000000..fa1385d99a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch b/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch new file mode 100644 index 0000000000..ab97eb8824 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/ADMISSION-DERIVATION.patch @@ -0,0 +1,324 @@ +--- inherited/witness.py ++++ t74/witness.py +@@ -53,3 +53,16 @@ + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] ++ ++# Replica-sensitive quantities are frozen by the independently checked parent lift. ++GEO=SPEC['geometry'] ++REPLICAS=GEO['replicas']; CALLS=GEO['stages']*REPLICAS ++assert type(REPLICAS) is int and REPLICAS>0 ++assert (GEO['stages'],GEO['pairs'],GEO['dimension'])==(9,4,73) ++assert set(CALL_ORDER)=={(s,r) for s in range(GEO['stages']) for r in range(REPLICAS)} ++DATA=2*112*GEO['pairs']*REPLICAS ++DEFICIT=DATA-64*CALLS ++PAYLOAD=GEO['charged_prefix_bits'] ++assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length() ++PARENT_LIVE=GEO['parent_live'];PARENT_PHYSICAL=GEO['parent_physical'];PARENT_IDLE=GEO['parent_idle'];PARENT_HELPERS=GEO['parent_helpers'] ++assert PARENT_PHYSICAL==PARENT_LIVE+PARENT_HELPERS+8+2 +--- inherited/emit_allcold.py ++++ t74/emit_allcold.py +@@ -24,8 +24,8 @@ + read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) + assert hashlib.sha256(MAP.read_bytes()).hexdigest()==SPEC['data']['owners_sha256'],'OWNERS not pinned by spec' + plan=read(PLAN);assert plan['runtime_source_plan_sha256']==SPEC['data']['plan_sha256'],'PLAN not pinned by spec' +-call_order=[tuple(x)for x in plan['order']];assert len(call_order)==len(set(call_order))==333;at={x:i for i,x in enumerate(call_order)} +-parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz');t=copy.deepcopy(parent);canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz');ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json');roles=read(MAP);T=37;V=canon['v'];M=73;R0=canon['R'];DATA=8*T*V;assert(V,canon['h'])==(112,9) # R0: parent (split-centres) helper count ++call_order=[tuple(x)for x in plan['order']];assert len(call_order)==len(set(call_order))==CALLS;at={x:i for i,x in enumerate(call_order)} ++parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz');t=copy.deepcopy(parent);canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz');ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json');roles=read(MAP);T=REPLICAS;V=canon['v'];M=73;R0=canon['R'];DATA=8*T*V;assert(V,canon['h'])==(112,9) # R0: parent (split-centres) helper count + assert(len(canon['start']),len(ph['recipes']))==(2*V+R0,V) + sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() + provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +@@ -49,9 +49,9 @@ + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +-assert len(roles)==333*R # one whole-owner role per (call, provider helper) ++assert len(roles)==CALLS*R # one whole-owner role per (call, provider helper) + selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +-assert len(selected)==333 and set(selected)==set(call_order) ++assert len(selected)==CALLS and set(selected)==set(call_order) + assert Counter(c['provider']for c in selected.values())==COUNTS + per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} + for key,c in selected.items(): +@@ -92,7 +92,7 @@ + u=used[i,rep,port];assert u==set(range(len(u)));left=old['rank']-len(u) + if left: + f=rep*(8*V)+(2*pairs[i]+side[i])*V+port;newidle.append(dict(child=i,port=port,replica=rep,replicas=1,family=f,rank=left,hosted=len(u),pending_offset=len(u)));paid[left]+=1 +-assert M*DATA-sum(r*n for r,n in paid.items())==11840 ++assert M*DATA-sum(r*n for r,n in paid.items())==DEFICIT + C=len(canon['centers']);physical=DATA+C+R+2 + assert parent['physical']-parent['live']==C+R0+2 + # Local circuits, exact phase recipes, normalized wrappers and data routes stay +@@ -140,7 +140,7 @@ + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), +- rank_mass=sum(r*n for r,n in paid.items()),deficit=11840,maxchild=max(paid), ++ rank_mass=sum(r*n for r,n in paid.items()),deficit=DEFICIT,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), +--- inherited/audit_allcold.py ++++ t74/audit_allcold.py +@@ -77,10 +77,10 @@ + parent_canon=read(BASE/'split-centres/CANONICAL-WORD.json.gz') + assert [canon['frames'][f]for f in canon['center_frames']]==[parent_canon['frames'][f]for f in parent_canon['center_frames']] + assert required_artifacts<=set(summary['source_artifacts']) +-prank={e['child']:e['rank']for e in parent['idle_children']};M=73;T=37;DATA=8*T*V;PHYSICAL=DATA+CENTRES+R+2;CALLS=333;HOSTED=CALLS*R ++prank={e['child']:e['rank']for e in parent['idle_children']};M=73;T=REPLICAS;DATA=8*T*V;PHYSICAL=DATA+CENTRES+R+2;CALLS=CALLS;HOSTED=CALLS*R + # The selected map is an input to check, not a claim from the emitter. + +-assert len(DISPATCH)==333 and Counter(DISPATCH.values())==COUNTS ++assert len(DISPATCH)==CALLS and Counter(DISPATCH.values())==COUNTS + expected_provider=lambda stage,replica:DISPATCH[stage,replica] + + def orthobasis(port): +@@ -93,23 +93,23 @@ + assert(t['live'],t['physical'])==(DATA,PHYSICAL) + assert t['local_providers']==registry and t['recipe']==parent['recipe']and 'each local invocation completes before the next' in t['loop_order'].lower() + assert not any(k in t for k in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256')) +- assert len(t['calls'])==333 and t['hosting']['max_helpers_per_physical_family_per_call']==1 and t['hosting']['banks']==[0]*9 ++ assert len(t['calls'])==CALLS and t['hosting']['max_helpers_per_physical_family_per_call']==1 and t['hosting']['banks']==[0]*9 + for key in('exact_data_phase_recipe_sha256','adapter_policy'):assert t[key]==parent[key] + assert t['exact_data_phase_recipe_sha256']==sha(BASE/'work/complex-nine-native/DATA-PHASES.json') + # Independently project the literal schedule onto every data replica. + src=parent['execution_schedule'];assert t['async_schedule']['source_schedule']==src + assert t['async_schedule']['source_call_order']==[[c['stage'],c['replica']]for c in parent['calls']] + order=[(c['stage'],c['replica'])for c in t['calls']] +- assert [list(x)for x in order]==t['async_schedule']['order'] and len(set(order))==333 +- all_local=[];perrep={r:[]for r in range(37)};globals_=[] ++ assert [list(x)for x in order]==t['async_schedule']['order'] and len(set(order))==CALLS ++ all_local=[];perrep={r:[]for r in range(REPLICAS)};globals_=[] + for e in t['execution_schedule']: + j=e['source_event'];old=copy.deepcopy(src[j]) + if 'replica'in e: +- r=e['replica'];assert 0<=r<37 and j<30;perrep[r].append(j) ++ r=e['replica'];assert 0<=r2*max(paid)**2 +- return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=333) ++ mass=sum(r*n for r,n in paid.items());assert73=73*DATA-mass;assert assert73==DEFICIT and 73**2>2*max(paid)**2 ++ return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=CALLS) + + r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] + assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +@@ -228,11 +228,11 @@ + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +-report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=11840,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') ++report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') + REPORT.parent.mkdir(parents=True,exist_ok=True) + REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +-owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=11840,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) ++owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) + (REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + + # Literal residual frames are a compact export of the already checked offsets, +--- inherited/invoice_allcold.py ++++ t74/invoice_allcold.py +@@ -195,7 +195,7 @@ + helpers=next(iter(providers.values()))['helpers']; n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] +- stages,replicas,blocks_per_stream=9,37,4 ++ stages,replicas,blocks_per_stream=GEO['stages'],REPLICAS,GEO['pairs'] + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] +@@ -238,6 +238,8 @@ + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] ++ assert (parent_live,parent_physical,sum(c['replicas'] for c in parent['idle_children']))==(PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE) ++ assert parent_helpers==PARENT_HELPERS + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages +@@ -250,7 +252,7 @@ + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] +- assert m*live-mass==owners['deficit']==11840 ++ assert m*live-mass==owners['deficit']==DEFICIT + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+2 + assert live==owners['live'] and physical==owners['physical'] +@@ -260,7 +262,7 @@ + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) +- used=max(rebased,parent_pervertex); retained=None; payload=1024 ++ used=max(rebased,parent_pervertex); retained=None; payload=PAYLOAD + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==512 +@@ -313,7 +315,7 @@ + complete_invocation_cover_sweeps=call_count,bridge_factor_two_sweeps=bridge_sweeps, + local_scalar_coefficient_work_prefix_bits=localbits,stream_input_sup_to_l2_bits=input_l2_bits, + primitive_arithmetic_margin_bits=4,controller_audit_sha256=filehash(audit/'ASYNC-AUDIT.json'), +- proof='Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum all 333 invocation and 333 bridge sweeps and take the maximum local scalar/Horner prefix over both orientations of the fixed provider. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional.') ++ proof='Each selected normalized provider restores all arbitrary dirty helper columns and gives the same data shear endpoints. Actual whole-owner charts are right-translation bijections. Sum every actual invocation and bridge sweep and take the maximum local scalar/Horner prefix over both orientations of the fixed provider. Idle children, phases, spectator endpoints and terminal translations are unitary. Retained all-size interfaces are conditional.') + out.mkdir(parents=True,exist_ok=True) + (out/'PREFIX-AND-INVOICE.json').write_text(json.dumps(receipt,indent=2)+'\n') + (out/'GLOBAL-PREFIX.json').write_text(json.dumps(prefix,indent=2)+'\n') +--- inherited/assemble.py ++++ t74/assemble.py +@@ -27,7 +27,7 @@ + M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] + def dec(x): + with localcontext()as ctx:ctx.prec=70;return str(Decimal(x.numerator)/Decimal(x.denominator)) +-from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths ++from witness import DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths,GEO,REPLICAS,CALLS,DATA,DEFICIT,PAYLOAD,PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE,PARENT_HELPERS + # Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). + BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' + BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +@@ -63,14 +63,14 @@ + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) +- assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==333*R==pin('expected.hosted_residuals',owner['hosted_residuals']) ++ assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==CALLS*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) +- assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==333 ++ assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==CALLS + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 +- assert invoice['physical_stock_identity']==dict(data_and_owner_families=33152,local_helpers=R,private_centres=8,coefficient_work=2) ++ assert invoice['physical_stock_identity']==dict(data_and_owner_families=DATA,local_helpers=R,private_centres=8,coefficient_work=2) + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): +@@ -106,9 +106,9 @@ + assert p['compiler']==64*74**3 + assert p['local_adapters']==16*(max(z['macros']for z in p['local'].values())+p['children']+2*112+R+8)+64*73 + assert p['local_primitive_bound']==max(z['real_component_primitives']for z in p['local'].values())+p['local_adapters']*p['compiler'] +- calls=invoice['selected_calls'];assert len(calls)==333 ++ calls=invoice['selected_calls'];assert len(calls)==CALLS + assert [(c['stage'],c['replica'])for c in calls]==CALL_ORDER +- assert {(c['stage'],c['replica']) for c in calls}=={(s,r) for s in range(9) for r in range(37)} ++ assert {(c['stage'],c['replica']) for c in calls}=={(s,r) for s in range(9) for r in range(REPLICAS)} + for c in calls: + pid=DISPATCH[c['stage'],c['replica']] + assert c['provider_id']==pid +@@ -138,13 +138,13 @@ + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. +- parent_live,parent_physical,parent_idle=55832,56346,74592 +- parent_banks,rem=divmod(parent_live-2*112*4*37,9);assert rem==0 and parent_physical==parent_live+504+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored ++ parent_live,parent_physical,parent_idle=PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE ++ parent_banks,rem=divmod(parent_live-2*112*4*REPLICAS,9);assert rem==0 and parent_physical==parent_live+PARENT_HELPERS+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored + assert owner['source_idle_children_charged']==parent_idle +- bridges,shifts=2*112*333,4*112*37;moves=2*shifts +- nonlocal_items=(4*112*37*9+2*112*37*9+2*333*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) ++ bridges,shifts=2*112*CALLS,4*112*REPLICAS;moves=2*shifts ++ nonlocal_items=(4*112*REPLICAS*9+2*112*REPLICAS*9+2*CALLS*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 +- pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(333*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) ++ pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(CALLS*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) +@@ -160,9 +160,9 @@ + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) +@@ -185,7 +185,7 @@ + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] +- pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==11840 ++ pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==DEFICIT + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 +@@ -200,14 +200,14 @@ + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) +- conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,11840,True) ++ conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,DEFICIT,True) + assert bit['bit']['two_level_coefficient_bits']0 +- ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+1024)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+1024) ++ ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+PAYLOAD)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+PAYLOAD) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} +@@ -222,7 +222,7 @@ + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. +- native_moments=check_moment('complex',H,73,owner['live'],b,11840,False) ++ native_moments=check_moment('complex',H,73,owner['live'],b,DEFICIT,False) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert M.moment(H,73,owner['live'],b,True)[0]>1 +@@ -231,7 +231,7 @@ + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) +- return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with 37 replicas. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') ++ return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') + if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() +--- inherited/assembly_controls.py ++++ t74/assembly_controls.py +@@ -58,7 +58,7 @@ + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' +- i['global_prefix_bits'] = 1 + 37 + 333 + 333 + 4 ++ i['global_prefix_bits'] = 1 + 37 + CALLS + CALLS + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] diff --git a/research/gmx-t74-borrow43-handoff/CLAIM.json b/research/gmx-t74-borrow43-handoff/CLAIM.json new file mode 100644 index 0000000000..dedc853974 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/CLAIM.json @@ -0,0 +1,20 @@ +{ + "status": "PASS_T74_PIVOT566_KERNEL_WITH_ENDPOINT_AND_OUTER_REFINEMENT_COMPLETE_FINITE_ADMISSION", + "kappa": "1711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa_decimal": "0.001711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903", + "baseline_pr": 2530, + "baseline_kappa": "0.00171373792154750434675199999999999999", + "outer_refinement": { + "grid_digits": 2995, + "margin_digits": 3005, + "bootstrap_steps": 1116, + "endpoint_digits": 3000 + }, + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim.", + "verification": "Producer-local checks: the PR2530 words (hash-checked patches on the PR2462 supplier, audited forward and dual with tamper controls and both guards), the evacuated owner fill (literal windows, bins and families), fresh native replays, PLAN rebind, strict discovery, SPEC refreeze, certified 1e-3000 endpoints, exact outer witness, regenerated ledger (63 strict rows, 17 rejecting controls), independent derivation and the private-buffer stock accounting. The complete proof is the publisher's run of verify_release.py.", + "gain_over_claimed_leader": "5.14118E-7", + "kappa_layers": "CLAIM.json kappa / kappa_decimal is the supplier-only kappa: the strict supplier assembly under its own (older) outer witness, new/SPEC.json expected.kappa. The headline conditional kappa of this package is the outer ledger kappa in outer/OUTER-CLAIM.json (= outer/LEDGER.json), obtained by re-evaluating the same supplier endpoint under the fine-prime-padding outer at the fixed-grid maximum; it is the number compared with the baseline.", + "supplier_only_kappa_exceeds_baseline": false, + "headline_kappa_exceeds_baseline": true, + "headline_kappa_source": "outer/OUTER-CLAIM.json" +} diff --git a/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json b/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json new file mode 100644 index 0000000000..188ce7a4a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/CONSTRUCTION.json @@ -0,0 +1 @@ +{"dispatch":{"extra":417,"gauge44":249},"helpers_per_call":422,"idle":{"1":22090,"14":1,"23":1,"3":6661,"32":77,"48":26489,"5":422,"7":170},"roles":281052,"scope":"Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.","status":"PASS_EXACT_BORROW_WORD_T74_OWNER_FILL"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/DISPATCH.json b/research/gmx-t74-borrow43-handoff/DISPATCH.json new file mode 100644 index 0000000000..693ed0d022 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/DISPATCH.json @@ -0,0 +1 @@ +[[0,0,"extra"],[0,1,"extra"],[0,2,"extra"],[0,3,"extra"],[0,4,"extra"],[1,0,"extra"],[0,5,"extra"],[1,1,"extra"],[0,6,"extra"],[1,2,"extra"],[0,7,"extra"],[1,3,"extra"],[0,8,"extra"],[1,4,"extra"],[2,0,"extra"],[0,9,"extra"],[1,5,"extra"],[2,1,"extra"],[0,10,"extra"],[1,6,"extra"],[2,2,"extra"],[0,11,"extra"],[1,7,"extra"],[2,3,"extra"],[0,12,"extra"],[1,8,"extra"],[2,4,"extra"],[3,0,"extra"],[0,13,"extra"],[1,9,"extra"],[2,5,"extra"],[3,1,"extra"],[0,14,"extra"],[1,10,"extra"],[2,6,"extra"],[3,2,"extra"],[0,15,"extra"],[1,11,"extra"],[2,7,"extra"],[3,3,"extra"],[0,16,"extra"],[1,12,"extra"],[2,8,"extra"],[3,4,"extra"],[4,0,"extra"],[0,17,"extra"],[1,13,"extra"],[2,9,"extra"],[3,5,"extra"],[4,1,"extra"],[0,18,"extra"],[1,14,"extra"],[2,10,"extra"],[3,6,"extra"],[4,2,"extra"],[0,19,"extra"],[1,15,"extra"],[2,11,"extra"],[3,7,"extra"],[4,3,"extra"],[0,20,"extra"],[1,16,"extra"],[2,12,"extra"],[3,8,"extra"],[4,4,"extra"],[5,0,"extra"],[0,21,"extra"],[1,17,"extra"],[2,13,"extra"],[3,9,"extra"],[4,5,"extra"],[5,1,"extra"],[0,22,"extra"],[1,18,"extra"],[2,14,"extra"],[3,10,"extra"],[4,6,"extra"],[5,2,"extra"],[0,23,"extra"],[1,19,"extra"],[2,15,"extra"],[3,11,"extra"],[4,7,"extra"],[5,3,"extra"],[0,24,"extra"],[1,20,"extra"],[2,16,"extra"],[3,12,"extra"],[4,8,"extra"],[5,4,"extra"],[6,0,"extra"],[0,25,"extra"],[1,21,"extra"],[2,17,"extra"],[3,13,"extra"],[4,9,"extra"],[5,5,"extra"],[6,1,"extra"],[0,26,"extra"],[1,22,"extra"],[2,18,"extra"],[3,14,"extra"],[4,10,"extra"],[5,6,"extra"],[6,2,"extra"],[0,27,"extra"],[1,23,"extra"],[2,19,"extra"],[3,15,"extra"],[4,11,"extra"],[5,7,"extra"],[6,3,"extra"],[0,28,"extra"],[1,24,"extra"],[2,20,"extra"],[3,16,"extra"],[4,12,"extra"],[5,8,"extra"],[6,4,"extra"],[7,0,"extra"],[0,29,"extra"],[1,25,"extra"],[2,21,"extra"],[3,17,"extra"],[4,13,"extra"],[5,9,"extra"],[6,5,"extra"],[7,1,"extra"],[0,30,"extra"],[1,26,"extra"],[2,22,"extra"],[3,18,"extra"],[4,14,"extra"],[5,10,"extra"],[6,6,"extra"],[7,2,"extra"],[0,31,"extra"],[1,27,"extra"],[2,23,"extra"],[3,19,"extra"],[4,15,"extra"],[5,11,"extra"],[6,7,"extra"],[7,3,"extra"],[0,32,"extra"],[1,28,"extra"],[2,24,"extra"],[3,20,"extra"],[4,16,"extra"],[5,12,"extra"],[6,8,"extra"],[7,4,"extra"],[8,0,"extra"],[0,33,"extra"],[1,29,"extra"],[2,25,"extra"],[3,21,"extra"],[4,17,"extra"],[5,13,"extra"],[6,9,"extra"],[7,5,"extra"],[8,1,"extra"],[0,34,"extra"],[1,30,"extra"],[2,26,"extra"],[3,22,"extra"],[4,18,"extra"],[5,14,"extra"],[6,10,"extra"],[7,6,"extra"],[8,2,"extra"],[0,35,"extra"],[1,31,"extra"],[2,27,"extra"],[3,23,"extra"],[4,19,"extra"],[5,15,"extra"],[6,11,"extra"],[7,7,"extra"],[8,3,"extra"],[0,36,"extra"],[1,32,"extra"],[2,28,"extra"],[3,24,"extra"],[4,20,"extra"],[5,16,"extra"],[6,12,"extra"],[7,8,"extra"],[8,4,"extra"],[0,37,"extra"],[1,33,"extra"],[2,29,"extra"],[3,25,"extra"],[4,21,"extra"],[5,17,"extra"],[6,13,"extra"],[7,9,"extra"],[8,5,"gauge44"],[0,38,"extra"],[1,34,"extra"],[2,30,"extra"],[3,26,"extra"],[4,22,"extra"],[5,18,"extra"],[6,14,"extra"],[7,10,"gauge44"],[8,6,"gauge44"],[0,39,"extra"],[1,35,"extra"],[2,31,"extra"],[3,27,"extra"],[4,23,"extra"],[5,19,"gauge44"],[6,15,"gauge44"],[7,11,"gauge44"],[8,7,"gauge44"],[0,40,"extra"],[1,36,"extra"],[2,32,"extra"],[3,28,"extra"],[4,24,"gauge44"],[5,20,"gauge44"],[6,16,"gauge44"],[7,12,"gauge44"],[8,8,"gauge44"],[0,41,"extra"],[1,37,"extra"],[2,33,"gauge44"],[3,29,"gauge44"],[4,25,"gauge44"],[5,21,"gauge44"],[6,17,"gauge44"],[7,13,"gauge44"],[8,9,"gauge44"],[0,42,"extra"],[1,38,"extra"],[2,34,"gauge44"],[3,30,"gauge44"],[4,26,"gauge44"],[5,22,"gauge44"],[6,18,"gauge44"],[7,14,"gauge44"],[8,10,"gauge44"],[0,43,"extra"],[1,39,"extra"],[2,35,"gauge44"],[3,31,"gauge44"],[4,27,"gauge44"],[5,23,"gauge44"],[6,19,"gauge44"],[7,15,"gauge44"],[8,11,"gauge44"],[0,44,"extra"],[1,40,"extra"],[2,36,"gauge44"],[3,32,"gauge44"],[4,28,"gauge44"],[5,24,"gauge44"],[6,20,"gauge44"],[7,16,"gauge44"],[8,12,"gauge44"],[0,45,"extra"],[1,41,"extra"],[2,37,"extra"],[3,33,"gauge44"],[4,29,"gauge44"],[5,25,"gauge44"],[6,21,"gauge44"],[7,17,"gauge44"],[8,13,"gauge44"],[0,46,"extra"],[1,42,"extra"],[2,38,"extra"],[3,34,"gauge44"],[4,30,"gauge44"],[5,26,"gauge44"],[6,22,"gauge44"],[7,18,"gauge44"],[8,14,"gauge44"],[0,47,"extra"],[1,43,"extra"],[2,39,"extra"],[3,35,"gauge44"],[4,31,"gauge44"],[5,27,"gauge44"],[6,23,"gauge44"],[7,19,"gauge44"],[8,15,"gauge44"],[0,48,"extra"],[1,44,"extra"],[2,40,"extra"],[3,36,"gauge44"],[4,32,"gauge44"],[5,28,"gauge44"],[6,24,"gauge44"],[7,20,"gauge44"],[8,16,"gauge44"],[0,49,"extra"],[1,45,"extra"],[2,41,"extra"],[3,37,"extra"],[4,33,"gauge44"],[5,29,"gauge44"],[6,25,"gauge44"],[7,21,"gauge44"],[8,17,"gauge44"],[0,50,"extra"],[1,46,"extra"],[2,42,"extra"],[3,38,"extra"],[4,34,"gauge44"],[5,30,"gauge44"],[6,26,"gauge44"],[7,22,"gauge44"],[8,18,"gauge44"],[0,51,"extra"],[1,47,"extra"],[2,43,"extra"],[3,39,"extra"],[4,35,"gauge44"],[5,31,"gauge44"],[6,27,"gauge44"],[7,23,"gauge44"],[8,19,"gauge44"],[0,52,"extra"],[1,48,"extra"],[2,44,"extra"],[3,40,"extra"],[4,36,"gauge44"],[5,32,"gauge44"],[6,28,"gauge44"],[7,24,"gauge44"],[8,20,"gauge44"],[0,53,"extra"],[1,49,"extra"],[2,45,"extra"],[3,41,"extra"],[4,37,"extra"],[5,33,"gauge44"],[6,29,"gauge44"],[7,25,"gauge44"],[8,21,"gauge44"],[0,54,"extra"],[1,50,"extra"],[2,46,"extra"],[3,42,"extra"],[4,38,"extra"],[5,34,"gauge44"],[6,30,"gauge44"],[7,26,"gauge44"],[8,22,"gauge44"],[0,55,"extra"],[1,51,"extra"],[2,47,"extra"],[3,43,"extra"],[4,39,"extra"],[5,35,"gauge44"],[6,31,"gauge44"],[7,27,"gauge44"],[8,23,"gauge44"],[0,56,"extra"],[1,52,"extra"],[2,48,"extra"],[3,44,"extra"],[4,40,"extra"],[5,36,"gauge44"],[6,32,"gauge44"],[7,28,"gauge44"],[8,24,"gauge44"],[0,57,"extra"],[1,53,"extra"],[2,49,"extra"],[3,45,"extra"],[4,41,"extra"],[5,37,"extra"],[6,33,"gauge44"],[7,29,"gauge44"],[8,25,"gauge44"],[0,58,"extra"],[1,54,"extra"],[2,50,"extra"],[3,46,"extra"],[4,42,"extra"],[5,38,"extra"],[6,34,"gauge44"],[7,30,"gauge44"],[8,26,"gauge44"],[0,59,"extra"],[1,55,"extra"],[2,51,"extra"],[3,47,"extra"],[4,43,"extra"],[5,39,"extra"],[6,35,"gauge44"],[7,31,"gauge44"],[8,27,"gauge44"],[0,60,"extra"],[1,56,"extra"],[2,52,"extra"],[3,48,"extra"],[4,44,"extra"],[5,40,"extra"],[6,36,"gauge44"],[7,32,"gauge44"],[8,28,"gauge44"],[0,61,"extra"],[1,57,"extra"],[2,53,"extra"],[3,49,"extra"],[4,45,"extra"],[5,41,"extra"],[6,37,"extra"],[7,33,"gauge44"],[8,29,"gauge44"],[0,62,"extra"],[1,58,"extra"],[2,54,"extra"],[3,50,"extra"],[4,46,"extra"],[5,42,"extra"],[6,38,"extra"],[7,34,"gauge44"],[8,30,"gauge44"],[0,63,"extra"],[1,59,"extra"],[2,55,"extra"],[3,51,"extra"],[4,47,"extra"],[5,43,"extra"],[6,39,"extra"],[7,35,"gauge44"],[8,31,"gauge44"],[0,64,"extra"],[1,60,"extra"],[2,56,"extra"],[3,52,"extra"],[4,48,"extra"],[5,44,"extra"],[6,40,"extra"],[7,36,"gauge44"],[8,32,"gauge44"],[0,65,"extra"],[1,61,"extra"],[2,57,"extra"],[3,53,"extra"],[4,49,"extra"],[5,45,"extra"],[6,41,"extra"],[7,37,"extra"],[8,33,"gauge44"],[0,66,"extra"],[1,62,"extra"],[2,58,"extra"],[3,54,"extra"],[4,50,"extra"],[5,46,"extra"],[6,42,"extra"],[7,38,"extra"],[8,34,"gauge44"],[0,67,"extra"],[1,63,"extra"],[2,59,"extra"],[3,55,"extra"],[4,51,"extra"],[5,47,"extra"],[6,43,"extra"],[7,39,"extra"],[8,35,"gauge44"],[0,68,"extra"],[1,64,"extra"],[2,60,"extra"],[3,56,"extra"],[4,52,"extra"],[5,48,"extra"],[6,44,"extra"],[7,40,"extra"],[8,36,"gauge44"],[0,69,"extra"],[1,65,"extra"],[2,61,"extra"],[3,57,"extra"],[4,53,"extra"],[5,49,"extra"],[6,45,"extra"],[7,41,"extra"],[8,37,"extra"],[0,70,"extra"],[1,66,"extra"],[2,62,"extra"],[3,58,"extra"],[4,54,"extra"],[5,50,"extra"],[6,46,"extra"],[7,42,"extra"],[8,38,"extra"],[0,71,"extra"],[1,67,"extra"],[2,63,"extra"],[3,59,"extra"],[4,55,"extra"],[5,51,"extra"],[6,47,"extra"],[7,43,"extra"],[8,39,"extra"],[0,72,"extra"],[1,68,"extra"],[2,64,"extra"],[3,60,"extra"],[4,56,"extra"],[5,52,"extra"],[6,48,"extra"],[7,44,"extra"],[8,40,"extra"],[0,73,"extra"],[1,69,"extra"],[2,65,"extra"],[3,61,"extra"],[4,57,"extra"],[5,53,"extra"],[6,49,"extra"],[7,45,"extra"],[8,41,"extra"],[1,70,"extra"],[2,66,"extra"],[3,62,"extra"],[4,58,"extra"],[5,54,"extra"],[6,50,"extra"],[7,46,"extra"],[8,42,"gauge44"],[1,71,"extra"],[2,67,"extra"],[3,63,"extra"],[4,59,"extra"],[5,55,"extra"],[6,51,"extra"],[7,47,"gauge44"],[8,43,"gauge44"],[1,72,"extra"],[2,68,"extra"],[3,64,"extra"],[4,60,"extra"],[5,56,"gauge44"],[6,52,"gauge44"],[7,48,"gauge44"],[8,44,"gauge44"],[1,73,"extra"],[2,69,"extra"],[3,65,"gauge44"],[4,61,"gauge44"],[5,57,"gauge44"],[6,53,"gauge44"],[7,49,"gauge44"],[8,45,"gauge44"],[2,70,"gauge44"],[3,66,"gauge44"],[4,62,"gauge44"],[5,58,"gauge44"],[6,54,"gauge44"],[7,50,"gauge44"],[8,46,"gauge44"],[2,71,"gauge44"],[3,67,"gauge44"],[4,63,"gauge44"],[5,59,"gauge44"],[6,55,"gauge44"],[7,51,"gauge44"],[8,47,"gauge44"],[2,72,"gauge44"],[3,68,"gauge44"],[4,64,"gauge44"],[5,60,"gauge44"],[6,56,"gauge44"],[7,52,"gauge44"],[8,48,"gauge44"],[2,73,"gauge44"],[3,69,"gauge44"],[4,65,"gauge44"],[5,61,"gauge44"],[6,57,"gauge44"],[7,53,"gauge44"],[8,49,"gauge44"],[3,70,"gauge44"],[4,66,"gauge44"],[5,62,"gauge44"],[6,58,"gauge44"],[7,54,"gauge44"],[8,50,"gauge44"],[3,71,"gauge44"],[4,67,"gauge44"],[5,63,"gauge44"],[6,59,"gauge44"],[7,55,"gauge44"],[8,51,"gauge44"],[3,72,"gauge44"],[4,68,"gauge44"],[5,64,"gauge44"],[6,60,"gauge44"],[7,56,"gauge44"],[8,52,"gauge44"],[3,73,"gauge44"],[4,69,"gauge44"],[5,65,"gauge44"],[6,61,"gauge44"],[7,57,"gauge44"],[8,53,"gauge44"],[4,70,"gauge44"],[5,66,"gauge44"],[6,62,"gauge44"],[7,58,"gauge44"],[8,54,"gauge44"],[4,71,"gauge44"],[5,67,"gauge44"],[6,63,"gauge44"],[7,59,"gauge44"],[8,55,"gauge44"],[4,72,"gauge44"],[5,68,"gauge44"],[6,64,"gauge44"],[7,60,"gauge44"],[8,56,"gauge44"],[4,73,"gauge44"],[5,69,"gauge44"],[6,65,"gauge44"],[7,61,"gauge44"],[8,57,"gauge44"],[5,70,"gauge44"],[6,66,"gauge44"],[7,62,"gauge44"],[8,58,"gauge44"],[5,71,"gauge44"],[6,67,"gauge44"],[7,63,"gauge44"],[8,59,"gauge44"],[5,72,"gauge44"],[6,68,"gauge44"],[7,64,"gauge44"],[8,60,"gauge44"],[5,73,"gauge44"],[6,69,"gauge44"],[7,65,"gauge44"],[8,61,"gauge44"],[6,70,"gauge44"],[7,66,"gauge44"],[8,62,"gauge44"],[6,71,"gauge44"],[7,67,"gauge44"],[8,63,"gauge44"],[6,72,"gauge44"],[7,68,"gauge44"],[8,64,"gauge44"],[6,73,"gauge44"],[7,69,"gauge44"],[8,65,"gauge44"],[7,70,"gauge44"],[8,66,"gauge44"],[7,71,"gauge44"],[8,67,"gauge44"],[7,72,"gauge44"],[8,68,"gauge44"],[7,73,"gauge44"],[8,69,"gauge44"],[8,70,"gauge44"],[8,71,"gauge44"],[8,72,"gauge44"],[8,73,"gauge44"]] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json b/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json new file mode 100644 index 0000000000..56b7fbd4dd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/EXACT-ARITHMETIC-DERIVATION.json @@ -0,0 +1,14 @@ +{ + "kind": "SOURCE_BOUND_EXACT_ARITHMETIC_CALLER_DERIVATION", + "parent_manifest_sha256": "cbcd17c5733b59095049523737688be15289bd784df008ebcb607b111b4b54d5", + "original_caller_sha256": "bbca8ecc6590696b98a78462912e39a3309a5f61e790510ebf717f706e3bad52", + "derived_caller_sha256": "058f45a12d4fa48d8a40ef68b546f7443dd6c59cb8ad57e75b8cdb4122b09243", + "adapter_sha256": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "adapter_origin": "PR2168 research/exact-coarse-exponential/integer_exp.py @ e3cd8375f6cd26393914e8395fff0d813e7031df (dataisfire)", + "changed_source_files": [ + "code/assemble.py" + ], + "added_source_files": [ + "code/exact_coarse.py" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz b/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..5327fc2f4e Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/MANIFEST.json b/research/gmx-t74-borrow43-handoff/MANIFEST.json new file mode 100644 index 0000000000..5ed007ede0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/MANIFEST.json @@ -0,0 +1,450 @@ +{ + ".gitattributes": "705fd4d6451a31d36b3df7de96f83f30ac976c9b4a6d1e51671d8e2f33e2d0da", + "ADMISSION-DERIVATION.patch": "7021000d75635fc5806af821640c02f9d7cbbbe1cf314dacfcc743fc6875fdd8", + "audit_fast.py": "26950da76589b13cd9c452fdee1b0c354806977f881299bd94073f00e4646fcd", + "audit_mixed.py": "defdb5f1d33dd6b0eee9b84c00b5cc01e5283ec41308b520df714e1caffb9916", + "CLAIM.json": "37ca7cddddb264e31f3fc963eff80171bfc764c3db7396cd11dd8592a3043c1f", + "code/assemble.py": "f25e1e870df5d5a16a1e367b3df8843cb01644ab4b75895d7939af81e4fcb833", + "code/assembly_controls.py": "d7675ff0b0994b29541d37eaa3010c5f39bb1447700c9f8e750522bf8c951f56", + "code/audit_allcold.py": "fa3488b62efdf8a0c37de0ca0caba587b4b036c5f068e002eb04c71c12b9e9b4", + "code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "code/emit_allcold.py": "549603ca6d28b163a43b2dfaaaa788161c73d7952ab9190289407caca5418c71", + "code/exact_coarse.py": "5fd03ee160a8bb02a00927cb144359fbcf8b0ec323ae0662778dd1f655b4a216", + "code/fine_cache.py": "89282a83ab102893a4fc1e663ad2137d891d81e843b1c9ea140d13e58b7c7dbd", + "code/fine_mercator.py": "6cf29658b5c1618de4aae8bd49d6d890be06d57ead1ad0f2d41bc8d25cc578d3", + "code/fine_moment.py": "bdfc492be6a663b219d76beff444db14bd67bb53c7c8ec4086ab0f56e48323c0", + "code/freeze_spec.py": "e9132a9d195c66123f2747a17f7ef404b4d1e3ef6263ab4c28c983a052cf10bd", + "code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "code/invoice_allcold.py": "bb213d0af12218ff7c9c572717e522d8bbeeb2856b87a253f4a7f44e0fd71f15", + "code/lemmag_checks.py": "cc753c5953e58f5900ce580ece8f814a352d672bcee6d4566c7dd52647912393", + "code/lemmag_stage.py": "c4cd09205e89060af8325b8edf66eb06868c361af7b383c1bcc8a186ee3a675e", + "code/oracle_check.py": "4836046db4bec939515a5a272559f92192b56612b98f635910fd81ea754ce2e1", + "code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "code/witness.py": "08ca58abff11bdfba721dc56ab8acf06ec1b7c48a8699a0955cf35324680aca7", + "construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "CONSTRUCTION.json": "95000f17ea58ca1757edabf3be092b77349ebebcb930ffa512aaf8b789d62373", + "DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "evidence/ADMISSION-CONTROLS.json": "5cdefeff2516a67c4dd60e609019b3e2e38eb3d43142df2d3c7ed9a6822d5050", + "evidence/ASSEMBLY.json": "5d9eb1ce551386024b5b6894836f81ed03a83d2e0c0bd0e02e3f6410a596bb2c", + "evidence/BIT-CONTROLS.json": "d74d9d2ba363c3709e9a3b33abf6d14abd6b9c68d950b35b7669d8e6edefa59e", + "evidence/FULL-ADMISSION.json": "cda48de718d060b8ca329f1254f4f999a5a5bade5cecabb265f0a9bef1135089", + "evidence/GEOMETRY-CONTROLS.json": "13a50b2f2448931ca302a55e5839c082f651331f20402448fe6ff29d1eb2f481", + "evidence/INDEPENDENT.json": "7150546e840e859268c40c11c2c79ba4fd646fc632fced68e3c19355b292fa61", + "evidence/OUTER-DISCOVERY.json": "413ef3e9eb1c3ff680cff1e600dc7160afda228e0b6b021c1a4e4a37ee486cc1", + "evidence/pr1377/CLAIM.json": "cd089b08077e0151b9ed917a5c33aa7aa6b0de790bd9567442531b48729da8d3", + "evidence/pr1377/PROOF-NOTE.md": "dafd8286b1c9224ed6f50bf71bc34b77918323b936ea7427a4b71c3b644b2264", + "evidence/pr1377/RELEASE.json": "a4fa2ca0f79a11dcdc3227ad16a408d4d22d83b7401c894cb0e31eb2c9c5f7df", + "evidence/pr1377/RESULT.json": "1cdadc74fef4cddeb2bae5e32fff7bc27456740150440ae8fda8822f569c2492", + "evidence/REGRESSION37-CONTROLS.json": "0196ae228d583f2bac3c42d3576a8d378fe622592e377c4c1921b5ae81351854", + "EXACT-ARITHMETIC-DERIVATION.json": "c0d40deaa495a7365e91aa5d9e6a846f91e0cb6daff98bb3b7f2acef84d64ec4", + "freeze_spec.py": "1d965b7a329b98008fcc67e73d03dcf6e75f0f33c2858a39f1182bb3d0ed0ea1", + "geometry_controls.py": "7edb4732b34e5814b27650a55c938626cb50d68f06397744dd4fe451437e90e0", + "GLOBAL-TEMPLATE.json.gz": "1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db", + "independent_core.py": "c4bcd06a6f761e8b298f23ff3da81053cf47a7126fa1322f732a685cdb58b517", + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "inputs/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "lift_parent.py": "525ca25a4530cee9e645a9e9078227f91f48c3d43d218583f2bb1cf9bded8a6e", + "new/borrow/audit_local.diff": "202f6f2032552eba069b9ec7e33b729d4af2ffc20974a9e82e444d906d7137b4", + "new/borrow/audit_local.py": "a38940094f7d19cd6376aafdd4734fa68eabc9aff4c98c3c4a3e9540328b1c90", + "new/borrow/borrow_controls.py": "07fbbf8e2f06df063dc9d88e5e4f721222a9fcf30b983bf9127cd5aa4b611627", + "new/borrow/build_word.py": "40047409dd9f9c406bb37a2ed0b4c8159797e0e4a114d525a368355418128707", + "new/borrow/emit_word.py": "a057ed0c81fbb07dabf38247e0ce0cec6c5fbfa31d8bf1b38838bd3758e41f87", + "new/borrow/guard_cut_centres.py": "5df204597697756808e6c959f5bba81cf35a2f0e7a0f1f75748dca1814373b72", + "new/borrow/guard_helper_indices.py": "d93aeb2d51d77ca93ecbf9e566d9000bb436c279e2a25b699a867e9697f782fd", + "new/borrow/inputs/alias8_43base.json": "8210fbaa107744fe09fa02d3abdd5982b68a8af4710d4c3c3d604f8ade18f8e4", + "new/borrow/inputs/alias8_43extra.json": "e5fcc94a2511d73749f9cd1b4e4eaec0602bebf85b8c58144bebc9c4206b30f6", + "new/borrow/inputs/blocks.json": "ddfac1dae1fe7cc0a91e7c7205c6d9d0c07c682880aa34eed83bf4ad7384da9f", + "new/borrow/inputs/entrance_43base.json": "1b3c09f9558c50e7f299aa10fb21dcbd1b5ff397794838d8629c80d4c7a565f5", + "new/borrow/inputs/entrance_43extra.json": "e57ec67fa0a3fca63bf9e4bb9edf4e6be48db0bd7c9e092cddad29b26b897463", + "new/borrow/inputs/extra.canonical.json.gz": "d7e48dcbafa236a2e1e41f7958244211506f7c7630fe6a2d43d2bdf17b7ae015", + "new/borrow/inputs/gauge44.canonical.json.gz": "65c6d17ffee2eacf27bff438f37fc549c9ed0c909cbc7a52976cc75cf2d15b91", + "new/borrow/inputs/handoff_43base.json": "5ae3062bcce666c8c3a3a650e345adf15c22a2800fa0e17d79ad6e8b97208a2f", + "new/borrow/inputs/handoff_43extra.json": "4238a7c5093a4347fe69adf4f76e507d2f43c4e727d91b2c4705039e1cbaa06a", + "new/borrow/inputs/kernel_43base.json": "7f06b4b08a49192a27e8f4132ad0c93521dad90f97ca985a173944ba02c5442b", + "new/borrow/inputs/kernel_43extra.json": "ef95eae03915f0222bcd486959c6dfe307a9a0a856702420fa35491abfae4c84", + "new/borrow/inputs/lowfour_43base.json": "a8df0a2acf85e96febb35d24ae047c370d179095b46142bae968f06348bf1c18", + "new/borrow/inputs/lowfour_43extra.json": "9dbfb49fb3c04a0652dcae9a962d973489679f5d1ee2baf4e65c58d2e8ef578c", + "new/borrow/inputs/refit_43base.json": "19a97e80b0ee3146e0244e6bc36bd365d89e9c1cd0f885c4e06be4193606a323", + "new/borrow/inputs/refit_43extra.json": "1349d54f704847fdcd4a00e323cdc9e1118fac7fedb0c7573e9b2b3f0169a7eb", + "new/borrow/inputs/witness_43_base.json": "65ee52604e2e49a30c1e978b7ce829482a694a20a8744f37b9bf40dad1ff3a2e", + "new/borrow/inputs/witness_43_extra.json": "19c652db80d5215c958c63b5d6f2de96d9cf34a0e4d56dab5c13e556c57f7467", + "new/borrow/lowfour_controls.py": "cc2d102a3cf1cc1063ea39ab7b22c4231445dfd485705661b1da38bcc6da8066", + "new/borrow/receipts/AUDIT-43base-pinned.json": "8dc6daa8929c1137c1e37fa5a1bf869afafe94c3e65ed2705ea9f41f2dc8cee8", + "new/borrow/receipts/AUDIT-43base-prekernel.json": "fb6f40a1d117bd304cc0757ac21915bd8558e8d3f31b8709129f395033fc534e", + "new/borrow/receipts/AUDIT-43base.json": "07b8a4836fe2659d0d46957ed0973ba3334f6752b5c1235d03b961a107fb95d5", + "new/borrow/receipts/AUDIT-43extra-pinned.json": "4176a6190fb1a224d45797064cde2aa758970bce7c1ed2a009ecb2fc7839d26e", + "new/borrow/receipts/AUDIT-43extra-prekernel.json": "09041e49888a1360b7ddee29d54d82836a875ecb6547c7ad1eb92427e7f3b384", + "new/borrow/receipts/AUDIT-43extra.json": "a01ae6847449ddb88c56fa8e44d10bc0b005f1b24daa283d38ba00089d8f89f2", + "new/borrow/receipts/CONTROLS-43base.json": "02b73bfbf72c63926ebb244bbd6bf87a03201ee1487e2c15292ad52684fb4d69", + "new/borrow/receipts/CONTROLS-43extra.json": "f8b93901ef5b4810bb39a7b5ccdc62497612c2efba67920a8d6119ae8a898126", + "new/borrow/receipts/CONTROLS-KERNEL-43base.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-KERNEL-43extra.json": "2b40a169ede95155b5ffe276589b911d9704ef904cfaac41bf41b24140d40907", + "new/borrow/receipts/CONTROLS-LOWFOUR-43base.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/receipts/CONTROLS-LOWFOUR-43extra.json": "e0e3e01afefb69952da0063b3e6daaa032a4d1dd71d1d68cbcb7f3530a6ecb38", + "new/borrow/word_patch.py": "532e5dfa8e727316d333b20c29871e34e314034a49254dfad4760ab5fda36089", + "new/borrow/words/BORROW-WORD-43base.json.gz": "a94ac54afd0785fe657617094e4d1a2cef4969303247e483c96a09b9c55418d5", + "new/borrow/words/BORROW-WORD-43extra.json.gz": "e637086aa54726009405b3c4c42c88d34049699f301dad975bed1b54617e8260", + "new/borrow-fill/DISPATCH.json": "fd8132ec8957b908ee6d871216848f18bafc6bd9304acd6185519ee26d97b1ca", + "new/borrow-fill/FILL.json.gz": "88e9f66b6417eeea0f77654a94d2ae282ef1d7f3534389a0bec77ccbeb556793", + "new/borrow-fill/ORDER.json": "e48b51a7d6a315971fff8b8e51748251750ff4ed8fe30b8b023de1a1a8019783", + "new/BORROW-PROVIDERS.json": "d8d90c3b906c66874f9fe07df67be24e53f3f3f9146565b56a272548108327b7", + "new/CHAIN.json": "f18804a71bef7005e892b0b7baac818d5362fff685fe5b5aadfe8de6e442446d", + "new/code/borrow/bw_adapters.py": "c5907050a9a7fa36d4fcba3ad4fe440d1bec2063360c095013891785ba65c3ce", + "new/code/borrow/bw_audit_local.py": "6bc8a07942a027a52ede46521f6b5dab755643eb693efc7dcb829496050fde09", + "new/code/borrow/bw_check_recipes.py": "d600b959a0ac462dc28deb8c0d5d8f9e0c76d7f7d7b6f92a296c5ef9e0a1de19", + "new/code/borrow/bw_emit.py": "99b59a6fa3feda86785e4225157dcb1a6169d256cec4f5e0acc9cea7a701df76", + "new/code/borrow/bw_gauss.py": "0884b14d6d77cde419a3c773ad9b21d0d18de1e6e20e6b6d5add458ed32ba4cb", + "new/code/borrow/bw_phases.py": "9d1a620e26715f4c42fd0347ecc14ef5a4a9031867869b64e8bae4d8526a821e", + "new/code/borrow/bw_tamper.py": "eab4b026965b9796eee92239660e1fb1fa629f6d9db44bc27b13911a018a6ee9", + "new/code/borrow/bw_transport.py": "9818e08b819310b40f1441b89be8c4369584a5b3fa5dfe9b86b1df9a7f5d6a76", + "new/code/borrow/NOTICE-PR2226.md": "6b6730303818f6edc2a253eb4d05471eee58f28b5815fb250c32ae376f774c8a", + "new/code/borrow/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "new/code/borrow/vendor/PR2226-NOTICE.md": "f1d45d886926915531e3a59968abf0a4c974d7038f869848e71bd3a21b834422", + "new/code/borrow/vendor/pr2226_operators.py": "b37b67a04681c776dafcdc6c9af0e8a2dbfa9893b02e0fa2d77ccc9182a87988", + "new/code/borrow/vendor/pr2226_replay.py": "0f9a47cdaeed0e22938c63251c232d6f23aeee2b62b0b1223cd4473c5428bcf7", + "new/EDITS-1.json": "dffa640c04d71111d3e4bdd7f5a991450ba07049a1d434edeef84791c0cc2d05", + "new/EDITS.json": "d5f9a0444dddcccd35c0217f60dbd6863486241629a747c3bbe4140b3d55eea1", + "new/extra-word-566.json.gz": "cd417b904408c221d9840d08faff8af040cc4207f9804284f2f5375d21298a62", + "new/gauge44-word-566.json.gz": "eeb6a236ed0ea8873b8800947d0cd19c36a6fcfdf857fc42913cb45cd984f219", + "new/pivotcheck.py": "6eb1752f077df108c908974413fc71abc751356b07c6e650e75d2075f1a51391", + "new/PLAN.json": "34640a96a75cbcf27a7408fddd422f9383ec12e9fd32ef15c4484b06b4746128", + "new/PROFILE.json": "5f7f122b7caeabcbfdb1dc303d17f14183a01fd509c4ee38bce1adf752eb4f01", + "new/rebind.py": "faf283eb4edd2e6a1ccb40b3cb3ba30ae54338eaf5ea0a10d84d11d7939502af", + "new/rebuild.py": "7391a7228d6b5afc2f88afd5d5a987565d78a100386c1f03b8696bcde2e8ef3e", + "new/rebuild_borrow.py": "1866f44b8005a21056318ae06adcb14133608613263ac6b3cf2cdc69e4250273", + "new/rebuild_chain.py": "3a5739f94f0fea1aa267e7d12e1c986210e483c841a8855e11020128a017510f", + "new/run_native_borrow.py": "8ec7db430f4f4771c06bdcfc31736193614f6ec209d57b63d4e2b75f17fb3ac8", + "new/SPEC.json": "cf5a50a5b9a47cc59e2a0fde303ba740fe50aeb13ce7066bc93c977e4a6c9424", + "new/steps/0/extra.json.gz": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "new/steps/0/gauge44.json.gz": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "new/unpin_spec.py": "03901dbb881fa608b6540a0541b26311dd4bab23bd8768e9ed48b8b355e1b36b", + "NOTICE": "a91b93a731f116ae55b3644c88232b4d996e58bb810e2559dec013f9788f5e4b", + "ORDER.json": "e37e607973be543331ce19a3ee49f79ea22cda484a3dcdcf897719412db221be", + "outer/B.json": "58cfa9083b3eb138b31740d4a42c78d01ab2ff2693430ed386c261396452b68b", + "outer/check_fine_padding.py": "a0ae691251cc50ba20b7f23f89fffaed802d62f9192a441131476914a5bdfae8", + "outer/check_gaugefree.py": "2957d2aafc56e3b757c5734bb29c3258cdf0ab167bd06ee0daf95281b5207e10", + "outer/check_ledger.py": "9e12909c73d3b3a31a45d801ae76c034510d6306400412e474df79bc4f1dc67e", + "outer/CLASSICAL-BOUNDARY.md": "6647d5a71d9f6c3f628ac71a7be2e63bcb0cac9618cd4fee7493dcc4ef02529a", + "outer/FINE-PADDING-COMPOSITION.md": "d20d8e5f84a9e33cc9996f875be06c24c74ea53874cc76564953785ff29c5c6c", + "outer/GAUGEFREE-INTERIORS.md": "a3f67d945eada51cc93c69438b1fa3173dd6dd0f7bb4e76cbf5116fcc496edd9", + "outer/INDEPENDENT.json": "094ec4ca0a14671eb457b79a1fd09e76eb2e3476243de7e747a4824e5c0a33e0", + "outer/independent_check.py": "a5a0361539ec7cae9eb6c0371f857919335a1720040f22af291aa3e34fc864c7", + "outer/LEDGER.json": "fbd43bfc8e1c45be94886ddc9a88512b54f092cd4ed0d28c044ddfb0cb2f1165", + "outer/OUTER-CLAIM.json": "60e94aa5d888cfe12c03f0bd0ee9a95835eca52c1379b6dc4f44574ca13fe6b6", + "outer/PROOF-GRID-MAX.md": "19dc50ad398993d156f9366fc752321a88a7337dc016c00b0d5a53eceff93cf6", + "outer/RECT-BOUNDARY.md": "17ece1cc1eb4a02df4d8433e3612231768633e6674d315acbcf880f36e30bdc7", + "outer/replay_evidence.py": "d3bdcfc8ce29865b3a76d64d99b5177e73fe994a2eb915f35fa233c5ab81df65", + "outer/RETUNED-SLACKS.md": "d87beb3869fb60143c2c3872d7c427ee16174aa51b5e6f42689312fbd40d3d42", + "outer/run_outer.py": "9d5dc0a7ea38973ce52a1cda02d311c235bc7c39c4d20921d5811cab1a57ef8c", + "outer/sched_review.py": "f440a57f1f46119ee8c2934c8f0d618ca1c85c73cda8cfb8453c2aa1b9fc40fb", + "outer/sched_test.py": "f96d09b5990931e3df8cea291520bf17c424215748cd9ec068214c58309a21c8", + "outer/struct_check.py": "f1df92bb6247034a22e141dcb39c1e8b6b9df6eb9791493be25a3911f7add8d4", + "outer/STRUCTURED-BOUNDARY.md": "ceef915be6462a8ad81449eefb86bf4d97db6ac41c87660e9dd7cfd2c2bc1efa", + "outer/UNION-SCHEDULE.md": "bc8e9cf7c178bb39b092ab5aafc4eeb523e72b1f69639bfcb9f27d0f74109357", + "OWNERS.json.gz": "8eac0962fe2266c898cd8eb8faaae2cd9b89559fb88b52b97f96269e781680ad", + "PARENT-LIFT-RECEIPT.json": "cf6de952e5c56fdd4f2472769dfe0571276b6a5de3ea2e1a11b807c7fbc4ee2c", + "PLAN.json": "ff0421fe73b53822495e5f6f70673e83b9ba030a17fcc6ca28d4f25acb5c8de1", + "PRICE.json": "c5ec535fd9edbdec7b64edd5a8b862edb1a7f173d411dacb279172659573e16a", + "PROFILE.json": "7dbb0431692f5ac82d2a88612c39da9816985f0b9506a7886d95b8b81e3f3bdb", + "README.md": "6252142912118a7c4dcc30ec0a9b0cba30672135c88ce7d34a8423126abf16f1", + "reconstruct.py": "1f1145b4c5aab399c69ee5f90b735367bd0bd01a8f0970dce443d22c1e03d9aa", + "RELEASE.json": "bddb10994ded51ecd8c23edc3a61520fd722a6c3e5e661a40f7bde39c5f327ad", + "replay.py": "3ec4330ede0db3c6daa453b0366817be9435c85c8c3213a0c35c442c96c1a955", + "requirements.txt": "255a2ee4a60637759d4d5c89448c55849153e81ec1d1383555c6697784d9dc97", + "SOURCE-PIN-REFINEMENT.json": "8c0bad79978decd6f8aba0932c0a94c7f61c64bf9ce5a19a36f67cc1390bf74f", + "SOURCE-PIN.json": "66faac1fd4e79bb6d9fc774fd8ba63522ad3309456be1c81405794b284c55c83", + "SPEC.json": "da49a85190eac2b553fe982ed295b15fcde6d2dd449d976b503de25c277f2029", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/audit_mixed.py": "7466461cc15cbb12135d94f2d904d4e90e78cbf4755d0293ab9bd55e3568d4b0", + "vendor/pr1297/build_word.py": "ff08af2851b4813c113ef63113566cbd79625e9310611292913d51be554b5aa9", + "vendor/pr1297/CLAIM.json": "bc9e90a475333b957a8c4eae8b950988caea89e20e9b44a919e83415fb76b1b8", + "vendor/pr1297/COMPOSITION.json": "6fb74e73fd298b356402eb2fbcd625463b2fa540a6be4ef2d6335ddfa31d70f6", + "vendor/pr1297/construct.py": "71aff454291d4a35068c43dbb65c00ff511f48e91ab7cdada462833f04ac73e3", + "vendor/pr1297/CONSTRUCTION.json": "fb5f74f59c89b93c63ec47e32e2c9264658e115d1f21eed3eceefec7dc7a0cde", + "vendor/pr1297/CONTROL-SITES-base.json": "b41361f5a2f6ab3d223c146269c8027a0537f1a6e3c963f28cf1ebbe05c5d7e2", + "vendor/pr1297/CONTROL-SITES-extra.json": "f1aada769389ec410b41bc9e2082826bb916b8332c915ee9e07045135c30393b", + "vendor/pr1297/controls.py": "935cf39ed6601eb6ac411b7b1a4adf5d4238589cad9fd5969d7dca967ace4c4b", + "vendor/pr1297/DEPENDENCIES.json": "9c9fff3ac059da4d4e2f13e655afb9e42ada1a57987f5b47b68dda4b64797966", + "vendor/pr1297/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "vendor/pr1297/EXACT-RELATIONS.json": "6864f378d917d0ecfd8cd53cc26303217ebb48f47f2987bbc01cf1e2c9a28093", + "vendor/pr1297/extra-word.json.gz": "7b0e9fbda32749aabc7e156d9fe09bceb0624a178628fe69e5dfea783462f905", + "vendor/pr1297/freeze_spec.py": "0f5c8ad43180a633a2cbbd11f7832729039402c68f593679552c43a1693d69fa", + "vendor/pr1297/gauge44-word.json.gz": "e8e6e78ff7422275c38324499e1f33fb2ecd30de9503aef2b8f1ee80d8c4df8e", + "vendor/pr1297/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "vendor/pr1297/INDEPENDENT-DERIVATION.patch": "6b3af098ec1c9e2360a366933eb7fbf0e16ebb37d43809d26b275e66fb5ee779", + "vendor/pr1297/independent_core.py": "d1dcd5593a05cf647b485db38891984f829abea5f95c6cc91e37d554bf163d48", + "vendor/pr1297/inputs/base.json.gz": "b87c706d14a7e1972514ee901002a930908073811ef38761def31c8e36351916", + "vendor/pr1297/inputs/extra.json.gz": "ded6903e00deb9e158fa700b03ccc9b8bfaae6c8bad8ca4842f0ad9b963234ab", + "vendor/pr1297/KERNEL-CONTROLS-base.json": "cbe755333f469a1f01258b65f2b273763212dba6642edabfb58f7490f326abda", + "vendor/pr1297/KERNEL-CONTROLS-extra.json": "cf255deb866ecaefca4b6ecb72f105d6b08dc8ea907a8381d45aedc39b2022cf", + "vendor/pr1297/kernel543_controls.py": "ac16d605e773197e3664643d40b36c15a7130a45e95e36bfe7b42d939644367c", + "vendor/pr1297/kernel_controls.py": "436e3f3d9974da7c1968ef99fdde5ad203a61544d8195493e3150eb25869f4dc", + "vendor/pr1297/MANIFEST.json": "e0eefc96567fbb45e19e6de0ca295381dbe0e686c08ddc783639b065c7c791d4", + "vendor/pr1297/MAPPED-RECIPE.json": "09aca649da97a37116262827cbd3ebe0addcd2b1a33c08e8347f3daf3394176a", + "vendor/pr1297/NATIVE-VALIDATION.json": "755b7087e0ae964c538e9378311e07dba2867c16b568d1bf6ae9051657f9f5cb", + "vendor/pr1297/NOTICE": "b352129a07fc8693f57c77cbb0ea92230b2fa77439f86c9f35b828213f9c42db", + "vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "vendor/pr1297/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/pr1297/premise/inputs/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "vendor/pr1297/premise/premise_check.py": "28a7f881a988b29b8ed3c927dd142ac3d4ee273dedab3a65bb02c01a64eb2639", + "vendor/pr1297/premise/verify_1049.py": "a1736324c6db161733d8e11f608defd87b7f97cacd611203d22499e4c7de5545", + "vendor/pr1297/PRICE.json": "e19f9f9e70e4fda2bc4a39fae93ea44555945cdaea59728864c5a44dcc5522e6", + "vendor/pr1297/PROFILE.json": "d9bbe0d73ba005749615915a2d884819a6b141e3402d9e7f87f4592a2d27af99", + "vendor/pr1297/README.md": "102ac7f080c1799aaedd5345ffb3631845215e8ab770e2af34750c25f667686d", + "vendor/pr1297/RECIPE-base.json.gz": "0f2db2c658e9732fdd1aeb7bbbb5c786d6045de8a2575b7654b9e6fddc71b03d", + "vendor/pr1297/RECIPE-extra.json.gz": "9e6f58570b0a8f9e8271bfbc73a339fce42f1cf28bf14d4db93f246b8f63a3c9", + "vendor/pr1297/replay.py": "d3ea7c2e74ff6df9d14969f994eaa85f825372cee92dafb77bec4767edb242e7", + "vendor/pr1297/SEARCH-RESULT.json": "7cdacadcbbf83b81f9f91668fcc707f8a238c6025f35a8bdc36758619c2591c4", + "vendor/pr1297/search_relations.py": "58f3bd092cb8592a070d7879918ff318a658a6fa02bfad7b5b8f4cb0fe16691c", + "vendor/pr1297/SOURCE-PIN.json": "e93f303f4de383757e50d612ada5e379533d46737a32281aa6879fb4b6138e09", + "vendor/pr1297/SPEC.json": "2daedf579c8abf30ceed79fe739bdd7659fce4c514de3894a028933143265d98", + "vendor/pr1297/upstream-layout.tar.gz": "a0cc229bb0fc9ab8ee5c14d5de87b3de31d1fcb793e99192c9cdc63781e794a0", + "vendor/pr1297/UPSTREAM-NOTICE.md": "b97fb4731e84aef736c58a9c126334eb5b8d3a057a8d9d45b4ffff24af65c38b", + "vendor/pr1297/VALIDATION.json": "1008f637a22f954ee774920a8362931ca7cfed63ca146e725768c0f39803c0a5", + "vendor/pr1297/vendor/pr1193/audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "vendor/pr1297/vendor/pr1193/build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "vendor/pr1297/vendor/pr1193/CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "vendor/pr1297/vendor/pr1193/common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "vendor/pr1297/vendor/pr1193/construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "vendor/pr1297/vendor/pr1193/controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "vendor/pr1297/vendor/pr1193/controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "vendor/pr1297/vendor/pr1193/data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "vendor/pr1297/vendor/pr1193/data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "vendor/pr1297/vendor/pr1193/data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "vendor/pr1297/vendor/pr1193/data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "vendor/pr1297/vendor/pr1193/data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "vendor/pr1297/vendor/pr1193/evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "vendor/pr1297/vendor/pr1193/evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "vendor/pr1297/vendor/pr1193/evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "vendor/pr1297/vendor/pr1193/local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "vendor/pr1297/vendor/pr1193/MANIFEST.json": "4837d070679d9e70218c7cfa2d3e70d7d742a5b74dc66d224840b1a3a4ac4a31", + "vendor/pr1297/vendor/pr1193/native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "vendor/pr1297/vendor/pr1193/NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "vendor/pr1297/vendor/pr1193/package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "vendor/pr1297/vendor/pr1193/prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "vendor/pr1297/vendor/pr1193/price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1297/vendor/pr1193/PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "vendor/pr1297/vendor/pr1193/README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "vendor/pr1297/vendor/pr1193/SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1297/vendor/pr1193/verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29", + "vendor/pr1297/verify.py": "358ad8dfd967f4fd69a0cc298eae3508ad8b57b1e419ebaa0d621e199f534345", + "vendor/pr1297/x54_controls.py": "82f91b81be9173dca546345dbdaddfc71e6d21e626fb84a8b4d1b4ba0d673814", + "vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "vendor/pr1673/capped-phase-fusion/evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "vendor/pr1673/capped-phase-fusion/make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "vendor/pr1673/capped-phase-fusion/MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "vendor/pr1673/capped-phase-fusion/MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "vendor/pr1673/capped-phase-fusion/MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "vendor/pr1673/capped-phase-fusion/NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "vendor/pr1673/capped-phase-fusion/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "vendor/pr1673/capped-phase-fusion/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json": "298f1eaf79b5d5d57cb96fb3abb422174b78c31c14491a878f6176431d731d04", + "vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "vendor/pr1673/capped-phase-fusion/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "vendor/pr1673/capped-phase-fusion/README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "vendor/pr1673/capped-phase-fusion/SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "vendor/pr1673/capped-phase-fusion/target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "vendor/pr1673/capped-phase-fusion/target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "vendor/pr1673/capped-phase-fusion/TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "vendor/pr1673/capped-phase-fusion/VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "vendor/pr1673/capped-phase-fusion/VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "vendor/pr1673/capped-phase-fusion/verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "vendor/pr1786/FINE-PRIME-PADDING.md": "47d1b1b4df28aadda3cd6bdeb1fbc47290595e9208cd09c1a1f338520d33fdce", + "vendor/pr1786/NOTICE.md": "dcc1adb2461aa93ca62b6a912dbd8b215599e6af8053dfbacb7423b544dd659a", + "verify.py": "4dbb80917a2324b5f7bd89485963a009e54db98f99e91469811e1d36101bea95", + "verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "verify_release.py": "bb7b23c677020d13027d34951462afee4520153b30c88253a95d7c56fa197b4d" +} diff --git a/research/gmx-t74-borrow43-handoff/NOTICE b/research/gmx-t74-borrow43-handoff/NOTICE new file mode 100644 index 0000000000..46411b80b2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/NOTICE @@ -0,0 +1,10 @@ +Anticipatory dirty borrowing: PR2226 (Cinna Davis / 1337isnot1337, with substantial OpenAI Codex assistance) is credited first. Its alias rule, changed-reference K_G handoffs, initial compensation and exact free-operator replay (vendored under new/code/borrow/vendor, see new/code/borrow/NOTICE-PR2226.md) are applied here to the T74 pivot-566+554 words; the native lowering, window-exact owner fill and independent audit of the borrow words are new in this package. Bootstrap carried-cutoff repair: PR1956 (Josie Elliston); Lemma G label/adapter checks and X/Y/Z mutants: PR1964 (thakrarsagar), extended here with borrow warp/zero-buffer controls. + +New research prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0. Parent words and build recipe method derive from Jeremy Kothe PR1274 and Rohan Arun PR1218, with lineage credited in README.md. All inherited mathematical qualifications are retained. +Additional pivot555 and567 composition by Rohan Arun with substantial OpenAI Codex assistance. + +T74 exact-fill owner construction by Rohan Arun with substantial OpenAI Codex assistance. + +PR1377 grid refinement credited to Jeremy Kothe. Outer witness refinement by Rohan Arun with OpenAI Codex assistance; construction unchanged. + +Pivot-566 kernel, words, edits, rebuild.py and rebind.py: PR1625 (mdumitrean). Endpoint/outer-witness stacking, fine_cache.py and oracle stage by jeremykothe2 with oh-my-pi assistance. diff --git a/research/gmx-t74-borrow43-handoff/ORDER.json b/research/gmx-t74-borrow43-handoff/ORDER.json new file mode 100644 index 0000000000..621340fa57 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[2,0],[0,9],[1,5],[2,1],[0,10],[1,6],[2,2],[0,11],[1,7],[2,3],[0,12],[1,8],[2,4],[3,0],[0,13],[1,9],[2,5],[3,1],[0,14],[1,10],[2,6],[3,2],[0,15],[1,11],[2,7],[3,3],[0,16],[1,12],[2,8],[3,4],[4,0],[0,17],[1,13],[2,9],[3,5],[4,1],[0,18],[1,14],[2,10],[3,6],[4,2],[0,19],[1,15],[2,11],[3,7],[4,3],[0,20],[1,16],[2,12],[3,8],[4,4],[5,0],[0,21],[1,17],[2,13],[3,9],[4,5],[5,1],[0,22],[1,18],[2,14],[3,10],[4,6],[5,2],[0,23],[1,19],[2,15],[3,11],[4,7],[5,3],[0,24],[1,20],[2,16],[3,12],[4,8],[5,4],[6,0],[0,25],[1,21],[2,17],[3,13],[4,9],[5,5],[6,1],[0,26],[1,22],[2,18],[3,14],[4,10],[5,6],[6,2],[0,27],[1,23],[2,19],[3,15],[4,11],[5,7],[6,3],[0,28],[1,24],[2,20],[3,16],[4,12],[5,8],[6,4],[7,0],[0,29],[1,25],[2,21],[3,17],[4,13],[5,9],[6,5],[7,1],[0,30],[1,26],[2,22],[3,18],[4,14],[5,10],[6,6],[7,2],[0,31],[1,27],[2,23],[3,19],[4,15],[5,11],[6,7],[7,3],[0,32],[1,28],[2,24],[3,20],[4,16],[5,12],[6,8],[7,4],[8,0],[0,33],[1,29],[2,25],[3,21],[4,17],[5,13],[6,9],[7,5],[8,1],[0,34],[1,30],[2,26],[3,22],[4,18],[5,14],[6,10],[7,6],[8,2],[0,35],[1,31],[2,27],[3,23],[4,19],[5,15],[6,11],[7,7],[8,3],[0,36],[1,32],[2,28],[3,24],[4,20],[5,16],[6,12],[7,8],[8,4],[0,37],[1,33],[2,29],[3,25],[4,21],[5,17],[6,13],[7,9],[8,5],[0,38],[1,34],[2,30],[3,26],[4,22],[5,18],[6,14],[7,10],[8,6],[0,39],[1,35],[2,31],[3,27],[4,23],[5,19],[6,15],[7,11],[8,7],[0,40],[1,36],[2,32],[3,28],[4,24],[5,20],[6,16],[7,12],[8,8],[0,41],[1,37],[2,33],[3,29],[4,25],[5,21],[6,17],[7,13],[8,9],[0,42],[1,38],[2,34],[3,30],[4,26],[5,22],[6,18],[7,14],[8,10],[0,43],[1,39],[2,35],[3,31],[4,27],[5,23],[6,19],[7,15],[8,11],[0,44],[1,40],[2,36],[3,32],[4,28],[5,24],[6,20],[7,16],[8,12],[0,45],[1,41],[2,37],[3,33],[4,29],[5,25],[6,21],[7,17],[8,13],[0,46],[1,42],[2,38],[3,34],[4,30],[5,26],[6,22],[7,18],[8,14],[0,47],[1,43],[2,39],[3,35],[4,31],[5,27],[6,23],[7,19],[8,15],[0,48],[1,44],[2,40],[3,36],[4,32],[5,28],[6,24],[7,20],[8,16],[0,49],[1,45],[2,41],[3,37],[4,33],[5,29],[6,25],[7,21],[8,17],[0,50],[1,46],[2,42],[3,38],[4,34],[5,30],[6,26],[7,22],[8,18],[0,51],[1,47],[2,43],[3,39],[4,35],[5,31],[6,27],[7,23],[8,19],[0,52],[1,48],[2,44],[3,40],[4,36],[5,32],[6,28],[7,24],[8,20],[0,53],[1,49],[2,45],[3,41],[4,37],[5,33],[6,29],[7,25],[8,21],[0,54],[1,50],[2,46],[3,42],[4,38],[5,34],[6,30],[7,26],[8,22],[0,55],[1,51],[2,47],[3,43],[4,39],[5,35],[6,31],[7,27],[8,23],[0,56],[1,52],[2,48],[3,44],[4,40],[5,36],[6,32],[7,28],[8,24],[0,57],[1,53],[2,49],[3,45],[4,41],[5,37],[6,33],[7,29],[8,25],[0,58],[1,54],[2,50],[3,46],[4,42],[5,38],[6,34],[7,30],[8,26],[0,59],[1,55],[2,51],[3,47],[4,43],[5,39],[6,35],[7,31],[8,27],[0,60],[1,56],[2,52],[3,48],[4,44],[5,40],[6,36],[7,32],[8,28],[0,61],[1,57],[2,53],[3,49],[4,45],[5,41],[6,37],[7,33],[8,29],[0,62],[1,58],[2,54],[3,50],[4,46],[5,42],[6,38],[7,34],[8,30],[0,63],[1,59],[2,55],[3,51],[4,47],[5,43],[6,39],[7,35],[8,31],[0,64],[1,60],[2,56],[3,52],[4,48],[5,44],[6,40],[7,36],[8,32],[0,65],[1,61],[2,57],[3,53],[4,49],[5,45],[6,41],[7,37],[8,33],[0,66],[1,62],[2,58],[3,54],[4,50],[5,46],[6,42],[7,38],[8,34],[0,67],[1,63],[2,59],[3,55],[4,51],[5,47],[6,43],[7,39],[8,35],[0,68],[1,64],[2,60],[3,56],[4,52],[5,48],[6,44],[7,40],[8,36],[0,69],[1,65],[2,61],[3,57],[4,53],[5,49],[6,45],[7,41],[8,37],[0,70],[1,66],[2,62],[3,58],[4,54],[5,50],[6,46],[7,42],[8,38],[0,71],[1,67],[2,63],[3,59],[4,55],[5,51],[6,47],[7,43],[8,39],[0,72],[1,68],[2,64],[3,60],[4,56],[5,52],[6,48],[7,44],[8,40],[0,73],[1,69],[2,65],[3,61],[4,57],[5,53],[6,49],[7,45],[8,41],[1,70],[2,66],[3,62],[4,58],[5,54],[6,50],[7,46],[8,42],[1,71],[2,67],[3,63],[4,59],[5,55],[6,51],[7,47],[8,43],[1,72],[2,68],[3,64],[4,60],[5,56],[6,52],[7,48],[8,44],[1,73],[2,69],[3,65],[4,61],[5,57],[6,53],[7,49],[8,45],[2,70],[3,66],[4,62],[5,58],[6,54],[7,50],[8,46],[2,71],[3,67],[4,63],[5,59],[6,55],[7,51],[8,47],[2,72],[3,68],[4,64],[5,60],[6,56],[7,52],[8,48],[2,73],[3,69],[4,65],[5,61],[6,57],[7,53],[8,49],[3,70],[4,66],[5,62],[6,58],[7,54],[8,50],[3,71],[4,67],[5,63],[6,59],[7,55],[8,51],[3,72],[4,68],[5,64],[6,60],[7,56],[8,52],[3,73],[4,69],[5,65],[6,61],[7,57],[8,53],[4,70],[5,66],[6,62],[7,58],[8,54],[4,71],[5,67],[6,63],[7,59],[8,55],[4,72],[5,68],[6,64],[7,60],[8,56],[4,73],[5,69],[6,65],[7,61],[8,57],[5,70],[6,66],[7,62],[8,58],[5,71],[6,67],[7,63],[8,59],[5,72],[6,68],[7,64],[8,60],[5,73],[6,69],[7,65],[8,61],[6,70],[7,66],[8,62],[6,71],[7,67],[8,63],[6,72],[7,68],[8,64],[6,73],[7,69],[8,65],[7,70],[8,66],[7,71],[8,67],[7,72],[8,68],[7,73],[8,69],[8,70],[8,71],[8,72],[8,73]] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/OWNERS.json.gz new file mode 100644 index 0000000000..0e8cbfe0dc Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json b/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json new file mode 100644 index 0000000000..b0b7a11359 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PARENT-LIFT-RECEIPT.json @@ -0,0 +1 @@ +{"calls":666,"geometry":{"charged_prefix_bits":2048,"dimension":73,"pairs":4,"parent_helpers":504,"parent_idle":149184,"parent_live":111664,"parent_physical":112178,"replicas":74,"stages":9},"new_replicas":74,"new_sha256":"1d31424c4e27e26a35a9932ca778e43f1f3577589275422cc642aa68b31112db","old_replicas":37,"private_work_shared":514,"roles":281052,"source_sha256":"21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e","status":"PASS_EXACT_DIRECT_SUM_PARENT_AND_WINDOW_LIFT"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/PLAN.json b/research/gmx-t74-borrow43-handoff/PLAN.json new file mode 100644 index 0000000000..f2b2591d28 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PLAN.json @@ -0,0 +1 @@ +{"K":4,"L":9,"M":73,"T":74,"assignment_content_sha256":"69ebd40bc86a543c298edb745019ae77f479173e33674c6f5164ec572b0e7a42","assignment_sha256":"8eac0962fe2266c898cd8eb8faaae2cd9b89559fb88b52b97f96269e781680ad","deficit":23680,"gap":null,"live":66304,"mode":"mixed-t74-exact-fill","order":[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[2,0],[0,9],[1,5],[2,1],[0,10],[1,6],[2,2],[0,11],[1,7],[2,3],[0,12],[1,8],[2,4],[3,0],[0,13],[1,9],[2,5],[3,1],[0,14],[1,10],[2,6],[3,2],[0,15],[1,11],[2,7],[3,3],[0,16],[1,12],[2,8],[3,4],[4,0],[0,17],[1,13],[2,9],[3,5],[4,1],[0,18],[1,14],[2,10],[3,6],[4,2],[0,19],[1,15],[2,11],[3,7],[4,3],[0,20],[1,16],[2,12],[3,8],[4,4],[5,0],[0,21],[1,17],[2,13],[3,9],[4,5],[5,1],[0,22],[1,18],[2,14],[3,10],[4,6],[5,2],[0,23],[1,19],[2,15],[3,11],[4,7],[5,3],[0,24],[1,20],[2,16],[3,12],[4,8],[5,4],[6,0],[0,25],[1,21],[2,17],[3,13],[4,9],[5,5],[6,1],[0,26],[1,22],[2,18],[3,14],[4,10],[5,6],[6,2],[0,27],[1,23],[2,19],[3,15],[4,11],[5,7],[6,3],[0,28],[1,24],[2,20],[3,16],[4,12],[5,8],[6,4],[7,0],[0,29],[1,25],[2,21],[3,17],[4,13],[5,9],[6,5],[7,1],[0,30],[1,26],[2,22],[3,18],[4,14],[5,10],[6,6],[7,2],[0,31],[1,27],[2,23],[3,19],[4,15],[5,11],[6,7],[7,3],[0,32],[1,28],[2,24],[3,20],[4,16],[5,12],[6,8],[7,4],[8,0],[0,33],[1,29],[2,25],[3,21],[4,17],[5,13],[6,9],[7,5],[8,1],[0,34],[1,30],[2,26],[3,22],[4,18],[5,14],[6,10],[7,6],[8,2],[0,35],[1,31],[2,27],[3,23],[4,19],[5,15],[6,11],[7,7],[8,3],[0,36],[1,32],[2,28],[3,24],[4,20],[5,16],[6,12],[7,8],[8,4],[0,37],[1,33],[2,29],[3,25],[4,21],[5,17],[6,13],[7,9],[8,5],[0,38],[1,34],[2,30],[3,26],[4,22],[5,18],[6,14],[7,10],[8,6],[0,39],[1,35],[2,31],[3,27],[4,23],[5,19],[6,15],[7,11],[8,7],[0,40],[1,36],[2,32],[3,28],[4,24],[5,20],[6,16],[7,12],[8,8],[0,41],[1,37],[2,33],[3,29],[4,25],[5,21],[6,17],[7,13],[8,9],[0,42],[1,38],[2,34],[3,30],[4,26],[5,22],[6,18],[7,14],[8,10],[0,43],[1,39],[2,35],[3,31],[4,27],[5,23],[6,19],[7,15],[8,11],[0,44],[1,40],[2,36],[3,32],[4,28],[5,24],[6,20],[7,16],[8,12],[0,45],[1,41],[2,37],[3,33],[4,29],[5,25],[6,21],[7,17],[8,13],[0,46],[1,42],[2,38],[3,34],[4,30],[5,26],[6,22],[7,18],[8,14],[0,47],[1,43],[2,39],[3,35],[4,31],[5,27],[6,23],[7,19],[8,15],[0,48],[1,44],[2,40],[3,36],[4,32],[5,28],[6,24],[7,20],[8,16],[0,49],[1,45],[2,41],[3,37],[4,33],[5,29],[6,25],[7,21],[8,17],[0,50],[1,46],[2,42],[3,38],[4,34],[5,30],[6,26],[7,22],[8,18],[0,51],[1,47],[2,43],[3,39],[4,35],[5,31],[6,27],[7,23],[8,19],[0,52],[1,48],[2,44],[3,40],[4,36],[5,32],[6,28],[7,24],[8,20],[0,53],[1,49],[2,45],[3,41],[4,37],[5,33],[6,29],[7,25],[8,21],[0,54],[1,50],[2,46],[3,42],[4,38],[5,34],[6,30],[7,26],[8,22],[0,55],[1,51],[2,47],[3,43],[4,39],[5,35],[6,31],[7,27],[8,23],[0,56],[1,52],[2,48],[3,44],[4,40],[5,36],[6,32],[7,28],[8,24],[0,57],[1,53],[2,49],[3,45],[4,41],[5,37],[6,33],[7,29],[8,25],[0,58],[1,54],[2,50],[3,46],[4,42],[5,38],[6,34],[7,30],[8,26],[0,59],[1,55],[2,51],[3,47],[4,43],[5,39],[6,35],[7,31],[8,27],[0,60],[1,56],[2,52],[3,48],[4,44],[5,40],[6,36],[7,32],[8,28],[0,61],[1,57],[2,53],[3,49],[4,45],[5,41],[6,37],[7,33],[8,29],[0,62],[1,58],[2,54],[3,50],[4,46],[5,42],[6,38],[7,34],[8,30],[0,63],[1,59],[2,55],[3,51],[4,47],[5,43],[6,39],[7,35],[8,31],[0,64],[1,60],[2,56],[3,52],[4,48],[5,44],[6,40],[7,36],[8,32],[0,65],[1,61],[2,57],[3,53],[4,49],[5,45],[6,41],[7,37],[8,33],[0,66],[1,62],[2,58],[3,54],[4,50],[5,46],[6,42],[7,38],[8,34],[0,67],[1,63],[2,59],[3,55],[4,51],[5,47],[6,43],[7,39],[8,35],[0,68],[1,64],[2,60],[3,56],[4,52],[5,48],[6,44],[7,40],[8,36],[0,69],[1,65],[2,61],[3,57],[4,53],[5,49],[6,45],[7,41],[8,37],[0,70],[1,66],[2,62],[3,58],[4,54],[5,50],[6,46],[7,42],[8,38],[0,71],[1,67],[2,63],[3,59],[4,55],[5,51],[6,47],[7,43],[8,39],[0,72],[1,68],[2,64],[3,60],[4,56],[5,52],[6,48],[7,44],[8,40],[0,73],[1,69],[2,65],[3,61],[4,57],[5,53],[6,49],[7,45],[8,41],[1,70],[2,66],[3,62],[4,58],[5,54],[6,50],[7,46],[8,42],[1,71],[2,67],[3,63],[4,59],[5,55],[6,51],[7,47],[8,43],[1,72],[2,68],[3,64],[4,60],[5,56],[6,52],[7,48],[8,44],[1,73],[2,69],[3,65],[4,61],[5,57],[6,53],[7,49],[8,45],[2,70],[3,66],[4,62],[5,58],[6,54],[7,50],[8,46],[2,71],[3,67],[4,63],[5,59],[6,55],[7,51],[8,47],[2,72],[3,68],[4,64],[5,60],[6,56],[7,52],[8,48],[2,73],[3,69],[4,65],[5,61],[6,57],[7,53],[8,49],[3,70],[4,66],[5,62],[6,58],[7,54],[8,50],[3,71],[4,67],[5,63],[6,59],[7,55],[8,51],[3,72],[4,68],[5,64],[6,60],[7,56],[8,52],[3,73],[4,69],[5,65],[6,61],[7,57],[8,53],[4,70],[5,66],[6,62],[7,58],[8,54],[4,71],[5,67],[6,63],[7,59],[8,55],[4,72],[5,68],[6,64],[7,60],[8,56],[4,73],[5,69],[6,65],[7,61],[8,57],[5,70],[6,66],[7,62],[8,58],[5,71],[6,67],[7,63],[8,59],[5,72],[6,68],[7,64],[8,60],[5,73],[6,69],[7,65],[8,61],[6,70],[7,66],[8,62],[6,71],[7,67],[8,63],[6,72],[7,68],[8,64],[6,73],[7,69],[8,65],[7,70],[8,66],[7,71],[8,67],[7,72],[8,68],[7,73],[8,69],[8,70],[8,71],[8,72],[8,73]],"pairs":{"0":1,"1":1,"10":3,"11":3,"12":0,"13":0,"14":1,"15":1,"16":2,"17":2,"2":1,"3":1,"4":2,"5":2,"6":2,"7":2,"8":3,"9":3},"per_call_widths":[{"replica":0,"stage":0,"time":0,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":0,"time":1,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":0,"time":2,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":0,"time":3,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":0,"time":4,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":1,"time":5,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":0,"time":6,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":1,"time":7,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":0,"time":8,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":1,"time":9,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":0,"time":10,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":1,"time":11,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":0,"time":12,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":1,"time":13,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":2,"time":14,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":0,"time":15,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":1,"time":16,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":2,"time":17,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":0,"time":18,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":1,"time":19,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":2,"time":20,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":0,"time":21,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":1,"time":22,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":2,"time":23,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":0,"time":24,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":1,"time":25,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":2,"time":26,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":3,"time":27,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":0,"time":28,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":1,"time":29,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":2,"time":30,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":3,"time":31,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":0,"time":32,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":1,"time":33,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":2,"time":34,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":3,"time":35,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":0,"time":36,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":1,"time":37,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":2,"time":38,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":3,"time":39,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":0,"time":40,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":1,"time":41,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":2,"time":42,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":3,"time":43,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":4,"time":44,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":0,"time":45,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":1,"time":46,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":2,"time":47,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":3,"time":48,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":4,"time":49,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":0,"time":50,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":1,"time":51,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":2,"time":52,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":3,"time":53,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":4,"time":54,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":0,"time":55,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":1,"time":56,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":2,"time":57,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":3,"time":58,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":4,"time":59,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":0,"time":60,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":1,"time":61,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":2,"time":62,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":3,"time":63,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":4,"time":64,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":5,"time":65,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":0,"time":66,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":1,"time":67,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":2,"time":68,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":3,"time":69,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":4,"time":70,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":5,"time":71,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":0,"time":72,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":1,"time":73,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":2,"time":74,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":3,"time":75,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":4,"time":76,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":5,"time":77,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":0,"time":78,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":1,"time":79,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":2,"time":80,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":3,"time":81,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":4,"time":82,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":5,"time":83,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":0,"time":84,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":1,"time":85,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":2,"time":86,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":3,"time":87,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":4,"time":88,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":5,"time":89,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":6,"time":90,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":0,"time":91,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":1,"time":92,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":2,"time":93,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":3,"time":94,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":4,"time":95,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":5,"time":96,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":6,"time":97,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":0,"time":98,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":1,"time":99,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":2,"time":100,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":3,"time":101,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":4,"time":102,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":5,"time":103,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":6,"time":104,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":0,"time":105,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":1,"time":106,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":2,"time":107,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":3,"time":108,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":4,"time":109,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":5,"time":110,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":6,"time":111,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":0,"time":112,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":1,"time":113,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":2,"time":114,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":3,"time":115,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":4,"time":116,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":5,"time":117,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":6,"time":118,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":7,"time":119,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":0,"time":120,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":1,"time":121,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":2,"time":122,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":3,"time":123,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":4,"time":124,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":5,"time":125,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":6,"time":126,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":7,"time":127,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":0,"time":128,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":1,"time":129,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":2,"time":130,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":3,"time":131,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":4,"time":132,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":5,"time":133,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":6,"time":134,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":7,"time":135,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":0,"time":136,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":1,"time":137,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":2,"time":138,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":3,"time":139,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":4,"time":140,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":5,"time":141,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":6,"time":142,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":7,"time":143,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":0,"time":144,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":1,"time":145,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":2,"time":146,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":3,"time":147,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":4,"time":148,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":5,"time":149,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":6,"time":150,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":7,"time":151,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":0,"stage":8,"time":152,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":0,"time":153,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":1,"time":154,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":2,"time":155,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":3,"time":156,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":4,"time":157,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":5,"time":158,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":6,"time":159,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":7,"time":160,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":1,"stage":8,"time":161,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":0,"time":162,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":1,"time":163,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":2,"time":164,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":3,"time":165,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":4,"time":166,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":5,"time":167,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":6,"time":168,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":7,"time":169,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":2,"stage":8,"time":170,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":0,"time":171,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":1,"time":172,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":2,"time":173,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":3,"time":174,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":4,"time":175,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":5,"time":176,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":6,"time":177,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":7,"time":178,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":3,"stage":8,"time":179,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":0,"time":180,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":1,"time":181,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":2,"time":182,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":3,"time":183,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":4,"time":184,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":5,"time":185,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":6,"time":186,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":7,"time":187,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":4,"stage":8,"time":188,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":0,"time":189,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":1,"time":190,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":2,"time":191,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":3,"time":192,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":4,"time":193,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":5,"time":194,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":6,"time":195,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":7,"time":196,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":5,"stage":8,"time":197,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":0,"time":198,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":1,"time":199,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":2,"time":200,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":3,"time":201,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":4,"time":202,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":5,"time":203,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":6,"time":204,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":7,"time":205,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":6,"stage":8,"time":206,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":0,"time":207,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":1,"time":208,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":2,"time":209,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":3,"time":210,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":4,"time":211,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":5,"time":212,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":6,"time":213,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":7,"time":214,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":7,"stage":8,"time":215,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":0,"time":216,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":1,"time":217,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":2,"time":218,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":3,"time":219,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":4,"time":220,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":5,"time":221,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":6,"time":222,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":7,"time":223,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":8,"stage":8,"time":224,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":0,"time":225,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":1,"time":226,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":2,"time":227,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":3,"time":228,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":4,"time":229,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":5,"time":230,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":6,"time":231,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":7,"time":232,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":9,"stage":8,"time":233,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":0,"time":234,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":1,"time":235,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":2,"time":236,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":3,"time":237,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":4,"time":238,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":5,"time":239,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":6,"time":240,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":7,"time":241,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":10,"stage":8,"time":242,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":0,"time":243,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":1,"time":244,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":2,"time":245,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":3,"time":246,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":4,"time":247,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":5,"time":248,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":6,"time":249,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":7,"time":250,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":11,"stage":8,"time":251,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":0,"time":252,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":1,"time":253,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":2,"time":254,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":3,"time":255,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":4,"time":256,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":5,"time":257,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":6,"time":258,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":7,"time":259,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":12,"stage":8,"time":260,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":0,"time":261,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":1,"time":262,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":2,"time":263,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":3,"time":264,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":4,"time":265,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":5,"time":266,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":6,"time":267,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":7,"time":268,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":13,"stage":8,"time":269,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":0,"time":270,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":1,"time":271,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":2,"time":272,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":3,"time":273,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":4,"time":274,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":5,"time":275,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":6,"time":276,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":7,"time":277,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":14,"stage":8,"time":278,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":0,"time":279,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":1,"time":280,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":2,"time":281,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":3,"time":282,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":4,"time":283,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":5,"time":284,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":6,"time":285,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":7,"time":286,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":15,"stage":8,"time":287,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":0,"time":288,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":1,"time":289,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":2,"time":290,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":3,"time":291,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":4,"time":292,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":5,"time":293,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":6,"time":294,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":7,"time":295,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":16,"stage":8,"time":296,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":0,"time":297,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":1,"time":298,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":2,"time":299,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":3,"time":300,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":4,"time":301,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":5,"time":302,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":6,"time":303,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":7,"time":304,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":17,"stage":8,"time":305,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":0,"time":306,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":1,"time":307,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":2,"time":308,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":3,"time":309,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":4,"time":310,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":5,"time":311,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":6,"time":312,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":7,"time":313,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":18,"stage":8,"time":314,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":0,"time":315,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":1,"time":316,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":2,"time":317,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":3,"time":318,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":4,"time":319,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":5,"time":320,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":6,"time":321,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":7,"time":322,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":19,"stage":8,"time":323,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":0,"time":324,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":1,"time":325,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":2,"time":326,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":3,"time":327,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":4,"time":328,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":5,"time":329,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":6,"time":330,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":7,"time":331,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":20,"stage":8,"time":332,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":0,"time":333,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":1,"time":334,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":2,"time":335,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":3,"time":336,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":4,"time":337,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":5,"time":338,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":6,"time":339,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":7,"time":340,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":21,"stage":8,"time":341,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":0,"time":342,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":1,"time":343,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":2,"time":344,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":3,"time":345,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":4,"time":346,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":5,"time":347,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":6,"time":348,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":7,"time":349,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":22,"stage":8,"time":350,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":0,"time":351,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":1,"time":352,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":2,"time":353,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":3,"time":354,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":4,"time":355,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":5,"time":356,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":6,"time":357,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":7,"time":358,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":23,"stage":8,"time":359,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":0,"time":360,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":1,"time":361,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":2,"time":362,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":3,"time":363,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":4,"time":364,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":5,"time":365,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":6,"time":366,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":7,"time":367,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":24,"stage":8,"time":368,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":0,"time":369,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":1,"time":370,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":2,"time":371,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":3,"time":372,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":4,"time":373,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":5,"time":374,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":6,"time":375,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":7,"time":376,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":25,"stage":8,"time":377,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":0,"time":378,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":1,"time":379,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":2,"time":380,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":3,"time":381,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":4,"time":382,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":5,"time":383,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":6,"time":384,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":7,"time":385,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":26,"stage":8,"time":386,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":0,"time":387,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":1,"time":388,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":2,"time":389,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":3,"time":390,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":4,"time":391,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":5,"time":392,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":6,"time":393,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":7,"time":394,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":27,"stage":8,"time":395,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":0,"time":396,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":1,"time":397,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":2,"time":398,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":3,"time":399,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":4,"time":400,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":5,"time":401,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":6,"time":402,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":7,"time":403,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":28,"stage":8,"time":404,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":0,"time":405,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":1,"time":406,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":2,"time":407,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":3,"time":408,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":4,"time":409,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":5,"time":410,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":6,"time":411,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":7,"time":412,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":29,"stage":8,"time":413,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":0,"time":414,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":1,"time":415,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":2,"time":416,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":3,"time":417,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":4,"time":418,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":5,"time":419,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":6,"time":420,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":7,"time":421,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":30,"stage":8,"time":422,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":0,"time":423,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":1,"time":424,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":2,"time":425,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":3,"time":426,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":4,"time":427,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":5,"time":428,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":6,"time":429,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":7,"time":430,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":31,"stage":8,"time":431,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":0,"time":432,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":1,"time":433,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":2,"time":434,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":3,"time":435,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":4,"time":436,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":5,"time":437,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":6,"time":438,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":7,"time":439,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":32,"stage":8,"time":440,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":0,"time":441,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":1,"time":442,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":2,"time":443,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":3,"time":444,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":4,"time":445,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":5,"time":446,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":6,"time":447,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":7,"time":448,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":33,"stage":8,"time":449,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":0,"time":450,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":1,"time":451,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":2,"time":452,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":3,"time":453,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":4,"time":454,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":5,"time":455,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":6,"time":456,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":7,"time":457,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":34,"stage":8,"time":458,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":0,"time":459,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":1,"time":460,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":2,"time":461,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":3,"time":462,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":4,"time":463,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":5,"time":464,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":6,"time":465,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":7,"time":466,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":35,"stage":8,"time":467,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":0,"time":468,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":1,"time":469,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":2,"time":470,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":3,"time":471,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":4,"time":472,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":5,"time":473,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":6,"time":474,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":7,"time":475,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":36,"stage":8,"time":476,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":0,"time":477,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":1,"time":478,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":2,"time":479,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":3,"time":480,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":4,"time":481,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":5,"time":482,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":6,"time":483,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":7,"time":484,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":37,"stage":8,"time":485,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":0,"time":486,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":1,"time":487,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":2,"time":488,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":3,"time":489,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":4,"time":490,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":5,"time":491,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":6,"time":492,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":7,"time":493,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":38,"stage":8,"time":494,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":0,"time":495,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":1,"time":496,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":2,"time":497,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":3,"time":498,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":4,"time":499,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":5,"time":500,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":6,"time":501,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":7,"time":502,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":39,"stage":8,"time":503,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":0,"time":504,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":1,"time":505,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":2,"time":506,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":3,"time":507,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":4,"time":508,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":5,"time":509,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":6,"time":510,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":7,"time":511,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":40,"stage":8,"time":512,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":0,"time":513,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":1,"time":514,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":2,"time":515,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":3,"time":516,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":4,"time":517,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":5,"time":518,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":6,"time":519,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":7,"time":520,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":41,"stage":8,"time":521,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":1,"time":522,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":2,"time":523,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":3,"time":524,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":4,"time":525,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":5,"time":526,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":6,"time":527,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":7,"time":528,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":42,"stage":8,"time":529,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":1,"time":530,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":2,"time":531,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":3,"time":532,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":4,"time":533,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":5,"time":534,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":6,"time":535,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":7,"time":536,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":43,"stage":8,"time":537,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":1,"time":538,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":2,"time":539,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":3,"time":540,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":4,"time":541,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":5,"time":542,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":6,"time":543,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":7,"time":544,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":44,"stage":8,"time":545,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":1,"time":546,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":2,"time":547,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":3,"time":548,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":4,"time":549,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":5,"time":550,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":6,"time":551,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":7,"time":552,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":45,"stage":8,"time":553,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":2,"time":554,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":3,"time":555,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":4,"time":556,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":5,"time":557,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":6,"time":558,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":7,"time":559,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":46,"stage":8,"time":560,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":2,"time":561,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":3,"time":562,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":4,"time":563,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":5,"time":564,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":6,"time":565,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":7,"time":566,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":47,"stage":8,"time":567,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":2,"time":568,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":3,"time":569,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":4,"time":570,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":5,"time":571,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":6,"time":572,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":7,"time":573,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":48,"stage":8,"time":574,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":2,"time":575,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":3,"time":576,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":4,"time":577,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":5,"time":578,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":6,"time":579,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":7,"time":580,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":49,"stage":8,"time":581,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":3,"time":582,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":4,"time":583,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":5,"time":584,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":6,"time":585,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":7,"time":586,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":50,"stage":8,"time":587,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":3,"time":588,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":4,"time":589,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":5,"time":590,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":6,"time":591,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":7,"time":592,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":51,"stage":8,"time":593,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":3,"time":594,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":4,"time":595,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":5,"time":596,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":6,"time":597,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":7,"time":598,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":52,"stage":8,"time":599,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":3,"time":600,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":4,"time":601,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":5,"time":602,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":6,"time":603,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":7,"time":604,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":53,"stage":8,"time":605,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":4,"time":606,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":5,"time":607,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":6,"time":608,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":7,"time":609,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":54,"stage":8,"time":610,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":4,"time":611,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":5,"time":612,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":6,"time":613,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":7,"time":614,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":55,"stage":8,"time":615,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":4,"time":616,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":5,"time":617,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":6,"time":618,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":7,"time":619,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":56,"stage":8,"time":620,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":4,"time":621,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":5,"time":622,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":6,"time":623,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":7,"time":624,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":57,"stage":8,"time":625,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":5,"time":626,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":6,"time":627,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":7,"time":628,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":58,"stage":8,"time":629,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":5,"time":630,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":6,"time":631,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":7,"time":632,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":59,"stage":8,"time":633,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":5,"time":634,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":6,"time":635,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":7,"time":636,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":60,"stage":8,"time":637,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":5,"time":638,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":6,"time":639,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":7,"time":640,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":61,"stage":8,"time":641,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":6,"time":642,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":7,"time":643,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":62,"stage":8,"time":644,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":6,"time":645,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":7,"time":646,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":63,"stage":8,"time":647,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":6,"time":648,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":7,"time":649,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":64,"stage":8,"time":650,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":6,"time":651,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":7,"time":652,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":65,"stage":8,"time":653,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":7,"time":654,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":66,"stage":8,"time":655,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":7,"time":656,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":67,"stage":8,"time":657,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":7,"time":658,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":68,"stage":8,"time":659,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":7,"time":660,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":69,"stage":8,"time":661,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":70,"stage":8,"time":662,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":71,"stage":8,"time":663,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":72,"stage":8,"time":664,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},{"replica":73,"stage":8,"time":665,"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]}],"profile":{"1":1598512,"14":1,"2":420912,"23":1,"3":218449,"32":77,"4":79920,"48":26489,"5":17738,"7":5498},"provider_calls":[{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":0,"time":0},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":0,"time":1},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":0,"time":2},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":0,"time":3},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":0,"time":4},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":1,"time":5},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":0,"time":6},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":1,"time":7},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":0,"time":8},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":1,"time":9},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":0,"time":10},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":1,"time":11},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":0,"time":12},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":1,"time":13},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":2,"time":14},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":0,"time":15},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":1,"time":16},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":2,"time":17},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":0,"time":18},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":1,"time":19},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":2,"time":20},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":0,"time":21},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":1,"time":22},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":2,"time":23},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":0,"time":24},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":1,"time":25},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":2,"time":26},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":3,"time":27},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":0,"time":28},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":1,"time":29},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":2,"time":30},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":3,"time":31},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":0,"time":32},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":1,"time":33},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":2,"time":34},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":3,"time":35},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":0,"time":36},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":1,"time":37},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":2,"time":38},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":3,"time":39},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":0,"time":40},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":1,"time":41},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":2,"time":42},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":3,"time":43},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":4,"time":44},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":0,"time":45},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":1,"time":46},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":2,"time":47},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":3,"time":48},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":4,"time":49},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":0,"time":50},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":1,"time":51},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":2,"time":52},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":3,"time":53},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":4,"time":54},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":0,"time":55},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":1,"time":56},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":2,"time":57},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":3,"time":58},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":4,"time":59},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":0,"time":60},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":1,"time":61},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":2,"time":62},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":3,"time":63},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":4,"time":64},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":5,"time":65},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":0,"time":66},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":1,"time":67},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":2,"time":68},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":3,"time":69},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":4,"time":70},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":5,"time":71},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":0,"time":72},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":1,"time":73},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":2,"time":74},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":3,"time":75},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":4,"time":76},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":5,"time":77},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":0,"time":78},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":19,"stage":1,"time":79},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":2,"time":80},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":3,"time":81},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":4,"time":82},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":5,"time":83},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":24,"stage":0,"time":84},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":20,"stage":1,"time":85},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":2,"time":86},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":3,"time":87},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":4,"time":88},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":5,"time":89},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":6,"time":90},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":25,"stage":0,"time":91},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":21,"stage":1,"time":92},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":2,"time":93},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":3,"time":94},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":4,"time":95},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":5,"time":96},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":6,"time":97},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":26,"stage":0,"time":98},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":22,"stage":1,"time":99},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":2,"time":100},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":3,"time":101},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":4,"time":102},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":5,"time":103},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":6,"time":104},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":27,"stage":0,"time":105},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":23,"stage":1,"time":106},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":2,"time":107},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":3,"time":108},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":4,"time":109},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":5,"time":110},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":6,"time":111},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":28,"stage":0,"time":112},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":24,"stage":1,"time":113},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":2,"time":114},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":3,"time":115},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":4,"time":116},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":5,"time":117},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":6,"time":118},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":0,"stage":7,"time":119},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":29,"stage":0,"time":120},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":25,"stage":1,"time":121},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":2,"time":122},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":3,"time":123},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":4,"time":124},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":5,"time":125},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":5,"stage":6,"time":126},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":1,"stage":7,"time":127},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":30,"stage":0,"time":128},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":26,"stage":1,"time":129},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":2,"time":130},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":3,"time":131},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":4,"time":132},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":10,"stage":5,"time":133},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":6,"stage":6,"time":134},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":2,"stage":7,"time":135},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":31,"stage":0,"time":136},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":27,"stage":1,"time":137},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":2,"time":138},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":19,"stage":3,"time":139},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":15,"stage":4,"time":140},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":11,"stage":5,"time":141},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":7,"stage":6,"time":142},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":3,"stage":7,"time":143},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":32,"stage":0,"time":144},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":28,"stage":1,"time":145},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":24,"stage":2,"time":146},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":20,"stage":3,"time":147},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":16,"stage":4,"time":148},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":12,"stage":5,"time":149},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":8,"stage":6,"time":150},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":4,"stage":7,"time":151},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":0,"stage":8,"time":152},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":33,"stage":0,"time":153},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":29,"stage":1,"time":154},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":25,"stage":2,"time":155},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":21,"stage":3,"time":156},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":17,"stage":4,"time":157},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":13,"stage":5,"time":158},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":9,"stage":6,"time":159},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":5,"stage":7,"time":160},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":1,"stage":8,"time":161},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":34,"stage":0,"time":162},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":30,"stage":1,"time":163},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":26,"stage":2,"time":164},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":22,"stage":3,"time":165},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":18,"stage":4,"time":166},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":14,"stage":5,"time":167},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":10,"stage":6,"time":168},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":6,"stage":7,"time":169},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":2,"stage":8,"time":170},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":35,"stage":0,"time":171},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":31,"stage":1,"time":172},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":27,"stage":2,"time":173},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":23,"stage":3,"time":174},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":19,"stage":4,"time":175},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":15,"stage":5,"time":176},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":11,"stage":6,"time":177},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":7,"stage":7,"time":178},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":3,"stage":8,"time":179},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":36,"stage":0,"time":180},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":32,"stage":1,"time":181},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":28,"stage":2,"time":182},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":24,"stage":3,"time":183},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":20,"stage":4,"time":184},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":16,"stage":5,"time":185},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":12,"stage":6,"time":186},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":8,"stage":7,"time":187},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":4,"stage":8,"time":188},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":0,"time":189},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":33,"stage":1,"time":190},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":29,"stage":2,"time":191},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":25,"stage":3,"time":192},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":21,"stage":4,"time":193},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":17,"stage":5,"time":194},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":13,"stage":6,"time":195},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":9,"stage":7,"time":196},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":5,"stage":8,"time":197},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":0,"time":198},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":34,"stage":1,"time":199},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":30,"stage":2,"time":200},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":26,"stage":3,"time":201},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":22,"stage":4,"time":202},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":18,"stage":5,"time":203},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":14,"stage":6,"time":204},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":10,"stage":7,"time":205},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":6,"stage":8,"time":206},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":0,"time":207},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":35,"stage":1,"time":208},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":31,"stage":2,"time":209},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":27,"stage":3,"time":210},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":23,"stage":4,"time":211},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":19,"stage":5,"time":212},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":15,"stage":6,"time":213},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":11,"stage":7,"time":214},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":7,"stage":8,"time":215},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":0,"time":216},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":36,"stage":1,"time":217},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":32,"stage":2,"time":218},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":28,"stage":3,"time":219},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":4,"time":220},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":20,"stage":5,"time":221},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":16,"stage":6,"time":222},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":12,"stage":7,"time":223},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":8,"stage":8,"time":224},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":0,"time":225},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":1,"time":226},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":2,"time":227},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":3,"time":228},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":4,"time":229},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":21,"stage":5,"time":230},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":17,"stage":6,"time":231},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":13,"stage":7,"time":232},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":9,"stage":8,"time":233},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":0,"time":234},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":1,"time":235},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":2,"time":236},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":3,"time":237},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":4,"time":238},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":22,"stage":5,"time":239},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":18,"stage":6,"time":240},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":14,"stage":7,"time":241},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":10,"stage":8,"time":242},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":0,"time":243},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":1,"time":244},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":2,"time":245},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":3,"time":246},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":4,"time":247},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":23,"stage":5,"time":248},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":19,"stage":6,"time":249},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":15,"stage":7,"time":250},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":11,"stage":8,"time":251},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":0,"time":252},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":1,"time":253},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":2,"time":254},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":3,"time":255},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":4,"time":256},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":24,"stage":5,"time":257},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":20,"stage":6,"time":258},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":16,"stage":7,"time":259},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":12,"stage":8,"time":260},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":0,"time":261},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":1,"time":262},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":2,"time":263},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":3,"time":264},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":4,"time":265},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":25,"stage":5,"time":266},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":21,"stage":6,"time":267},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":17,"stage":7,"time":268},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":13,"stage":8,"time":269},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":0,"time":270},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":1,"time":271},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":2,"time":272},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":3,"time":273},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":4,"time":274},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":26,"stage":5,"time":275},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":22,"stage":6,"time":276},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":18,"stage":7,"time":277},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":14,"stage":8,"time":278},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":0,"time":279},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":1,"time":280},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":2,"time":281},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":3,"time":282},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":4,"time":283},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":27,"stage":5,"time":284},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":23,"stage":6,"time":285},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":19,"stage":7,"time":286},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":15,"stage":8,"time":287},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":0,"time":288},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":1,"time":289},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":2,"time":290},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":3,"time":291},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":4,"time":292},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":28,"stage":5,"time":293},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":6,"time":294},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":20,"stage":7,"time":295},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":16,"stage":8,"time":296},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":0,"time":297},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":1,"time":298},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":2,"time":299},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":3,"time":300},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":4,"time":301},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":5,"time":302},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":6,"time":303},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":21,"stage":7,"time":304},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":17,"stage":8,"time":305},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":0,"time":306},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":1,"time":307},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":2,"time":308},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":3,"time":309},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":4,"time":310},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":5,"time":311},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":6,"time":312},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":22,"stage":7,"time":313},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":18,"stage":8,"time":314},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":0,"time":315},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":1,"time":316},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":2,"time":317},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":3,"time":318},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":4,"time":319},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":5,"time":320},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":6,"time":321},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":23,"stage":7,"time":322},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":19,"stage":8,"time":323},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":0,"time":324},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":1,"time":325},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":2,"time":326},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":3,"time":327},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":4,"time":328},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":5,"time":329},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":6,"time":330},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":24,"stage":7,"time":331},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":20,"stage":8,"time":332},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":0,"time":333},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":1,"time":334},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":2,"time":335},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":3,"time":336},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":4,"time":337},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":5,"time":338},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":6,"time":339},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":25,"stage":7,"time":340},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":21,"stage":8,"time":341},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":0,"time":342},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":1,"time":343},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":2,"time":344},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":3,"time":345},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":4,"time":346},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":5,"time":347},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":6,"time":348},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":26,"stage":7,"time":349},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":22,"stage":8,"time":350},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":0,"time":351},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":1,"time":352},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":2,"time":353},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":3,"time":354},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":4,"time":355},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":5,"time":356},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":6,"time":357},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":27,"stage":7,"time":358},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":23,"stage":8,"time":359},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":0,"time":360},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":1,"time":361},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":2,"time":362},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":3,"time":363},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":4,"time":364},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":5,"time":365},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":6,"time":366},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":28,"stage":7,"time":367},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":24,"stage":8,"time":368},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":0,"time":369},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":1,"time":370},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":2,"time":371},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":3,"time":372},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":4,"time":373},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":5,"time":374},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":6,"time":375},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":29,"stage":7,"time":376},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":25,"stage":8,"time":377},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":0,"time":378},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":1,"time":379},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":2,"time":380},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":3,"time":381},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":4,"time":382},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":5,"time":383},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":6,"time":384},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":30,"stage":7,"time":385},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":26,"stage":8,"time":386},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":0,"time":387},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":1,"time":388},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":2,"time":389},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":3,"time":390},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":4,"time":391},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":5,"time":392},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":6,"time":393},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":31,"stage":7,"time":394},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":27,"stage":8,"time":395},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":0,"time":396},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":56,"stage":1,"time":397},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":2,"time":398},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":3,"time":399},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":4,"time":400},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":5,"time":401},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":6,"time":402},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":32,"stage":7,"time":403},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":28,"stage":8,"time":404},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":61,"stage":0,"time":405},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":57,"stage":1,"time":406},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":2,"time":407},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":3,"time":408},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":4,"time":409},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":5,"time":410},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":6,"time":411},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":33,"stage":7,"time":412},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":29,"stage":8,"time":413},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":62,"stage":0,"time":414},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":58,"stage":1,"time":415},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":2,"time":416},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":3,"time":417},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":4,"time":418},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":5,"time":419},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":6,"time":420},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":34,"stage":7,"time":421},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":30,"stage":8,"time":422},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":63,"stage":0,"time":423},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":59,"stage":1,"time":424},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":2,"time":425},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":3,"time":426},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":4,"time":427},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":5,"time":428},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":6,"time":429},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":35,"stage":7,"time":430},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":31,"stage":8,"time":431},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":64,"stage":0,"time":432},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":60,"stage":1,"time":433},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":2,"time":434},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":3,"time":435},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":4,"time":436},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":5,"time":437},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":6,"time":438},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":36,"stage":7,"time":439},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":32,"stage":8,"time":440},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":65,"stage":0,"time":441},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":61,"stage":1,"time":442},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":2,"time":443},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":3,"time":444},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":4,"time":445},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":5,"time":446},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":6,"time":447},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":37,"stage":7,"time":448},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":33,"stage":8,"time":449},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":66,"stage":0,"time":450},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":62,"stage":1,"time":451},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":2,"time":452},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":3,"time":453},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":4,"time":454},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":5,"time":455},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":42,"stage":6,"time":456},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":38,"stage":7,"time":457},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":34,"stage":8,"time":458},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":67,"stage":0,"time":459},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":63,"stage":1,"time":460},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":2,"time":461},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":3,"time":462},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":4,"time":463},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":47,"stage":5,"time":464},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":43,"stage":6,"time":465},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":39,"stage":7,"time":466},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":35,"stage":8,"time":467},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":68,"stage":0,"time":468},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":64,"stage":1,"time":469},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":2,"time":470},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":56,"stage":3,"time":471},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":52,"stage":4,"time":472},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":48,"stage":5,"time":473},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":44,"stage":6,"time":474},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":40,"stage":7,"time":475},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":36,"stage":8,"time":476},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":69,"stage":0,"time":477},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":65,"stage":1,"time":478},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":61,"stage":2,"time":479},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":57,"stage":3,"time":480},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":53,"stage":4,"time":481},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":49,"stage":5,"time":482},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":45,"stage":6,"time":483},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":41,"stage":7,"time":484},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":37,"stage":8,"time":485},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":70,"stage":0,"time":486},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":66,"stage":1,"time":487},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":62,"stage":2,"time":488},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":58,"stage":3,"time":489},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":54,"stage":4,"time":490},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":50,"stage":5,"time":491},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":46,"stage":6,"time":492},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":42,"stage":7,"time":493},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":38,"stage":8,"time":494},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":71,"stage":0,"time":495},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":67,"stage":1,"time":496},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":63,"stage":2,"time":497},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":59,"stage":3,"time":498},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":55,"stage":4,"time":499},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":51,"stage":5,"time":500},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":47,"stage":6,"time":501},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":43,"stage":7,"time":502},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":39,"stage":8,"time":503},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":72,"stage":0,"time":504},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":68,"stage":1,"time":505},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":64,"stage":2,"time":506},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":60,"stage":3,"time":507},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":56,"stage":4,"time":508},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":52,"stage":5,"time":509},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":48,"stage":6,"time":510},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":44,"stage":7,"time":511},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":40,"stage":8,"time":512},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":73,"stage":0,"time":513},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":69,"stage":1,"time":514},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":65,"stage":2,"time":515},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":61,"stage":3,"time":516},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":57,"stage":4,"time":517},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":53,"stage":5,"time":518},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":49,"stage":6,"time":519},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":45,"stage":7,"time":520},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":41,"stage":8,"time":521},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":70,"stage":1,"time":522},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":66,"stage":2,"time":523},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":62,"stage":3,"time":524},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":58,"stage":4,"time":525},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":54,"stage":5,"time":526},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":50,"stage":6,"time":527},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":46,"stage":7,"time":528},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":42,"stage":8,"time":529},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":71,"stage":1,"time":530},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":67,"stage":2,"time":531},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":63,"stage":3,"time":532},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":59,"stage":4,"time":533},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":55,"stage":5,"time":534},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":51,"stage":6,"time":535},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":47,"stage":7,"time":536},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":43,"stage":8,"time":537},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":72,"stage":1,"time":538},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":68,"stage":2,"time":539},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":64,"stage":3,"time":540},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":60,"stage":4,"time":541},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":56,"stage":5,"time":542},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":52,"stage":6,"time":543},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":48,"stage":7,"time":544},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":44,"stage":8,"time":545},{"local_program_sha256":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","orientation":"backward","provider":"extra","replica":73,"stage":1,"time":546},{"local_program_sha256":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06","orientation":"forward","provider":"extra","replica":69,"stage":2,"time":547},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":3,"time":548},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":4,"time":549},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":57,"stage":5,"time":550},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":53,"stage":6,"time":551},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":49,"stage":7,"time":552},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":45,"stage":8,"time":553},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":2,"time":554},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":3,"time":555},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":4,"time":556},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":58,"stage":5,"time":557},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":54,"stage":6,"time":558},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":50,"stage":7,"time":559},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":46,"stage":8,"time":560},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":2,"time":561},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":3,"time":562},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":4,"time":563},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":59,"stage":5,"time":564},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":55,"stage":6,"time":565},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":51,"stage":7,"time":566},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":47,"stage":8,"time":567},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":2,"time":568},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":3,"time":569},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":4,"time":570},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":60,"stage":5,"time":571},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":56,"stage":6,"time":572},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":52,"stage":7,"time":573},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":48,"stage":8,"time":574},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":2,"time":575},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":3,"time":576},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":4,"time":577},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":61,"stage":5,"time":578},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":57,"stage":6,"time":579},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":53,"stage":7,"time":580},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":49,"stage":8,"time":581},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":3,"time":582},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":4,"time":583},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":62,"stage":5,"time":584},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":58,"stage":6,"time":585},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":54,"stage":7,"time":586},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":50,"stage":8,"time":587},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":3,"time":588},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":4,"time":589},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":63,"stage":5,"time":590},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":59,"stage":6,"time":591},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":55,"stage":7,"time":592},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":51,"stage":8,"time":593},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":3,"time":594},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":4,"time":595},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":64,"stage":5,"time":596},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":60,"stage":6,"time":597},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":56,"stage":7,"time":598},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":52,"stage":8,"time":599},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":3,"time":600},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":4,"time":601},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":5,"time":602},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":6,"time":603},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":57,"stage":7,"time":604},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":53,"stage":8,"time":605},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":4,"time":606},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":5,"time":607},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":6,"time":608},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":58,"stage":7,"time":609},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":54,"stage":8,"time":610},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":4,"time":611},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":5,"time":612},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":6,"time":613},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":59,"stage":7,"time":614},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":55,"stage":8,"time":615},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":4,"time":616},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":5,"time":617},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":6,"time":618},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":60,"stage":7,"time":619},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":56,"stage":8,"time":620},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":4,"time":621},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":5,"time":622},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":6,"time":623},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":61,"stage":7,"time":624},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":57,"stage":8,"time":625},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":5,"time":626},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":6,"time":627},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":62,"stage":7,"time":628},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":58,"stage":8,"time":629},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":5,"time":630},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":6,"time":631},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":63,"stage":7,"time":632},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":59,"stage":8,"time":633},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":5,"time":634},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":6,"time":635},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":64,"stage":7,"time":636},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":60,"stage":8,"time":637},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":5,"time":638},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":6,"time":639},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":65,"stage":7,"time":640},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":61,"stage":8,"time":641},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":6,"time":642},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":66,"stage":7,"time":643},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":62,"stage":8,"time":644},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":6,"time":645},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":67,"stage":7,"time":646},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":63,"stage":8,"time":647},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":6,"time":648},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":68,"stage":7,"time":649},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":64,"stage":8,"time":650},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":6,"time":651},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":69,"stage":7,"time":652},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":65,"stage":8,"time":653},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":70,"stage":7,"time":654},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":66,"stage":8,"time":655},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":71,"stage":7,"time":656},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":67,"stage":8,"time":657},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":72,"stage":7,"time":658},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":68,"stage":8,"time":659},{"local_program_sha256":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","orientation":"backward","provider":"gauge44","replica":73,"stage":7,"time":660},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":69,"stage":8,"time":661},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":70,"stage":8,"time":662},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":71,"stage":8,"time":663},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":72,"stage":8,"time":664},{"local_program_sha256":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638","orientation":"forward","provider":"gauge44","replica":73,"stage":8,"time":665}],"provider_registry":{"extra":{"actual_paid_profile":{"1":2367,"2":632,"3":318,"4":120,"5":26,"7":8},"artifact_semantic_sha256":{"CANONICAL-WORD.json.gz":"c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58","CLIFFORD-RECIPES.json":"cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02","CLIFFORD-REVIEW.json":"6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd","INDEPENDENT-LOCAL-REPLAY.json":"b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa","LOCAL-CHECKS.json":"5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589","LOCAL-PROGRAMS.json.gz":"937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd","RESIDUAL-ADAPTERS.json":"435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1"},"artifact_sha256":{"CANONICAL-WORD.json.gz":"e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d","CLIFFORD-RECIPES.json":"cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02","CLIFFORD-REVIEW.json":"1f8a65f2f97628c91b813df1e49e9a3672081e53a924493a10e570afb282e924","INDEPENDENT-LOCAL-REPLAY.json":"39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da","LOCAL-CHECKS.json":"ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286","LOCAL-PROGRAMS.json.gz":"26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904","RESIDUAL-ADAPTERS.json":"0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b"},"centers":[92,57,81,224,11,240,9,256],"directory":"providers/extra","orientation_program_sha256":{"backward":"c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a","forward":"0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06"},"ports":[11,19,35,67,131,259,13,21,37,69,133,261,41,73,137,265,49,81,145,273,161,289,193,321,385,14,22,38,70,134,262,26,74,138,266,50,146,274,98,162,290,194,322,386,28,44,140,268,84,148,276,100,164,292,196,324,388,56,88,152,280,104,168,296,200,328,392,112,176,304,208,336,400,224,352,416,448,508,506,502,494,478,446,382,254,505,501,493,477,445,381,253,499,491,475,443,379,251,487,471,439,375,247,463,431,367,239,415,351,223,319,191],"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]},"gauge44":{"actual_paid_profile":{"1":2367,"2":632,"3":318,"4":120,"5":26,"7":8},"artifact_semantic_sha256":{"CANONICAL-WORD.json.gz":"499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be","CLIFFORD-RECIPES.json":"f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063","CLIFFORD-REVIEW.json":"54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112","INDEPENDENT-LOCAL-REPLAY.json":"dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff","LOCAL-CHECKS.json":"d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2","LOCAL-PROGRAMS.json.gz":"b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d","RESIDUAL-ADAPTERS.json":"df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133"},"artifact_sha256":{"CANONICAL-WORD.json.gz":"f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91","CLIFFORD-RECIPES.json":"f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063","CLIFFORD-REVIEW.json":"6154a20efd7dc4fc1f774676daed2bce47c9c2772a4e1c274a15d97f6fc2d783","INDEPENDENT-LOCAL-REPLAY.json":"70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058","LOCAL-CHECKS.json":"e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4","LOCAL-PROGRAMS.json.gz":"81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff","RESIDUAL-ADAPTERS.json":"89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5"},"centers":[92,57,81,224,11,240,9,256],"directory":"providers/gauge44","orientation_program_sha256":{"backward":"104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a","forward":"4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638"},"ports":[11,19,35,67,131,259,13,21,37,69,133,261,41,73,137,265,49,81,145,273,161,289,193,321,385,14,22,38,70,134,262,26,74,138,266,50,146,274,98,162,290,194,322,386,28,44,140,268,84,148,276,100,164,292,196,324,388,56,88,152,280,104,168,296,200,328,392,112,176,304,208,336,400,224,352,416,448,508,506,502,494,478,446,382,254,505,501,493,477,445,381,253,499,491,475,443,379,251,487,471,439,375,247,463,431,367,239,415,351,223,319,191],"widths":[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,8,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,4,9,4,9,4,9,9,9,9,4,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,7,7,7,7,9,9,9,9,9,9,7,7,7,7,7,7,9,9,9,9,9,9,8,8,8,9,8,8,9,9,9,9,8,9,7,7,8,9,8,8,9,9,9,9,8,9,8,8,7,7,7,7,7,7,7,7,9,7,7,7,7,7,7,7,7,7,7,7,9,7,8,8,9,9,9,9,8,8,8,8,7,7,7,7,9,8,9,8,8,8,8,8,7,7,9,8,9,8,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,5,8,8,8,8,8,8,8,8,8,8,8,8,8,5,8,5,5,5,8,8,8,8,4,8,8,8,5,8,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]}},"replica_lift":{"copies":2,"owners_file_sha256":"8eac0962fe2266c898cd8eb8faaae2cd9b89559fb88b52b97f96269e781680ad","parent_template_content_sha256":"84e1c038e40bb86a8e20629a7492c75c2dff1b00c8543720a74f62ab224ef67f","phase_recipe_unchanged":true,"replicas":74,"schedule_content_sha256":"0c112176ee8327de2f7382ba509073f2eff0983784666d5f090012a37383e927","source_replicas":37},"sides":{"0":0,"1":0,"10":1,"11":1,"12":0,"13":1,"14":0,"15":1,"16":0,"17":1,"2":1,"3":1,"4":0,"5":0,"6":1,"7":1,"8":0,"9":0},"solver_status":"exact alternating paths on frozen legal bins","source_owners_sha256":"c41fdf51541ecc91af914f264967f3633570500994f8866daf642440a5d843dd","source_plan_sha256":"c5da66a8061a86ca7d3eab975829488f6c086a59966150b193d614ff0d0c4847","status":"EXPLICIT_T74_ALTERNATING_PATH_EXACT_FILL","windows":{"0,0":[16,[0,1,2,3,4,5]],"0,1":[8,[6,7,8,9,10,11,12,13,14]],"0,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]],"0,11":[8,[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]],"0,12":[48,[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,13":[48,[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,14":[32,[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,15":[32,[45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,16":[16,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,17":[16,[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152]],"0,2":[16,[0,1,2,3,4,5]],"0,3":[8,[6,7,8,9,10,11,12,13,14]],"0,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]],"0,5":[8,[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]],"0,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]],"0,7":[8,[28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]],"0,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65]],"0,9":[8,[66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90]],"1,0":[16,[0,1,2,3,4,5,6,7]],"1,1":[8,[8,9,10,11,12,13,14,15,16,17]],"1,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71]],"1,11":[8,[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97]],"1,12":[48,[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,13":[48,[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,14":[32,[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,15":[32,[50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,16":[16,[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,17":[16,[98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161]],"1,2":[16,[0,1,2,3,4,5,6,7]],"1,3":[8,[8,9,10,11,12,13,14,15,16,17]],"1,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]],"1,5":[8,[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]],"1,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]],"1,7":[8,[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49]],"1,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71]],"1,9":[8,[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97]],"10,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]],"10,1":[8,[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]],"10,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133]],"10,11":[8,[134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]],"10,12":[48,[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,13":[48,[53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,14":[32,[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,15":[32,[103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,16":[16,[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,17":[16,[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242]],"10,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]],"10,3":[8,[34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52]],"10,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]],"10,5":[8,[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102]],"10,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75]],"10,7":[8,[76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102]],"10,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133]],"10,9":[8,[134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168]],"11,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]],"11,1":[8,[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]],"11,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141]],"11,11":[8,[142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177]],"11,12":[48,[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,13":[48,[58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,14":[32,[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,15":[32,[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,16":[16,[178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,17":[16,[178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251]],"11,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]],"11,3":[8,[38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]],"11,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]],"11,5":[8,[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109]],"11,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]],"11,7":[8,[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109]],"11,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141]],"11,9":[8,[142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177]],"12,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]],"12,1":[8,[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]],"12,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149]],"12,11":[8,[150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186]],"12,12":[48,[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,13":[48,[63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,14":[32,[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,15":[32,[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,16":[16,[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,17":[16,[187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260]],"12,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]],"12,3":[8,[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62]],"12,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]],"12,5":[8,[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]],"12,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]],"12,7":[8,[88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116]],"12,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149]],"12,9":[8,[150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186]],"13,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]],"13,1":[8,[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68]],"13,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158]],"13,11":[8,[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195]],"13,12":[48,[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,13":[48,[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,14":[32,[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,15":[32,[125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,16":[16,[196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,17":[16,[196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269]],"13,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46]],"13,3":[8,[47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68]],"13,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94]],"13,5":[8,[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124]],"13,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94]],"13,7":[8,[95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124]],"13,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158]],"13,9":[8,[159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195]],"14,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]],"14,1":[8,[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]],"14,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167]],"14,11":[8,[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204]],"14,12":[48,[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,13":[48,[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,14":[32,[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,15":[32,[133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,16":[16,[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,17":[16,[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278]],"14,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]],"14,3":[8,[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]],"14,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]],"14,5":[8,[102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132]],"14,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101]],"14,7":[8,[102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132]],"14,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167]],"14,9":[8,[168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204]],"15,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]],"15,1":[8,[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]],"15,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176]],"15,11":[8,[177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213]],"15,12":[48,[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,13":[48,[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,14":[32,[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,15":[32,[141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,16":[16,[214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,17":[16,[214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287]],"15,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56]],"15,3":[8,[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80]],"15,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108]],"15,5":[8,[109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]],"15,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108]],"15,7":[8,[109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140]],"15,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176]],"15,9":[8,[177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213]],"16,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61]],"16,1":[8,[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]],"16,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185]],"16,11":[8,[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],"16,12":[48,[87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,13":[48,[87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,14":[32,[149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,15":[32,[149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,16":[16,[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,17":[16,[223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296]],"16,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61]],"16,3":[8,[62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]],"16,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115]],"16,5":[8,[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148]],"16,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115]],"16,7":[8,[116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148]],"16,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185]],"16,9":[8,[186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],"17,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]],"17,1":[8,[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93]],"17,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194]],"17,11":[8,[195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231]],"17,12":[48,[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,13":[48,[94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,14":[32,[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,15":[32,[158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,16":[16,[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,17":[16,[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305]],"17,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]],"17,3":[8,[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93]],"17,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123]],"17,5":[8,[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157]],"17,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123]],"17,7":[8,[124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157]],"17,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194]],"17,9":[8,[195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231]],"18,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73]],"18,1":[8,[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]],"18,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203]],"18,11":[8,[204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240]],"18,12":[48,[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,13":[48,[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,14":[32,[167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,15":[32,[167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,16":[16,[241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,17":[16,[241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314]],"18,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73]],"18,3":[8,[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]],"18,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131]],"18,5":[8,[132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166]],"18,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131]],"18,7":[8,[132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166]],"18,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203]],"18,9":[8,[204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240]],"19,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79]],"19,1":[8,[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]],"19,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212]],"19,11":[8,[213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249]],"19,12":[48,[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,13":[48,[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,14":[32,[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,15":[32,[176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,16":[16,[250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,17":[16,[250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323]],"19,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79]],"19,3":[8,[80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107]],"19,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139]],"19,5":[8,[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175]],"19,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139]],"19,7":[8,[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175]],"19,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212]],"19,9":[8,[213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249]],"2,0":[16,[0,1,2,3,4,5,6,7,8,9]],"2,1":[8,[10,11,12,13,14,15,16,17,18,19,20]],"2,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]],"2,11":[8,[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104]],"2,12":[48,[21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,13":[48,[21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,14":[32,[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,15":[32,[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,16":[16,[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,17":[16,[105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170]],"2,2":[16,[0,1,2,3,4,5,6,7,8,9]],"2,3":[8,[10,11,12,13,14,15,16,17,18,19,20]],"2,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]],"2,5":[8,[36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]],"2,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]],"2,7":[8,[36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54]],"2,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]],"2,9":[8,[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104]],"20,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]],"20,1":[8,[86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114]],"20,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221]],"20,11":[8,[222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258]],"20,12":[48,[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,13":[48,[115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,14":[32,[185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,15":[32,[185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,16":[16,[259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,17":[16,[259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332]],"20,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]],"20,3":[8,[86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114]],"20,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147]],"20,5":[8,[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184]],"20,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147]],"20,7":[8,[148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184]],"20,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221]],"20,9":[8,[222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258]],"21,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92]],"21,1":[8,[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122]],"21,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230]],"21,11":[8,[231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267]],"21,12":[48,[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,13":[48,[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,14":[32,[194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,15":[32,[194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,16":[16,[268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,17":[16,[268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341]],"21,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92]],"21,3":[8,[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122]],"21,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156]],"21,5":[8,[157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193]],"21,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156]],"21,7":[8,[157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193]],"21,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230]],"21,9":[8,[231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267]],"22,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]],"22,1":[8,[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]],"22,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239]],"22,11":[8,[240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276]],"22,12":[48,[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,13":[48,[131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,14":[32,[203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,15":[32,[203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,16":[16,[277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,17":[16,[277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350]],"22,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99]],"22,3":[8,[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]],"22,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165]],"22,5":[8,[166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202]],"22,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165]],"22,7":[8,[166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202]],"22,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239]],"22,9":[8,[240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276]],"23,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106]],"23,1":[8,[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138]],"23,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248]],"23,11":[8,[249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],"23,12":[48,[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,13":[48,[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,14":[32,[212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,15":[32,[212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,16":[16,[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,17":[16,[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359]],"23,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106]],"23,3":[8,[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138]],"23,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174]],"23,5":[8,[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211]],"23,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174]],"23,7":[8,[175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211]],"23,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248]],"23,9":[8,[249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],"24,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113]],"24,1":[8,[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146]],"24,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257]],"24,11":[8,[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294]],"24,12":[48,[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,13":[48,[147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,14":[32,[221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,15":[32,[221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,16":[16,[295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,17":[16,[295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368]],"24,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113]],"24,3":[8,[114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146]],"24,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183]],"24,5":[8,[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220]],"24,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183]],"24,7":[8,[184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220]],"24,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257]],"24,9":[8,[258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294]],"25,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]],"25,1":[8,[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155]],"25,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266]],"25,11":[8,[267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303]],"25,12":[48,[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,13":[48,[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,14":[32,[230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,15":[32,[230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,16":[16,[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,17":[16,[304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],"25,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121]],"25,3":[8,[122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155]],"25,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192]],"25,5":[8,[193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229]],"25,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192]],"25,7":[8,[193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229]],"25,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266]],"25,9":[8,[267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303]],"26,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129]],"26,1":[8,[130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164]],"26,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],"26,11":[8,[276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312]],"26,12":[48,[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,13":[48,[165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,14":[32,[239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,15":[32,[239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,16":[16,[313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,17":[16,[313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386]],"26,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129]],"26,3":[8,[130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164]],"26,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201]],"26,5":[8,[202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238]],"26,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201]],"26,7":[8,[202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238]],"26,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],"26,9":[8,[276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312]],"27,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137]],"27,1":[8,[138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173]],"27,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284]],"27,11":[8,[285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321]],"27,12":[48,[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,13":[48,[174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,14":[32,[248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,15":[32,[248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,16":[16,[322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,17":[16,[322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395]],"27,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137]],"27,3":[8,[138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173]],"27,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210]],"27,5":[8,[211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247]],"27,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210]],"27,7":[8,[211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247]],"27,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284]],"27,9":[8,[285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321]],"28,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145]],"28,1":[8,[146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182]],"28,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293]],"28,11":[8,[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330]],"28,12":[48,[183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,13":[48,[183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,14":[32,[257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,15":[32,[257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,16":[16,[331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,17":[16,[331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404]],"28,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145]],"28,3":[8,[146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182]],"28,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219]],"28,5":[8,[220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256]],"28,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219]],"28,7":[8,[220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256]],"28,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293]],"28,9":[8,[294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330]],"29,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154]],"29,1":[8,[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191]],"29,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302]],"29,11":[8,[303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339]],"29,12":[48,[192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,13":[48,[192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,14":[32,[266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,15":[32,[266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,16":[16,[340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,17":[16,[340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413]],"29,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154]],"29,3":[8,[155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191]],"29,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228]],"29,5":[8,[229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265]],"29,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228]],"29,7":[8,[229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265]],"29,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302]],"29,9":[8,[303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339]],"3,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11]],"3,1":[8,[12,13,14,15,16,17,18,19,20,21,22,23]],"3,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83]],"3,11":[8,[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]],"3,12":[48,[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,13":[48,[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,14":[32,[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,15":[32,[60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,16":[16,[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,17":[16,[112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179]],"3,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11]],"3,3":[8,[12,13,14,15,16,17,18,19,20,21,22,23]],"3,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]],"3,5":[8,[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]],"3,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]],"3,7":[8,[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59]],"3,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83]],"3,9":[8,[84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111]],"30,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163]],"30,1":[8,[164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200]],"30,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311]],"30,11":[8,[312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348]],"30,12":[48,[201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,13":[48,[201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,14":[32,[275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,15":[32,[275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,16":[16,[349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,17":[16,[349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422]],"30,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163]],"30,3":[8,[164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200]],"30,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237]],"30,5":[8,[238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274]],"30,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237]],"30,7":[8,[238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274]],"30,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311]],"30,9":[8,[312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348]],"31,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172]],"31,1":[8,[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209]],"31,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320]],"31,11":[8,[321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357]],"31,12":[48,[210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,13":[48,[210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,14":[32,[284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,15":[32,[284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,16":[16,[358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,17":[16,[358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431]],"31,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172]],"31,3":[8,[173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209]],"31,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246]],"31,5":[8,[247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283]],"31,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246]],"31,7":[8,[247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283]],"31,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320]],"31,9":[8,[321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357]],"32,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181]],"32,1":[8,[182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218]],"32,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329]],"32,11":[8,[330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366]],"32,12":[48,[219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,13":[48,[219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,14":[32,[293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,15":[32,[293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,16":[16,[367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,17":[16,[367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440]],"32,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181]],"32,3":[8,[182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218]],"32,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]],"32,5":[8,[256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292]],"32,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]],"32,7":[8,[256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292]],"32,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329]],"32,9":[8,[330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366]],"33,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190]],"33,1":[8,[191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227]],"33,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338]],"33,11":[8,[339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375]],"33,12":[48,[228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,13":[48,[228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,14":[32,[302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,15":[32,[302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,16":[16,[376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,17":[16,[376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449]],"33,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190]],"33,3":[8,[191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227]],"33,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264]],"33,5":[8,[265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301]],"33,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264]],"33,7":[8,[265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301]],"33,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338]],"33,9":[8,[339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375]],"34,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]],"34,1":[8,[200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236]],"34,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347]],"34,11":[8,[348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384]],"34,12":[48,[237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,13":[48,[237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,14":[32,[311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,15":[32,[311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,16":[16,[385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,17":[16,[385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458]],"34,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]],"34,3":[8,[200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236]],"34,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273]],"34,5":[8,[274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310]],"34,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273]],"34,7":[8,[274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310]],"34,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347]],"34,9":[8,[348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384]],"35,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208]],"35,1":[8,[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245]],"35,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356]],"35,11":[8,[357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393]],"35,12":[48,[246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,13":[48,[246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,14":[32,[320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,15":[32,[320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,16":[16,[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,17":[16,[394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467]],"35,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208]],"35,3":[8,[209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245]],"35,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282]],"35,5":[8,[283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319]],"35,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282]],"35,7":[8,[283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319]],"35,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356]],"35,9":[8,[357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393]],"36,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217]],"36,1":[8,[218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254]],"36,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365]],"36,11":[8,[366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402]],"36,12":[48,[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,13":[48,[255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,14":[32,[329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,15":[32,[329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,16":[16,[403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,17":[16,[403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476]],"36,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217]],"36,3":[8,[218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254]],"36,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291]],"36,5":[8,[292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328]],"36,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291]],"36,7":[8,[292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328]],"36,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365]],"36,9":[8,[366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402]],"37,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226]],"37,1":[8,[227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263]],"37,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374]],"37,11":[8,[375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411]],"37,12":[48,[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,13":[48,[264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,14":[32,[338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,15":[32,[338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,16":[16,[412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,17":[16,[412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485]],"37,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226]],"37,3":[8,[227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263]],"37,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],"37,5":[8,[301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337]],"37,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],"37,7":[8,[301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337]],"37,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374]],"37,9":[8,[375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411]],"38,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235]],"38,1":[8,[236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272]],"38,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383]],"38,11":[8,[384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420]],"38,12":[48,[273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,13":[48,[273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,14":[32,[347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,15":[32,[347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,16":[16,[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,17":[16,[421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494]],"38,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235]],"38,3":[8,[236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272]],"38,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309]],"38,5":[8,[310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346]],"38,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309]],"38,7":[8,[310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346]],"38,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383]],"38,9":[8,[384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420]],"39,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244]],"39,1":[8,[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281]],"39,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392]],"39,11":[8,[393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429]],"39,12":[48,[282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,13":[48,[282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,14":[32,[356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,15":[32,[356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,16":[16,[430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,17":[16,[430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503]],"39,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244]],"39,3":[8,[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281]],"39,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318]],"39,5":[8,[319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355]],"39,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318]],"39,7":[8,[319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355]],"39,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392]],"39,9":[8,[393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429]],"4,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13]],"4,1":[8,[14,15,16,17,18,19,20,21,22,23,24,25,26]],"4,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89]],"4,11":[8,[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]],"4,12":[48,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,13":[48,[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,14":[32,[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,15":[32,[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,16":[16,[119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,17":[16,[119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188]],"4,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13]],"4,3":[8,[14,15,16,17,18,19,20,21,22,23,24,25,26]],"4,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]],"4,5":[8,[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]],"4,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]],"4,7":[8,[44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64]],"4,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89]],"4,9":[8,[90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118]],"40,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253]],"40,1":[8,[254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290]],"40,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401]],"40,11":[8,[402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438]],"40,12":[48,[291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,13":[48,[291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,14":[32,[365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,15":[32,[365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,16":[16,[439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,17":[16,[439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512]],"40,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253]],"40,3":[8,[254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290]],"40,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327]],"40,5":[8,[328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364]],"40,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327]],"40,7":[8,[328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364]],"40,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401]],"40,9":[8,[402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438]],"41,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262]],"41,1":[8,[263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299]],"41,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410]],"41,11":[8,[411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447]],"41,12":[48,[300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,13":[48,[300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,14":[32,[374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,15":[32,[374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,16":[16,[448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,17":[16,[448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521]],"41,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262]],"41,3":[8,[263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299]],"41,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336]],"41,5":[8,[337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373]],"41,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336]],"41,7":[8,[337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373]],"41,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410]],"41,9":[8,[411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447]],"42,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271]],"42,1":[8,[272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308]],"42,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419]],"42,11":[8,[420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456]],"42,12":[48,[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,13":[48,[309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,14":[32,[383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,15":[32,[383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,16":[16,[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,17":[16,[457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529]],"42,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271]],"42,3":[8,[272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308]],"42,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345]],"42,5":[8,[346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382]],"42,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345]],"42,7":[8,[346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382]],"42,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419]],"42,9":[8,[420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456]],"43,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280]],"43,1":[8,[281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]],"43,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428]],"43,11":[8,[429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465]],"43,12":[48,[318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,13":[48,[318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,14":[32,[392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,15":[32,[392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,16":[16,[466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,17":[16,[466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537]],"43,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280]],"43,3":[8,[281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317]],"43,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354]],"43,5":[8,[355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391]],"43,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354]],"43,7":[8,[355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391]],"43,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428]],"43,9":[8,[429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465]],"44,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289]],"44,1":[8,[290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326]],"44,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437]],"44,11":[8,[438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474]],"44,12":[48,[327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,13":[48,[327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,14":[32,[401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,15":[32,[401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,16":[16,[475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,17":[16,[475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545]],"44,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289]],"44,3":[8,[290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326]],"44,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363]],"44,5":[8,[364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400]],"44,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363]],"44,7":[8,[364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400]],"44,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437]],"44,9":[8,[438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474]],"45,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298]],"45,1":[8,[299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335]],"45,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446]],"45,11":[8,[447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483]],"45,12":[48,[336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,13":[48,[336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,14":[32,[410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,15":[32,[410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,16":[16,[484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,17":[16,[484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553]],"45,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298]],"45,3":[8,[299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335]],"45,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372]],"45,5":[8,[373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409]],"45,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372]],"45,7":[8,[373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409]],"45,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446]],"45,9":[8,[447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483]],"46,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307]],"46,1":[8,[308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]],"46,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455]],"46,11":[8,[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492]],"46,12":[48,[345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,13":[48,[345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,14":[32,[419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,15":[32,[419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,16":[16,[493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,17":[16,[493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560]],"46,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307]],"46,3":[8,[308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344]],"46,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381]],"46,5":[8,[382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418]],"46,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381]],"46,7":[8,[382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418]],"46,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455]],"46,9":[8,[456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492]],"47,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316]],"47,1":[8,[317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353]],"47,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464]],"47,11":[8,[465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501]],"47,12":[48,[354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,13":[48,[354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,14":[32,[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,15":[32,[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,16":[16,[502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,17":[16,[502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567]],"47,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316]],"47,3":[8,[317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353]],"47,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390]],"47,5":[8,[391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427]],"47,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390]],"47,7":[8,[391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427]],"47,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464]],"47,9":[8,[465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501]],"48,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325]],"48,1":[8,[326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362]],"48,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473]],"48,11":[8,[474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"48,12":[48,[363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,13":[48,[363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,14":[32,[437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,15":[32,[437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,16":[16,[511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,17":[16,[511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574]],"48,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325]],"48,3":[8,[326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362]],"48,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399]],"48,5":[8,[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436]],"48,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399]],"48,7":[8,[400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436]],"48,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473]],"48,9":[8,[474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510]],"49,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334]],"49,1":[8,[335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371]],"49,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]],"49,11":[8,[483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],"49,12":[48,[372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,13":[48,[372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,14":[32,[446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,15":[32,[446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,16":[16,[520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,17":[16,[520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581]],"49,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334]],"49,3":[8,[335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371]],"49,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408]],"49,5":[8,[409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445]],"49,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408]],"49,7":[8,[409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445]],"49,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482]],"49,9":[8,[483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],"5,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]],"5,1":[8,[17,18,19,20,21,22,23,24,25,26,27,28,29,30]],"5,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96]],"5,11":[8,[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126]],"5,12":[48,[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,13":[48,[31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,14":[32,[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,15":[32,[71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,16":[16,[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,17":[16,[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197]],"5,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]],"5,3":[8,[17,18,19,20,21,22,23,24,25,26,27,28,29,30]],"5,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]],"5,5":[8,[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]],"5,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]],"5,7":[8,[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]],"5,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96]],"5,9":[8,[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126]],"50,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343]],"50,1":[8,[344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380]],"50,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491]],"50,11":[8,[492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],"50,12":[48,[381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,13":[48,[381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,14":[32,[455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,15":[32,[455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,16":[16,[528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,17":[16,[528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587]],"50,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343]],"50,3":[8,[344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380]],"50,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417]],"50,5":[8,[418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454]],"50,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417]],"50,7":[8,[418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454]],"50,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491]],"50,9":[8,[492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],"51,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352]],"51,1":[8,[353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389]],"51,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500]],"51,11":[8,[501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535]],"51,12":[48,[390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,13":[48,[390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,14":[32,[464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,15":[32,[464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,16":[16,[536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,17":[16,[536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593]],"51,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352]],"51,3":[8,[353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389]],"51,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426]],"51,5":[8,[427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463]],"51,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426]],"51,7":[8,[427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463]],"51,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500]],"51,9":[8,[501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535]],"52,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361]],"52,1":[8,[362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398]],"52,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509]],"52,11":[8,[510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543]],"52,12":[48,[399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,13":[48,[399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,14":[32,[473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,15":[32,[473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,16":[16,[544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,17":[16,[544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599]],"52,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361]],"52,3":[8,[362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398]],"52,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435]],"52,5":[8,[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472]],"52,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435]],"52,7":[8,[436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472]],"52,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509]],"52,9":[8,[510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543]],"53,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370]],"53,1":[8,[371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407]],"53,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"53,11":[8,[519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551]],"53,12":[48,[408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,13":[48,[408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,14":[32,[482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,15":[32,[482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,16":[16,[552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,17":[16,[552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605]],"53,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370]],"53,3":[8,[371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407]],"53,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444]],"53,5":[8,[445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481]],"53,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444]],"53,7":[8,[445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481]],"53,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518]],"53,9":[8,[519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551]],"54,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379]],"54,1":[8,[380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416]],"54,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"54,11":[8,[527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"54,12":[48,[417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,13":[48,[417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,14":[32,[491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,15":[32,[491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,16":[16,[559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,17":[16,[559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610]],"54,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379]],"54,3":[8,[380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416]],"54,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453]],"54,5":[8,[454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490]],"54,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453]],"54,7":[8,[454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490]],"54,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]],"54,9":[8,[527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558]],"55,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388]],"55,1":[8,[389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425]],"55,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"55,11":[8,[535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"55,12":[48,[426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,13":[48,[426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,14":[32,[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,15":[32,[500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,16":[16,[566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,17":[16,[566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615]],"55,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388]],"55,3":[8,[389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425]],"55,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462]],"55,5":[8,[463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499]],"55,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462]],"55,7":[8,[463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499]],"55,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534]],"55,9":[8,[535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565]],"56,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397]],"56,1":[8,[398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434]],"56,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"56,11":[8,[543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"56,12":[48,[435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,13":[48,[435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,14":[32,[509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,15":[32,[509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,16":[16,[573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,17":[16,[573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620]],"56,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397]],"56,3":[8,[398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434]],"56,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471]],"56,5":[8,[472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508]],"56,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471]],"56,7":[8,[472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508]],"56,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542]],"56,9":[8,[543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572]],"57,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406]],"57,1":[8,[407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443]],"57,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"57,11":[8,[551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579]],"57,12":[48,[444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,13":[48,[444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,14":[32,[518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,15":[32,[518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,16":[16,[580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,17":[16,[580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625]],"57,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406]],"57,3":[8,[407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443]],"57,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480]],"57,5":[8,[481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517]],"57,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480]],"57,7":[8,[481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517]],"57,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550]],"57,9":[8,[551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579]],"58,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415]],"58,1":[8,[416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452]],"58,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557]],"58,11":[8,[558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585]],"58,12":[48,[453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,13":[48,[453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,14":[32,[526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,15":[32,[526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,16":[16,[586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,17":[16,[586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629]],"58,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415]],"58,3":[8,[416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452]],"58,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489]],"58,5":[8,[490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525]],"58,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489]],"58,7":[8,[490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525]],"58,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557]],"58,9":[8,[558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585]],"59,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424]],"59,1":[8,[425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461]],"59,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564]],"59,11":[8,[565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591]],"59,12":[48,[462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,13":[48,[462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,14":[32,[534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,15":[32,[534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,16":[16,[592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,17":[16,[592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633]],"59,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424]],"59,3":[8,[425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461]],"59,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498]],"59,5":[8,[499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533]],"59,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498]],"59,7":[8,[499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533]],"59,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564]],"59,9":[8,[565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591]],"6,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]],"6,1":[8,[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]],"6,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]],"6,11":[8,[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134]],"6,12":[48,[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,13":[48,[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,14":[32,[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,15":[32,[77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,16":[16,[135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,17":[16,[135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206]],"6,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]],"6,3":[8,[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]],"6,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]],"6,5":[8,[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]],"6,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53]],"6,7":[8,[54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76]],"6,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]],"6,9":[8,[104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134]],"60,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433]],"60,1":[8,[434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470]],"60,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571]],"60,11":[8,[572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597]],"60,12":[48,[471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,13":[48,[471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,14":[32,[542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,15":[32,[542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,16":[16,[598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,17":[16,[598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637]],"60,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433]],"60,3":[8,[434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470]],"60,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507]],"60,5":[8,[508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541]],"60,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507]],"60,7":[8,[508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541]],"60,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571]],"60,9":[8,[572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597]],"61,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442]],"61,1":[8,[443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479]],"61,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"61,11":[8,[579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603]],"61,12":[48,[480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,13":[48,[480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,14":[32,[550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,15":[32,[550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,16":[16,[604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,17":[16,[604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641]],"61,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442]],"61,3":[8,[443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479]],"61,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516]],"61,5":[8,[517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549]],"61,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516]],"61,7":[8,[517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549]],"61,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578]],"61,9":[8,[579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603]],"62,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451]],"62,1":[8,[452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488]],"62,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"62,11":[8,[585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608]],"62,12":[48,[489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,13":[48,[489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,14":[32,[557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,15":[32,[557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,16":[16,[609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,17":[16,[609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644]],"62,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451]],"62,3":[8,[452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488]],"62,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524]],"62,5":[8,[525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556]],"62,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524]],"62,7":[8,[525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556]],"62,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584]],"62,9":[8,[585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608]],"63,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460]],"63,1":[8,[461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497]],"63,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590]],"63,11":[8,[591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613]],"63,12":[48,[498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,13":[48,[498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,14":[32,[564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,15":[32,[564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,16":[16,[614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,17":[16,[614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647]],"63,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460]],"63,3":[8,[461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497]],"63,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532]],"63,5":[8,[533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563]],"63,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532]],"63,7":[8,[533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563]],"63,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590]],"63,9":[8,[591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613]],"64,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],"64,1":[8,[470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506]],"64,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596]],"64,11":[8,[597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618]],"64,12":[48,[507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,13":[48,[507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,14":[32,[571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,15":[32,[571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,16":[16,[619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,17":[16,[619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650]],"64,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],"64,3":[8,[470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506]],"64,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540]],"64,5":[8,[541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570]],"64,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540]],"64,7":[8,[541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570]],"64,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596]],"64,9":[8,[597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618]],"65,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478]],"65,1":[8,[479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515]],"65,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602]],"65,11":[8,[603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623]],"65,12":[48,[516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,13":[48,[516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,14":[32,[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,15":[32,[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,16":[16,[624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,17":[16,[624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653]],"65,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478]],"65,3":[8,[479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515]],"65,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548]],"65,5":[8,[549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577]],"65,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548]],"65,7":[8,[549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577]],"65,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602]],"65,9":[8,[603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623]],"66,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487]],"66,1":[8,[488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523]],"66,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607]],"66,11":[8,[608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],"66,12":[48,[524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,13":[48,[524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,14":[32,[584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,15":[32,[584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,16":[16,[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,17":[16,[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655]],"66,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487]],"66,3":[8,[488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523]],"66,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555]],"66,5":[8,[556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583]],"66,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555]],"66,7":[8,[556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583]],"66,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607]],"66,9":[8,[608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],"67,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496]],"67,1":[8,[497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531]],"67,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"67,11":[8,[613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631]],"67,12":[48,[532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,13":[48,[532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,14":[32,[590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,15":[32,[590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,16":[16,[632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,17":[16,[632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]],"67,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496]],"67,3":[8,[497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531]],"67,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562]],"67,5":[8,[563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"67,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562]],"67,7":[8,[563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589]],"67,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612]],"67,9":[8,[613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631]],"68,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505]],"68,1":[8,[506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539]],"68,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617]],"68,11":[8,[618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635]],"68,12":[48,[540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,13":[48,[540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,14":[32,[596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,15":[32,[596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,16":[16,[636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,17":[16,[636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659]],"68,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505]],"68,3":[8,[506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539]],"68,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],"68,5":[8,[570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595]],"68,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],"68,7":[8,[570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595]],"68,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617]],"68,9":[8,[618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635]],"69,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514]],"69,1":[8,[515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547]],"69,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622]],"69,11":[8,[623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639]],"69,12":[48,[548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,13":[48,[548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,14":[32,[602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,15":[32,[602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,16":[16,[640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,17":[16,[640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661]],"69,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514]],"69,3":[8,[515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547]],"69,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576]],"69,5":[8,[577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601]],"69,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576]],"69,7":[8,[577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601]],"69,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622]],"69,9":[8,[623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639]],"7,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]],"7,1":[8,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]],"7,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]],"7,11":[8,[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142]],"7,12":[48,[39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,13":[48,[39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,14":[32,[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,15":[32,[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,16":[16,[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,17":[16,[143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215]],"7,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]],"7,3":[8,[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]],"7,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]],"7,5":[8,[59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]],"7,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]],"7,7":[8,[59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82]],"7,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110]],"7,9":[8,[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142]],"70,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522]],"70,1":[8,[523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554]],"70,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626]],"70,11":[8,[627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642]],"70,12":[48,[555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,13":[48,[555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,14":[32,[607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,15":[32,[607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,16":[16,[643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,17":[16,[643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662]],"70,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522]],"70,3":[8,[523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554]],"70,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582]],"70,5":[8,[583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606]],"70,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582]],"70,7":[8,[583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606]],"70,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626]],"70,9":[8,[627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642]],"71,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530]],"71,1":[8,[531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561]],"71,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630]],"71,11":[8,[631,632,633,634,635,636,637,638,639,640,641,642,643,644,645]],"71,12":[48,[562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,13":[48,[562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,14":[32,[612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,15":[32,[612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,16":[16,[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,17":[16,[646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663]],"71,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530]],"71,3":[8,[531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561]],"71,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588]],"71,5":[8,[589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611]],"71,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588]],"71,7":[8,[589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611]],"71,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630]],"71,9":[8,[631,632,633,634,635,636,637,638,639,640,641,642,643,644,645]],"72,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538]],"72,1":[8,[539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568]],"72,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634]],"72,11":[8,[635,636,637,638,639,640,641,642,643,644,645,646,647,648]],"72,12":[48,[569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,13":[48,[569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,14":[32,[617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,15":[32,[617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,16":[16,[649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,17":[16,[649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664]],"72,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538]],"72,3":[8,[539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568]],"72,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"72,5":[8,[595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616]],"72,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594]],"72,7":[8,[595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616]],"72,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634]],"72,9":[8,[635,636,637,638,639,640,641,642,643,644,645,646,647,648]],"73,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546]],"73,1":[8,[547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575]],"73,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638]],"73,11":[8,[639,640,641,642,643,644,645,646,647,648,649,650,651]],"73,12":[48,[576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,13":[48,[576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,14":[32,[622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,15":[32,[622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,16":[16,[652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,17":[16,[652,653,654,655,656,657,658,659,660,661,662,663,664,665]],"73,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546]],"73,3":[8,[547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575]],"73,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600]],"73,5":[8,[601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621]],"73,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600]],"73,7":[8,[601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621]],"73,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638]],"73,9":[8,[639,640,641,642,643,644,645,646,647,648,649,650,651]],"8,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]],"8,1":[8,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]],"8,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117]],"8,11":[8,[118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150]],"8,12":[48,[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,13":[48,[43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,14":[32,[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,15":[32,[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,16":[16,[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,17":[16,[151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224]],"8,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]],"8,3":[8,[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]],"8,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]],"8,5":[8,[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]],"8,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63]],"8,7":[8,[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88]],"8,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117]],"8,9":[8,[118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150]],"9,0":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],"9,1":[8,[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47]],"9,10":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125]],"9,11":[8,[126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159]],"9,12":[48,[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,13":[48,[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,14":[32,[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,15":[32,[96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,16":[16,[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,17":[16,[160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],"9,2":[16,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]],"9,3":[8,[30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47]],"9,4":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]],"9,5":[8,[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95]],"9,6":[32,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69]],"9,7":[8,[70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95]],"9,8":[48,[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125]],"9,9":[8,[126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159]]}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/PRICE.json b/research/gmx-t74-borrow43-handoff/PRICE.json new file mode 100644 index 0000000000..c41b950145 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PRICE.json @@ -0,0 +1,123 @@ +{ + "status": "PASS_EXACT_ARITHMETIC_ONLY_PENDING_FULL_ADMISSION", + "prices": { + "native": { + "root": { + "lower": "0.001679671795504737621542", + "upper": "0.001679671795504737621543", + "lower_endpoint_residual_upper": "-2.214843238935323432073938893534855946978454725883380247191670198954729E-25", + "upper_endpoint_residual_lower": "2.700126917211241084768417233750364339987396100484466423632185848624352E-24", + "strict_rational_signs": true, + "moment_minus_one_at_current_k_required_rate": [ + "-0.002870901781943869507709008174039951600690116611395906463473618176265266", + "-0.002870901781943869507709008174039951600690116611395906463473618176191082" + ], + "nominal_k_ceiling_interval": [ + "0.001676855229071321886206381217337894076302355284707188159342538611752683", + "0.001676855229071321886207377866439279392922418267609489064799178863936182" + ] + }, + "moments": [ + { + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator_residual": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two_residual": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two_residual": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "outer": { + "complex_b": "839835897752368810771/500000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + }, + "conservative": { + "root": { + "lower": "0.00167967179265877105202", + "upper": "0.001679671792658771052021", + "lower_endpoint_residual_upper": "-5.049272477586136135798678107830013841507105262202038802418257022965858E-25", + "upper_endpoint_residual_lower": "2.416683993351547199687986237949547805302378623519523316271126931033384E-24", + "strict_rational_signs": true, + "moment_minus_one_at_current_k_required_rate": [ + "-0.002870901773664105570158483130477446858764617530230225522856376540343864", + "-0.002870901773664105570158483130477446858764617530230225522856376540269680" + ], + "nominal_k_ceiling_interval": [ + "0.001676855226234891862111568849431110493467335322946343478701079175369697", + "0.001676855226234891862112565498532501473434881467922152178684471836032915" + ] + }, + "moments": [ + { + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator_residual": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two_residual": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator_residual": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two_residual": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "outer": { + "complex_b": "83983589632938552601/50000000000000000000000", + "bit_c": "1733427039589844234749/1000000000000000000000000", + "kappa": "1676855226234891/1000000000000000000", + "kappa_decimal": "0.001676855226234891", + "binding": "complex", + "strict_constraints_passed": 47, + "controls_rejected": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ] + } + } + }, + "gain_over_pr1061": "62605049/250000000000000000", + "gain_percent": "0.0000149339208928752995350720010745176338680104426106738137703909496989036537167", + "profile_sha256": "932453b2b045f73c81aa2b6f169a05ae2426c573965bbf4f5d3998b63b78a38f", + "scope": "Conditional PR645 framework and PR589 bit assumptions retained. Owner, native and global admission are separate." +} diff --git a/research/gmx-t74-borrow43-handoff/PROFILE.json b/research/gmx-t74-borrow43-handoff/PROFILE.json new file mode 100644 index 0000000000..22be0c5189 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/PROFILE.json @@ -0,0 +1 @@ +{"1":1598512,"2":420912,"3":218449,"4":79920,"5":17738,"7":5498,"14":1,"23":1,"32":77,"48":26489} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/README.md b/research/gmx-t74-borrow43-handoff/README.md new file mode 100644 index 0000000000..8809665c16 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/README.md @@ -0,0 +1,48 @@ +# Swapped helper labels for lenders 80 and 88 on #2530's source-partner words, with an evacuated owner fill: kappa 0.0017142520392602451425... + +**Credit first: this construction is PR2530's (zxv).** Our change is the swap of two helper labels (see below). PR2530 adds eight dirty aliases to the PR2462 supplier by restoring the second member of a retired source pair before the first member's handoff: 656 borrows 49, 657 borrows 83, 658 borrows 98, 660 borrows 101, 632 borrows 68, 596 borrows 80, 600 borrows 88, 633 borrows 31 (422 helpers per call, local profile {1:2367, 2:632, 3:318, 4:120, 5:26, 7:8}, width inventory {4:33, 5:9, 7:62, 8:78, 9:240}, all eight centres with 7+1 paths, twenty lifted targets (twelve on line 30, eight on line 45), a diagonal call order). Its words, order and dispatch are reproduced here exactly (`new/borrow/inputs/alias8_43base.json`, `alias8_43extra.json`, applied by `apply_lowfour` in `new/borrow/word_patch.py`; `new/borrow-fill/ORDER.json`, `DISPATCH.json`; its `independent_core.py` with the twenty-target pins). The aliases extend PR2436's (tekuuu) lifted-target mechanism on our PR2462 supplier, which rests on PR2322's handoff construction (Vlado Vojdanovski) and the PR2312 words. + +**What this package adds.** (0) The helper-label swap: the aliases of lenders 80 and 88 use registers 596 and 600 instead of 648 and 649 (same lenders and partners; `new/borrow/inputs/alias8_43*.json`); the local profile becomes {1:2367, 2:632, 3:318, 4:120, 5:26, 7:8}, with twenty lifted targets, so the checker pins in `independent_core.py` accept targets on lines 30 and 45 (twenty offsets). (1) An owner fill obtained by the evacuation method of PR2559 (philippeVV), run by Jeremy Kothe (jeremykothe2), with AI assistance on PR2530's owner map (`new/borrow-fill/FILL.json.gz`; words, order, windows and plan unchanged; `reconstruct.py` checks every window, bin, helper and family rule literally); leftover idle {1:22090, 3:6661, 5:422, 7:170, 14:1, 23:1, 32:77, 48:26489}. (2) Hardening stages in `new/rebuild_borrow.py`: the cut-centre guard of PR2478 (mdumitrean; log line `CUT-CENTRE-GUARD`) and the helper-index guard of PR2508 (ywz65; log line `HELPER-INDEX-GUARD`), each with a negative control. (3) Portability and determinism, after philippeVV's audit of PR2474 and with the fixes of PR2559: every generated artifact and every pinned artifact hash is LF-only (the package has `.gitattributes` `* -text`); `outer/run_outer.py` compares regenerated artifacts line-ending-insensitively; verification writes its receipts to its work directory and never into the package; the alias controls re-derive the inverse cleanup so each is rejected for its own reason; the four-alias control picks its warps by lender; the predecessor gates of `verify_release.py` are de-duplicated; `requirements.txt` declares the dependencies. (4) The private cleanup-buffer stock accounting (PR2309, PR2315; physical stock 66814 = 66304 + 422 + 8 + 78 + 2), the pooled-slot time binding (PR2301, PR1959) and the 3000-digit endpoints with the fixed-grid-maximum outer kappa C - 1/F - B (PR2180 / PR2161). + +Conditional final kappa = **0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999** (outer ledger, `outer/LEDGER.json` = `outer/OUTER-CLAIM.json`). The supplier's own strict-assembly kappa, recorded in `CLAIM.json` and `new/SPEC.json`, is 0.001711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903. + +**Two kappa layers.** `CLAIM.json` (`kappa`, `kappa_decimal`) and `new/SPEC.json` hold the SUPPLIER-ONLY kappa, the strict supplier assembly under the older outer witness; it is not the headline and is below the baseline. The HEADLINE conditional kappa is the outer ledger kappa in `outer/OUTER-CLAIM.json` (= `outer/LEDGER.json`). `CLAIM.json` states this in `kappa_layers`. + +Comparison: exceeds PR2530 (kappa 0.0017137379215475043467519999..., exact value in its CLAIM.json) by 5.14118E-7 (exact difference 5.1411771274079578316E-7; exact gate in `verify_release.py`). + +**Entrance frames and hosting (answering the open question of PR2446).** The raised entrance frames reach the hosted helpers through the widths. (1) `new/rebuild_borrow.py`, stage `ENTRANCE-WIDTH-BINDING` (log line `ENTRANCE-WIDTH-BINDING base raised 24 bound True dim1 tamper rejected True`, and the same for extra): for each word, width = |helper_final| - |start_extra| of every remaining helper must equal the ordered widths of `new/BORROW-PROVIDERS.json`; a raised buffer with its start frame lowered to dimension 1 changes a width and is rejected. (2) `code/bind_providers_portable.py` re-derives the same widths from the native canonical word (|final| - |start|) and asserts they equal the plan registry widths. (3) `reconstruct.py` and `code/emit_allcold.py` use exactly those widths for every hosted role (`w == registry widths`), and `code/audit_allcold.py` rejects a wrong per-call residual width, a wrong provider width registry and an entering helper width silently restored to nine. A buffer delivered at dimension 1 would be width 8, not 7, and fails (1), (2) and the audit. **Scope of these stages:** the width stages bind dimensions only (|final| - |start_extra|); the frame contents of `start_extra` are established by the independent audit_local forward and dual replay of each word and by the native chain, which consume the same frames. + +**Private cleanup stock (charged as physical stock).** The borrowed words clear their private zero buffers at the end of each local program; these 78 buffers per call (`zero_buffers` of the canonical words) are private physical arrays outside the helper inventory, not paid rank. This package charges them exactly as PR2309 (Dugongue) does and as the audit PR2315 (thakrarsagar) requires: physical stock = data + helpers + 8 centres + 78 + 2 = 66830 (a disjoint private bank `zero_buffers` in `private_namespace`), a FULL-frame CLEAR on every allocation and release (156 extra scalar macros and 312 extra real primitives per orientation), a monomial routing reserve for the 84 warp events per orientation and the 78 buffers in the local adapter bound (355712), with the matching identities in `code/emit_allcold.py`, `code/invoice_allcold.py`, `code/audit_allcold.py`, `code/assemble.py` and `independent_core.py`, and two new controls in `code/audit_allcold.py` (`omit private zero buffers`, `private buffer aliases data`). The profile and kappa are unchanged by this accounting (it only adds guards; stock bits 2644, row coefficient 19545 < 20161). `evidence/INDEPENDENT.json` is regenerated for this fill (291708 roles, 438 helpers per call). + +**Pooled-slot time binding.** `code/audit_allcold.py` now binds all eleven fields of each pooled slot of `OWNERS.json.gz`, including `time`, to the base-derived call owners, with tamper controls (equal-width slots exchanging times; a shifted time). The gap was found by PR1959 (Josie Elliston) and executed by PR2301 (navinor / Aaron Wang); our owners satisfy it exactly. + +**Precision of this package** (`new/SPEC.json:outer_refinement`, `CLAIM.json:outer_refinement`): endpoint_digits 3000 (the native and conservative complex endpoints are certified to 1e-3000: accept at the endpoint, reject at endpoint + 1e-3000, by finer-constant copies of both fine engines (`code/fine_mercator.py`, `code/fine_moment.py`) in directed-rounding integer fixed point, floor for lower and ceiling for upper bounds), grid_digits 2995 (the final kappa grid), margin_digits 3005, bootstrap_steps 1116; kappa decimals are printed with 3120 significant digits. Every free slack of the ledger is the fixed-grid-maximum point of PR2180 / PR2161 (dataisfire) at this package's own endpoint: r0, layout slack, q gap and endpoint gap 1e-3080, epsilon = 1 - (1025/1024) 1e-3080, beta = 1 - 3 (1025/1024) 1e-3080, zeta 1e-3082, stop 1e-3086, backoff 1e-3022, kappa floor grid 1e-3046. With C the certified complex endpoint, F the floor denominator and B the backoff, the ledger kappa is exactly C - 1/F - B, the maximum of the declared floor-grid/backoff family (every point has epsilon q < C and C F is an integer, so floor(F epsilon q)/F <= C - 1/F; attained since 0 < C - epsilon q < 1/F, checked exactly; `outer/PROOF-GRID-MAX.md`). The main-binding family condition (Gaussian saving minus main saving = delta (1 - 2q) > 0) is an explicit 63rd strict row `gaussian_above_main`; the 62 earlier strict inequalities and all 17 rejecting controls are retained. The single 3000-digit rejection moment of the strict assembly uses the exact-integer coarse exponential of PR2168 (dataisfire; derivation as PR2184): `code/exact_coarse.py`, `EXACT-ARITHMETIC-DERIVATION.json`, intervals identical to the retained engine. Margins are asymptotic: the all-size statements still need p beyond an astronomically large cutoff. + +`new/CHAIN.json` lists every kernel step; `new/rebuild_chain.py` re-verifies each step against its own base words (exact B + early-cleanup map over all rows, remaining cleanup, interfaces). Pivot reads: every inserted read of the pivot q must see the row of q equal to s*I with s = +1 or -1 (`new/pivotcheck.py`); a pivot restored by a sign-flipping cleanup gate is read with that sign. Tamper controls (signs unaccounted; each new coefficient moved one dyadic step) must all fail the map check. + +Repairs retained: the PR1956 carried bootstrap cutoffs (every stage cutoff carries the previous constant; exact check at proof time, with the control that the uncarried cutoffs fail) and the PR1964 Lemma G extended-label stage `lemmag-labels` with the X/Y/Z adapter mutants. + +Credits: PR2530 (zxv): the eight source-partner aliases, the order, the words and the starting owner map (new/borrow/inputs/alias8_43*.json, new/borrow-fill/ORDER.json, DISPATCH.json, independent_core.py). PR2559 (philippeVV): the owner-fill evacuation method, and the portability fixes (line endings, receipts outside the package, re-derived controls, dependency declaration) reused here; philippeVV's audit of PR2474. Jeremy Kothe (jeremykothe2), with AI assistance: running the evacuation on PR2530's owner map (new/borrow-fill/FILL.json.gz) and the integration. PR2436 (tekuuu): the lifted-target aliases and the A-phase prelude mechanism that PR2530 extends. PR2322 (Vlado Vojdanovski): the handoff construction; PR2435/PR2447/PR2462/PR2474/PR2526 and PR2312 (ours): the entrance raise, the supplier chain and the borrowed words. PR2478 (mdumitrean) and PR2508 (ywz65): the cut-centre and helper-index guards. PR2309 (Dugongue) and PR2315 (thakrarsagar): private-stock accounting; PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): pooled-slot time binding; PR2161 / PR2180 (dataisfire): fixed-grid maximum; PR2168 / PR2184: exact-integer coarse exponential. PR2226 (Cinna Davis / 1337isnot1337 with OpenAI Codex): anticipatory dirty borrowing. PR1786 (chafreaky / Chafik Boukhalfa): fine source-prime padding, its proof and checks, vendored under vendor/pr1786; Tim Trudgian: effective prime number theorem (arXiv:1401.2689). PR1673 (Vlado Vojdanovski, with AI assistance): capped phase-cell fusion outer construction, its proof and exact evidence, vendored under vendor/pr1673. PR1758 (IdeaOuter and contributors): fractional-shift gauge-free interiors, accretive shallow-circuit lemma, per-visit tag accounting. Jeremy Kothe and contributors (PR1731 ledger lineage, radix-union schedule), LeverRank (independent schedule simulation), Gohberg, Semencul, Kailath, Kung, Morf, Bitmead, Anderson, Pan (structured Toeplitz-like algorithms of the retained alternative), Francois Le Gall et al. and Chafik Boukhalfa (PR1699). Supplier: PR1625 (mdumitrean), PR1661 (midhatn), pivot-554 kernel (PR1672 lineage) and the PR1319/PR1297/PR1274/PR1286 lineage as in earlier packages. PR1956 (Josie Elliston: the bootstrap-cutoff carry finding and repair), PR1897 (M6LI), PR1876, PR1875 and PR1828 (rohanarun): the endpoint and slack refinements that this package exceeds; rohanarun also PR1319 and PR1297; chafreaky PR1786; Vlado Vojdanovski PR1673; mdumitrean PR1625; midhatn; philippeVV PR1519 (odd-term Mercator finding); Kothe and the existing lineage. PR1964 (thakrarsagar / Sagar Thakrar): Lemma G label and adapter-rule checks and the X/Y/Z adapter mutants (code/lemmag_checks.py), Lemma G by DreamingOfClouds (PR509 / PR516). PR2161 / PR2180 (dataisfire, OpenAI Codex-assisted): the fixed-grid maximum point and its proof, re-derived at this endpoint; PR2044 (Kothe) free-epsilon refinement they stack on; PR1786 (chafreaky / Chafik Boukhalfa) and PR1673 (Vlado Vojdanovski) ledger formulas. PR2168 / PR2184 (dataisfire): exact-integer coarse exponential and its one-site derivation. PR2309, PR2302 and PR2265 are the records exceeded. PR2286 (thakrarsagar) side-condition audit and philippeVV (PR1897 / PR2044 comments): the text defects (minimum-margin claim, xi aside, HALO K0^2 branch, p^10 umbrella, vacuous or-True guards, stale xi digits) corrected in outer/FINE-PADDING-COMPOSITION.md section 4, outer/check_ledger.py, outer/struct_check.py and outer/check_gaugefree.py. Jeremy Kothe (jeremykothe2), with AI assistance: change of the lender of alias 651 to 530 and dropping of alias 653, the exact owner fill for the new width inventory, the exact frame re-solve of both borrowed words and the exact kernel search and pricing, new work in this package (new/borrow/inputs/refit_43*.json, kernel_43*.json, new/borrow-fill/FILL.json.gz). PR1625 (mdumitrean): the helper-donor kernel shape reused here at pivots 518 and 506. PR2309 (Dugongue): concurrent independent work, a 44th dirty alias with owner repacking that also borrows from lender 530; the leader this package exceeds. PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): the unbound pooled-slot time field, bound in code/audit_allcold.py here. PR2315 (thakrarsagar): the audit finding that the private cleanup buffers must be charged. PR2309 (Dugongue): the private-stock accounting (physical stock, CLEAR charges, warp routing reserve, adapter bound, controls) ported here. + +## Lineage and construction notes (text of earlier packages; their kappa and precision figures are superseded by the section above and were removed) + +Adds the exact helper-donor kernel k554-signed-001 (pivot 554, found by LeverRank/kernel566) to the previous record's local words: re-solved frames, fresh natives, PLAN rebound, SPEC refrozen, certified fine endpoints and exact outer witness of the base package. + +Credits: pivot-554 helper-donor kernel generalising PR1625 (kernel566.py; sign-aware pivot-read check pivotcheck.py). PR1625 (mdumitrean): pivot-566 helper-donor kernel, words, edits, rebuild.py, rebind.py. PR1319, PR1297, PR1424, PR1485, PR1574 (rohanarun); PR1274, PR1378... (see README) and the 1e-200/1e-300/1e-400 refinement PR1479, PR1510, PR1513, PR1536, PR1578 (jeremykothe2); PR1534, PR1549 (midhatn); PR1519 (philippeVV, fine Mercator engine soundness finding); PR1286, PR1193 (jeremydiviney), PR1148 (Thomas DiFiore) and the retained lineage. Research direction, prioritisation and release strategy: jeremykothe2. Implementation assistance: oh-my-pi. + +--- +# PR1625's pivot-566 helper-donor kernel on the T74 exact fill, with certified 1e-3000 endpoints and a 1e-2995 outer witness + +4. Stage `lemmag-labels` (beside the frame-only `local-replay`; `code/lemmag_stage.py` with `code/lemmag_checks.py`, vendored verbatim from PR1964 by thakrarsagar / Sagar Thakrar; Lemma G by DreamingOfClouds, PR509 / PR516): runs the Lemma G extended-label check (`label_check`, strict and permissive readings) and the adapter rule (`adapter_rule`) on each provider's emitted LOCAL-PROGRAMS in both orientations, asserting 0 violations, and requires the three physically wrong adapter mutants that the frame-only replay accepts (X exit straddle, Y entry straddle, Z exit adapters moved before a phase-B add) to be REJECTED on every provider. + +The top-level PLAN.json/SPEC.json are the unchanged PR1424/PR1319 files used by the owner reconstruction and parent lift checks; the strict stage uses `new/`. All 47 strict outer inequalities, the rejection controls and next-grid rejection hold (checked offline with the package's own outer witness and engine). The remaining gap to the exact root is the 1e-3000 endpoint bracket; the displayed digits are set by the 1e-2995 grid. + +The three witness settings are frozen in `SPEC.json:outer_refinement`: 12 bootstrap iterations, eta = beta = 10^-40 with target backoff 10^-43, and a 10^-36 final κ grid. The inherited complex and bit endpoint grids and their native/surcharge models remain unchanged. Every bootstrap cutoff is recomputed from the exact gap. The next final κ grid point rejects for this witness. No optimality over all outer parameters is claimed. + +The recurrence is a_(j+1) = (1-s)s + s a_j. Its closed form is a_j = s - (s-a_0)s^j; 0 < a_0 < s < 1 gives a finite increasing chain below s. This only changes witnesses to the inherited conditional bootstrap and outer lemmas, whose assumptions remain in force. Root endpoints, arithmetic engines and finite construction are inherited unchanged. + +Reproduce complete admission with `python3 -B verify.py --work /absolute/new/work --base-native-from /bound/base/native --extra-native-from /bound/extra/native`, or omit the two reuse flags for fresh native supplier runs. The output directory must not exist and assertions must be enabled. `evidence/OUTER-DISCOVERY.json` is discovery evidence, not a completed new-package replay. `evidence/pr1377/` contains predecessor receipts; inherited `PRICE.json` and input/parent receipts are not new verification. + +Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim. + +Credit Rohan Arun PR1319 (74-replica exact fill) and PR1297 (four cold kernels); Jeremy Kothe PR1377 (finer final grid), PR1019 and PR1274; Jeremy Diviney PR1193; Thomas DiFiore PR1148; Hao Yan and retained owner/controller lineage; eumemic and icekylinx/Zhihao Chen for the exact outer assembly; the PR547/548/559 recurrence and PR589 bit suppliers. Prepared by Rohan Arun with substantial OpenAI Codex assistance. Apache-2.0; predecessor notices and bytes are retained. No independent human or proof-assistant verification is claimed. diff --git a/research/gmx-t74-borrow43-handoff/RELEASE.json b/research/gmx-t74-borrow43-handoff/RELEASE.json new file mode 100644 index 0000000000..0d8d905afc --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/RELEASE.json @@ -0,0 +1,28 @@ +{ + "package_dir": "research/gmx-t74-borrow43-handoff", + "base": "origin/main", + "title_suffix": "swapped helper labels for lenders 80 and 88 on #2530's source-partner words, with an evacuated owner fill", + "summary": "This package is PR2530's (zxv) construction with a swap of two helper labels and a better owner fill. PR2530's eight additional dirty aliases (656 borrowing 49, 657 borrowing 83, 658 borrowing 98, 660 borrowing 101, 632 borrowing 68, 596 borrowing 80, 600 borrowing 88, 633 borrowing 31; the second member of a retired source pair is restored before the first member's handoff), its call order and its words are PR2530's except for the swap below, reproduced here as hash-checked patches on the PR2462 supplier (422 helpers per call, local profile {1:2367, 2:632, 3:318, 4:120, 5:26, 7:8}, width inventory {4:33, 5:9, 7:62, 8:78, 9:240}). The swap: the aliases of lenders 80 and 88 use helper registers 596 and 600 instead of 648 and 649 (same lenders and partners), which changes the local profile, adds four lifted targets on line 45 and lowers the cost. The owner fill is the evacuation of PR2559 (philippeVV) applied to the same-shaped fill (leftover idle {1:22090, 3:6661, 5:422, 7:170, 14:1, 23:1, 32:77, 48:26489}). New in this package, by Jeremy Kothe (jeremykothe2), with AI assistance: the helper-label swap, running the evacuation on the swap words' owner map, its exact checking (every window, bin, helper and family rule literal), the integration of PR2530's words, order, dispatch and checker overrides into our pipeline, and the hardening stages (the cut-centre guard of PR2478, mdumitrean, and the helper-index guard of PR2508, ywz65, each with a negative control). Portability (audit of PR2474 by philippeVV; fixes of PR2559): all generated artifacts and their pinned hashes are LF-only, verification never writes into the package (receipts go to the work directory), and the alias controls re-derive the cleanup. Also carried: private cleanup-buffer stock accounting (PR2309, PR2315; physical stock 66814 = 66304 + 422 + 8 + 78 + 2), the pooled-slot time binding (PR2301, PR1959) and the 1e-3000 endpoints with the fixed-grid-maximum outer kappa C - 1/F - B (PR2180 / PR2161; PR2168). Conditional final kappa = 0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999 (supplier strict-assembly kappa 0.001711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903). It exceeds PR2530's exact kappa 0.0017137379215475043467519999... by 5.14118E-7 and our previous package PR2575 (PR2530's words with the same evacuated fill, without the swap; the live leader) by 3.72719E-7; it also exceeds PR2571 (rohanarun, a repacked owner fill on PR2530's words, kappa 0.0017137844912361143...) by 4.67548E-7 (exact gates in verify_release.py). grid_digits 2995, margin_digits 3005, bootstrap_steps 1116; 63 strict inequalities, 17 rejecting controls.", + "credits": "PR2530 (zxv): the eight source-partner aliases, the order, the words and the starting owner map (new/borrow/inputs/alias8_43*.json, new/borrow-fill/ORDER.json, DISPATCH.json, independent_core.py). PR2559 (philippeVV): the owner-fill evacuation method, and the portability fixes (line endings, receipts outside the package, re-derived controls, dependency declaration) reused here; philippeVV's audit of PR2474. Jeremy Kothe (jeremykothe2), with AI assistance: running the evacuation on PR2530's owner map (new/borrow-fill/FILL.json.gz) and the integration. PR2436 (tekuuu): the lifted-target aliases and the A-phase prelude mechanism that PR2530 extends. PR2322 (Vlado Vojdanovski): the handoff construction; PR2435/PR2447/PR2462/PR2474/PR2526 and PR2312 (ours): the entrance raise, the supplier chain and the borrowed words. PR2478 (mdumitrean) and PR2508 (ywz65): the cut-centre and helper-index guards. PR2309 (Dugongue) and PR2315 (thakrarsagar): private-stock accounting; PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): pooled-slot time binding; PR2161 / PR2180 (dataisfire): fixed-grid maximum; PR2168 / PR2184: exact-integer coarse exponential. PR2226 (Cinna Davis / 1337isnot1337 with OpenAI Codex): anticipatory dirty borrowing. PR1786 (chafreaky / Chafik Boukhalfa): fine source-prime padding, its proof and checks, vendored under vendor/pr1786; Tim Trudgian: effective prime number theorem (arXiv:1401.2689). PR1673 (Vlado Vojdanovski, with AI assistance): capped phase-cell fusion outer construction, its proof and exact evidence, vendored under vendor/pr1673. PR1758 (IdeaOuter and contributors): fractional-shift gauge-free interiors, accretive shallow-circuit lemma, per-visit tag accounting. Jeremy Kothe and contributors (PR1731 ledger lineage, radix-union schedule), LeverRank (independent schedule simulation), Gohberg, Semencul, Kailath, Kung, Morf, Bitmead, Anderson, Pan (structured Toeplitz-like algorithms of the retained alternative), Francois Le Gall et al. and Chafik Boukhalfa (PR1699). Supplier: PR1625 (mdumitrean), PR1661 (midhatn), pivot-554 kernel (PR1672 lineage) and the PR1319/PR1297/PR1274/PR1286 lineage as in earlier packages. PR1956 (Josie Elliston: the bootstrap-cutoff carry finding and repair), PR1897 (M6LI), PR1876, PR1875 and PR1828 (rohanarun): the endpoint and slack refinements that this package exceeds; rohanarun also PR1319 and PR1297; chafreaky PR1786; Vlado Vojdanovski PR1673; mdumitrean PR1625; midhatn; philippeVV PR1519 (odd-term Mercator finding); Kothe and the existing lineage. PR1964 (thakrarsagar / Sagar Thakrar): Lemma G label and adapter-rule checks and the X/Y/Z adapter mutants (code/lemmag_checks.py), Lemma G by DreamingOfClouds (PR509 / PR516). PR2161 / PR2180 (dataisfire, OpenAI Codex-assisted): the fixed-grid maximum point and its proof, re-derived at this endpoint; PR2044 (Kothe) free-epsilon refinement they stack on; PR1786 (chafreaky / Chafik Boukhalfa) and PR1673 (Vlado Vojdanovski) ledger formulas. PR2168 / PR2184 (dataisfire): exact-integer coarse exponential and its one-site derivation. PR2309, PR2302 and PR2265 are the records exceeded. PR2286 (thakrarsagar) side-condition audit and philippeVV (PR1897 / PR2044 comments): the text defects (minimum-margin claim, xi aside, HALO K0^2 branch, p^10 umbrella, vacuous or-True guards, stale xi digits) corrected in outer/FINE-PADDING-COMPOSITION.md section 4, outer/check_ledger.py, outer/struct_check.py and outer/check_gaugefree.py. Jeremy Kothe (jeremykothe2), with AI assistance: change of the lender of alias 651 to 530 and dropping of alias 653, the exact owner fill for the new width inventory, the exact frame re-solve of both borrowed words and the exact kernel search and pricing, new work in this package (new/borrow/inputs/refit_43*.json, kernel_43*.json, new/borrow-fill/FILL.json.gz). PR1625 (mdumitrean): the helper-donor kernel shape reused here at pivots 518 and 506. PR2309 (Dugongue): concurrent independent work, a 44th dirty alias with owner repacking that also borrows from lender 530; the leader this package exceeds. PR2301 (navinor / Aaron Wang) and PR1959 (Josie Elliston): the unbound pooled-slot time field, bound in code/audit_allcold.py here. PR2315 (thakrarsagar): the audit finding that the private cleanup buffers must be charged. PR2309 (Dugongue): the private-stock accounting (physical stock, CLEAR charges, warp routing reserve, adapter bound, controls) ported here.", + "required": [ + "verify.py", + "verify_release.py", + "MANIFEST.json", + "outer/check_ledger.py", + "outer/RETUNED-SLACKS.md", + "outer/CLASSICAL-BOUNDARY.md", + "outer/UNION-SCHEDULE.md", + "outer/sched_test.py", + "outer/sched_review.py", + "outer/RECT-BOUNDARY.md", + "outer/STRUCTURED-BOUNDARY.md", + "outer/struct_check.py", + "outer/GAUGEFREE-INTERIORS.md", + "outer/check_gaugefree.py", + "outer/FINE-PADDING-COMPOSITION.md", + "outer/check_fine_padding.py", + "vendor/pr1786/FINE-PRIME-PADDING.md", + "vendor/pr1786/NOTICE.md", + "outer/PROOF-GRID-MAX.md" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json b/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json new file mode 100644 index 0000000000..23d7a6f997 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SOURCE-PIN-REFINEMENT.json @@ -0,0 +1,7 @@ +{ + "predecessor_pr": 1377, + "predecessor_head": "7b6b538212812e01c45a51966837598a197a799b", + "construction_pr": 1319, + "construction_head": "603defe58aac018c6a8457840481390a15846fe4", + "scope": "Only outer witness settings and their assembly implementation change; unchanged native words explicitly reused." +} diff --git a/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json b/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json new file mode 100644 index 0000000000..e7415786b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SOURCE-PIN.json @@ -0,0 +1,13 @@ +{ + "parent_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/1297", + "parent_head": "4abf710a7f0d2a46f522f3f13c15769d003f9495", + "parent_package": "research/global-mixed-four-cold-kernels", + "local_words_unchanged": true, + "source_files": { + "inputs/DISPATCH.json": "b7b971df9dce435556145df307e2bb5138d87e5aa933f1fe61fcc5b5163301c4", + "inputs/GLOBAL-TEMPLATE.json.gz": "21297b20f1f2dc76eb9dd8124416068c3cb096bab9df17fa4da19bc68dfe082e", + "inputs/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "inputs/PLAN.json": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "vendor/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e" + } +} diff --git a/research/gmx-t74-borrow43-handoff/SPEC.json b/research/gmx-t74-borrow43-handoff/SPEC.json new file mode 100644 index 0000000000..5158049eef --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/SPEC.json @@ -0,0 +1,7299 @@ +{ + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 37 + ], + [ + 0, + 1 + ], + [ + 0, + 38 + ], + [ + 0, + 2 + ], + [ + 0, + 39 + ], + [ + 0, + 3 + ], + [ + 0, + 40 + ], + [ + 0, + 4 + ], + [ + 0, + 41 + ], + [ + 1, + 0 + ], + [ + 1, + 37 + ], + [ + 0, + 5 + ], + [ + 0, + 42 + ], + [ + 1, + 1 + ], + [ + 1, + 38 + ], + [ + 0, + 6 + ], + [ + 0, + 43 + ], + [ + 1, + 2 + ], + [ + 1, + 39 + ], + [ + 0, + 7 + ], + [ + 0, + 44 + ], + [ + 1, + 3 + ], + [ + 1, + 40 + ], + [ + 0, + 8 + ], + [ + 0, + 45 + ], + [ + 1, + 4 + ], + [ + 1, + 41 + ], + [ + 0, + 9 + ], + [ + 0, + 46 + ], + [ + 2, + 0 + ], + [ + 2, + 37 + ], + [ + 1, + 5 + ], + [ + 1, + 42 + ], + [ + 0, + 10 + ], + [ + 0, + 47 + ], + [ + 2, + 1 + ], + [ + 2, + 38 + ], + [ + 1, + 6 + ], + [ + 1, + 43 + ], + [ + 0, + 11 + ], + [ + 0, + 48 + ], + [ + 2, + 2 + ], + [ + 2, + 39 + ], + [ + 1, + 7 + ], + [ + 1, + 44 + ], + [ + 0, + 12 + ], + [ + 0, + 49 + ], + [ + 2, + 3 + ], + [ + 2, + 40 + ], + [ + 1, + 8 + ], + [ + 1, + 45 + ], + [ + 0, + 13 + ], + [ + 0, + 50 + ], + [ + 2, + 4 + ], + [ + 2, + 41 + ], + [ + 1, + 9 + ], + [ + 1, + 46 + ], + [ + 3, + 0 + ], + [ + 3, + 37 + ], + [ + 0, + 14 + ], + [ + 0, + 51 + ], + [ + 2, + 5 + ], + [ + 2, + 42 + ], + [ + 1, + 10 + ], + [ + 1, + 47 + ], + [ + 3, + 1 + ], + [ + 3, + 38 + ], + [ + 0, + 15 + ], + [ + 0, + 52 + ], + [ + 2, + 6 + ], + [ + 2, + 43 + ], + [ + 1, + 11 + ], + [ + 1, + 48 + ], + [ + 3, + 2 + ], + [ + 3, + 39 + ], + [ + 0, + 16 + ], + [ + 0, + 53 + ], + [ + 2, + 7 + ], + [ + 2, + 44 + ], + [ + 1, + 12 + ], + [ + 1, + 49 + ], + [ + 3, + 3 + ], + [ + 3, + 40 + ], + [ + 0, + 17 + ], + [ + 0, + 54 + ], + [ + 2, + 8 + ], + [ + 2, + 45 + ], + [ + 1, + 13 + ], + [ + 1, + 50 + ], + [ + 3, + 4 + ], + [ + 3, + 41 + ], + [ + 0, + 18 + ], + [ + 0, + 55 + ], + [ + 2, + 9 + ], + [ + 2, + 46 + ], + [ + 4, + 0 + ], + [ + 4, + 37 + ], + [ + 1, + 14 + ], + [ + 1, + 51 + ], + [ + 3, + 5 + ], + [ + 3, + 42 + ], + [ + 0, + 19 + ], + [ + 0, + 56 + ], + [ + 2, + 10 + ], + [ + 2, + 47 + ], + [ + 4, + 1 + ], + [ + 4, + 38 + ], + [ + 1, + 15 + ], + [ + 1, + 52 + ], + [ + 3, + 6 + ], + [ + 3, + 43 + ], + [ + 0, + 20 + ], + [ + 0, + 57 + ], + [ + 2, + 11 + ], + [ + 2, + 48 + ], + [ + 4, + 2 + ], + [ + 4, + 39 + ], + [ + 1, + 16 + ], + [ + 1, + 53 + ], + [ + 3, + 7 + ], + [ + 3, + 44 + ], + [ + 0, + 21 + ], + [ + 0, + 58 + ], + [ + 2, + 12 + ], + [ + 2, + 49 + ], + [ + 4, + 3 + ], + [ + 4, + 40 + ], + [ + 1, + 17 + ], + [ + 1, + 54 + ], + [ + 3, + 8 + ], + [ + 3, + 45 + ], + [ + 0, + 22 + ], + [ + 0, + 59 + ], + [ + 2, + 13 + ], + [ + 2, + 50 + ], + [ + 4, + 4 + ], + [ + 4, + 41 + ], + [ + 1, + 18 + ], + [ + 1, + 55 + ], + [ + 3, + 9 + ], + [ + 3, + 46 + ], + [ + 0, + 23 + ], + [ + 0, + 60 + ], + [ + 5, + 0 + ], + [ + 5, + 37 + ], + [ + 2, + 14 + ], + [ + 2, + 51 + ], + [ + 4, + 5 + ], + [ + 4, + 42 + ], + [ + 1, + 19 + ], + [ + 1, + 56 + ], + [ + 3, + 10 + ], + [ + 3, + 47 + ], + [ + 0, + 24 + ], + [ + 0, + 61 + ], + [ + 5, + 1 + ], + [ + 5, + 38 + ], + [ + 2, + 15 + ], + [ + 2, + 52 + ], + [ + 4, + 6 + ], + [ + 4, + 43 + ], + [ + 1, + 20 + ], + [ + 1, + 57 + ], + [ + 3, + 11 + ], + [ + 3, + 48 + ], + [ + 0, + 25 + ], + [ + 0, + 62 + ], + [ + 5, + 2 + ], + [ + 5, + 39 + ], + [ + 2, + 16 + ], + [ + 2, + 53 + ], + [ + 4, + 7 + ], + [ + 4, + 44 + ], + [ + 1, + 21 + ], + [ + 1, + 58 + ], + [ + 3, + 12 + ], + [ + 3, + 49 + ], + [ + 0, + 26 + ], + [ + 0, + 63 + ], + [ + 5, + 3 + ], + [ + 5, + 40 + ], + [ + 2, + 17 + ], + [ + 2, + 54 + ], + [ + 4, + 8 + ], + [ + 4, + 45 + ], + [ + 1, + 22 + ], + [ + 1, + 59 + ], + [ + 3, + 13 + ], + [ + 3, + 50 + ], + [ + 0, + 27 + ], + [ + 0, + 64 + ], + [ + 5, + 4 + ], + [ + 5, + 41 + ], + [ + 2, + 18 + ], + [ + 2, + 55 + ], + [ + 4, + 9 + ], + [ + 4, + 46 + ], + [ + 1, + 23 + ], + [ + 1, + 60 + ], + [ + 6, + 0 + ], + [ + 6, + 37 + ], + [ + 3, + 14 + ], + [ + 3, + 51 + ], + [ + 0, + 28 + ], + [ + 0, + 65 + ], + [ + 5, + 5 + ], + [ + 5, + 42 + ], + [ + 2, + 19 + ], + [ + 2, + 56 + ], + [ + 4, + 10 + ], + [ + 4, + 47 + ], + [ + 1, + 24 + ], + [ + 1, + 61 + ], + [ + 6, + 1 + ], + [ + 6, + 38 + ], + [ + 3, + 15 + ], + [ + 3, + 52 + ], + [ + 0, + 29 + ], + [ + 0, + 66 + ], + [ + 5, + 6 + ], + [ + 5, + 43 + ], + [ + 2, + 20 + ], + [ + 2, + 57 + ], + [ + 4, + 11 + ], + [ + 4, + 48 + ], + [ + 1, + 25 + ], + [ + 1, + 62 + ], + [ + 6, + 2 + ], + [ + 6, + 39 + ], + [ + 3, + 16 + ], + [ + 3, + 53 + ], + [ + 0, + 30 + ], + [ + 0, + 67 + ], + [ + 5, + 7 + ], + [ + 5, + 44 + ], + [ + 2, + 21 + ], + [ + 2, + 58 + ], + [ + 4, + 12 + ], + [ + 4, + 49 + ], + [ + 1, + 26 + ], + [ + 1, + 63 + ], + [ + 6, + 3 + ], + [ + 6, + 40 + ], + [ + 3, + 17 + ], + [ + 3, + 54 + ], + [ + 0, + 31 + ], + [ + 0, + 68 + ], + [ + 5, + 8 + ], + [ + 5, + 45 + ], + [ + 2, + 22 + ], + [ + 2, + 59 + ], + [ + 4, + 13 + ], + [ + 4, + 50 + ], + [ + 1, + 27 + ], + [ + 1, + 64 + ], + [ + 6, + 4 + ], + [ + 6, + 41 + ], + [ + 3, + 18 + ], + [ + 3, + 55 + ], + [ + 0, + 32 + ], + [ + 0, + 69 + ], + [ + 5, + 9 + ], + [ + 5, + 46 + ], + [ + 2, + 23 + ], + [ + 2, + 60 + ], + [ + 7, + 0 + ], + [ + 7, + 37 + ], + [ + 4, + 14 + ], + [ + 4, + 51 + ], + [ + 1, + 28 + ], + [ + 1, + 65 + ], + [ + 6, + 5 + ], + [ + 6, + 42 + ], + [ + 3, + 19 + ], + [ + 3, + 56 + ], + [ + 0, + 33 + ], + [ + 0, + 70 + ], + [ + 5, + 10 + ], + [ + 5, + 47 + ], + [ + 2, + 24 + ], + [ + 2, + 61 + ], + [ + 7, + 1 + ], + [ + 7, + 38 + ], + [ + 4, + 15 + ], + [ + 4, + 52 + ], + [ + 1, + 29 + ], + [ + 1, + 66 + ], + [ + 6, + 6 + ], + [ + 6, + 43 + ], + [ + 3, + 20 + ], + [ + 3, + 57 + ], + [ + 0, + 34 + ], + [ + 0, + 71 + ], + [ + 5, + 11 + ], + [ + 5, + 48 + ], + [ + 2, + 25 + ], + [ + 2, + 62 + ], + [ + 7, + 2 + ], + [ + 7, + 39 + ], + [ + 4, + 16 + ], + [ + 4, + 53 + ], + [ + 1, + 30 + ], + [ + 1, + 67 + ], + [ + 6, + 7 + ], + [ + 6, + 44 + ], + [ + 3, + 21 + ], + [ + 3, + 58 + ], + [ + 0, + 35 + ], + [ + 0, + 72 + ], + [ + 5, + 12 + ], + [ + 5, + 49 + ], + [ + 2, + 26 + ], + [ + 2, + 63 + ], + [ + 7, + 3 + ], + [ + 7, + 40 + ], + [ + 4, + 17 + ], + [ + 4, + 54 + ], + [ + 1, + 31 + ], + [ + 1, + 68 + ], + [ + 6, + 8 + ], + [ + 6, + 45 + ], + [ + 3, + 22 + ], + [ + 3, + 59 + ], + [ + 0, + 36 + ], + [ + 0, + 73 + ], + [ + 5, + 13 + ], + [ + 5, + 50 + ], + [ + 2, + 27 + ], + [ + 2, + 64 + ], + [ + 7, + 4 + ], + [ + 7, + 41 + ], + [ + 4, + 18 + ], + [ + 4, + 55 + ], + [ + 1, + 32 + ], + [ + 1, + 69 + ], + [ + 6, + 9 + ], + [ + 6, + 46 + ], + [ + 3, + 23 + ], + [ + 3, + 60 + ], + [ + 8, + 0 + ], + [ + 8, + 37 + ], + [ + 5, + 14 + ], + [ + 5, + 51 + ], + [ + 2, + 28 + ], + [ + 2, + 65 + ], + [ + 7, + 5 + ], + [ + 7, + 42 + ], + [ + 4, + 19 + ], + [ + 4, + 56 + ], + [ + 1, + 33 + ], + [ + 1, + 70 + ], + [ + 6, + 10 + ], + [ + 6, + 47 + ], + [ + 3, + 24 + ], + [ + 3, + 61 + ], + [ + 8, + 1 + ], + [ + 8, + 38 + ], + [ + 5, + 15 + ], + [ + 5, + 52 + ], + [ + 2, + 29 + ], + [ + 2, + 66 + ], + [ + 7, + 6 + ], + [ + 7, + 43 + ], + [ + 4, + 20 + ], + [ + 4, + 57 + ], + [ + 1, + 34 + ], + [ + 1, + 71 + ], + [ + 6, + 11 + ], + [ + 6, + 48 + ], + [ + 3, + 25 + ], + [ + 3, + 62 + ], + [ + 8, + 2 + ], + [ + 8, + 39 + ], + [ + 5, + 16 + ], + [ + 5, + 53 + ], + [ + 2, + 30 + ], + [ + 2, + 67 + ], + [ + 7, + 7 + ], + [ + 7, + 44 + ], + [ + 4, + 21 + ], + [ + 4, + 58 + ], + [ + 1, + 35 + ], + [ + 1, + 72 + ], + [ + 6, + 12 + ], + [ + 6, + 49 + ], + [ + 3, + 26 + ], + [ + 3, + 63 + ], + [ + 8, + 3 + ], + [ + 8, + 40 + ], + [ + 5, + 17 + ], + [ + 5, + 54 + ], + [ + 2, + 31 + ], + [ + 2, + 68 + ], + [ + 7, + 8 + ], + [ + 7, + 45 + ], + [ + 4, + 22 + ], + [ + 4, + 59 + ], + [ + 1, + 36 + ], + [ + 1, + 73 + ], + [ + 6, + 13 + ], + [ + 6, + 50 + ], + [ + 3, + 27 + ], + [ + 3, + 64 + ], + [ + 8, + 4 + ], + [ + 8, + 41 + ], + [ + 5, + 18 + ], + [ + 5, + 55 + ], + [ + 2, + 32 + ], + [ + 2, + 69 + ], + [ + 7, + 9 + ], + [ + 7, + 46 + ], + [ + 4, + 23 + ], + [ + 4, + 60 + ], + [ + 6, + 14 + ], + [ + 6, + 51 + ], + [ + 3, + 28 + ], + [ + 3, + 65 + ], + [ + 8, + 5 + ], + [ + 8, + 42 + ], + [ + 5, + 19 + ], + [ + 5, + 56 + ], + [ + 2, + 33 + ], + [ + 2, + 70 + ], + [ + 7, + 10 + ], + [ + 7, + 47 + ], + [ + 4, + 24 + ], + [ + 4, + 61 + ], + [ + 6, + 15 + ], + [ + 6, + 52 + ], + [ + 3, + 29 + ], + [ + 3, + 66 + ], + [ + 8, + 6 + ], + [ + 8, + 43 + ], + [ + 5, + 20 + ], + [ + 5, + 57 + ], + [ + 2, + 34 + ], + [ + 2, + 71 + ], + [ + 7, + 11 + ], + [ + 7, + 48 + ], + [ + 4, + 25 + ], + [ + 4, + 62 + ], + [ + 6, + 16 + ], + [ + 6, + 53 + ], + [ + 3, + 30 + ], + [ + 3, + 67 + ], + [ + 8, + 7 + ], + [ + 8, + 44 + ], + [ + 5, + 21 + ], + [ + 5, + 58 + ], + [ + 2, + 35 + ], + [ + 2, + 72 + ], + [ + 7, + 12 + ], + [ + 7, + 49 + ], + [ + 4, + 26 + ], + [ + 4, + 63 + ], + [ + 6, + 17 + ], + [ + 6, + 54 + ], + [ + 3, + 31 + ], + [ + 3, + 68 + ], + [ + 8, + 8 + ], + [ + 8, + 45 + ], + [ + 5, + 22 + ], + [ + 5, + 59 + ], + [ + 2, + 36 + ], + [ + 2, + 73 + ], + [ + 7, + 13 + ], + [ + 7, + 50 + ], + [ + 4, + 27 + ], + [ + 4, + 64 + ], + [ + 6, + 18 + ], + [ + 6, + 55 + ], + [ + 3, + 32 + ], + [ + 3, + 69 + ], + [ + 8, + 9 + ], + [ + 8, + 46 + ], + [ + 5, + 23 + ], + [ + 5, + 60 + ], + [ + 7, + 14 + ], + [ + 7, + 51 + ], + [ + 4, + 28 + ], + [ + 4, + 65 + ], + [ + 6, + 19 + ], + [ + 6, + 56 + ], + [ + 3, + 33 + ], + [ + 3, + 70 + ], + [ + 8, + 10 + ], + [ + 8, + 47 + ], + [ + 5, + 24 + ], + [ + 5, + 61 + ], + [ + 7, + 15 + ], + [ + 7, + 52 + ], + [ + 4, + 29 + ], + [ + 4, + 66 + ], + [ + 6, + 20 + ], + [ + 6, + 57 + ], + [ + 3, + 34 + ], + [ + 3, + 71 + ], + [ + 8, + 11 + ], + [ + 8, + 48 + ], + [ + 5, + 25 + ], + [ + 5, + 62 + ], + [ + 7, + 16 + ], + [ + 7, + 53 + ], + [ + 4, + 30 + ], + [ + 4, + 67 + ], + [ + 6, + 21 + ], + [ + 6, + 58 + ], + [ + 3, + 35 + ], + [ + 3, + 72 + ], + [ + 8, + 12 + ], + [ + 8, + 49 + ], + [ + 5, + 26 + ], + [ + 5, + 63 + ], + [ + 7, + 17 + ], + [ + 7, + 54 + ], + [ + 4, + 31 + ], + [ + 4, + 68 + ], + [ + 6, + 22 + ], + [ + 6, + 59 + ], + [ + 3, + 36 + ], + [ + 3, + 73 + ], + [ + 8, + 13 + ], + [ + 8, + 50 + ], + [ + 5, + 27 + ], + [ + 5, + 64 + ], + [ + 7, + 18 + ], + [ + 7, + 55 + ], + [ + 4, + 32 + ], + [ + 4, + 69 + ], + [ + 6, + 23 + ], + [ + 6, + 60 + ], + [ + 8, + 14 + ], + [ + 8, + 51 + ], + [ + 5, + 28 + ], + [ + 5, + 65 + ], + [ + 7, + 19 + ], + [ + 7, + 56 + ], + [ + 4, + 33 + ], + [ + 4, + 70 + ], + [ + 6, + 24 + ], + [ + 6, + 61 + ], + [ + 8, + 15 + ], + [ + 8, + 52 + ], + [ + 5, + 29 + ], + [ + 5, + 66 + ], + [ + 7, + 20 + ], + [ + 7, + 57 + ], + [ + 4, + 34 + ], + [ + 4, + 71 + ], + [ + 6, + 25 + ], + [ + 6, + 62 + ], + [ + 8, + 16 + ], + [ + 8, + 53 + ], + [ + 5, + 30 + ], + [ + 5, + 67 + ], + [ + 7, + 21 + ], + [ + 7, + 58 + ], + [ + 4, + 35 + ], + [ + 4, + 72 + ], + [ + 6, + 26 + ], + [ + 6, + 63 + ], + [ + 8, + 17 + ], + [ + 8, + 54 + ], + [ + 5, + 31 + ], + [ + 5, + 68 + ], + [ + 7, + 22 + ], + [ + 7, + 59 + ], + [ + 4, + 36 + ], + [ + 4, + 73 + ], + [ + 6, + 27 + ], + [ + 6, + 64 + ], + [ + 8, + 18 + ], + [ + 8, + 55 + ], + [ + 5, + 32 + ], + [ + 5, + 69 + ], + [ + 7, + 23 + ], + [ + 7, + 60 + ], + [ + 6, + 28 + ], + [ + 6, + 65 + ], + [ + 8, + 19 + ], + [ + 8, + 56 + ], + [ + 5, + 33 + ], + [ + 5, + 70 + ], + [ + 7, + 24 + ], + [ + 7, + 61 + ], + [ + 6, + 29 + ], + [ + 6, + 66 + ], + [ + 8, + 20 + ], + [ + 8, + 57 + ], + [ + 5, + 34 + ], + [ + 5, + 71 + ], + [ + 7, + 25 + ], + [ + 7, + 62 + ], + [ + 6, + 30 + ], + [ + 6, + 67 + ], + [ + 8, + 21 + ], + [ + 8, + 58 + ], + [ + 5, + 35 + ], + [ + 5, + 72 + ], + [ + 7, + 26 + ], + [ + 7, + 63 + ], + [ + 6, + 31 + ], + [ + 6, + 68 + ], + [ + 8, + 22 + ], + [ + 8, + 59 + ], + [ + 5, + 36 + ], + [ + 5, + 73 + ], + [ + 7, + 27 + ], + [ + 7, + 64 + ], + [ + 6, + 32 + ], + [ + 6, + 69 + ], + [ + 8, + 23 + ], + [ + 8, + 60 + ], + [ + 7, + 28 + ], + [ + 7, + 65 + ], + [ + 6, + 33 + ], + [ + 6, + 70 + ], + [ + 8, + 24 + ], + [ + 8, + 61 + ], + [ + 7, + 29 + ], + [ + 7, + 66 + ], + [ + 6, + 34 + ], + [ + 6, + 71 + ], + [ + 8, + 25 + ], + [ + 8, + 62 + ], + [ + 7, + 30 + ], + [ + 7, + 67 + ], + [ + 6, + 35 + ], + [ + 6, + 72 + ], + [ + 8, + 26 + ], + [ + 8, + 63 + ], + [ + 7, + 31 + ], + [ + 7, + 68 + ], + [ + 6, + 36 + ], + [ + 6, + 73 + ], + [ + 8, + 27 + ], + [ + 8, + 64 + ], + [ + 7, + 32 + ], + [ + 7, + 69 + ], + [ + 8, + 28 + ], + [ + 8, + 65 + ], + [ + 7, + 33 + ], + [ + 7, + 70 + ], + [ + 8, + 29 + ], + [ + 8, + 66 + ], + [ + 7, + 34 + ], + [ + 7, + 71 + ], + [ + 8, + 30 + ], + [ + 8, + 67 + ], + [ + 7, + 35 + ], + [ + 7, + 72 + ], + [ + 8, + 31 + ], + [ + 8, + 68 + ], + [ + 7, + 36 + ], + [ + 7, + 73 + ], + [ + 8, + 32 + ], + [ + 8, + 69 + ], + [ + 8, + 33 + ], + [ + 8, + 70 + ], + [ + 8, + 34 + ], + [ + 8, + 71 + ], + [ + 8, + 35 + ], + [ + 8, + 72 + ], + [ + 8, + 36 + ], + [ + 8, + 73 + ] + ], + "data": { + "owners_sha256": "cdfdcdec09592b4fd296ec49efe38573c1a61ecb8385b538ce801ee29355695b", + "plan_sha256": "e9ca855b0ccba243868aa7bd24b42f9e59f2f554bfe10521143591073e72ea18" + }, + "dispatch": [ + [ + 0, + 0, + "extra" + ], + [ + 0, + 37, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 38, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 39, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 40, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 0, + 41, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 1, + 37, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 0, + 42, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 1, + 38, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 0, + 43, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 1, + 39, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 0, + 44, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 1, + 40, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 0, + 45, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 1, + 41, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 0, + 46, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 2, + 37, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 1, + 42, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 0, + 47, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 2, + 38, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 1, + 43, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 0, + 48, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 2, + 39, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 1, + 44, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 0, + 49, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 2, + 40, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 1, + 45, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 0, + 50, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 2, + 41, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 1, + 46, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 3, + 37, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 0, + 51, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 2, + 42, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 1, + 47, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 3, + 38, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 0, + 52, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 2, + 43, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 1, + 48, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 3, + 39, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 0, + 53, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 2, + 44, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 1, + 49, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 3, + 40, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 0, + 54, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 2, + 45, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 1, + 50, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 3, + 41, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 0, + 55, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 2, + 46, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 4, + 37, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 1, + 51, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 3, + 42, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 0, + 56, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 2, + 47, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 4, + 38, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 1, + 52, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 3, + 43, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 0, + 57, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 2, + 48, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 4, + 39, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 1, + 53, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 3, + 44, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 0, + 58, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 2, + 49, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 4, + 40, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 1, + 54, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 3, + 45, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 0, + 59, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 2, + 50, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 4, + 41, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 1, + 55, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 3, + 46, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 0, + 60, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 5, + 37, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 2, + 51, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 4, + 42, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 1, + 56, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 3, + 47, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 0, + 61, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 5, + 38, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 2, + 52, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 4, + 43, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 1, + 57, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 3, + 48, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 0, + 62, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 5, + 39, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 2, + 53, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 4, + 44, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 1, + 58, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 3, + 49, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 0, + 63, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 5, + 40, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 2, + 54, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 4, + 45, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 1, + 59, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 3, + 50, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 0, + 64, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 5, + 41, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 2, + 55, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 4, + 46, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 1, + 60, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 6, + 37, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 3, + 51, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 0, + 65, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 5, + 42, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 2, + 56, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 4, + 47, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 1, + 61, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 6, + 38, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 3, + 52, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 0, + 66, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 5, + 43, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 2, + 57, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 4, + 48, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 1, + 62, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 6, + 39, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 3, + 53, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 0, + 67, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 5, + 44, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 2, + 58, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 4, + 49, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 1, + 63, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 6, + 40, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 3, + 54, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 0, + 68, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 5, + 45, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 2, + 59, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 4, + 50, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 1, + 64, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 6, + 41, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 3, + 55, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 0, + 69, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 5, + 46, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 2, + 60, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 7, + 37, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 4, + 51, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 1, + 65, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 6, + 42, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 3, + 56, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 0, + 70, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 5, + 47, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 2, + 61, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 7, + 38, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 4, + 52, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 1, + 66, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 6, + 43, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 3, + 57, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 0, + 71, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 5, + 48, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 2, + 62, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 7, + 39, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 4, + 53, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 1, + 67, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 6, + 44, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 3, + 58, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 0, + 72, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 5, + 49, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 2, + 63, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 7, + 40, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 4, + 54, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 1, + 68, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 6, + 45, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 3, + 59, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 0, + 73, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 5, + 50, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 2, + 64, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 7, + 41, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 4, + 55, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 1, + 69, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 6, + 46, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 3, + 60, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 8, + 37, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 5, + 51, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 2, + 65, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 7, + 42, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 4, + 56, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 1, + 70, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 6, + 47, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 3, + 61, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 8, + 38, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 5, + 52, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 2, + 66, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 7, + 43, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 4, + 57, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 1, + 71, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 6, + 48, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 3, + 62, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 8, + 39, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 5, + 53, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 2, + 67, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 7, + 44, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 4, + 58, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 1, + 72, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 6, + 49, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 3, + 63, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 8, + 40, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 5, + 54, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 2, + 68, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 7, + 45, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 4, + 59, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 1, + 73, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 6, + 50, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 3, + 64, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 8, + 41, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 5, + 55, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 2, + 69, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 7, + 46, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 4, + 60, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 6, + 51, + "extra" + ], + [ + 3, + 28, + "extra" + ], + [ + 3, + 65, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 42, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 5, + 56, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 2, + 70, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 7, + 47, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 4, + 61, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 6, + 52, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 3, + 66, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 43, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 5, + 57, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 2, + 71, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 7, + 48, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 4, + 62, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 6, + 53, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 3, + 67, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 8, + 44, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 5, + 58, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 2, + 72, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 7, + 49, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 4, + 63, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 6, + 54, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 3, + 68, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 8, + 45, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 5, + 59, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 2, + 73, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 7, + 50, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 4, + 64, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 6, + 55, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 3, + 69, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 8, + 46, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 5, + 60, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 7, + 51, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 4, + 65, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 6, + 56, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 3, + 70, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 8, + 47, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 5, + 61, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 7, + 52, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 4, + 66, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 6, + 57, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 3, + 71, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 8, + 48, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 5, + 62, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 7, + 53, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 4, + 67, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 6, + 58, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 3, + 72, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 8, + 49, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 5, + 63, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 7, + 54, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 4, + 68, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 6, + 59, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 3, + 73, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 8, + 50, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 5, + 64, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 7, + 55, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 4, + 69, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 6, + 60, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 8, + 51, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 5, + 65, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 7, + 56, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 4, + 70, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 6, + 61, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 8, + 52, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 5, + 66, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 7, + 57, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 4, + 71, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 6, + 62, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 8, + 53, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 5, + 67, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 7, + 58, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 4, + 72, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 6, + 63, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 8, + 54, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 5, + 68, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 7, + 59, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 4, + 73, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 6, + 64, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 8, + 55, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 5, + 69, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 7, + 60, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 6, + 65, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 8, + 56, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 5, + 70, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 7, + 61, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 6, + 66, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 8, + 57, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 5, + 71, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 7, + 62, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 6, + 67, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 8, + 58, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 5, + 72, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 7, + 63, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 6, + 68, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 8, + 59, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 5, + 73, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 7, + 64, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 6, + 69, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 8, + 60, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 7, + 65, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 6, + 70, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 8, + 61, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 7, + 66, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 6, + 71, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 8, + 62, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 7, + 67, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 6, + 72, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 8, + 63, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 7, + 68, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 6, + 73, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 8, + 64, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 7, + 69, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 8, + 65, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 7, + 70, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 8, + 66, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 7, + 71, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 8, + 67, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 7, + 72, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 8, + 68, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 7, + 73, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 69, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 70, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 71, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 72, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ], + [ + 8, + 73, + "gauge44" + ] + ], + "expected": { + "gain_baseline_kappa": "13414839829209/8000000000000000", + "hosted_residuals": 319680, + "rank_mass": 4816512, + "actual_73column_sigmas": 11142, + "cross_replica_helper_roles": 296300, + "idle_remainders": 22748, + "idle_remainder_profile": { + "48": 22748 + }, + "global_profile": { + "1": 1559100, + "2": 339000, + "3": 277392, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "live": 66304, + "physical": 66794, + "conservative_kappa_decimal": "0.001676855226234891862111568849431109", + "kappa_decimal": "0.001676855229071321886206381217337893", + "complex_lower": "839835897752368810771/500000000000000000000000", + "conservative_complex_lower": "83983589632938552601/50000000000000000000000", + "kappa": "1676855229071321886206381217337893/1000000000000000000000000000000000000", + "assembly_controls_rejected": 114, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "mutations_rejected": 15 + }, + "geometry": { + "charged_prefix_bits": 2048, + "dimension": 73, + "pairs": 4, + "parent_helpers": 504, + "parent_idle": 149184, + "parent_live": 111664, + "parent_physical": 112178, + "replicas": 74, + "stages": 9 + }, + "name": "mixed-t74-exact-fill", + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + }, + "providers": { + "extra": { + "inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + }, + "entering": 192, + "entrance": 368, + "width_digest": "ec44b5b214538eafbd921a70a1881e38212a3e101ebf7f35427b971a6447de3f", + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "artifacts": { + "LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 368, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + } + }, + "semantic_phase_sha256": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + }, + "gauge44": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "artifacts": { + "LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + } + }, + "semantic_phase_sha256": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + } + }, + "schema": "witness-spec/1", + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "outer_refinement": { + "grid_digits": 36, + "margin_digits": 40, + "bootstrap_steps": 12 + } +} diff --git a/research/gmx-t74-borrow43-handoff/audit_fast.py b/research/gmx-t74-borrow43-handoff/audit_fast.py new file mode 100644 index 0000000000..252cf3c68a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/audit_fast.py @@ -0,0 +1,87 @@ +"""Run audit_allcold.py with the same checks and byte-identical outputs, faster. + +1. copy.deepcopy -> pickle round-trip (equal, independent copies with the same aliasing for the plain + dict/list/tuple/int/str data the audit copies; the mutation controls deep-copy the whole template per control). +2. The mutation controls (independent of each other: each is deepcopy -> mutate -> audit -> must be rejected) are sharded + over AUDIT_FAST_SHARDS processes. Every control still runs and must be rejected; shard 0 merges the control names in + their original order and writes the report exactly as the unmodified script does. +Usage: audit_fast.py AUDIT_SCRIPT BASE HOSTED REPORT [--mutation-controls] (run via run_portable.py like the original) +""" +import copy, json, os, pickle, subprocess, sys, time +from pathlib import Path + +_real = copy.deepcopy + + +def _fast(x, memo=None): + if memo is not None: + return _real(x, memo) + return pickle.loads(pickle.dumps(x, pickle.HIGHEST_PROTOCOL)) + + +copy.deepcopy = _fast +script = Path(sys.argv[1]).resolve() +shards = int(os.environ.get('AUDIT_FAST_SHARDS', '1')) +shard = int(os.environ.get('AUDIT_FAST_SHARD', '0')) +src = script.read_text(encoding='utf-8') +if shards > 1 and '--mutation-controls' in sys.argv[2:]: + old_reject = """def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +""" + new_reject = """_idx=[0];_own=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + i=_idx[0];_idx[0]+=1 + if i%_AF_SHARDS!=_AF_SHARD:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name);_own.append((i,name)) + else:raise AssertionError('ACCEPTED '+name) +""" + marker = "\nreport=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS'" + assert src.count(old_reject) == 1 and src.count(marker) == 1, 'audit script layout changed' + merge = """ +import json as _j,sys as _s,time as _t +_part=Path(os.environ['AUDIT_FAST_PARTIAL']) +if _AF_SHARD!=0: + _part.with_suffix('.tmp').write_text(_j.dumps([_idx[0],_own]));_part.with_suffix('.tmp').replace(_part.with_name(_part.name+'.%d'%_AF_SHARD));_s.exit(0) +_all=list(_own);_total=_idx[0] +for _k in range(1,_AF_SHARDS): + _f=_part.with_name(_part.name+'.%d'%_k) + while not _f.exists(): + _t.sleep(0.2) + assert all(_p.poll() in (None,0) for _p in _AF_PROCS),'a mutation-control shard failed' + _n,_o=_j.loads(_f.read_text());_f.unlink();assert _n==_total,'shards disagree on control count';_all+=[tuple(x) for x in _o] +assert sorted(i for i,_ in _all)==list(range(_total)),'every control must run exactly once and be rejected' +controls[:]=[n for i,n in sorted(_all)] +for _p in _AF_PROCS:assert _p.wait()==0 +""" + src = src.replace(old_reject, new_reject).replace(marker, merge + marker) + if shard == 0: + part = Path(sys.argv[4]).parent / '.audit-fast-partial' + env0 = dict(os.environ, AUDIT_FAST_PARTIAL=str(part)) + os.environ['AUDIT_FAST_PARTIAL'] = str(part) + rp = Path(os.environ['MULTICOLD_SOURCE']) / 'code/run_portable.py' + procs = [] + part.parent.mkdir(parents=True, exist_ok=True) + for old in part.parent.glob(part.name + '.*'): + old.unlink() + for k in range(1, shards): + e = dict(os.environ, AUDIT_FAST_SHARD=str(k)) + procs.append(subprocess.Popen([sys.executable, '-B', str(rp), str(Path(__file__).resolve()), str(script)] + sys.argv[2:], + env=e, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, + creationflags=getattr(subprocess, 'CREATE_NO_WINDOW', 0))) + g = {'_AF_SHARDS': shards, '_AF_SHARD': 0, '_AF_PROCS': procs} + else: + os.environ.setdefault('AUDIT_FAST_PARTIAL', str(Path(sys.argv[4]).parent / '.audit-fast-partial')) + g = {'_AF_SHARDS': shards, '_AF_SHARD': shard, '_AF_PROCS': []} +else: + g = {} +g.update({'__file__': str(script), '__name__': '__main__'}) +sys.argv = sys.argv[1:] +sys.path.insert(0, str(script.parent)) +exec(compile(src, str(script), 'exec'), g) diff --git a/research/gmx-t74-borrow43-handoff/audit_mixed.py b/research/gmx-t74-borrow43-handoff/audit_mixed.py new file mode 100644 index 0000000000..4506d0a931 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/audit_mixed.py @@ -0,0 +1,27 @@ +import argparse,collections,json,copy +from pathlib import Path +import independent_core as A +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--data',type=Path,required=True);ap.add_argument('--provider',action='append',required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();dirs={p:Path(d) for p,d in (x.split('=',1) for x in a.provider)};plan=A.read(a.data/'PLAN.json');dispatch={(s,r):p for s,r,p in A.read(a.data/'DISPATCH.json')};roles=A.read(a.data/'OWNERS.json.gz');parent=A.read(a.parent);phases=A.read(a.parent.parent.parent/'work/complex-nine-native/DATA-PHASES.json');canonical=A.read(a.parent.parent/'CANONICAL-WORD.json.gz');inventories={};words={};replays={};profiles={};prefix=[] +A.R=len(next(iter(plan['provider_registry'].values()))['widths']);A.require(all(len(d_['widths'])==A.R for d_ in plan['provider_registry'].values()),'common helper count R');A.require(len(dispatch)==len(plan['order']) and set(dispatch.values())==set(dirs),'complete provider dispatch') +A.require({(c['stage'],c['replica']):c['provider'] for c in plan['provider_calls']}==dispatch,'plan dispatch binding') +for pid,d in dirs.items(): + w,r=A.read(d/'CANONICAL-WORD.json.gz'),A.read(d/'INDEPENDENT-LOCAL-REPLAY.json');A.require(r['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY','native status');A.require(r['canonical_word_sha256']==A.filehash(d/'CANONICAL-WORD.json.gz'),'word binding');A.require(set(r['local'])=={'forward','backward'},'both orientations');A.require(w['ports']==canonical['ports'],'common ports');A.require([A.basis(w['frames'][f]) for f in w['center_frames']]==[A.basis(canonical['frames'][f]) for f in canonical['center_frames']],'common ordered center frames');A.EXPECTED_WIDTHS=collections.Counter(plan['provider_registry'][pid]['widths']);ws,paid=A.local_inventory(w,r,A.read(d/'LOCAL-PROGRAMS.json.gz'));A.require(ws==plan['provider_registry'][pid]['widths'],'ordered provider widths');inventories[pid]=ws;profiles[pid]=paid;words[pid]=w;replays[pid]=r;prefix.extend(x['prefix_bits_upper'] for x in r['local'].values()) + for _nm,_mut in (('changed lifted target frame',lambda b_:b_['target_levels'].__setitem__('23',0)),): + _bad=copy.deepcopy(w);_mut(_bad) + try:A.local_inventory(_bad,r,None) + except ValueError as _e:A.require(str(_e)=='target line30','target mutation rejection') + else:raise ValueError('accepted changed lifted target') + _pg=A.read(d/'LOCAL-PROGRAMS.json.gz');_bp=copy.deepcopy(_pg);_bp['forward'].remove(next(e for e in _bp['forward'] if e[0]=='center')) + try:A.local_inventory(w,r,_bp) + except ValueError as _e:A.require(str(_e)=='literal centre COPY segments','COPY mutation rejection') + else:raise ValueError('accepted missing split COPY child') +pid=next(iter(dirs));A.EXPECTED_WIDTHS=collections.Counter(inventories[pid]);A.T=plan['T'];A.EXPECTED_IDLE={int(k):v for k,v in A.read(a.data/'CONSTRUCTION.json')['idle'].items()};ctx=A.make_context(parent,phases,canonical['ports'],words[pid],replays[pid],roles);A.require(set(ctx['order'])==set(dispatch),'complete dispatch calls');ctx['call_widths']={c:inventories[p] for c,p in dispatch.items()};ctx['aggregate_paid']=collections.Counter() +A.require(A.ZERO_BUFFERS==max(len(w.get('zero_buffers',[]))for w in words.values()),'shared private buffer bank') +for p in dispatch.values():ctx['aggregate_paid'].update(profiles[p]) +ctx.update(max_local_prefix=max(prefix),local_profiles=profiles,width_inventories={p:dict(collections.Counter(ws)) for p,ws in inventories.items()});pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles);A.require(receipt['profile']=={int(k):v for k,v in plan['profile'].items()},'aggregate profile binding');receipt['controls_rejected']=A.controls(ctx,roles) +# A wrong provider at one changed call must fail the literal width predicate. +call=next(c for c,p in dispatch.items() if p=='extra');bad=dict(ctx,call_widths=dict(ctx['call_widths']));bad['call_widths'][call]=inventories['gauge44'] if inventories['gauge44']!=inventories['extra'] else (lambda w:(lambda i,j:w[:i]+[w[j]]+w[i+1:j]+[w[i]]+w[j+1:])(0,next(k for k in range(len(w)) if w[k]!=w[0])))(list(inventories['extra'])) # borrowed words have identical width lists: control = swapped widths of two helpers at that call +try:A.check_roles(bad,roles) +except ValueError as e:A.require(str(e)=='whole-helper residual width','wrong provider control predicate');receipt['controls_rejected'].append(dict(name='wrong_provider_at_changed_call',reason=str(e))) +else:raise ValueError('accepted incorrect provider') +receipt.update(disjoint_pending_child_axis_checks=pending,provider_counts=dict(collections.Counter(dispatch.values())),input_sha256={str(p):A.filehash(p) for p in [a.data/'PLAN.json',a.data/'DISPATCH.json',a.data/'OWNERS.json.gz',a.parent]+[d/'CANONICAL-WORD.json.gz' for d in dirs.values()]});a.out.write_text(json.dumps(receipt,indent=2)+'\n');print('PASS_INDEPENDENT_MIXED_OWNER',len(receipt['controls_rejected']),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/code/assemble.py b/research/gmx-t74-borrow43-handoff/code/assemble.py new file mode 100644 index 0000000000..b317e9b35d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/assemble.py @@ -0,0 +1,292 @@ +"""Gauge44 complete global admission with the retained native exact-complex moment. + +Prepared with OpenAI Codex assistance. The rational engines and outer +constraints are retained from PR547/PR548 and their preserved ancestry. +The bit operator is the cited unchanged PR589 supplier (PR555's punctured +R439 word, v = 111, decoder constant 63, two A-section transports), shipped +as inputs/PR589-EXPECTED.json and pinned by git blob id. Its rank-mass +deficit is derived from the word's parameters, T(2Kv - L*cst) at nine +stages (PR545/PR555 rank-mass identity), not hard-coded. The complex owner +and invoice inputs must be freshly emitted by the packaged physical replay. +All conservative admission guards and conservative moment/outer witnesses run +before the PR559 native-complex correction. The bit surcharge is retained. +""" +from pathlib import Path +from fractions import Fraction as Q +from decimal import Decimal, localcontext +import argparse,json,hashlib,importlib.util,os,sys +from collections import Counter +assert __debug__, 'Assertions required' +P=Path(sys.argv[1] if __name__=='__main__' else os.environ['GAIN_PR564_SOURCE']).resolve() +read=lambda p:json.loads(p.read_text()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +hash_ok=lambda x:isinstance(x,str) and len(x)==64 and all(t in '0123456789abcdef'for t in x) +digest=lambda x:hashlib.sha256(json.dumps(x,separators=(',',':')).encode()).hexdigest() +def load(n): + s=importlib.util.spec_from_file_location(n,P/'engines'/(n+'.py'));m=importlib.util.module_from_spec(s);s.loader.exec_module(m);return m +M,B,A=[load(n)for n in ('moment','base_two_moment','outer')] +import hashlib +try: + from gmpy2 import mpz # optional accelerator, identical integer results +except ImportError: + mpz=int +def dec(x): + with localcontext()as ctx:ctx.prec=3120;return str(Decimal(x.numerator)/Decimal(x.denominator)) +import sys as _sys;_sys.path.insert(0,str(Path(__file__).resolve().parent));import fine_moment as BF,fine_mercator as MF,fine_cache as FC;from exact_coarse import moment as exact_coarse_moment +from witness import SPEC,DISPATCH,CALL_ORDER,COUNTS,PIDS,X,DISCOVER,pin,SPOT,spot_widths,GEO,REPLICAS,CALLS,DATA,DEFICIT,PAYLOAD,PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE,PARENT_HELPERS +# Cited bit supplier: PR589's tune/EXPECTED.json (merged on main as research/e8-bit-p111-tuned/tune/EXPECTED.json). +BIT_PATH=Path(__file__).resolve().parents[1]/'inputs/PR589-EXPECTED.json' +BIT_BLOB='e293ddc557742637f9f679f083a1a282d87b1b13' +# Nine-stage bit template (PR463/PR510 chain, 32 replicas): L stages, T replicas, K=(L-1)//2 pairs, moment width M=1+7L. +BIT_L,BIT_T=9,32;BIT_K=(BIT_L-1)//2;BIT_M=1+7*BIT_L +def git_blob(data):return hashlib.sha1(b'blob '+str(len(data)).encode()+b'\0'+data).hexdigest() +def load_bit(data): + """The pinned supplier record: its full record (word parameters) and its nine-stage price.""" + assert git_blob(data)==BIT_BLOB,'bit supplier blob pin' + return json.loads(data) +def bit_deficit(word,live): + """Rank-mass deficit M*live - mass = T(2Kv - L*cst) of a v-port bit word with decoder constant cst (PR545/PR555). + cst is the sum of the retained totals' COPY ranks and live = 2KvT data wires; both are cross-checked here, and the + caller checks the result against the priced profile, so neither v nor cst is free.""" + v,cst,ranks=word['v'],word['decoder_constant'],word['copy_ranks'] + assert type(v)is int and type(cst)is int and all(type(r)is int and 00;return d + + +def assemble(owner,invoice,owner_sha,invoice_sha): + # These are admission receipts, not optional collections of successful rows. + # Require both orientations and every finite check before pricing anything. + assert owner['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert invoice['status']=='PASS_INDEPENDENT_MIXED_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE' + assert all(hash_ok(x)for x in (owner_sha,invoice_sha,owner['template_sha256'],owner['controller_audit_sha256'],invoice['parent_template_sha256'])) + checks={'local_primitive_bound','logical','router','literal','mass','precision','tape','row','halving'} + assert set(invoice['strict_checks'])==checks + assert all(invoice['strict_checks'][name] is True for name in checks) + assert set(invoice['providers'])==set(PIDS) + assert invoice['provider_counts']==COUNTS + assert owner['all_live_owners_per_call_distinct'] is True + # R (helpers per provider word) is read from the invoice and must be shared by every provider; n=2v+R. + R=invoice['helpers'];assert type(R) is int and R>0 and all(p['helpers']==R for p in invoice['providers'].values()) + assert owner['owners_per_call']==2*112+R and owner['actual_helper_owner_charts']==owner['hosted_residuals']==CALLS*R==pin('expected.hosted_residuals',owner['hosted_residuals']) + pin('expected.rank_mass',owner['rank_mass']) + pin('expected.actual_73column_sigmas',owner['actual_73column_sigmas']);pin('expected.cross_replica_helper_roles',owner['cross_replica_helper_roles']) + pin('expected.idle_remainders',owner['explicit_idle_remainder_children']) + assert invoice['complete_invocation_sweeps']==invoice['bridge_sweeps']==CALLS + assert invoice['live']==owner['live'] and invoice['physical']==owner['physical'] + assert invoice['centres']==8 + assert invoice['physical_stock_identity']==dict(data_and_owner_families=DATA,local_helpers=R,private_centres=8,private_zero_buffers=invoice['private_zero_buffers'],coefficient_work=2) + assert invoice['private_zero_buffers']==max(p['zero_buffers']for p in invoice['providers'].values()) + for p in invoice['providers'].values(): + for z in p['local'].values(): + assert z['private_zero_buffer_peak']==p['zero_buffers'] and z['private_zero_buffer_clears']==2*p['zero_buffers'] + assert z['macros']==z['literal_scalar_macros']+z['private_zero_buffer_clears'] + assert z['real_component_primitives']==z['literal_real_component_primitives']+2*z['private_zero_buffer_clears'] + assert sum(invoice['physical_stock_identity'].values())==invoice['physical'] + assert invoice['controller_audit_sha256']==owner['controller_audit_sha256'] + for pid,p in invoice['providers'].items(): + assert set(p['local'])=={'forward','backward'} + assert p['helpers']==R and p['centres']==8 and p['n']==2*112+R and p['v']==112 and p['h']==9 + K='providers.'+pid+'.';pin(K+'entering',p['entering_helpers']);pin(K+'entrance',p['entrance_rank']) + pin(K+'inventory',p['width_inventory']) + assert all(type(w) is int and 0=0 for n in idle.values()) + idle=+idle;assert sum(idle.values())==owner['explicit_idle_remainder_children'] + pin('expected.idle_remainder_profile',{str(r):n for r,n in sorted(idle.items())}) + paid.update(idle) + assert dict(paid)=={int(r):n for r,n in owner['paid_profile'].items()} + assert invoice['compiler']==64*74**3 + assert invoice['local_adapters']==max(p['local_adapters']for p in invoice['providers'].values()) + assert invoice['local_primitive_bound']==max(p['local_primitive_bound']for p in invoice['providers'].values()) + # Recount the retained dedicated-bank envelope independently. Its geometry + # stays fixed, while every local primitive and wrapper comes from the actual + # selected provider/orientation sums above. + parent_live,parent_physical,parent_idle=PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE + parent_banks,rem=divmod(parent_live-2*112*4*REPLICAS,9);assert rem==0 and parent_physical==parent_live+PARENT_HELPERS+8+2 # five bank groups with 8,8,8,8,5 active lanes and R0=504 helpers; shared private work is restored + assert owner['source_idle_children_charged']==parent_idle + bridges,shifts=2*112*CALLS,4*112*REPLICAS;moves=2*shifts + nonlocal_items=(4*112*REPLICAS*9+2*112*REPLICAS*9+2*CALLS*R+parent_idle+9*parent_banks+bridges+shifts+moves+parent_live+parent_physical+invoice['wrapper_elementary_factors_charged']) + outside=8*nonlocal_items+64*73 + pervertex=(invoice['selected_real_component_primitives']+bridges+shifts+moves+parent_live+(CALLS*invoice['local_adapters']+outside)*invoice['compiler']+64*parent_physical) + rebased=pervertex+65*(invoice['physical']-parent_physical)+(invoice['live']-parent_live) + assert invoice['unhosted_pervertex']==pervertex and invoice['hosted_rebased_pervertex']==rebased + used=max(pervertex,rebased) + prior=invoice['retained_prior_overcharge'] + if prior is not None: + assert hash_ok(prior['sha256']) and type(prior['previous_pervertex_allowance']) is int and prior['previous_pervertex_allowance']>0 + assert prior['added_complete_new_pervertex']==pervertex + assert prior['policy']=='Retain old allowance and add entire fresh mixed recount.' + used=max(used,prior['previous_pervertex_allowance']+pervertex) + assert invoice['conservative_pervertex_used']==used + finite=invoice['finite'] + assert 02*48*48) + assert actual_checks==invoice['strict_checks'] and all(actual_checks.values()) + bit_record=load_bit(BIT_PATH.read_bytes()) + bit=bit_record['nine'] + assert 'nine-stage' in bit['pipeline'] and '32 replicas' in bit['pipeline'] + c=Q(bit['bit_lower']) + bit_D=bit_deficit(bit_record['word'],bit['bit']['live']) + H={int(r):n for r,n in owner['paid_profile'].items()};pin('expected.global_profile',owner['paid_profile']) + # Claimed lower endpoints come from the spec; discovery derives them with the same certified moment engine. + # Either way they are verified below (accepted at b, rejected at b+1e-24). + if DISCOVER:b=Q(M.certify(H,73,owner['live'],False)['lower']);conservative_b=Q(M.certify(H,73,owner['live'],True)['lower']) + else:b=Q(X['complex_lower']);conservative_b=Q(X['conservative_complex_lower']) + assert owner['template_sha256']==invoice['template_sha256'] and owner_sha==invoice['owner_audit_sha256'] + pin('expected.live',owner['live']);pin('expected.physical',owner['physical']);assert owner['deficit']==DEFICIT + assert owner['banked_residuals']==0 + def check_moment(side,h,m,W,lower,deficit,bad,digits=24): + assert m*W-sum(r*n for r,n in h.items())==deficit and m*m>2*max(h)**2 + rows=[] + def certify(z,accept,eM,eB): + if eM is MF: # finer engines: memoised across stages and prefetched concurrently (fine_cache.py); results are the engines' own outputs + l,u=FC.moment('fine_mercator',h,m,W,z,bad);ll,uu=FC.moment('fine_moment',None,m,W,z,False,list(h.items())) + if bad: + fl,fu=FC.moment('fine_moment',None,m,W,z,False,[(1,32*m*m*sum(h.values()))]);ll+=fl/10**16;uu+=fu/10**16 + else: + l,u=eM.moment(h,m,W,z,bad);ll,uu=eB.moment(m,W,list(h.items()),z) + if bad: + fl,fu=eB.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + rows.append(dict(side=side,surcharge=bad,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + coarse=Q((lower*10**24).__floor__(),10**24) # retained engines certify the inherited 1e-24 bracket containing the endpoint + certify(coarse,True,M,B);certify(coarse+Q(1,10**24),False,M,B) + if digits>24: # finer-constant copies of both engines certify the 1e-digits bracket (accept at the endpoint, reject at endpoint+1e-digits) + FC.prefetch([dict(name=nm,H=hh,m=m,W=W,z=zz,bad=bb,entries=ee) for zz in (lower,lower+Q(1,10**digits)) for nm,hh,bb,ee in [('fine_mercator',h,bad,None),('fine_moment',None,False,list(h.items()))]+([('fine_moment',None,False,[(1,32*m*m*sum(h.values()))])] if bad else [])]) + certify(lower,True,MF,BF);certify(lower+Q(1,10**digits),False,MF,BF) + return rows + bitH={int(r):n for r,n in bit['profile'].items()} + assert BIT_M==64 and sum(r*n for r,n in bitH.items())==bit['bit']['rank_mass'] + bit_moments=check_moment('bit',bitH,BIT_M,bit['bit']['live'],c,bit_D,True) + conservative_moments=check_moment('conservative_complex',H,73,owner['live'],conservative_b,DEFICIT,True,SPEC['outer_refinement']['endpoint_digits']) + assert bit['bit']['two_level_coefficient_bits']0 for v in options.values()) + grid=10**options["grid_digits"]; margin_grid=10**options["margin_digits"] + eta=beta=Q(1,margin_grid);s=min(c,(1-beta)*bb)-Q(1,1000*margin_grid);assert 0= 36 and + # L_j*gap_j >= 2*(4+ell_j), where ell_j >= log2 C_j and C_j dominates the stage's fresh constants (< 2^PAYLOAD) PLUS THE CARRIED previous constant: the next constant + # is C_large + C_old*2^(L_j*(a_{j+1}-a_j)), so ell_{j+1} = max(PAYLOAD, ell_j + ceil(L_j*(a_{j+1}-a_j))) + 1. L_j is the least power of two (up to one extra doubling) + # meeting both inequalities; a larger cutoff satisfies the same hypotheses, and kappa is computed from the chain end only. + KB=int(3.6*options["margin_digits"])+64;ONE=mpz(1)<>KB + g=min((S-A_)*ONE,(ONE-A_-S)*ONE,ONE*ONE-A_*ONE-S*(ONE-O),(ONE-S)*ONE) # gap = g/ONE^2: the same four terms as min(s-a,1-a-s,1-a-s*(1-old),1-s) + assert O0 + N2=2*(4+ell)*ONE2 + e=max(N1.bit_length()-(2*g.bit_length()-1)+2,N2.bit_length()-g.bit_length()+2,0);cut=1<=N1 and cut*g>=N2 # both lemma inequalities with the carried log2 C bound ell + carry=-((-(cut*(A_-O)))>>KB) # ceil(L*(a_{j+1}-a_j)): log2 of the factor 2^(L*Delta a) carried into the next stage's constant + if step<7: # control: the UNCARRIED least cutoff of the old formula cannot pay the carry from stage 2 on (shortfall ratio about 2(1-s)) + Lu=max(-(-N1//(g*g)),-(-2*(4+PAYLOAD)*ONE2//g)) + if unc_prev is not None: + cu=-((-(unc_prev[0]*unc_prev[1]))>>KB);unc_failed.append(Lu*g<2*(4+cu)*ONE2);assert unc_failed[-1],step + unc_prev=(Lu,A_-O) + h=lambda v:hashlib.sha256(('%x'%int(v)).encode()).hexdigest() + cuts.append(dict(step=step,grid_bits=KB,exponent_numerator_sha256=h(A_),gap_numerator_sha256=h(g),log2C_bound_sha256=h(ell),cutoff_log2_power_of_two_exponent=e,carry_bits_bit_length=int(carry).bit_length())) + ell=max(PAYLOAD,ell+carry)+1;O=A_ + cuts.append(dict(control='uncarried_cutoffs_fail_carry_rule',stages_checked=list(range(2,2+len(unc_failed))),all_rejected=all(unc_failed))) + chain=[chain0,Q(int(O),int(ONE))] + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*grid;k=Q((ticks.numerator-1)//ticks.denominator,grid) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],bb,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,be in [('next_grid',k+Q(1,grid),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],bb,bridge,kk,eta=ee,beta=be) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + return k,cuts,outer,controls + def outer_witness(bb): # memoised across stages (fine_cache.memo): the exact outer witness is a pure function of these inputs and the two source files + return FC.memo('outer_witness',(str(bb),str(c),json.dumps(SPEC['outer_refinement'],sort_keys=True),PAYLOAD,sha(Path(__file__)),sha(Path(A.__file__))),lambda:_outer_witness_raw(bb)) + conservative_k,conservative_cuts,conservative_outer,conservative_controls=outer_witness(conservative_b) + pin('expected.conservative_kappa_decimal',dec(conservative_k)) + # Only after every conservative supplier/admission/outer check succeeds is + # the reviewed native exact-complex recurrence selected. Bit charge stays. + native_moments=check_moment('complex',H,73,owner['live'],b,DEFICIT,False,SPEC['outer_refinement']['endpoint_digits']) + k,cuts,outer,controls=outer_witness(b) + pin('expected.kappa_decimal',dec(k)) + assert exact_coarse_moment(M,H,73,owner['live'],b,True)[0]>1 + assert M.moment(bitH,64,bit['bit']['live'],c+Q(1,10**24),False)[1]<1 + model_controls=['native_complex_endpoint_rejected_with_old_surcharge','omitting_bit_surcharge_would_fail_next_endpoint_rejection'] + moments=bit_moments+native_moments + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'package:inputs/PR589-EXPECTED.json':sha(BIT_PATH)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pr635_percent=dec(100*(k/Q(X['gain_baseline_kappa'])-1)),complex_profile=H,provider_counts=invoice['provider_counts'],surcharge_model={'complex':False,'bit':True},conservative_complex_lower=str(conservative_b),conservative_complex_decimal=dec(conservative_b),conservative_kappa=str(conservative_k),conservative_kappa_decimal=dec(conservative_k),conservative_moments=conservative_moments,conservative_bootstrap=conservative_cuts,conservative_outer={n:str(v)for n,v in conservative_outer['strict_constraints'].items()},conservative_controls=conservative_controls,model_controls=model_controls,native_correction_gain=dec(k-conservative_k),template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=589,repository='CrocSwap/integer-mult-bounds',commit='a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46',merged_as='b3eb785ac5b4b1ca2beea0f80db078a505626a90',path='research/e8-bit-p111-tuned/tune/EXPECTED.json',git_blob_sha1=BIT_BLOB,word=dict(v=bit_record['word']['v'],decoder_constant=bit_record['word']['decoder_constant'],copy_ranks=bit_record['word']['copy_ranks']),derived_deficit=bit_D,deficit_formula='T(2Kv-L*cst), L=%d T=%d K=%d M=%d'%(BIT_L,BIT_T,BIT_K,BIT_M),replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain.') +if __name__=='__main__': + import sys + package,C,out=map(Path,sys.argv[1:4]);assert package.resolve()==P and not out.exists() + owner_path=C/'audit/OWNERS-AND-PROFILE.json';invoice_path=C/'audit/PREFIX-AND-INVOICE.json' + owner,invoice=read(owner_path),read(invoice_path) + assert owner['template_sha256']==read(C/'hosted/HOSTED.json')['template_sha256'] + r=assemble(owner,invoice,sha(owner_path),sha(invoice_path));out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/code/assembly_controls.py b/research/gmx-t74-borrow43-handoff/code/assembly_controls.py new file mode 100644 index 0000000000..a666b0a1d3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/assembly_controls.py @@ -0,0 +1,264 @@ +"""Independent admission controls for the N-provider native-complex assembly (per-provider controls). + +Prepared with OpenAI Codex assistance; Apache-2.0. Mutation receipts are +rebound to their new owner digest, so unrelated stale hashes cannot conceal +an incomplete width, provider, orientation, paid-profile or finite check. +The fresh physical replay remains a separate prerequisite. +""" +import argparse +import copy +import itertools +import math +import hashlib +import json +import os +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + from assemble import assemble + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['providers'] = {} + + def understated_stock(o, i): + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + def wrong_orientation(o, i): + c = next(c for c in i['selected_calls'] if c['stage'] == 0) + c['orientation'] = 'backward' + p = i['providers'][c['provider_id']] + z = p['local']['backward'] + c['program_sha256'] = p['program_hashes']['backward'] + for name in ('events', 'macros', 'real_component_primitives', + 'coefficient_work_primitive_count', 'pre_wrappers', 'post_wrappers'): + c[name] = z[name] + i['selected_real_component_primitives'] = sum(c['real_component_primitives'] for c in i['selected_calls']) + i['selected_coefficient_work_primitive_count'] = sum(c['coefficient_work_primitive_count'] for c in i['selected_calls']) + + def understated_prefix(o, i): + for p in i['providers'].values(): + for z in p['local'].values(): + z['prefix_bits'], z['prefix_l1'] = 1, '1' + i['global_prefix_bits'] = 1 + 37 + CALLS + CALLS + 4 + + def reordered_calls(o, i): + i['selected_calls'][0], i['selected_calls'][1] = i['selected_calls'][1], i['selected_calls'][0] + + def no_cold_wrappers(o, i): + for p in i['providers'].values(): + p['entering_helpers'] -= 4 + for z in p['local'].values():z['pre_wrappers'] = z['post_wrappers'] = p['entering_helpers'] + for c in i['selected_calls']: + c['entering_helpers'] = c['pre_wrappers'] = c['post_wrappers'] = i['providers'][c['provider_id']]['entering_helpers'] + i['wrapper_elementary_factors_charged'] = sum(2*c['pre_wrappers'] for c in i['selected_calls'])*i['factors_per_wrapper'] + + controls = [ + ('empty_certification_maps', empty_maps), + ('failed_invoice_status', lambda o, i: i.__setitem__('status', 'FAIL')), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', o['actual_helper_owner_charts'] - 1)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ('wrong_reflected_orientation_selfconsistent_totals', wrong_orientation), + ('missing_selected_call', lambda o, i: i['selected_calls'].pop()), + ('wrong_selected_primitive_sum', lambda o, i: i.__setitem__('selected_real_component_primitives', i['selected_real_component_primitives'] - 1)), + ('wrong_selected_coefficient_work_sum', lambda o, i: i.__setitem__('selected_coefficient_work_primitive_count', i['selected_coefficient_work_primitive_count'] - 1)), + ('unpaid_wrapper_factors', lambda o, i: i.__setitem__('wrapper_elementary_factors_charged', i['wrapper_elementary_factors_charged'] - 144)), + ('wrong_global_compiler', lambda o, i: i.__setitem__('compiler', 1)), + ('wrong_global_adapter_maximum', lambda o, i: i.__setitem__('local_adapters', 1)), + ('understated_exact_prefix_and_global_sum', understated_prefix), + ('wrong_global_prefix_sum', lambda o, i: i.__setitem__('global_prefix_bits', 224)), + ('wrong_row_prefix_reserve', lambda o, i: i.__setitem__('row_prefix_extra', 0)), + ('wrong_parent_geometry_charge', lambda o, i: i.__setitem__('unhosted_pervertex', 1)), + ('wrong_rebased_geometry_charge', lambda o, i: i.__setitem__('hosted_rebased_pervertex', 1)), + ('wrong_complete_pervertex_envelope', lambda o, i: i.__setitem__('conservative_pervertex_used', 1)), + ('wrong_prior_added_complete_invoice', lambda o, i: i['retained_prior_overcharge'].__setitem__('added_complete_new_pervertex', 1)), + ('wrong_finite_router_bits', lambda o, i: i['finite'].__setitem__('router_bits', 1)), + ('wrong_finite_literal_bits', lambda o, i: i['finite'].__setitem__('literal_bits', 1)), + ('wrong_finite_physical_stock_bits', lambda o, i: i['finite'].__setitem__('physical_stock_bits', 1)), + ('wrong_finite_row_coefficient', lambda o, i: i['finite'].__setitem__('physical_row_coefficient', 1)), + ('reordered_complete_calls', reordered_calls), + ('understated_explicit_idle_remainders', lambda o, i: o.__setitem__('explicit_idle_remainder_children', o['explicit_idle_remainder_children']-1)), + ('understated_actual_chart_types', lambda o, i: o.__setitem__('actual_73column_sigmas', o['actual_73column_sigmas']-1)), + ('wrong_cross_replica_role_count', lambda o, i: o.__setitem__('cross_replica_helper_roles', o['cross_replica_helper_roles']-1)), + ('old_no_cold_wrapper_counts_selfconsistent', no_cold_wrappers), + ] + + def resync(i, c): + p = i['providers'][c['provider_id']] + c['program_sha256'] = p['program_hashes'][c['orientation']] + c['entering_helpers'], c['entrance_rank'] = p['entering_helpers'], p['entrance_rank'] + for name in ('events','macros','real_component_primitives','coefficient_work_primitive_count','pre_wrappers','post_wrappers'): + c[name] = p['local'][c['orientation']][name] + + # Every provider gets the full per-provider control set, substituting a partner provider where needed. + for P in PIDS: + Qp = partner(P) if len(PIDS)>1 else '__unregistered__' + widths = invoice['providers'][P]['widths'] + + def forged_program_hash(o, i, P=P): + i['providers'][P]['program_hashes']['forward'] = '0' * 64 + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = '0' * 64 + + def wrong_selected_call(o, i, P=P): + c = next(c for c in i['selected_calls'] if c['provider_id'] == P) + d = next(d for d in i['selected_calls'] if d is not c and (d['provider_id'] != P or len(PIDS)==1) and (d['stage'] - c['stage']) % 2 == 0) + c['stage'], d['stage'], c['replica'], d['replica'] = d['stage'], c['stage'], d['replica'], c['replica'] + + def stale_program(o, i, P=P, Qp=Qp, i0=invoice): + p = i['providers'][P] + p['program_hashes'] = copy.deepcopy(i['providers'][Qp]['program_hashes']) + if p['program_hashes'] == i0['providers'][P]['program_hashes']: # identical partner programs: substitute a dishonest hash instead + p['program_hashes'] = {k_: '1' * 64 for k_ in p['program_hashes']} + for c in i['selected_calls']: + if c['provider_id'] == P: + c['program_sha256'] = p['program_hashes'][c['orientation']] + + def stale_profile(o, i, P=P, Qp=Qp, orig=copy.deepcopy(invoice['providers'][P]['paid_profile'])): + p = i['providers'][P] + p['paid_profile'] = copy.deepcopy(i['providers'][Qp]['paid_profile']) + if p['paid_profile'] == orig: # equal partner profiles (e.g. after a frame refit): the substitution would be the identity, so use a dishonest profile with a re-summed child total instead + p['paid_profile']['1'] -= 1; p['paid_profile']['2'] += 1 + p['children'] = sum(p['paid_profile'].values()) + + def moved(o, i, P=P): + a = next(c for c in i['selected_calls'] if c['provider_id'] == P) + b = next(c for c in i['selected_calls'] if c['provider_id'] != P and c['orientation'] == a['orientation']) + a['provider_id'], b['provider_id'] = b['provider_id'], a['provider_id'] + resync(i, a); resync(i, b) + + def compensating(o, i, P=P, Qp=Qp): + # Two dishonest profiles that cancel exactly in the dispatch-weighted aggregate. + g = math.gcd(COUNTS[P], COUNTS[Qp]); dp, dq = COUNTS[Qp] // g, COUNTS[P] // g + p, q = i['providers'][P], i['providers'][Qp] + p['paid_profile']['1'] += dp; q['paid_profile']['1'] -= dq + p['children'] += dp; q['children'] -= dq + + def forged_recipe(o, i, P=P): + name = 'CLIFFORD-RECIPES.json' + i['providers'][P]['artifacts'][name] = '0'*64 + o['source_artifacts']['providers/'+P+'/'+name] = '0'*64 + + def forged_phase(o, i, P=P): + i['providers'][P]['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] = '0'*64 + o['provider_phase_semantic_sha256'][P] = i['provider_phase_semantic_sha256'][P] = '0'*64 + + controls += [ + (P + ':missing_provider', lambda o, i, P=P: i['providers'].pop(P)), + (P + ':missing_backward_orientation', lambda o, i, P=P: i['providers'][P]['local'].pop('backward')), + (P + ':unpaid_scalar_primitive', lambda o, i, P=P: i['providers'][P]['local']['forward'].__setitem__('real_component_primitives', i['providers'][P]['local']['forward']['real_component_primitives'] - 1)), + (P + ':wrong_local_artifact_binding', lambda o, i, P=P: i['providers'][P]['artifacts'].__setitem__('LOCAL-PROGRAMS.json.gz', '0' * 64)), + (P + ':false_dirty_restoration', lambda o, i, P=P: i['providers'][P]['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + (P + ':wrong_declared_provider_count', lambda o, i, P=P: i['provider_counts'].__setitem__(P, i['provider_counts'][P] + 1)), + (P + ':wrong_local_compiler', lambda o, i, P=P: i['providers'][P].__setitem__('compiler', 1)), + (P + ':wrong_local_adapter_charge', lambda o, i, P=P: i['providers'][P].__setitem__('local_adapters', 1)), + (P + ':wrong_local_primitive_bound', lambda o, i, P=P: i['providers'][P].__setitem__('local_primitive_bound', 1)), + (P + ':forged_provider_and_call_program_hash', forged_program_hash), + (P + ':provider_at_wrong_call', wrong_selected_call), + (P + ':stale_partner_program_consistent_call_hashes', stale_program), + (P + ':stale_partner_profile_consistent_child_total', stale_profile), + (P + ':relocated_against_partner_same_counts', moved), + (P + ':compensating_false_profiles_with_' + Qp, compensating), + (P + ':synchronized_forged_source_recipe_hash', forged_recipe), + (P + ':synchronized_forged_phase_review_semantics', forged_phase), + ] + if len(PIDS)==1: + # Cross-provider substitutions require a second actual supplier. + # All single-provider program, phase, profile and dispatch bindings + # retain their direct mutations above and in the controller audit. + partner_only = {P+':stale_partner_program_consistent_call_hashes', + P+':stale_partner_profile_consistent_child_total', + P+':relocated_against_partner_same_counts', + P+':compensating_false_profiles_with_'+Qp} + controls = [(name, fn) for name, fn in controls if name not in partner_only] + # Width order and inventory: swap the first helper of every pair of distinct widths (same inventory), + # and shift one unit between them (same total). + first = {} + for h, w in enumerate(widths): + first.setdefault(w, h) + for wa, wb in itertools.combinations(sorted(first), 2): + def swap(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a], w[b] = w[b], w[a] + def shift(o, i, P=P, a=first[wa], b=first[wb]): + w = i['providers'][P]['widths']; w[a] += 1; w[b] -= 1 + controls.append((P + ':width_order_swap_%d_%d' % (wa, wb), swap)) + controls.append((P + ':width_inventory_shift_%d_%d' % (wa, wb), shift)) + for h in SPOT: + def cold_swap(o, i, P=P, h=h): + w = i['providers'][P]['widths']; j = w.index(9 if w[h] != 9 else 8); w[h], w[j] = w[j], w[h] # never the identity + controls.append((P + ':cold_helper_width_swap_%d' % h, cold_swap)) + rejected = [] + accepted = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + # Discovery has no pinned values to reject spec-only mutations; the strict run must reject every control. + if not DISCOVER: + raise AssertionError('Invalid admission receipt accepted: ' + name) + accepted.append(name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + pin('expected.assembly_controls_rejected', len(rejected)) + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + assert baseline['conservative_controls'] == baseline['controls'] + assert baseline['surcharge_model'] == {'complex': False, 'bit': True} + assert len(baseline['model_controls']) == 2 + return dict( + status='PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + rejected_controls=rejected, + discovery_accepted_controls=accepted, + exact_outer_controls=baseline['controls'], + conservative_outer_controls=baseline['conservative_controls'], + recurrence_model_controls=baseline['model_controls'], + scope='Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gmx-t74-borrow43-handoff/code/audit_allcold.py b/research/gmx-t74-borrow43-handoff/code/audit_allcold.py new file mode 100644 index 0000000000..8b40462349 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/audit_allcold.py @@ -0,0 +1,262 @@ +"""OpenAI Codex independent serialized ASYNCHRONOUS controller/spectator audit. +Imports no emitter, optimizer, expander, edge-coloring, or source hosting code. +CLI: BASE HOSTED REPORT [--mutation-controls] +Each provider is independently read from BASE/providers, never from a baseline width histogram. +OpenAI Codex two-provider width-seven extension; retains all inherited independent controller checks. +The exact 63 width-seven and 9 plain calls are frozen below. +""" +import sys,json,gzip,hashlib,copy +assert __debug__, 'Assertions must remain enabled' +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +BASE,OUT,REPORT=map(lambda p:Path(p).resolve(),sys.argv[1:4]);read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +parent=read(BASE/'split-centres/GLOBAL-TEMPLATE.json.gz') +ph=read(BASE/'work/complex-nine-native/DATA-PHASES.json') +ct=read(OUT/'GLOBAL-TEMPLATE.json.gz');summary=read(OUT/'HOSTED.json') +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +provider_ids=PIDS +providers={};registry={};phase_semantic_hashes={};artifact_semantic_hashes={} +required_artifacts={'work/complex-nine-native/DATA-PHASES.json'} +provider_files=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json') +for pid in provider_ids: + p=BASE/'providers'/pid + c=read(p/'CANONICAL-WORD.json.gz');checks=read(p/'LOCAL-CHECKS.json') + programs=read(p/'LOCAL-PROGRAMS.json.gz');replay=read(p/'INDEPENDENT-LOCAL-REPLAY.json') + phase=read(p/'CLIFFORD-REVIEW.json');adapters=read(p/'RESIDUAL-ADAPTERS.json')['recipes'] + widths=[len(c['frames'][c['final'][2*c['v']+h]])-len(c['frames'][c['start'][2*c['v']+h]])for h in range(c['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths();pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + canonical_sha=sha(p/'CANONICAL-WORD.json.gz');programs_sha=sha(p/'LOCAL-PROGRAMS.json.gz') + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==canonical_sha and replay['local_programs_sha256']==programs_sha + assert replay['v']==c['v'] and replay['helpers']==c['R'] + assert set(programs)==set(checks)==set(replay['local'])==set(replay['paid_profiles'])=={'forward','backward'} + for orientation,events in programs.items(): + ck=checks[orientation];rr=replay['local'][orientation] + assert hashlib.sha256(json.dumps(events,sort_keys=True,separators=(',',':')).encode()).hexdigest()==ck['sha256'] + assert ck['events']==len(events) and ck['all_columns']==2*c['v']+c['R'] + assert ck['private_centers_cleared'] and ck['private_coefficient_stream_cleared_after_each_macro'] + assert rr['all_exact_columns']==2*c['v']+c['R'] and rr['private_work_erased'] + literal=Counter(e[-1]for e in events if e[0]in('climb','center')) + assert dict(literal)=={int(r):n for r,n in ck['paid_profile'].items()}=={int(r):n for r,n in c['local_profile'].items()} + assert ck['paid_profile']==replay['paid_profiles'][orientation] + assert phase['canonical_word_sha256']==canonical_sha and phase['recipe_sha256']==sha(p/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] + artifact_semantic_hashes[pid]=artifact_identities(p) + pin('providers.%s.artifact_semantic_sha256'%pid,artifact_semantic_hashes[pid]) + phase_semantic_hashes[pid]=artifact_semantic_hashes[pid]['CLIFFORD-REVIEW.json'] + for h,w in enumerate(widths): + assert 0>i)&1==0);a=q^(1<>i&1 else 0)for i in order]+[1<2*max(paid)**2 + return dict(profile=dict(sorted(paid.items())),mass=mass,hosted=HOSTED,entering=entering,cross_replica=cross,sigma_digest=digest.hexdigest(),sigmas=sigmas,idle_remainders=len(wanted),busy_family_checks=len(roles),invocations=CALLS) + +r=audit(ct);raw=gzip.decompress((OUT/'GLOBAL-TEMPLATE.json.gz').read_bytes());assert hashlib.sha256(raw).hexdigest()==summary['template_sha256'];assert r['profile']=={int(k):v for k,v in summary['global_profile'].items()};assert r['sigmas']==read(OUT/'ACTUAL-SIGMAS.json.gz');assert r['sigma_digest']==summary['sigma_stream_sha256'] +assert all(hashlib.sha256((BASE/name).read_bytes()).hexdigest()==value for name,value in summary['source_artifacts'].items()) +controls=[] +def reject(name,mut): + if '--mutation-controls' not in sys.argv[4:]:return + q=copy.deepcopy(ct);mut(q) + try:audit(q) + except(AssertionError,KeyError,IndexError,ValueError,TypeError):controls.append(name) + else:raise AssertionError('ACCEPTED '+name) +enter=lambda q:next(o for c in q['calls']for o in c['owners'][(2*V):]if o[1][0]==4) +reject('alias two whole owners',lambda q:q['calls'][0]['owners'].__setitem__((2*V+1),q['calls'][0]['owners'][(2*V)])) +reject('helper on active data family',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,q['calls'][0]['owners'][0][0])) +reject('owner in private namespace',lambda q:q['calls'][0]['owners'][(2*V)].__setitem__(0,DATA)) +reject('wrong residual width',lambda q:enter(q)[1].__setitem__(3,enter(q)[1][3]-1)) +reject('wrong spectator coordinate',lambda q:enter(q)[1][4].__setitem__(0,72)) +reject('omit idle remainder',lambda q:q['idle_children'].pop()) +reject('omit private zero buffers',lambda q:q['private_namespace'].__setitem__('zero_buffers',[DATA+CENTRES+R,DATA+CENTRES+R])) +reject('private buffer aliases data',lambda q:q['private_zero_buffer_lowering']['provider_maps'][provider_ids[0]].__setitem__(str(zero_labels[provider_ids[0]][0]),0)) +def swap_pooled_times(q): + ps=q['hosting']['pooled_slots'];j=next(k for k in range(1,len(ps))if ps[k]['time']!=ps[0]['time']and ps[k]['width']==ps[0]['width']);ps[0]['time'],ps[j]['time']=ps[j]['time'],ps[0]['time'] +reject('pooled slots exchange invocation time (equal widths)',swap_pooled_times) +reject('pooled slot time shifted',lambda q:q['hosting']['pooled_slots'][0].__setitem__('time',q['hosting']['pooled_slots'][0]['time']+1)) +reject('understate physical reserve',lambda q:q.__setitem__('physical',PHYSICAL-1)) +# Single-provider dispatch still has all source/program/width binding controls. +if len(provider_ids)==1: + P=provider_ids[0] + at_p=lambda q:next(c for c in q['calls']if c['provider_id']==P) + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q:at_p(q).__setitem__('provider_id','__unregistered__')) + reject(P+': stale per-call local program hash',lambda q:at_p(q).__setitem__('local_program_sha256','0'*64)) + reject(P+': stale serialized provider program',lambda q:q['local_providers'][P]['local_programs']['forward'].pop()) + reject(P+': unbound residual adapter hash',lambda q:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + reject(P+': wrong provider width registry',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,providers[P]['widths'][narrow]-1)) + reject(P+': wrong per-call residual width',lambda q:at_p(q)['owners'][2*V+narrow][1].__setitem__(3,at_p(q)['owners'][2*V+narrow][1][3]-1)) + reject(P+': wrong sweep provider',lambda q:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep').__setitem__('provider_id','__unregistered__')) + reject(P+': entering helper width silently restored to nine',lambda q:q['local_providers'][P]['widths'].__setitem__(narrow,9)) +else: + # Per-provider substitution controls: every provider is swapped against a partner provider. + for P in provider_ids: + Qp=partner(P) + at_p=lambda q,P=P:next(c for c in q['calls']if c['provider_id']==P) + diff=[h for h in range(R)if providers[P]['widths'][h]!=providers[Qp]['widths'][h]] + narrow=next(h for h in range(R)if providers[P]['widths'][h]<9) + reject(P+': wrong provider at its invocation',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('provider_id',Qp)) + reject(P+': stale per-call local program hash',lambda q,P=P,Qp=Qp,at_p=at_p:at_p(q).__setitem__('local_program_sha256',(lambda ph,own:ph if ph!=own else '1'*64)(registry[Qp]['local_program_checks'][at_p(q)['orientation']]['sha256'],registry[P]['local_program_checks'][at_p(q)['orientation']]['sha256']))) # equal partner programs (identical local programs): substitution would be the identity, use a dishonest hash instead + reject(P+': stale serialized provider program',lambda q,P=P,Qp=Qp:q['local_providers'][P].__setitem__('local_programs',registry[Qp]['local_programs'] if registry[Qp]['local_programs']!=registry[P]['local_programs'] else {**registry[P]['local_programs'],'forward':registry[P]['local_programs']['forward'][:-1]})) # equal partner programs: drop an instruction instead + reject(P+': unbound residual adapter hash',lambda q,P=P:q['local_providers'][P].__setitem__('residual_adapter_sha256','0'*64)) + if diff:reject(P+': partner width in provider width registry',lambda q,P=P,Qp=Qp,h=diff[0]:q['local_providers'][P]['widths'].__setitem__(h,providers[Qp]['widths'][h])) + reject(P+': wrong per-call residual width',lambda q,at_p=at_p,h=narrow:at_p(q)['owners'][2*V+h][1].__setitem__(3,at_p(q)['owners'][2*V+h][1][3]-1)) + reject(P+': wrong sweep provider',lambda q,P=P,Qp=Qp:next(e for e in q['execution_schedule']if e['kind']=='local_cover_sweep'and DISPATCH[e['stage'],e['replica']]==P).__setitem__('provider_id',Qp)) + reject(P+': entering helper width silently restored to nine',lambda q,P=P,h=narrow:q['local_providers'][P]['widths'].__setitem__(h,9)) + +report=dict(status='PASS_INDEPENDENT_ASYNC_WHOLE_OWNER_CONTROLLER_PHASES_AND_SPECTATORS',template_sha256=summary['template_sha256'],complex_template_sha256=summary['template_sha256'],complex_live=DATA,complex_profile=r['profile'],complex_hosted_residuals=HOSTED,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,entering_helper_roles=r['entering'],cross_replica_helper_roles=r['cross_replica'],one_owner_per_complete_invocation=True,helper_busy_family_window_checks=r['busy_family_checks'],complete_invocations=r['invocations'],actual_orthogonal_73column_maps=len(r['sigmas']),actual_sigma_stream_sha256=r['sigma_digest'],all_actual_residual_and_spectator_charts=True,idle_remainders=r['idle_remainders'],mutations_rejected=controls,mutation_controls_run='--mutation-controls' in sys.argv[4:],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,widths_by_provider={pid:dict(sorted(Counter(providers[pid]['widths']).items()))for pid in provider_ids},provider_counts=dict(Counter(c['provider_id']for c in ct['calls'])),all_provider_program_phase_and_wrapper_bindings=True,scope='Independent exact asynchronous chronology, per-replica phase projection, owner/chart/paid-profile audit. Uses per-invocation local providers bound by exact scalar, phase and residual-wrapper receipts; all-size compilation and complete coefficient invoice are separate inherited obligations.') +REPORT.parent.mkdir(parents=True,exist_ok=True) +REPORT.write_text(json.dumps(report,indent=2)+'\n');print(json.dumps(report,indent=2)) + +owners=dict(status='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE',template_sha256=summary['template_sha256'],paid_profile=r['profile'],live=DATA,physical=PHYSICAL,rank_mass=r['mass'],deficit=DEFICIT,hosted_residuals=HOSTED,banked_residuals=0,all_live_owners_per_call_distinct=True,owners_per_call=N,actual_helper_owner_charts=HOSTED,actual_73column_sigmas=len(r['sigmas']),cross_replica_helper_roles=r['cross_replica'],explicit_idle_remainder_children=r['idle_remainders'],source_idle_children_charged=sum(x['replicas']for x in parent['idle_children']),source_artifacts=summary['source_artifacts'],provider_phase_semantic_sha256=phase_semantic_hashes,provider_artifact_semantic_sha256=artifact_semantic_hashes,controller_audit_sha256=hashlib.sha256(REPORT.read_bytes()).hexdigest()) +(REPORT.parent/'OWNERS-AND-PROFILE.json').write_text(json.dumps(owners,indent=2)+'\n') + +# Literal residual frames are a compact export of the already checked offsets, +# not another global replay. Every row names its actual inherited axes. +frames=[] +for z in ct['idle_children']: + axes=list(map(int,ph['recipes'][z['port']]['idle_children'][z['child']]['orthogonal_axes'])) + tail=axes[z['pending_offset']:] + assert len(tail)==z['rank'] + frames.append(dict(z,orthogonal_axes=tail)) +frame_raw=json.dumps(frames,sort_keys=True,separators=(',',':')).encode() +portable=bytearray(gzip.compress(frame_raw,mtime=0));portable[9]=255 +(OUT/'IDLE-REMAINDER-FRAMES.json.gz').write_bytes(bytes(portable)) +frame_receipt=dict(status='PASS_LITERAL_IDLE_REMAINDER_FRAMES',template_sha256=summary['template_sha256'], + uncompressed_frames_sha256=hashlib.sha256(frame_raw).hexdigest(),children=len(frames), + rank_profile=dict(sorted(Counter(z['rank']for z in frames).items())), + source_data_phase_sha256=hashlib.sha256((BASE/'work/complex-nine-native/DATA-PHASES.json').read_bytes()).hexdigest(), + scope='Actual orthogonal axes after the independently checked whole-owner prefix in each inherited pending child.') +(REPORT.parent/'IDLE-REMAINDER-FRAMES.json').write_text(json.dumps(frame_receipt,indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py b/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py new file mode 100644 index 0000000000..97e28da17e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/bind_providers_portable.py @@ -0,0 +1,67 @@ +"""Bind freshly verified plain and width-seven four-cold providers to the frozen literal owner plan. +Prepared with OpenAI Codex assistance; Apache-2.0. All byte-stable native +files are pinned to the plan. Only validated phase-receipt timing/serialization +and directory fields are rebound; no dispatch, width or owner choice changes. +""" +import argparse,copy,gzip,hashlib,json,shutil +from collections import Counter +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +for name in ('baseline','plan','out'):ap.add_argument('--'+name,type=Path,required=True) +ap.add_argument('--provider',action='append',required=True,help='PID=DIR');a=ap.parse_args();assert not a.out.exists();a.out.mkdir(parents=True) +def read(p):return json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +base=a.out/'base';shutil.copytree(a.baseline/'complex-global/base',base) +ap2=dict(x.split('=',1)for x in a.provider);dirs={k:Path(v)for k,v in ap2.items()};assert set(dirs)==set(PIDS) +for pid,src in dirs.items():shutil.copytree(src,base/'providers'/pid) +pin('data.plan_sha256',sha(a.plan)) +plan=read(a.plan);original=copy.deepcopy(plan);sources={};helpers=set() # R: helper count per provider word; all providers must agree +assert set(plan['provider_registry'])==set(dirs) +assert {(c['stage'],c['replica']):c['provider']for c in plan['provider_calls']}==DISPATCH,'PLAN dispatch differs from spec dispatch' +stable=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +for pid,desc in plan['provider_registry'].items(): + d=base/'providers'/pid + word,program,checks,native,phase=[read(d/name)for name in('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-REVIEW.json')] + assert (word['v'],word['h'],len(word['centers']))==(112,9,8) and type(word['R']) is int and word['R']>0;helpers.add(word['R']) + assert word['ports']==desc['ports'] and word['centers']==desc['centers'] + widths=[len(word['frames'][word['final'][r]])-len(word['frames'][word['start'][r]])for r in range(2*112,2*112+word['R'])] # HPE: residual width |final|-|start| + assert tuple(widths[h]for h in SPOT)==spot_widths() + assert widths==desc['widths'];pin('providers.%s.inventory'%pid,{str(k):v for k,v in sorted(Counter(widths).items())}) + assert native['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + pin('providers.%s.native_negative_controls'%pid,len(native['negative_controls_rejected'])) + assert native['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and native['local_programs_sha256']==sha(d/'LOCAL-PROGRAMS.json.gz') + assert phase['status']=='PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES' + assert phase['canonical_word_sha256']==sha(d/'CANONICAL-WORD.json.gz') and phase['recipe_sha256']==sha(d/'CLIFFORD-RECIPES.json') + assert phase['all_child_equalities_include_global_phase'] is True and phase['endpoint_adapters']==224 + pin('providers.%s.phase_edges'%pid,phase['directed_edges']) + assert set(program)==set(checks)=={'forward','backward'} + expected={int(r):n for r,n in checks['forward']['paid_profile'].items()};pin('providers.%s.expected_profile'%pid,checks['forward']['paid_profile']) + for orientation,events in program.items(): + profile=Counter() + for e in events: + if e[0]=='climb':profile[e[5]]+=1 + elif e[0]=='center':profile[e[4]]+=1 + assert dict(profile)==expected=={int(r):n for r,n in checks[orientation]['paid_profile'].items()}=={int(r):n for r,n in native['paid_profiles'][orientation].items()} + assert hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest()==checks[orientation]['sha256'] + identities=artifact_identities(d) + pin('providers.%s.artifact_semantic_sha256'%pid,identities) + assert identities==desc['artifact_semantic_sha256'] + for name in ('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json'): + assert sha(d/name)==desc['artifact_sha256'][name],(pid,name,'changed non-reference artifact') + for c in plan['provider_calls']: + if c['provider']==pid: + assert c['orientation']==('forward'if c['stage']%2==0 else'backward') + assert c['local_program_sha256']==checks[c['orientation']]['sha256'] + desc['directory']='providers/'+pid + desc['artifact_sha256']={name:sha(d/name)for name in desc['artifact_sha256']} + sources[pid]=dict(artifact_sha256=desc['artifact_sha256'],canonical_content_sha256=hashlib.sha256(json.dumps(word,sort_keys=True,separators=(',',':')).encode()).hexdigest(),all_phase_edges=phase['directed_edges']) +assert len(helpers)==1,'providers disagree on helper count R: %s'%sorted(helpers) +plan['runtime_source_plan_sha256']=sha(a.plan) +(a.out/'PLAN.json').write_text(json.dumps(plan,indent=2)+'\n') +receipt=dict(status='PASS_FROZEN_048_ALLCOLD_DISPATCH_FRESH_PROVIDER_BINDING',source_plan_sha256=sha(a.plan),runtime_plan_sha256=sha(a.out/'PLAN.json'),providers=sources,only_rebound_fields=['provider_registry.directory','provider_registry.artifact_sha256','runtime_source_plan_sha256']) +(a.out/'BINDING.json').write_text(json.dumps(receipt,indent=2)+'\n') +print(receipt['status']) diff --git a/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py b/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py new file mode 100644 index 0000000000..e86b8527b4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/bit_supplier_controls.py @@ -0,0 +1,111 @@ +"""Negative controls for the cited PR589 bit supplier and its derived rank-mass deficit. + +Apache-2.0. Each control mutates one input of the changed bit-supplier sites in assemble.py (the pinned record, the +deficit derivation from the word's parameters, the profile/live binding, the claimed endpoint) and runs the unchanged +assemble() on the fresh owner/invoice receipts. Every control must be rejected; the unmutated run must pass. +`revert_hardcoded_9984` restores the PR543 constant the parent package hard-coded: with PR589's word it must fail. +""" +import argparse +import copy +import hashlib +import json +import os +import tempfile +from fractions import Fraction as Q +from pathlib import Path +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) + +assert __debug__, 'Assertions required' +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() + + +def verify(owner_path, invoice_path, source_package): + os.environ['GAIN_PR564_SOURCE'] = str(source_package.resolve()) + import assemble as A + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + args = (owner, invoice, sha(owner_path), sha(invoice_path)) + baseline = A.assemble(*args) + data = A.BIT_PATH.read_bytes() + record = A.load_bit(data) + word = record['word'] + assert A.bit_deficit(word, record['nine']['bit']['live']) == 10272 == 32 * (8 * 111 - 9 * 63) + + real_load, real_deficit = A.load_bit, A.bit_deficit + + def with_record(mutate): + def load(d): + r = copy.deepcopy(real_load(d)); mutate(r); return r + return load + + def shift_profile(r): # one rank-1 child becomes rank 2: rank mass +1, totals unchanged + p = r['nine']['profile']; p['1'] -= 1; p['2'] += 1; r['nine']['bit']['rank_mass'] += 1 + + bumped = data.replace(record['nine']['bit_lower'].encode(), + str(Q(record['nine']['bit_lower']) + Q(1, 10**24)).encode(), 1) + assert bumped != data + pr543 = (source_package / 'inputs/PR543-EXPECTED.json').read_bytes() + controls = [ + # deficit site: the parent's hard-coded constant, restored + ('revert_hardcoded_9984', dict(bit_deficit=lambda w, live: 9984)), + # deficit site: each word parameter perturbed alone + ('ports_112', dict(load_bit=with_record(lambda r: r['word'].__setitem__('v', 112)))), + ('decoder_constant_64_copy_ranks_unchanged', dict(load_bit=with_record(lambda r: r['word'].__setitem__('decoder_constant', 64)))), + # v=111, cst=64 derives 32*(888-576)=9984: consistent word, wrong for the priced profile + ('decoder_constant_64_with_one_copy_rank_8', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('decoder_constant', 64), r['word']['copy_ranks'].__setitem__(0, 8))))), + ('eight_retained_totals', dict(load_bit=with_record(lambda r: (r['word'].__setitem__('copy_ranks', [7] * 8), r['word'].__setitem__('decoder_constant', 56))))), + ('live_minus_one', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('live', r['nine']['bit']['live'] - 1)))), + # profile binding: same totals, rank mass +1 + ('profile_rank_mass_plus_one', dict(load_bit=with_record(shift_profile))), + ('profile_rank_mass_receipt_mismatch', dict(load_bit=with_record(lambda r: r['nine']['bit'].__setitem__('rank_mass', r['nine']['bit']['rank_mass'] + 1)))), + # endpoint: the next 1e-24 grid point + ('bit_lower_next_grid', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('bit_lower', str(Q(r['nine']['bit_lower']) + Q(1, 10**24)))))), + ('not_nine_stage_record', dict(load_bit=with_record(lambda r: r['nine'].__setitem__('pipeline', r['nine']['pipeline'].replace('nine-stage', 'eleven-stage'))))), + # pinned-input site: tampered bytes and the parent's PR543 file under the PR589 pin + ('tampered_bytes_next_grid', dict(read=bumped)), + ('pr543_file_under_pr589_pin', dict(read=pr543)), + ] + rejected = [] + scratch = Path(tempfile.mkdtemp(prefix='bitctl-')) + for name, patch in controls: + saved_path = A.BIT_PATH + try: + if 'read' in patch: + tmp = scratch / (name + '.json'); tmp.write_bytes(patch['read']); A.BIT_PATH = tmp + A.load_bit = patch.get('load_bit', real_load) + A.bit_deficit = patch.get('bit_deficit', real_deficit) + try: + A.assemble(*args) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid bit supplier accepted: ' + name) + finally: + A.load_bit, A.bit_deficit, A.BIT_PATH = real_load, real_deficit, saved_path + if 'read' in patch: + tmp.unlink() + scratch.rmdir() + assert rejected == [n for n, _ in controls] + again = A.assemble(*args) + assert again['kappa'] == baseline['kappa'] and again['bit_lower'] == baseline['bit_lower'] + return dict( + status='PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS', + kappa=baseline['kappa_decimal'], bit_lower=baseline['bit_lower'], bit_decimal=baseline['bit_decimal'], + binding=baseline['binding'], bit_supplier=baseline['bit_supplier'], + derived_deficit=baseline['bit_supplier']['derived_deficit'], + rejected_controls=rejected, + assembler_sha256=sha(Path(__file__).resolve().parent / 'assemble.py'), + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--source-package', type=Path, required=True) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice, a.source_package) + a.out.write_text(json.dumps(result, indent=2) + '\n', newline='\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/gmx-t74-borrow43-handoff/code/emit_allcold.py b/research/gmx-t74-borrow43-handoff/code/emit_allcold.py new file mode 100644 index 0000000000..fb06ae767b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/emit_allcold.py @@ -0,0 +1,154 @@ +"""Two-provider width-seven whole-owner derivative, adapted with OpenAI Codex assistance. +Based on PR514 and its credited PR484/507 lineage. +CLI: --base VERIFIED_VARIANT --owners ASYNC-OWNERS.json.gz --plan ASYNC-PLAN.json --out OUT +No optimizer or unpublished word builder runs. The frozen map explicitly names +one whole helper per family per complete invocation, plus borrowed spectators. +""" +import sys,json,gzip,hashlib,copy,argparse +from pathlib import Path +from collections import Counter,defaultdict +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +parser=argparse.ArgumentParser(description=__doc__) +parser.add_argument('--base',type=Path,required=True);parser.add_argument('--owners',type=Path,required=True);parser.add_argument('--plan',type=Path,required=True);parser.add_argument('--out',type=Path,required=True) +a=parser.parse_args();BASE,MAP,PLAN,OUT=(p.resolve()for p in(a.base,a.owners,a.plan,a.out));assert not OUT.exists();OUT.mkdir(parents=True) +class OH: + @staticmethod + def idle_basis(q): + z=next(i for i in range(9)if not(q>>i)&1);u=q^(1<>i&1 else 0)for i in order]+[1<0 and all(x['R']==R for x in registry.values()),'providers disagree on helper count R' + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz')and replay['local_programs_sha256']==sha(directory/'LOCAL-PROGRAMS.json.gz') + widths=[len(pc['frames'][pc['final'][2*V+h]])-len(pc['frames'][pc['start'][2*V+h]])for h in range(R)] # HPE: residual width |final|-|start| + assert widths==plan['provider_registry'][provider_id]['widths'] + for name in provider_files: + value=sha(directory/name);assert value==plan['provider_registry'][provider_id]['artifact_sha256'][name] + source_artifacts[f'providers/{provider_id}/{name}']=value + registry[provider_id]=dict(local_programs=programs,canonical_word_sha256=sha(directory/'CANONICAL-WORD.json.gz'),local_programs_sha256=sha(directory/'LOCAL-PROGRAMS.json.gz'),local_program_checks=checks,exact_local_clifford_recipe_sha256=sha(directory/'CLIFFORD-RECIPES.json'),residual_adapter_sha256=sha(directory/'RESIDUAL-ADAPTERS.json'),v=V,h=9,R=R,ports=pc['ports'],centers=pc['centers'],widths=widths) +assert len(roles)==CALLS*R # one whole-owner role per (call, provider helper) +selected={(c['stage'],c['replica']):c for c in plan['provider_calls']} +assert len(selected)==CALLS and set(selected)==set(call_order) +assert Counter(c['provider']for c in selected.values())==COUNTS +per_call_widths={(c['stage'],c['replica']):c['widths']for c in plan['per_call_widths']} +for key,c in selected.items(): + assert c['time']==at[key] and c['provider']in registry + assert per_call_widths[key]==registry[c['provider']]['widths'] +for key in('local_programs','exact_local_clifford_recipe_sha256','residual_adapter_sha256'):t.pop(key) +t['local_providers']=registry +rank={z['child']:z['rank']for z in parent['idle_children']};side={};pairs={} +for e in parent['execution_schedule']: + if e['kind']=='idle_cover_sweep': + for sd,ch in enumerate(e['child_indices']):side[ch]=sd;pairs[ch]=e['pair'] +bycall=defaultdict(dict);used=defaultdict(set);sigmas={};digest=hashlib.sha256();entering=0 +for z in roles: + s,rep,h=z['stage'],z['replica'],z['helper'];i,cp,off,w,f=z['child'],z['copy'],z['offset'],z['width'],z['family'];orp,port=divmod(cp,V) + assert 0<=s<9 and 0<=rep=0 and off+w<=rank[i] + assert z['time']==at[s,rep] and z['time'] in plan['windows'][f'{orp},{i}'][1] + B=OH.idle_basis(canon['ports'][port]);pending=list(map(int,ph['recipes'][port]['idle_children'][i]['orthogonal_axes']));assert len(pending)==rank[i] + occ=[B.index(v)for v in pending[off:off+w]];sp=OH.spectators(canon['ports'][port],pending,off,w)if w<9 else[] + order=occ+sp+[j for j in range(M)if j not in occ and j not in sp];assert len(order)==len(set(order))==M + sigma=[B[j]for j in order];sigmahash=hashlib.sha256(json.dumps(sigma,separators=(',',':')).encode()).hexdigest();sigmas[sigmahash]=sigma + route=[4,i,off,w,sp]if w<9 else[3,i,off];bycall[s,rep][h]=[f,route];entering+=w<9 + cells=set(range(off,off+w));assert not used[i,orp,port]&cells;used[i,orp,port]|=cells + digest.update(json.dumps([s,rep,h,f,sigmahash],separators=(',',':')).encode()+b'\n') +for c in t['calls']: + k=(c['stage'],c['replica']);assert set(bycall[k])==set(range(R)) + c['owners']=c['owners'][:(2*V)]+[bycall[k][h]for h in range(R)];assert len({f for f,r in c['owners']})==2*V+R and all(f2*max(paid)**2 + +assert all(c['local_program_sha256']==registry[c['provider_id']]['local_program_checks'][c['orientation']]['sha256']for c in t['calls']) +t['provider_dispatch']='For each indivisible local_cover_sweep, execute local_providers[call.provider_id].local_programs[call.orientation] with that provider residual adapters and Clifford recipes. The sweep provider_id must equal its call provider_id.' +raw=json.dumps(t,sort_keys=True,separators=(',',':')).encode();(OUT/'GLOBAL-TEMPLATE.json.gz').write_bytes(gzip.compress(raw,mtime=0)) +res=dict(status='EMITTED_MIXED_PROVIDER_ASYNCHRONOUS_WHOLE_OWNER_COMPLEX_TEMPLATE', + template_sha256=hashlib.sha256(raw).hexdigest(), + parent_template_sha256=hashlib.sha256(gzip.decompress((BASE/'split-centres/GLOBAL-TEMPLATE.json.gz').read_bytes())).hexdigest(), + live=DATA,physical=physical,global_profile=dict(sorted(paid.items())), + rank_mass=sum(r*n for r,n in paid.items()),deficit=DEFICIT,maxchild=max(paid), + hosted_residuals=len(roles),banks_per_stage=[0]*9,entering_helper_roles=entering, + unique_actual_73column_sigmas=len(sigmas),sigma_stream_sha256=digest.hexdigest(), + cross_replica_helper_roles=sum(z['replica']!=z['owner_replica']for z in roles), + asynchronous_order_sha256=hashlib.sha256(json.dumps(call_order,separators=(',',':')).encode()).hexdigest(), + source_artifacts=source_artifacts,provider_counts=dict(Counter(c['provider_id']for c in t['calls'])), + scope='Two actual verified plain/width-seven providers dispatched per complete invocation; independent controller/spectator/normalization and complete finite invoice admission required.') +(OUT/'HOSTED.json').write_text(json.dumps(res,indent=2)+'\n');(OUT/'ACTUAL-SIGMAS.json.gz').write_bytes(gzip.compress(json.dumps(sigmas,separators=(',',':')).encode(),mtime=0));print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/code/exact_coarse.py b/research/gmx-t74-borrow43-handoff/code/exact_coarse.py new file mode 100644 index 0000000000..d73ed91829 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/exact_coarse.py @@ -0,0 +1,57 @@ +"""Exact integer evaluation of the retained degree-24 exponential enclosure. + +Same polynomial, geometric tail and final rounding as the pinned rational engine. +Prepared under dataisfire with substantial OpenAI Codex assistance. Apache-2.0. +""" +from fractions import Fraction as F +if not __debug__: + raise RuntimeError('Assertions must be enabled') + + +def _polynomial(x): + """Return A,D with A/D = sum(x**j/j!, j=0..24), without Fraction steps.""" + p, q = x.numerator, x.denominator + total = coefficient = q_power = 1 + for j in range(23, -1, -1): + q_power *= q + coefficient *= j + 1 + total = total * p + coefficient * q_power + return total, coefficient * q_power + + +def exponential(lower, upper, dyad=1 << 224): + """Return exactly the original outward-rounded interval, not a tighter proxy.""" + if not isinstance(lower, (int, F)) or not isinstance(upper, (int, F)): + raise TypeError('Exact rational endpoints required') + lower, upper = F(lower), F(upper) + assert 0 <= lower <= upper < F(1, 10) + assert type(dyad) is int and dyad > 0 + a, d = _polynomial(lower) + low = (a * dyad) // d + a, d = _polynomial(upper) + p, q = upper.numerator, upper.denominator + # S24 + (u**25/25!) / (1-u/26), written over one integer denominator. + remainder_denominator = 26 * q - p + numerator = 25 * a * remainder_denominator + 26 * p**25 + denominator = 25 * d * remainder_denominator + high = -((-numerator * dyad) // denominator) + return F(low, dyad), F(high, dyad) + + +def moment(engine, profile, dimension, live, endpoint, bad=False): + """Opt-in adapter; retains the original logs, weights, surcharge and rounding.""" + low = high = F(0) + for rank, count in profile.items(): + assert 0 < rank < dimension and count > 0 + l, u = engine.logarithm(F(dimension, rank)) + e, f = exponential(endpoint*l, endpoint*u, engine.DYAD) + weight = F(rank*count, dimension*live) + low += weight*e + high += weight*f + if bad: + l, u = engine.logarithm(F(dimension)) + e, f = exponential(endpoint*l, endpoint*u, engine.DYAD) + weight = F(32*dimension*sum(profile.values()), 10**16*live) + low += weight*e + high += weight*f + return engine.floor(low), engine.ceil(high) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_cache.py b/research/gmx-t74-borrow43-handoff/code/fine_cache.py new file mode 100644 index 0000000000..b121840b8e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_cache.py @@ -0,0 +1,135 @@ +"""Hash-keyed memo + parallel prefetch for the finer-constant rational moment engines (package code). + +The finer engines are deterministic pure functions of (engine source, H, m, W, z, bad). Several package stages +(assembly, admission controls, bit controls, geometry controls) each run the same assembler on the same valid inputs; this module +lets them share one computation: each result is stored in the directory named by FINE_ENGINE_CACHE (set by verify.py to a +directory inside the work directory), keyed by sha256 over (engine file sha256, all arguments). Without that variable nothing is cached +and nothing changes. `prefetch` computes the independent enclosures concurrently in worker processes (this file run as a script). +""" +import hashlib, json, os, subprocess, sys, time +from fractions import Fraction as F +from pathlib import Path + +HERE = Path(__file__).resolve().parent +ENGINE_FILES = {'fine_mercator': HERE / 'fine_mercator.py', 'fine_moment': HERE / 'fine_moment.py'} + + +def _sha(p): + return hashlib.sha256(Path(p).read_bytes()).hexdigest() + + +def _key(name, H, m, W, z, bad, entries=None): + blob = json.dumps([name, _sha(ENGINE_FILES[name]), sorted(H.items()) if H is not None else None, m, W, str(z), bool(bad), + entries], sort_keys=True) + return hashlib.sha256(blob.encode()).hexdigest() + + +def _compute(name, H, m, W, z, bad, entries): + if name == 'fine_mercator': + import fine_mercator as E + return E.moment(H, m, W, z, bad) + import fine_moment as E + return E.moment(m, W, entries if entries is not None else list(H.items()), z) + + +def _dump(res): + return [[str(x.numerator), str(x.denominator)] for x in res] + + +def _load(raw): + return tuple(F(int(a), int(b)) for a, b in raw) + + +def _log(d, what, name, key, t0): + try: + with open(Path(d) / 'LOG.txt', 'a') as f: + f.write('%s %s %s %.1fs pid=%d\n' % (what, name, key[:12], time.monotonic() - t0, os.getpid())) + except OSError: + pass + + +def memo(name, key_parts, fn): + """Pickle memo of a deterministic pure computation (used for the exact outer witness): key = sha256 of key_parts.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return fn() + import pickle + t0 = time.monotonic() + k = hashlib.sha256(repr((name, key_parts)).encode()).hexdigest() + p = Path(d) / (name + '-' + k + '.pkl') + if p.is_file(): + try: + blob = p.read_bytes() + rec = pickle.loads(blob) + if rec['key'] == k: + _log(d, 'HIT', name, k, t0) + return rec['value'] + except Exception: + pass + val = fn() + Path(d).mkdir(parents=True, exist_ok=True) + tmp = p.with_suffix('.tmp%d' % os.getpid()) + tmp.write_bytes(pickle.dumps(dict(key=k, value=val), pickle.HIGHEST_PROTOCOL)) + tmp.replace(p) + _log(d, 'MISS', name, k, t0) + return val + + +def moment(name, H, m, W, z, bad=False, entries=None): + """fine_mercator.moment(H,m,W,z,bad) or fine_moment.moment(m,W,entries or H.items(),z), memoised on disk when enabled.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return _compute(name, H, m, W, z, bad, entries) + k = _key(name, H, m, W, z, bad, entries) + p = Path(d) / (k + '.json') + t0 = time.monotonic() + if p.is_file(): + try: + rec = json.loads(p.read_text()) + if rec['key'] == k and rec['check'] == hashlib.sha256((k + json.dumps(rec['result'])).encode()).hexdigest(): + _log(d, 'HIT', name, k, t0) + return _load(rec['result']) + except (ValueError, KeyError, OSError): + pass + res = _compute(name, H, m, W, z, bad, entries) + Path(d).mkdir(parents=True, exist_ok=True) + raw = _dump(res) + tmp = p.with_suffix('.tmp%d' % os.getpid()) + tmp.write_text(json.dumps(dict(key=k, result=raw, check=hashlib.sha256((k + json.dumps(raw)).encode()).hexdigest()))) + tmp.replace(p) + _log(d, 'MISS', name, k, t0) + return res + + +def prefetch(tasks, workers=None): + """tasks: list of dicts(name,H,m,W,z,bad,entries). Computes the missing ones concurrently into the cache.""" + d = os.environ.get('FINE_ENGINE_CACHE') + if not d: + return + Path(d).mkdir(parents=True, exist_ok=True) + todo = [t for t in tasks if not (Path(d) / (_key(t['name'], t['H'], t['m'], t['W'], t['z'], t['bad'], t.get('entries')) + '.json')).is_file()] + if not todo: + return + workers = max(1, min(int(workers or os.environ.get('FINE_ENGINE_WORKERS') or 8), len(todo), os.cpu_count() or 1)) + procs = [] + for w in range(workers): + chunk = todo[w::workers] + spec = Path(d) / ('.tasks%d-%d.json' % (os.getpid(), w)) + spec.write_text(json.dumps([dict(name=t['name'], H=sorted(t['H'].items()) if t['H'] is not None else None, m=t['m'], W=t['W'], + z=str(t['z']), bad=bool(t['bad']), entries=t.get('entries')) for t in chunk])) + procs.append((subprocess.Popen([sys.executable, '-B', str(Path(__file__).resolve()), str(spec)], stdout=subprocess.DEVNULL, + stderr=subprocess.PIPE, creationflags=getattr(subprocess, 'CREATE_NO_WINDOW', 0)), spec)) + for pr, spec in procs: + err = pr.communicate()[1] + spec.unlink() + if pr.returncode: + raise RuntimeError('fine-engine prefetch worker failed: ' + err.decode('utf-8', 'replace')[-800:]) + + +if __name__ == '__main__': + sys.set_int_max_str_digits(0) + sys.path.insert(0, str(HERE)) + for t in json.loads(Path(sys.argv[1]).read_text()): + H = {int(r): int(n) for r, n in t['H']} if t['H'] is not None else None + entries = [tuple(e) for e in t['entries']] if t.get('entries') is not None else None + moment(t['name'], H, t['m'], t['W'], F(t['z']), t['bad'], entries) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_mercator.py b/research/gmx-t74-borrow43-handoff/code/fine_mercator.py new file mode 100644 index 0000000000..e22682427d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_mercator.py @@ -0,0 +1,72 @@ +"""Finer-constant copy of the retained Mercator moment engine (engines/moment.py): same algorithm and enclosure logic, evaluated in directed-rounding +integer fixed point on the 2^-10182 grid instead of exact rationals (same enclosure semantics, far faster). +10182 (even) Mercator terms (tail bounded by the next term), 1542 exponential terms. + +Soundness of the integer evaluation: every quantity is non-negative and every operation is monotone, so flooring every intermediate gives a lower +bound and ceiling every intermediate gives an upper bound; the alternating Mercator sum tracks separate lower/upper term bounds and subtracts +upper terms from the lower sum (and lower terms from the upper sum). The enclosure is then outward-rounded to the 2^-10182 grid.""" +from fractions import Fraction as F +try: + from gmpy2 import mpz # optional accelerator: identical integer results, much faster +except ImportError: + mpz = int +from functools import lru_cache +from math import factorial +DYAD = 1 << 10182 +LOGN = 10183 # the loop sums n = 1..LOGN-1 = 10182 terms: an EVEN alternating partial sum lies BELOW log(1+z), as the retained engine (n = 1..224) does +EXPN = 1542 +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) +@lru_cache(None) +def mercator(y): + """Enclosure [s, s + next term] of log(y) for 1 <= y <= 3/2 by the alternating Mercator series in z = y-1.""" + z=y-1 + assert 0 <= z <= F(1,2) + assert (LOGN - 1) % 2 == 0, 'an even number of terms is required: an odd partial sum lies above the log' + p,q=mpz(z.numerator),mpz(z.denominator) + tl=tu=mpz(DYAD); sl=su=0 + for n in range(1, LOGN): + tl=tl*p//q; tu=-((-tu*p)//q) # z^n bounds + lo=tl//n; hi=-((-tu)//n) + if n & 1: sl+=lo; su+=hi + else: sl-=hi; su-=lo + tu=-((-tu*p)//q) # z^LOGN upper bound + su+=-((-tu)//LOGN) + return F(int(sl),DYAD), F(int(su),DYAD) + +@lru_cache(None) +def logarithm(x): + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + a,b=mercator(x); c,d=mercator(F(3,2)); e,f=mercator(F(4,3)) + return floor(a+(k+j)*c+k*e), ceil(b+(k+j)*d+k*f) + +def exponential(l,u): + """Outward enclosure of exp on [l,u] (0 <= l <= u < 1/10) on the 2^-10182 grid: lower = partial sum through x^(EXPN-1)/(EXPN-1)! + (all terms positive), upper = partial sum at u plus 2*u^EXPN/EXPN! (the tail is at most u^EXPN/EXPN! / (1 - u/(EXPN+1)) <= 2 u^EXPN/EXPN!).""" + assert 0 <= l <= u < F(1,10) + xl=mpz(l.numerator)*DYAD//l.denominator; xu=-((-mpz(u.numerator)*DYAD)//u.denominator) + # lower: Taylor sum through x^(EXPN-1)/(EXPN-1)! with every term floored; upper: same with ceilings plus the tail 2*x^EXPN/EXPN! + # (nested floors/ceilings: floor(floor(v/2^k)/j) = floor(v/(j 2^k)), so the shift form is the same rounding) + tl=sl=mpz(DYAD); th=sh=mpz(DYAD) + for j in range(1, EXPN): + tl=((xl*tl)>>10182)//j; sl+=tl + c=-((-xu*th)>>10182); th=-((-c)//j); sh+=th + c=-((-xu*th)>>10182); tn=-((-c)//EXPN) + sh+=2*tn+2 + return F(int(sl),DYAD), F(int(sh),DYAD) + +def moment(H,m,W,a,bad=False): + lo=hi=F(0) + for r,n in H.items(): + assert 0 < r < m and n > 0 + l,u=logarithm(F(m,r)); e,f=exponential(a*l,a*u) + p=F(r*n,m*W);lo+=p*e;hi+=p*f + if bad: + l,u=logarithm(F(m));e,f=exponential(a*l,a*u) + p=F(32*m*sum(H.values()),10**16*W) + lo+=p*e;hi+=p*f + return floor(lo),ceil(hi) diff --git a/research/gmx-t74-borrow43-handoff/code/fine_moment.py b/research/gmx-t74-borrow43-handoff/code/fine_moment.py new file mode 100644 index 0000000000..9d7d774d62 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/fine_moment.py @@ -0,0 +1,59 @@ +"""Higher-precision independent base-two moment enclosure (same algorithm as base_two_moment.py, finer constants), evaluated in directed-rounding +integer fixed point on the 2^-10239 grid (lower bounds: floor every non-negative intermediate; upper bounds: ceil every intermediate), which is +monotone and therefore sound; same enclosure semantics as the exact-rational original, far faster.""" +from fractions import Fraction as Q +from functools import lru_cache +try: + from gmpy2 import mpz # optional accelerator: identical integer results, much faster +except ImportError: + mpz = int +GRID = 1 << 10239 +LOG_TERMS = 3226 +EXP_TERMS = 1542 +def require(c, msg): + if not c: raise ValueError(msg) +def _cd(a, b): return -((-a)//b) +SH = 10239 +@lru_cache(None) +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + p, q = mpz(z.numerator), mpz(z.denominator) + p2, q2 = p*p, q*q + pl = GRID*p//q; ph = _cd(GRID*p, q) # z^1 bounds + sl = sh = mpz(0) + for j in range(LOG_TERMS): + sl += pl//(2*j+1); sh += _cd(ph, 2*j+1) + pl = pl*p2//q2; ph = _cd(ph*p2, q2) # z^(2j+3) + # tail 2 z^(2N+1) / ((2N+1)(1-z^2)), rounded up; ph = z^(2N+1) upper bound + tail = _cd(2*ph*q2, (2*LOG_TERMS+1)*(q2-p2)) + return Q(int(2*sl), GRID), Q(int(2*sh+tail), GRID) +def log_bounds(x): + require(x >= 1, "logarithm range") + k = 0 + while x > 2: + x /= 2; k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) +def exp_bounds(x): + """Outward enclosure of exp(x), 0 <= x < 1, on the 1/GRID grid: lower = partial sum through x^(EXP_TERMS-1)/(EXP_TERMS-1)! (positive terms), + upper = partial sum + 2*x^EXP_TERMS/EXP_TERMS! (tail <= that for x < 1).""" + require(0 <= x < 1, "exponential range") + xl = mpz(x.numerator)*GRID//x.denominator; xu = _cd(mpz(x.numerator)*GRID, x.denominator) + tl = th = mpz(GRID); sl = sh = mpz(GRID) + for j in range(1, EXP_TERMS): + tl = ((tl*xl) >> SH)//j; th = _cd(-((-th*xu) >> SH), j) + sl += tl; sh += th + tn = _cd(-((-th*xu) >> SH), EXP_TERMS) + return Q(int(sl), GRID), Q(int(sh+2*tn+2), GRID) +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lo += Q(t*count, m*W)*exp_bounds(saving*l)[0] + hi += Q(t*count, m*W)*exp_bounds(saving*u)[1] + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) diff --git a/research/gmx-t74-borrow43-handoff/code/freeze_spec.py b/research/gmx-t74-borrow43-handoff/code/freeze_spec.py new file mode 100644 index 0000000000..e4e72b5a07 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/freeze_spec.py @@ -0,0 +1,29 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +spec['expected']['assembly_controls_rejected'] = 69 +spec['expected']['provider_counts'] = {'gauge44':333} +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/code/generated_identity.py b/research/gmx-t74-borrow43-handoff/code/generated_identity.py new file mode 100644 index 0000000000..74a9b60479 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/generated_identity.py @@ -0,0 +1,62 @@ +"""Proof-relevant identities for generated artifacts, independent of gzip streams. + +Immutable source archives retain their exact byte hashes. For freshly emitted +artifacts, gzip identity is the exact decompressed payload and JSON identity +retains every field. Only CLIFFORD-REVIEW's root timing field is excluded. +Literal receipt references are checked against actual files before replacing +the three gzip references (and the phase recipe reference) with content hashes. +Prepared with OpenAI Codex assistance; Apache-2.0. +""" +from pathlib import Path +import copy +import gzip +import hashlib +import json +import math + +if not __debug__: + raise RuntimeError('Assertions must remain enabled') + +FILES=('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json') + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + +def json_identity(value): + return hashlib.sha256(json.dumps(value,sort_keys=True,separators=(',',':'),allow_nan=False).encode('utf-8')).hexdigest() + +def payload_identity(path): + return hashlib.sha256(gzip.decompress(Path(path).read_bytes())).hexdigest() + +def phase_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'CLIFFORD-REVIEW.json').read_bytes())if value is None else value) + assert value['canonical_word_sha256']==sha(directory/'CANONICAL-WORD.json.gz'),'stale phase canonical word reference' + assert value['recipe_sha256']==sha(directory/'CLIFFORD-RECIPES.json'),'stale phase recipe reference' + seconds=value.pop('seconds') + assert type(seconds)in(int,float) and math.isfinite(seconds) and seconds>=0,'invalid phase timing metadata' + value['canonical_word_sha256']=payload_identity(directory/'CANONICAL-WORD.json.gz') + value['recipe_sha256']=json_identity(json.loads((directory/'CLIFFORD-RECIPES.json').read_bytes())) + return value + +def native_value(directory,value=None): + directory=Path(directory) + value=copy.deepcopy(json.loads((directory/'INDEPENDENT-LOCAL-REPLAY.json').read_bytes())if value is None else value) + for field,name in [('canonical_word_sha256','CANONICAL-WORD.json.gz'),('local_programs_sha256','LOCAL-PROGRAMS.json.gz')]: + assert value[field]==sha(directory/name),'stale native artifact reference: '+field + value[field]=payload_identity(directory/name) + return value + +def artifact_identities(directory): + directory=Path(directory) + result={} + for name in FILES: + path=directory/name + if name.endswith('.gz'): + result[name]=payload_identity(path) + else: + value=phase_value(directory)if name=='CLIFFORD-REVIEW.json'else native_value(directory)if name=='INDEPENDENT-LOCAL-REPLAY.json'else json.loads(path.read_bytes()) + result[name]=json_identity(value) + return result diff --git a/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py b/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py new file mode 100644 index 0000000000..68f0d5aa64 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/invoice_allcold.py @@ -0,0 +1,367 @@ +"""Fresh call-specific mixed-provider finite invoice. + +Prepared with OpenAI Codex assistance, Apache-2.0. The scalar/Horner recount +and finite inequalities are adapted from the retained PR558 -> PR552 -> +PR531 invoice_final.py, whose notices and sources are preserved in the package. +Every call selects a hash-bound provider. Shared compiler reserves use maxima; +primitive work, coefficient work, local children and wrappers are also summed +from actual selected provider/orientation records. +""" +import argparse, gzip, hashlib, json +import sys as _s,pathlib as _p;_s.path.insert(0,str(_p.Path(__file__).resolve().parent)) +from witness import * +from generated_identity import artifact_identities +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +assert __debug__, 'Assertions required' + +def read(path): + data=path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix=='.gz' else data) +def filehash(path): return hashlib.sha256(path.read_bytes()).hexdigest() +def contenthash(path): + data=path.read_bytes() + return hashlib.sha256(gzip.decompress(data) if path.suffix=='.gz' else data).hexdigest() +def programhash(events): + return hashlib.sha256(json.dumps(events,separators=(',',':')).encode()).hexdigest() + +def recount_provider(local_dir, registry): + cp=local_dir/'CANONICAL-WORD.json.gz'; pp=local_dir/'LOCAL-PROGRAMS.json.gz' + rp=local_dir/'INDEPENDENT-LOCAL-REPLAY.json' + w,programs,replay=read(cp),read(pp),read(rp) + checks=read(local_dir/'LOCAL-CHECKS.json') + assert set(programs)=={'forward','backward'} + assert replay['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert replay['canonical_word_sha256']==filehash(cp)==registry['canonical_word_sha256'] + assert replay['local_programs_sha256']==filehash(pp)==registry['local_programs_sha256'] + assert programs==registry['local_programs'] + assert checks==registry['local_program_checks'] + assert filehash(local_dir/'CLIFFORD-RECIPES.json')==registry['exact_local_clifford_recipe_sha256'] + assert filehash(local_dir/'RESIDUAL-ADAPTERS.json')==registry['residual_adapter_sha256'] + v,helpers,h,m=w['v'],w['R'],w['h'],73 + assert (v,h)==(112,9) and type(helpers) is int and helpers>0 + assert registry['v']==v and registry['R']==helpers and registry['h']==h + assert registry['ports']==w['ports'] and registry['centers']==w['centers'] + assert replay['v']==v and replay['helpers']==helpers + zero_labels=sorted(w.get('zero_buffers',[]));zero_buffers=len(zero_labels) + assert len(set(zero_labels))==zero_buffers + n=2*v+helpers + widths = [len(w['frames'][w['final'][r]])-len(w['frames'][w['start'][r]]) for r in range(2*v, 2*v+helpers)] # HPE: |final|-|start| + terminal_codim = sum(h-len(w['frames'][w['final'][r]]) for r in range(2*v, 2*v+helpers)) # HPE: 0 for FULL-ended helpers + ends = {r: f for r, f in enumerate(w['final']) if r >= 2*v and f != 1} + assert len(widths) == helpers + entrances = {r: f for r, f in enumerate(w['start']) if r >= 2*v and f != 0} + entering = len(entrances) + wrapped = {**entrances, **{r: 0 for r in ends if r not in entrances}} # COLD-HPE: cold hyperplane-ended helpers carry wrappers too + cold_ends = len(wrapped) - len(entrances) + assert entering == replay['entering_helpers'] + local = {} + for orientation, events in programs.items(): + # Endpoint equality and native frames were already independently + # replayed on all n columns in the hash-bound receipt above. + env = {('L', r): Q(1) for r in range(n)} + peak = Q(1) + real = macros = workops = 0 + zero_clears=zero_peak=warp_events=0 + paid = Counter() + wrappers = {'pre': set(), 'post': set()} + warp_classes = set(); zlive = set() # BW: PR2226 warps / private zero buffers (rank zero, price zero) + for event in events: + tag = event[0] + assert not zlive or tag in ('scalar','warp','zero_buffer'), 'a child cannot observe a private cleanup buffer' + if tag == 'climb': + paid[event[5]] += 1 + elif tag == 'warp': + warp_events+=1 + # BW: rank-zero monomial logical reference change K_G^{+-1} of one register (PR2226): no paid rank, no coefficient work, + # coefficient norms are unchanged by a unit-phase permutation. Frames and exact columns are bound by the hash-checked replay. + _, register, op, f0, f1 = event + assert op and len(w['frames'][f0]) == len(w['frames'][f1]), 'a warp is rank zero' + assert tuple(register) in env, 'warp on an unallocated register' + warp_classes.add((1 if op > 0 else -1, abs(op), f0, f1)) + elif tag == 'zero_buffer': + _, kind, z = event + assert z in zero_labels + zero_clears+=1 # allocation and release each lower to an actual real/imaginary CLEAR + if kind == 'alloc': + assert ('Z', z) not in env and z in ends + env[('Z', z)] = Q(0); zlive.add(z);zero_peak=max(zero_peak,len(zlive)) + else: + assert kind == 'free' and z in zlive + del env[('Z', z)]; zlive.remove(z) + elif tag == 'center': + paid[event[4]] += 1 + elif tag == 'residual_adapter': + _, kind, register, frame, *end = event + assert kind in wrappers and wrapped.get(register) == frame + assert end == ([ends[register]] if register in ends else []) # HPE: R_{E,U}^-1 and L_{E,U}^-1 name U + assert register not in wrappers[kind] + wrappers[kind].add(register) + elif tag == 'scalar': + macros += 1 + scalar = event[1] + op, target = scalar[0], tuple(scalar[1]) + if op == 'clear': + env[target] = Q(0) + count = 1 + elif op == 'copy': + env[target] = env[tuple(scalar[2])] + count = 1 + elif op == 'scale': + q = Q(scalar[2], scalar[3]) + numerator, denominator = abs(q.numerator), q.denominator + assert numerator and numerator & (numerator-1) == 0 + assert denominator & (denominator-1) == 0 + env[target] *= abs(q) + count = abs(numerator.bit_length()-denominator.bit_length()) + int(q < 0) + elif op == 'add': + source = tuple(scalar[2]) + q = Q(scalar[3], scalar[4]) + numerator, denominator = abs(q.numerator), q.denominator + assert source != target and numerator > 0 + assert denominator & (denominator-1) == 0 + acc, count = 0, 1 # clear coefficient work + for i, bit in enumerate(bin(numerator)[2:]): + if i: + acc *= 2 + count += 1 + peak = max(peak, acc*env[source]) + if bit == '1': + acc += 1 + count += 1 + peak = max(peak, acc*env[source]) + value = Q(acc) + for _ in range(denominator.bit_length()-1): + value /= 2 + count += 1 + peak = max(peak, value*env[source]) + assert value == abs(q) + count += 2 # signed accumulation and work clear + env[target] = env.get(target, Q(0)) + abs(q)*env[source] + workops += count + else: + raise AssertionError(op) + real += 2*count + peak = max(peak, env[target]) + else: + assert tag in ('adapter', 'phase') + assert wrappers['pre'] == wrappers['post'] == set(wrapped) + # BW: every emitted warp class has an exact rank-zero recipe (lowered, then independently rechecked on all 512 columns) + # and every zero buffer was freed; a word without warps carries neither. + assert not zlive and zero_clears==2*zero_buffers and zero_peak==zero_buffers + assert {op for _, op, _, _ in warp_classes} == {x['op'] for x in w.get('warps', [])} + warp_recipes = read(local_dir/'CLIFFORD-RECIPES.json').get('warps', []) + assert warp_classes == {(x['sign'], x['op'], x['old'], x['new']) for x in warp_recipes} and all(x['rank'] == 0 for x in warp_recipes) + assert {int(k) for k in read(local_dir/'RESIDUAL-ADAPTERS.json').get('warps', {})} == {op for _, op, _, _ in warp_classes} + assert bool(warp_classes) == bool(replay.get('warp_replay', {}).get('warps')) and (not warp_classes or replay['warp_replay']['status'] == 'PASS_EXACT_MONOMIAL_WARP_COLUMNS_ALL_512_BOTH_ORIENTATIONS') + assert all(value == 0 for register, value in env.items() if register[0] == 'C') + prior = replay['local'][orientation] + assert prior['all_exact_columns'] == n and prior['private_work_erased'] + assert peak == Q(prior['prefix_l1_upper']) and peak < 2**prior['charged_payload_bits'] + bits = peak.numerator.bit_length()-peak.denominator.bit_length()+1 + assert bits == prior['prefix_bits_upper'] + assert real == checks[orientation]['real_component_primitive_bound'] + assert macros == checks[orientation]['scalar_macros'] + assert warp_events==checks[orientation].get('warp_events',0) + assert dict(paid) == {int(r): count for r, count in checks[orientation]['paid_profile'].items()} + assert dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()} + local[orientation] = dict( + events=len(events), macros=macros+zero_clears, real_component_primitives=real+2*zero_clears, + warp_events=warp_events,literal_scalar_macros=macros,literal_real_component_primitives=real,private_zero_buffer_clears=zero_clears,private_zero_buffer_peak=zero_peak, + prefix_l1=str(peak), prefix_bits=bits, + coefficient_work_primitive_count=workops, all_exact_columns=n, + dirty_helper_columns=helpers, all_dirty_helper_columns_restored=True, + private_centres_and_coefficient_work_cleared=True, + pre_wrappers=len(wrappers['pre']), post_wrappers=len(wrappers['post']), + endpoint_evidence='Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json') + + centres = len(w['centers']) + children = sum(checks['forward']['paid_profile'].values()) + assert checks['forward']['paid_profile'] == checks['backward']['paid_profile'] + macro_bound = max(row['macros'] for row in local.values()) + compiler = 64*(m+1)**3 + # A rank-zero warp is still an actual unit-phase permutation circuit. + # Charge one complete monomial routing reserve for every literal event. + warp_bound=max(row['warp_events']for row in local.values()) + adapters = 16*(macro_bound+warp_bound+children+n+centres+zero_buffers+2)+64*m + primitive_bound = max(row['real_component_primitives'] for row in local.values())+adapters*compiler + + assert widths==registry['widths'] + artifacts={f.name:filehash(f) for f in local_dir.iterdir() if f.is_file()} + phase_review=read(local_dir/'CLIFFORD-REVIEW.json') + return dict(local=local,helpers=helpers,centres=centres,v=v,h=h,n=n,zero_buffers=zero_buffers, + entering_helpers=entering,entrance_rank=sum(len(w['frames'][f]) for f in w['start'][2*v:]), + terminal_codimension=terminal_codim, hyperplane_ended_helpers=len(ends), # HPE: always reported (0 for FULL-ended words) + **({'cold_hyperplane_ended_helpers': cold_ends} if cold_ends else {}), # COLD-HPE: absent without cold ends + width_inventory=dict(sorted(Counter(widths).items())),widths=widths, + local_adapters=adapters,local_primitive_bound=primitive_bound, + compiler=compiler,children=children,artifacts=artifacts, + paid_profile=checks['forward']['paid_profile'], + program_hashes={o:programhash(events) for o,events in programs.items()},semantic_artifact_sha256=artifact_identities(local_dir)) + + +def run(base, hosted, audit, out, retained_invoice=None): + local_dir=base/'split-centres' + parent=read(local_dir/'GLOBAL-TEMPLATE.json.gz') + template_path=hosted/'GLOBAL-TEMPLATE.json.gz' + template=read(template_path); summary=read(hosted/'HOSTED.json') + owners=read(audit/'OWNERS-AND-PROFILE.json'); control=read(audit/'ASYNC-AUDIT.json') + template_hash=contenthash(template_path) + assert template_hash==control['complex_template_sha256']==owners['template_sha256']==summary['template_sha256'] + assert owners['status']=='PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE' + assert template['recipe']==parent['recipe'] + assert 'local_programs' not in template + assert set(template['local_providers'])==set(PIDS) + providers={pid:recount_provider(base/'providers'/pid,registry) + for pid,registry in template['local_providers'].items()} + for pid,p in providers.items(): + assert owners['provider_phase_semantic_sha256'][pid]==control['provider_phase_semantic_sha256'][pid]==p['semantic_artifact_sha256']['CLIFFORD-REVIEW.json'] + # The fresh controller admission must cite precisely these provider bytes. + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json', + 'INDEPENDENT-LOCAL-REPLAY.json','CLIFFORD-RECIPES.json', + 'CLIFFORD-REVIEW.json','RESIDUAL-ADAPTERS.json'): + path='providers/'+pid+'/'+name + assert summary['source_artifacts'][path]==p['artifacts'][name] + assert owners['source_artifacts'][path]==p['artifacts'][name] + # R is read from the provider words (all must agree); the parent dedicated-bank + # envelope keeps its own helper count R0 from the parent split-centres word. + assert len({p['helpers'] for p in providers.values()})==1,'providers disagree on helper count R' + v,h,m,centres=112,9,73,8 + helpers=next(iter(providers.values()))['helpers'];zero_buffers=max(p['zero_buffers']for p in providers.values()); n=2*v+helpers + assert all((p['v'],p['h'],p['centres'],p['n'])==(v,h,centres,n) for p in providers.values()) + parent_helpers=read(local_dir/'CANONICAL-WORD.json.gz')['R'] + stages,replicas,blocks_per_stream=GEO['stages'],REPLICAS,GEO['pairs'] + call_count=len(template['calls']) + assert call_count==stages*replicas==control['complete_invocations'] + assert control['one_owner_per_complete_invocation'] + assert len({(c['stage'],c['replica']) for c in template['calls']})==call_count + parent_calls={(c['stage'],c['replica']):c for c in parent['calls']} + sweeps=[e for e in template['execution_schedule'] if e['kind']=='local_cover_sweep'] + assert len(sweeps)==call_count + selected=[]; selected_paid=Counter(); provider_counts=Counter(); orientation_counts=Counter() + scalar=coefficient_work=macros=0; wrapper_factors=0 + factors_per_wrapper=2*(m-1) + for c in template['calls']: + pid,orientation=c['provider_id'],c['orientation']; p=providers[pid] + old=parent_calls[(c['stage'],c['replica'])] + assert orientation==old['orientation'] and c['owners'][:2*v]==old['owners'][:2*v] + assert c['local_program_sha256']==p['program_hashes'][orientation] + r=p['local'][orientation] + scalar+=r['real_component_primitives']; coefficient_work+=r['coefficient_work_primitive_count']; macros+=r['macros'] + wrapper_factors+=(r['pre_wrappers']+r['post_wrappers'])*factors_per_wrapper + provider_counts[pid]+=1; orientation_counts[(pid,orientation)]+=1 + selected_paid.update({int(k):v for k,v in p['paid_profile'].items()}) + selected.append(dict(stage=c['stage'],replica=c['replica'],provider_id=pid,orientation=orientation, + program_sha256=c['local_program_sha256'],events=r['events'],macros=r['macros'], + real_component_primitives=r['real_component_primitives'], + coefficient_work_primitive_count=r['coefficient_work_primitive_count'], + entering_helpers=p['entering_helpers'],entrance_rank=p['entrance_rank'], + pre_wrappers=r['pre_wrappers'],post_wrappers=r['post_wrappers'])) + assert provider_counts==COUNTS + # The sweep registry is executable: no hidden use of the historical supplier. + by_call={(c['stage'],c['replica']):c for c in template['calls']} + for e in sweeps: + c=by_call[(e['stage'],e['replica'])] + assert e['provider_id']==c['provider_id'] + assert set(p['compiler'] for p in providers.values())=={64*(m+1)**3} + compiler=64*(m+1)**3 + adapters=max(p['local_adapters'] for p in providers.values()) + primitive_bound=max(p['local_primitive_bound'] for p in providers.values()) + bridge_steps=sum(event['kind']=='bridge' for event in parent['recipe']) + bridge_sweeps=sum(event['kind']=='bridge' for event in template['execution_schedule']) + assert bridge_sweeps==replicas*bridge_steps + bridge_additions=2*v*bridge_sweeps + shifts=blocks_per_stream*v*replicas; moves=2*shifts + parent_live,parent_physical=parent['live'],parent['physical'] + assert (parent_live,parent_physical,sum(c['replicas'] for c in parent['idle_children']))==(PARENT_LIVE,PARENT_PHYSICAL,PARENT_IDLE) + assert parent_helpers==PARENT_HELPERS + data_stock=2*v*blocks_per_stream*replicas + assert (parent_live-data_stock)%stages==0 + parent_banks=(parent_live-data_stock)//stages + assert parent_banks>=0 and parent_physical==parent_live+parent_helpers+centres+2 + nonlocal_items=(4*v*replicas*stages+2*v*replicas*stages+2*call_count*helpers + +sum(child['replicas'] for child in parent['idle_children'])+stages*parent_banks + +bridge_additions+shifts+moves+parent_live+parent_physical+wrapper_factors) + outside=8*nonlocal_items+64*m + parent_pervertex=(scalar+bridge_additions+shifts+moves+parent_live + +(call_count*adapters+outside)*compiler+64*parent_physical) + live,physical=template['live'],template['physical'] + mass,profile=owners['rank_mass'],owners['paid_profile'] + assert m*live-mass==owners['deficit']==DEFICIT + assert mass==sum(int(r)*count for r,count in profile.items()) + assert physical==live+helpers+centres+zero_buffers+2 + assert live==owners['live'] and physical==owners['physical'] + assert live<=parent_live and physical<=parent_physical + assert not template['bank_padding']['families'] + assert owners['explicit_idle_remainder_children']<=owners['source_idle_children_charged'] + # The old dedicated-bank geometry is only a conservative reserve envelope. + # Its singular program is never used as evidence for a mixed invocation. + rebased=parent_pervertex+65*(physical-parent_physical)+(live-parent_live) + used=max(rebased,parent_pervertex); retained=None; payload=PAYLOAD + if retained_invoice is not None: + previous=read(retained_invoice) + assert previous['compiler']==compiler and previous['charged_prefix_bits']==512 + previous_bound=previous['conservative_pervertex_used'] + used=max(used,previous_bound+parent_pervertex) + retained=dict(sha256=filehash(retained_invoice),previous_pervertex_allowance=previous_bound, + added_complete_new_pervertex=parent_pervertex,policy='Retain old allowance and add entire fresh mixed recount.') + half=m//2; group=2**(half*half) + for i in range(1,half+1): group*=2**(2*i)-1 + stock,streamed_mass=group*physical,group*mass + logical=group*used+64; router=compiler*(logical+1)*(stock+1)**2 + g_bound,e_bound,c0=2**30000,2**100000,2**210000 + total_mass=streamed_mass+e_bound + literal=2*g_bound*stock**2+8*streamed_mass+4*stock+4+32*m + row=2*stock.bit_length()+9909+252+2*payload + maxchild=max(map(int,profile)) + inequalities=dict(local_primitive_bound=primitive_bound<2**48, + logical=logical<2**6050,router=router2*maxchild*maxchild) + assert all(inequalities.values()) + localbits=max(r['prefix_bits'] for p in providers.values() for r in p['local'].values()) + input_l2_bits=(m+1)//2 + required_prefix=localbits+input_l2_bits+call_count+bridge_sweeps+4 + assert required_prefix(T,b) of register r + _, x, op, a, b = e; x = tuple(x); st['warp'] += 1 + if x[0] != 'L' or v <= x[1] < 2 * v: bad(idx, f'warp of target or non-L register {x}') + if lab.get(x) != (T, a): bad(idx, f'warp of {x} from {lab.get(x)} not (T,{a})') + lab[x] = (T, b); wcount[x[1]] += 1 + continue + if kind == 'scalar': + op, f = e[1], e[2]; regs = operands(op); st['scalar_' + op[0]] += 1; by_phase[phase] += 1 + for x in regs: + if x[0] == 'Z' and x not in lab: bad(idx, f'zero buffer {x} used before allocation') + if x[0] == 'C' and x not in first_private: + # Lean leaves a private register's initial label free; record whether its dirty initial content + # can be read (a hygiene fact, not a label violation). + first_private[x] = op[0] if (op[0] == 'clear' or (op[0] == 'copy' and x == regs[0])) else 'read' + lab.setdefault(x, FREE) + if op[0] in ('add', 'scale') and regs[0][0] == 'L' and regs[0][1] < v: + src[phase] += 1 + want = (T, f) + if op[0] == 'clear': + lab[regs[0]] = want if reading == 'strict' else FREE + elif op[0] == 'copy': + t, s = regs + if reading == 'strict': + if lab.get(s) != want: bad(idx, f'copy source {s} at {lab.get(s)} not {want}') + lab[t] = want + else: + lab[t] = lab.get(s) + elif op[0] == 'add': + t, s = regs + if reading == 'strict': + for x in (t, s): + if lab.get(x) == FREE and x[0] == 'C': lab[x] = want + off = [(x, lab.get(x)) for x in (t, s) if lab.get(x) != want] + if off: bad(idx, f'add operands {off} not at {want}') + else: + if lab.get(t) == FREE: lab[t] = lab.get(s) + if lab.get(s) == FREE: lab[s] = lab.get(t) + if lab.get(t) != lab.get(s): bad(idx, f'add {t} at {lab.get(t)} but {s} at {lab.get(s)}') + elif op[0] == 'scale': + if reading == 'strict': + x = regs[0] + if lab.get(x) == FREE and x[0] == 'C': lab[x] = want + if lab.get(x) != want: bad(idx, f'scale operand {x} at {lab.get(x)} not {want}') + else: + bad(idx, 'unknown scalar ' + str(op[0])) + continue + if kind == 'climb': + _, part, r, a, b, rank = e; x = ('L', r); st['climb'] += 1 + if lab[x] != (T, a): bad(idx, f'climb of {r} from {lab[x]} not (T,{a})') + lab[x] = (T, b) + elif kind == 'center': + _, k, a, b, rank = e; x = ('C', k); st['centre_step'] += 1 + if lab.get(x) == FREE: lab[x] = (T, a) + if lab.get(x) != (T, a): bad(idx, f'centre step of {x} from {lab.get(x)} not (T,{a})') + lab[x] = (T, b) + elif kind == 'adapter': + _, way, r, f = e; x = ('L', r) + if way == 'old_to_new': + entry[r] += 1; st['entry_adapter'] += 1 + if r < v: + if f != start[r] or lab[x] != (('pre', r), f): bad(idx, f'source entry adapter of {r} at {lab[x]}, frame {f}') + lab[x] = (T, f) + else: + if r in wrapped or f != 0 or lab[x] != (T, 0): bad(idx, f'identity entry adapter of {r} at {lab[x]}, frame {f}') + elif way == 'new_to_old': + exit_[r] += 1; st['exit_adapter'] += 1 + if v <= r < 2 * v: + if f != final[r] or lab[x] != (T, f): bad(idx, f'target exit adapter of {r} at {lab[x]}, frame {f}') + lab[x] = (('post', r), f) + else: + if r in hpe or f != FULL or lab[x] != (T, FULL): bad(idx, f'identity exit adapter of {r} at {lab[x]}, frame {f}') + else: + bad(idx, 'unknown adapter ' + str(way)) + elif kind == 'residual_adapter': + _, side, r, f, *U = e; x = ('L', r) + if r not in wrapped or f != start[r] or U != ([final[r]] if r in hpe else []): + bad(idx, f'wrapper key of {r}: frame {f}, terminal {U}') + if side == 'pre': + pre[r] += 1; st['pre_wrapper'] += 1 + if lab[x] != (('prew', r), start[r]): bad(idx, f'pre wrapper of {r} at {lab[x]}') + lab[x] = (T, start[r]) + elif side == 'post': + post[r] += 1; st['post_wrapper'] += 1 + if lab[x] != (T, final[r]): bad(idx, f'post wrapper of {r} at {lab[x]}') + lab[x] = (('done', r), final[r]) + else: + bad(idx, 'unknown wrapper side ' + str(side)) + else: + bad(idx, 'unknown event ' + str(kind)) + phase = 'end' + if phases != PHASE_ORDER: bad(len(events), 'phase order ' + str(phases)) + for r in range(n): + want_end = ((T, FULL) if r < v else (('post', r), final[r]) if r < 2 * v + else (('done', r), final[r]) if r in wrapped else (T, FULL)) + if lab[('L', r)] != want_end: bad(len(events), f'register {r} ends at {lab[("L", r)]} not {want_end}') + want_entry = 0 if r in wrapped else 1 + want_exit = 0 if r in hpe else 1 + want_wrap = 1 if r in wrapped else 0 + if (entry[r], exit_[r], pre[r], post[r]) != (want_entry, want_exit, want_wrap, want_wrap): + bad(len(events), f'bridge of {r}: entry {entry[r]} exit {exit_[r]} pre {pre[r]} post {post[r]}') + if zalloc != zfree or any(('Z', r) in lab for r in zalloc): bad(len(events), 'zero buffers not all freed') + stats = dict(warps=st['warp'], zero_buffers=len(zalloc), private_first_touch_reads=sum(first == 'read' for first in first_private.values()),events=st['events'], phases=len(phases), scalar_events=sum(by_phase.values()), + scalar_by_kind={k[7:]: z for k, z in sorted(st.items()) if k.startswith('scalar_')}, + scalar_by_phase=dict(sorted(by_phase.items())), climbs=st['climb'], centre_steps=st['centre_step'], + entry_adapters=st['entry_adapter'], exit_adapters=st['exit_adapter'], pre_wrappers=st['pre_wrapper'], + post_wrappers=st['post_wrapper'], private_registers=len(first_private), + source_writes=sum(src.values()), source_writes_by_phase=dict(sorted(src.items()))) + return viol, stats + + +def straddle(events, adapter_event, frame, reg): + """[C0 += L; L -= C0] adapter [L += C0; C0 -= L; clear C0], all at the adapter's frame.""" + i = events.index(adapter_event) + need(events.count(adapter_event) == 1, 'adapter event not unique') + C0, L = ['C', 0], ['L', reg] + before = [['scalar', ['add', C0, L, 1, 1], frame], ['scalar', ['add', L, C0, -1, 1], frame]] + after = [['scalar', ['add', L, C0, 1, 1], frame], ['scalar', ['add', C0, L, -1, 1], frame], ['scalar', ['clear', C0], frame]] + return events[:i] + before + [events[i]] + after + events[i + 1:], i + + +def adapter_rule(c, events): + """The hardening README (b) recommends next to the frame-only replay (a sketch, not proved sufficient for H1): every + data adapter and wrapper sits in its own phase at cur[r] == its frame, and per-register adapter state is tracked as + the replay tracks wrappers: no scalar or climb touches a source before its entry adapter or a target after its exit + adapter. Returns the indices of offending events.""" + v = c['v']; cur = list(c['start']); phase = None; entered, exited = set(), set(); bad = [] + for idx, e in enumerate(events): + kind = e[0]; regs = [] + if kind == 'phase': + phase = e[1]; continue + if kind == 'scalar': + regs = [x[1] for x in operands(e[1]) if x[0] == 'L'] + elif kind == 'climb': + regs = [e[2]] + elif kind == 'warp': + regs = [e[1][1]] + elif kind == 'adapter': + _, way, r, f = e + if phase != ('entry_adapters' if way == 'old_to_new' else 'exit_adapters') or cur[r] != f: + bad.append(idx) + (entered if way == 'old_to_new' else exited).add(r) + elif kind == 'residual_adapter': + _, side, r, f, *U = e + if (phase, cur[r]) != (('entry_adapters', c['start'][r]) if side == 'pre' else ('full_frame_cleanup', c['final'][r])): + bad.append(idx) + if any((r < v and r not in entered) or (v <= r < 2 * v and r in exited) for r in regs): + bad.append(idx) + if kind == 'climb': + cur[e[2]] = e[4] + if kind == 'warp': # BORROW extension: the warp must find the register at its from frame + if cur[e[1][1]] != e[3]: bad.append(idx) + cur[e[1][1]] = e[4] + return bad + + +def exit_block_move(c, events): + """Mutant Z: the exit adapters of registers 0 .. t (t = v, the target of port 0), in order, moved to just before the + last scalar event on L_t ahead of its exit adapter. Returns (mutant, insertion index, first and last moved index).""" + t = c['v'] + xs = [x for x, e in enumerate(events) if e[0] == 'adapter' and e[1] == 'new_to_old' and e[2] <= t] + need([events[x][2] for x in xs] == list(range(t + 1)) and xs == list(range(xs[0], xs[-1] + 1)), + 'the exit adapters of registers 0..t are not one ordered block') + g = max(x for x in range(xs[0]) if events[x][0] == 'scalar' and ('L', t) in operands(events[x][1])) + return events[:g] + events[xs[0]:xs[-1] + 1] + events[g:xs[0]] + events[xs[-1] + 1:], g, xs[0], xs[-1] + + +def touches(e, reg): + if e[0] == 'scalar': + return reg in operands(e[1]) + if e[0] in ('climb', 'adapter', 'residual_adapter'): + return reg == ('L', e[2]) + if e[0] == 'center': + return reg == ('C', e[1]) + return False diff --git a/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py b/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py new file mode 100644 index 0000000000..8998fb9913 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/lemmag_stage.py @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: Apache-2.0 +"""Package stage `lemmag-labels` (beside the frame-only `local-replay`): runs the Lemma G label / adapter checks of PR1964 (thakrarsagar; Lemma G by +DreamingOfClouds, PR509 / PR516; vendored verbatim in lemmag_checks.py) on every provider's emitted LOCAL-PROGRAMS, both orientations: + * label_check strict and permissive and adapter_rule must each report 0 violations on the honest programs; + * the physically wrong adapter mutants X (exit straddle), Y (entry straddle) and Z (exit adapters moved before a phase-B add), which the frame-only replay + accepts, must each be REJECTED (at least one of the three checks reports a violation); the stage fails if a mutant is accepted or cannot be built. +usage: lemmag_stage.py OUT.json DIR [DIR ...] (each DIR contains local/CANONICAL-WORD.json.gz and local/LOCAL-PROGRAMS.json.gz)""" +import gzip, json, sys +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import lemmag_checks as V + + +def main(out, dirs): + report = {} + for d in dirs: + L = Path(d) / 'local' + c = json.loads(gzip.decompress((L / 'CANONICAL-WORD.json.gz').read_bytes())) + progs = json.loads(gzip.decompress((L / 'LOCAL-PROGRAMS.json.gz').read_bytes())) + row = {'v': c['v'], 'R': c['R'], 'events': {o: len(p) for o, p in progs.items()}, 'honest': {}, 'mutants': {}} + for o in ('forward', 'backward'): + s, _ = V.label_check(c, progs[o], 'strict') + p, _ = V.label_check(c, progs[o], 'permissive') + r = V.adapter_rule(c, progs[o]) + row['honest'][o] = {'label_strict': len(s), 'label_permissive': len(p), 'adapter_rule': len(r)} + assert not s and not p and not r, ('honest programs violate the Lemma G label / adapter checks', str(d), o, s[:2], p[:2], r[:2]) + fw = progs['forward']; t, s0 = c['v'], 0 + muts = {'X': lambda: V.straddle(fw, ['adapter', 'new_to_old', t, c['final'][t]], c['final'][t], t)[0], + 'Y': lambda: V.straddle(fw, ['adapter', 'old_to_new', s0, c['start'][s0]], c['start'][s0], s0)[0], + 'Z': lambda: V.exit_block_move(c, fw)[0]} + for name, build in muts.items(): + m = build() + st = len(V.label_check(c, m, 'strict')[0]); pe = len(V.label_check(c, m, 'permissive')[0]); ar = len(V.adapter_rule(c, m)) + row['mutants'][name] = {'label_strict': st, 'label_permissive': pe, 'adapter_rule': ar, 'rejected': bool(st or pe or ar)} + assert st or pe or ar, ('adapter mutant ACCEPTED by the Lemma G checks', str(d), name) + ws = [i for i, e in enumerate(fw) if e[0] == 'warp' and e[3] != 1] # forward warps (from frame below FULL) + if ws: # BORROW controls: reference-change mutants must be rejected + def rej(m): return bool(V.label_check(c, m, 'strict')[0] or V.label_check(c, m, 'permissive')[0] or V.adapter_rule(c, m)) + w0 = ws[0]; e0 = fw[w0]; other = next(f for f in range(2, len(c['frames'])) if f not in (e0[3], e0[4])) + bw = {'warp_wrong_from_frame': fw[:w0] + [e0[:3] + [other, e0[4]]] + fw[w0 + 1:], + 'warp_dropped': fw[:w0] + fw[w0 + 1:], + 'warp_to_wrong_frame': fw[:w0] + [e0[:4] + [other]] + fw[w0 + 1:], + 'inverse_warp_from_wrong_frame': [e[:3] + [other] + e[4:] if i == next(j for j, x in enumerate(fw) if x[0] == 'warp' and x[3] == 1) else e for i, e in enumerate(fw)], + 'zero_buffer_not_freed': [e for e in fw if not (e[0] == 'zero_buffer' and e[1] == 'free')][:], + 'zero_buffer_not_allocated': [e for e in fw if not (e[0] == 'zero_buffer' and e[1] == 'alloc')], + 'zero_buffer_outside_cleanup': fw[:w0] + [['zero_buffer', 'alloc', next(e[2] for e in fw if e[0] == 'zero_buffer')]] + fw[w0:]} + row['borrow_mutants'] = {} + for name, m in bw.items(): + row['borrow_mutants'][name] = rej(m) + assert rej(m), ('borrow mutant ACCEPTED', str(d), name) + report[str(d)] = row + Path(out).write_text(json.dumps(report, indent=1, sort_keys=True) + '\n') + print('PASS_LEMMAG_LABELS dirs=%d mutants_rejected=%d borrow_mutants_rejected=%d' % (len(dirs), 3 * len(dirs), sum(len(r.get('borrow_mutants', {})) for r in report.values()))) + + +if __name__ == '__main__': + main(sys.argv[1], sys.argv[2:]) diff --git a/research/gmx-t74-borrow43-handoff/code/oracle_check.py b/research/gmx-t74-borrow43-handoff/code/oracle_check.py new file mode 100644 index 0000000000..db055a6fe6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/oracle_check.py @@ -0,0 +1,69 @@ +"""Independent exact oracle for the finer-constant engines (package stage). + +Compares logarithm enclosures of code/fine_mercator.py and code/fine_moment.py with a separately written exact +2*atanh enclosure (integer fixed point 128 bits finer than the engines, directed rounding) on every logarithm argument the pinned T74 complex and surcharge checks use +(73/t for t = 1..72 and 73) plus 43, 189 and 352 (the first integers on which a wrong-parity Mercator sum fails). +A valid enclosure [L, U] must satisfy L <= oracle_lower and U >= oracle_upper (so L <= ln <= U) and be tight (width below 2^-(bits-40) resp. 2^-(grid bits-40)). +Also asserts the Mercator term count is even (an odd alternating partial sum lies above the log). +""" +import sys +from fractions import Fraction as F +try: + from gmpy2 import mpz # optional accelerator, identical results +except ImportError: + mpz = int +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import fine_mercator as FM, fine_moment as BF +assert (FM.LOGN - 1) % 2 == 0, 'fine_mercator must sum an even number of terms' +# Exact 2*atanh enclosure in directed-rounding integer fixed point on a 2^-OB grid (OB = max engine bits + 128, strictly finer than both engines); +# N terms with 3^-2N below 2^-OB, tail bounded by the geometric series. Written separately from both engines. +OB = max(FM.DYAD.bit_length(), BF.GRID.bit_length()) - 1 + 128 +N = int(OB / 3.1699) + 20 +ONE = 1 << OB + + +def atanh2(z): + p, q = mpz(z.numerator), mpz(z.denominator) + p2, q2 = p*p, q*q + pl = ONE*p//q + ph = -((-ONE*p)//q) + sl = sh = mpz(0) + for j in range(N): + sl += pl//(2*j+1) + sh += -((-ph)//(2*j+1)) + pl = pl*p2//q2 + ph = -((-ph*p2)//q2) + tail = -((-2*ph*q2)//((2*N+1)*(q2-p2))) + return F(int(2*sl), ONE), F(int(2*sh + tail), ONE) + + +LN2 = atanh2(F(1, 3)) + + +def oracle(x): + assert x >= 1 + k = 0 + while x >= 2: + x /= 2 + k += 1 + lo, hi = atanh2((x-1)/(x+1)) + return lo + k*LN2[0], hi + k*LN2[1] + + +# inner Mercator enclosures (before any outward rounding): the constants log(3/2), log(4/3) and sample reductions +for y in (F(3, 2), F(4, 3), F(5, 4), F(1), F(7, 6)): + lo_o, hi_o = oracle(y) if y >= 1 else (None, None) + L, U = FM.mercator(y) + assert L <= lo_o and U >= hi_o, ('false inner Mercator enclosure', y) +tight = {'fine_mercator': F(1, 2**(FM.DYAD.bit_length() - 1 - 40)), 'fine_moment': F(1, 2**(BF.GRID.bit_length() - 1 - 40))} +inputs = [F(73, t) for t in range(1, 73)] + [F(73), F(43), F(189), F(352)] +checked = 0 +for x in inputs: + lo_o, hi_o = oracle(x) + for name, (L, U) in (('fine_mercator', FM.logarithm(x)), ('fine_moment', BF.log_bounds(x))): + assert L <= lo_o, ('false lower log bound', name, x) + assert U >= hi_o, ('false upper log bound', name, x) + assert U - L < tight[name], ('enclosure not tight', name, x) + checked += 1 +print('PASS_FINE_ENGINE_LOG_ORACLE inputs=%d enclosures=%d' % (len(inputs), checked)) diff --git a/research/gmx-t74-borrow43-handoff/code/prepare_global.py b/research/gmx-t74-borrow43-handoff/code/prepare_global.py new file mode 100644 index 0000000000..655c9470f6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/prepare_global.py @@ -0,0 +1,124 @@ +"""Bind a frozen explicit owner map to exact native local artifacts. + +This preparer nominates a witness. The separate serialized controller audit, +finite invoice, two exact moment engines and strict pinned replay admit it. +Apache-2.0; prepared with OpenAI assistance. See NOTICE.md. +""" +import argparse +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path +import shutil + +from generated_identity import artifact_identities, FILES + +assert __debug__, 'Assertions required' + + +def read(path): + raw = Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def dump(path, value): + Path(path).write_text(json.dumps(value, indent=2) + '\n') + + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--parent', type=Path, required=True) +ap.add_argument('--owners', type=Path, required=True) +ap.add_argument('--local', type=Path, required=True) +ap.add_argument('--data', type=Path, required=True) +args = ap.parse_args() +args.data.mkdir(parents=True, exist_ok=True) +parent_path = args.parent / 'data/PLAN.json' +assert sha(parent_path) == '258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda' +plan = read(parent_path) +word = read(args.local / 'CANONICAL-WORD.json.gz') +checks = read(args.local / 'LOCAL-CHECKS.json') +assert (word['v'], word['h'], word['R']) == (112, 9, 492) +widths = [len(word['frames'][word['final'][224+h]]) - + len(word['frames'][word['start'][224+h]]) for h in range(492)] +profile = {int(k): v for k, v in word['local_profile'].items()} +assert profile == {1: 2514, 2: 404, 3: 448, 4: 160, 5: 56, 8: 8} +assert Counter(widths) == {4: 52, 5: 48, 7: 34, 8: 114, 9: 244} +assert sum(widths) == 3794 +owners = read(args.owners) +assert len(owners) == 72 * 492 +order = [tuple(x) for x in plan['order']] +times = {x: i for i, x in enumerate(order)} +used, call_helpers, call_families = defaultdict(set), defaultdict(set), defaultdict(set) +for z in owners: + key = (z['stage'], z['replica']) + h, i, rep, port = z['helper'], z['child'], z['owner_replica'], z['port'] + assert key in times and 0 <= h < 492 and 0 <= rep < 8 and 0 <= port < 112 + assert z['time'] == times[key] and h not in call_helpers[key] + assert z['family'] not in call_families[key] + call_helpers[key].add(h) + call_families[key].add(z['family']) + cap, allowed = plan['windows'][f'{rep},{i}'] + assert z['time'] in allowed and z['width'] == widths[h] + assert z['copy'] == rep * 112 + port + assert z['family'] == rep * 896 + (2*plan['pairs'][str(i)] + plan['sides'][str(i)])*112 + port + assert 0 <= z['offset'] and z['offset'] + z['width'] <= cap + cells = set(range(z['offset'], z['offset'] + z['width'])) + group = (i, rep, port) + assert not used[group] & cells + used[group].update(cells) +assert set(call_helpers) == set(order) +assert all(hs == set(range(492)) for hs in call_helpers.values()) +idle = Counter() +for key, (cap, _) in plan['windows'].items(): + rep, i = map(int, key.split(',')) + for port in range(112): + cells = used[i, rep, port] + assert cells == set(range(len(cells))) + left = cap - len(cells) + if left: + idle[left] += 1 +global_profile = Counter({r: 72*n for r, n in profile.items()}) + idle +assert sum(r*n for r, n in global_profile.items()) == 520704 +assert 73*7168 - sum(r*n for r, n in global_profile.items()) == 2560 +pid = 'gauge44' +for c in plan['provider_calls']: + c['provider'] = pid + c['local_program_sha256'] = checks[c['orientation']]['sha256'] +for c in plan['per_call_widths']: + c['widths'] = widths +artifacts = {name: sha(args.local / name) for name in FILES} +identities = artifact_identities(args.local) +plan['provider_registry'] = {pid: dict( + directory='providers/' + pid, artifact_sha256=artifacts, + ports=word['ports'], centers=word['centers'], widths=widths, + actual_paid_profile=word['local_profile'], + orientation_program_sha256={k: v['sha256'] for k, v in checks.items()}, + artifact_semantic_sha256=identities)} +plan.update(status='FROZEN_EXPLICIT_GAUGE44_WHOLE_OWNER_NOMINATION', + mode='gauge44-all72', profile=dict(sorted(global_profile.items())), + solver_status='deterministic-capacity-matching', gap=None, + source_plan_sha256=sha(parent_path), + source_owners_sha256=sha(args.parent / 'data/OWNERS.json.gz'), + assignment_sha256=sha(args.owners)) +target_owners = args.data / 'OWNERS.json.gz' +if args.owners.resolve() != target_owners.resolve(): + shutil.copyfile(args.owners, target_owners) +dump(args.data / 'PLAN.json', plan) +spec = dict(schema='witness-spec/1', name='gauge44-all72', + data=dict(plan_sha256=sha(args.data / 'PLAN.json'), owners_sha256=sha(target_owners)), + dispatch=[[s, r, pid] for s in range(9) for r in range(8)], + call_order=plan['order'], width_spot_helpers=[264, 276, 288, 300], + providers={pid: {}}, expected=dict(gain_baseline_kappa='0.001636241501576388')) +dump(args.data / 'SPEC.json', spec) +dump(args.data / 'PREPARATION.json', dict( + status='PASS_EXPLICIT_MAP_AND_FRESH_PROVIDER_NOMINATION', + parent_plan_sha256=sha(parent_path), source_owners_sha256=sha(args.owners), + global_profile=dict(sorted(global_profile.items())), idle_profile=dict(sorted(idle.items())), + roles=len(owners), rank_mass=520704, deficit=2560, + remaining='Independent emitted-controller audit, fresh finite invoice, exact moments and outer assembly.')) +print('Prepared all72 gauge44 candidate:', dict(sorted(global_profile.items()))) diff --git a/research/gmx-t74-borrow43-handoff/code/restore_parent.py b/research/gmx-t74-borrow43-handoff/code/restore_parent.py new file mode 100644 index 0000000000..21135f898a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/code/restore_parent.py @@ -0,0 +1,67 @@ +"""Materialize the omitted generated PR558 parent, then require its reviewed hash. + +The integrated review contains the native inputs and INTEGRATION.json but +omits GLOBAL-TEMPLATE.json.gz. This is only the deterministic template +binding from the inherited prepare_supplier_base.py; no old circuit or +phase calculation is rerun. The whole exact payload must match the review. +""" +import argparse +import copy +import gzip +import hashlib +import json +from pathlib import Path +import shutil + +assert __debug__, 'Assertions required' +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--source',type=Path,required=True) +ap.add_argument('--baseline',type=Path,required=True) +ap.add_argument('--out',type=Path,required=True) +a=ap.parse_args() +read=lambda p:json.loads(gzip.decompress(p.read_bytes())if p.suffix=='.gz'else p.read_bytes()) +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +assert not a.out.exists() +base=a.out/'complex-global/base' +shutil.copytree(a.baseline/'complex-global/base',base) +d=base/'split-centres' +parent=a.source/'vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz' +old=read(parent);can=read(d/'CANONICAL-WORD.json.gz') +checks=read(d/'LOCAL-CHECKS.json');programs=read(d/'LOCAL-PROGRAMS.json.gz') +v,h,r=can['v'],can['h'],can['R'];c=len(can['centers']);m,t,l,k=73,8,9,4 +assert(v,h,r,c)==(112,9,504,8) +widths=[h-len(can['frames'][f])for f in can['start'][2*v:]] +data=2*k*t*v;live=data+l*r;physical=live+r+c+2 +word=copy.deepcopy(old) +word.update(version='round20-new-supplier-dedicated-bank-parent-v1',live=live,physical=physical,local_programs=programs) +word['private_namespace']={'centers':[live,live+c],'reserved_tableau':[live+c,live+c+r],'coefficient':[physical-2,physical]} +for call in word['calls']: + s,rep=call['stage'],call['replica'];owners=copy.deepcopy(call['owners'][:2*v]) + for helper,w in enumerate(widths): + route=[2,rep]if w==9 else[2,rep*w,w,list(range(t*w,t*w+9-w))] + owners.append([data+s*r+helper,route]) + call['owners']=owners;call['local_program_sha256']=checks[call['orientation']]['sha256'] +children=[] +for s in range(l): + for helper,w in enumerate(widths): + axes=list(range(t*w,m)) + children.append(dict(family=data+s*r+helper,rank=len(axes),axis_indices=axes,orthogonal_axes=[1< R helper map +# (verify.py checks the spec value against the constructor's HELPER-MAP.json) +SPOT=tuple(SPEC.get('width_spot_helpers',(270,282,294,306))) +# A pivot swap moves a kernel family's pivot role p -> x; the old pivot p becomes an ordinary cold helper and its width +# goes 8 -> 9 (construction/layers, PR641 PROOF-NOTE-PIVOT). Expected spot widths are derived from the package's pinned +# pivot-swap recipe (path and sha256 in the spec), not from free data: 9 at a swapped-out pivot, 8 otherwise. +_PKG=Path(os.environ['WITNESS_SPEC']).resolve().parents[1] +def _old_pivots(): + ps=SPEC.get('pivot_swap') + if not ps:return frozenset() + raw=(_PKG/ps['recipe']).read_bytes();import hashlib + assert hashlib.sha256(raw).hexdigest()==ps['sha256'],'pivot-swap recipe pin' + return frozenset(s['pivot']for s in json.loads(raw)['swaps']) +OLD_PIVOTS=_old_pivots() +def spot_widths(v=112): + """Expected residual widths at the spot helpers (helper indices) of the gauge44 provider.""" + return tuple(9 if 2*v+h in OLD_PIVOTS else 8 for h in SPOT) +PIDS=tuple(sorted(set(DISPATCH.values()))) +COUNTS=dict(Counter(DISPATCH.values())) +assert DISCOVER or set(PROVIDERS)==set(PIDS),'spec providers differ from dispatch providers' +def lookup(key): + """Dotted spec path; a segment may itself contain dots when it names a file (split at most once per known file suffix).""" + v=SPEC;parts=key.split('.') + while parts: + for n in range(len(parts),0,-1): + k='.'.join(parts[:n]) + if isinstance(v,dict) and k in v:v=v[k];parts=parts[n:];break + else:raise KeyError('spec has no key %s'%key) + return v +def pin(key,got): + """Strict mode: got must equal the spec value at dotted key; the failure names the key.""" + if DISCOVER: + if os.environ.get('WITNESS_RECORD'): # discovery bookkeeping only: append (key, value) for the spec writer + with open(os.environ['WITNESS_RECORD'],'a')as f:f.write(json.dumps([key,got],default=str)+chr(10)) + return got + want=lookup(key) + assert got==want,'SPEC MISMATCH %s: expected %s got %s'%(key,json.dumps(want)[:400],json.dumps(got,default=str)[:400]) + return got +def partner(pid): + """A different provider for substitution controls (next in sorted order).""" + assert len(PIDS)>1 + return PIDS[(PIDS.index(pid)+1)%len(PIDS)] + +# Replica-sensitive quantities are frozen by the independently checked parent lift. +GEO=SPEC['geometry'] +REPLICAS=GEO['replicas']; CALLS=GEO['stages']*REPLICAS +assert type(REPLICAS) is int and REPLICAS>0 +assert (GEO['stages'],GEO['pairs'],GEO['dimension'])==(9,4,73) +assert set(CALL_ORDER)=={(s,r) for s in range(GEO['stages']) for r in range(REPLICAS)} +DATA=2*112*GEO['pairs']*REPLICAS +DEFICIT=DATA-64*CALLS +PAYLOAD=GEO['charged_prefix_bits'] +assert PAYLOAD==1<<(192+(GEO['dimension']+1)//2+2*CALLS+4).bit_length() +PARENT_LIVE=GEO['parent_live'];PARENT_PHYSICAL=GEO['parent_physical'];PARENT_IDLE=GEO['parent_idle'];PARENT_HELPERS=GEO['parent_helpers'] +assert PARENT_PHYSICAL==PARENT_LIVE+PARENT_HELPERS+8+2 diff --git a/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json b/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json new file mode 100644 index 0000000000..7a8edeb1e4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/construction/leaver/PIVOT-SWAP-k8.json @@ -0,0 +1 @@ +{"input_content_sha256": "00aeefe0c778ff64125628d7c869ae1aa27db60911f0289a2d4283af5cff85d2", "output_content_sha256": "377ab10c2bf6173498c8af15f8654060331ec9ee232e58cc75956dc015b23685", "swaps": [{"pivot": 482, "new_pivot": 554, "entrance": [24], "gates": [{"part": "B", "index": 331, "before": ["add", 554, 482, -1, 1, [24]], "after": ["add", 482, 554, -1, 1, [24]]}, {"part": "B", "index": 332, "before": ["add", 616, 482, 2, 1, [24]], "after": ["add", 616, 554, -2, 1, [24]]}, {"part": "B", "index": 333, "before": ["add", 618, 482, -2, 1, [24]], "after": ["add", 618, 554, 2, 1, [24]]}, {"part": "B", "index": 334, "before": ["add", 664, 482, 1, 1, [24]], "after": ["add", 664, 554, -1, 1, [24]]}, {"part": "B", "index": 335, "before": ["add", 666, 482, -1, 1, [24]], "after": ["add", 666, 554, 1, 1, [24]]}]}, {"pivot": 483, "new_pivot": 555, "entrance": [24], "gates": [{"part": "B", "index": 468, "before": ["add", 123, 483, 1, 1, [24]], "after": ["add", 123, 555, -1, 1, [24]]}, {"part": "B", "index": 504, "before": ["add", 187, 483, -1, 1, [24]], "after": ["add", 187, 555, 1, 1, [24]]}, {"part": "B", "index": 734, "before": ["add", 555, 483, -1, 1, [24]], "after": ["add", 483, 555, -1, 1, [24]]}]}, {"pivot": 494, "new_pivot": 566, "entrance": [24], "gates": [{"part": "B", "index": 128, "before": ["add", 628, 494, 2, 1, [24]], "after": ["add", 628, 566, -2, 1, [24]]}, {"part": "B", "index": 130, "before": ["add", 628, 494, -2, 1, [24]], "after": ["add", 628, 566, 2, 1, [24]]}, {"part": "B", "index": 230, "before": ["add", 676, 494, -2, 1, [24]], "after": ["add", 676, 566, 2, 1, [24]]}, {"part": "B", "index": 232, "before": ["add", 676, 494, 2, 1, [24]], "after": ["add", 676, 566, -2, 1, [24]]}, {"part": "B", "index": 750, "before": ["add", 566, 494, -1, 1, [24]], "after": ["add", 494, 566, -1, 1, [24]]}]}, {"pivot": 495, "new_pivot": 567, "entrance": [24], "gates": [{"part": "B", "index": 49, "before": ["add", 211, 495, -1, 1, [24]], "after": ["add", 211, 567, 1, 1, [24]]}, {"part": "B", "index": 477, "before": ["add", 147, 495, 1, 1, [24]], "after": ["add", 147, 567, -1, 1, [24]]}, {"part": "B", "index": 752, "before": ["add", 567, 495, -1, 1, [24]], "after": ["add", 495, 567, -1, 1, [24]]}]}, {"pivot": 507, "new_pivot": 531, "entrance": [30], "gates": [{"part": "B", "index": 459, "before": ["add", 115, 507, -1, 1, [30]], "after": ["add", 115, 531, 1, 1, [30]]}, {"part": "B", "index": 495, "before": ["add", 179, 507, 1, 1, [30]], "after": ["add", 179, 531, -1, 1, [30]]}, {"part": "B", "index": 770, "before": ["add", 531, 507, -1, 1, [30]], "after": ["add", 507, 531, -1, 1, [30]]}]}, {"pivot": 519, "new_pivot": 543, "entrance": [30], "gates": [{"part": "B", "index": 486, "before": ["add", 155, 519, -1, 1, [30]], "after": ["add", 155, 543, 1, 1, [30]]}, {"part": "B", "index": 521, "before": ["add", 219, 519, 1, 1, [30]], "after": ["add", 219, 543, -1, 1, [30]]}, {"part": "B", "index": 788, "before": ["add", 543, 519, -1, 1, [30]], "after": ["add", 519, 543, -1, 1, [30]]}]}]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json new file mode 100644 index 0000000000..f4869aed2f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/ADMISSION-CONTROLS.json @@ -0,0 +1,147 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "1676855229071321/1000000000000000000", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "extra:missing_provider", + "extra:missing_backward_orientation", + "extra:unpaid_scalar_primitive", + "extra:wrong_local_artifact_binding", + "extra:false_dirty_restoration", + "extra:wrong_declared_provider_count", + "extra:wrong_local_compiler", + "extra:wrong_local_adapter_charge", + "extra:wrong_local_primitive_bound", + "extra:forged_provider_and_call_program_hash", + "extra:provider_at_wrong_call", + "extra:stale_partner_program_consistent_call_hashes", + "extra:stale_partner_profile_consistent_child_total", + "extra:relocated_against_partner_same_counts", + "extra:compensating_false_profiles_with_gauge44", + "extra:synchronized_forged_source_recipe_hash", + "extra:synchronized_forged_phase_review_semantics", + "extra:width_order_swap_4_5", + "extra:width_inventory_shift_4_5", + "extra:width_order_swap_4_7", + "extra:width_inventory_shift_4_7", + "extra:width_order_swap_4_8", + "extra:width_inventory_shift_4_8", + "extra:width_order_swap_4_9", + "extra:width_inventory_shift_4_9", + "extra:width_order_swap_5_7", + "extra:width_inventory_shift_5_7", + "extra:width_order_swap_5_8", + "extra:width_inventory_shift_5_8", + "extra:width_order_swap_5_9", + "extra:width_inventory_shift_5_9", + "extra:width_order_swap_7_8", + "extra:width_inventory_shift_7_8", + "extra:width_order_swap_7_9", + "extra:width_inventory_shift_7_9", + "extra:width_order_swap_8_9", + "extra:width_inventory_shift_8_9", + "extra:cold_helper_width_swap_258", + "extra:cold_helper_width_swap_270", + "extra:cold_helper_width_swap_282", + "extra:cold_helper_width_swap_294", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:stale_partner_program_consistent_call_hashes", + "gauge44:stale_partner_profile_consistent_child_total", + "gauge44:relocated_against_partner_same_counts", + "gauge44:compensating_false_profiles_with_extra", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_258", + "gauge44:cold_helper_width_swap_270", + "gauge44:cold_helper_width_swap_282", + "gauge44:cold_helper_width_swap_294", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json b/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json new file mode 100644 index 0000000000..6e9debfd55 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/ASSEMBLY.json @@ -0,0 +1,345 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "complex_lower": "839835897752368810771/500000000000000000000000", + "complex_decimal": "0.001679671795504737621542", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "0.00001493392089287529953507200107451763386801044261067381377039094969890365", + "complex_profile": { + "1": 1559100, + "2": 339000, + "3": 277392, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "83983589632938552601/50000000000000000000000", + "conservative_complex_decimal": "0.00167967179265877105202", + "conservative_kappa": "1676855226234891/1000000000000000000", + "conservative_kappa_decimal": "0.001676855226234891", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "4192287738342239998793546541716065354822479394952504746695396802722811494258653351156134799/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "6891743304687631256446759104452998249890555047495253304603197277188505741346648843865201/2500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228485815" + }, + { + "exponent": "209958395289004825064670673441866405152976690564457726807264250497955608380189027562355414602494129444673994785984686662024239359291937801/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793341556437828991599159512500641806935542273192735749502044391619810972437644585397505870555326005214015313337975760640708062199/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095795282918005" + }, + { + "exponent": "10497948655508176595571868458140641130861660576046074567561000407184318167703190656223447902788358220571713504140876804928959786696907717863131576336767528005274541809037499026541229599/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "48609142479553114793910654751819264298953925432438999592815681832296809343776552097211641779428286495859123195071040213303092282136868423663232471994725458190962500973458770401/6250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150244109829297064936" + }, + { + "exponent": "524897435201783583481837332621859055800516945817191292780894409216690114250864323826076746829557388793618504772910662953994329079390058669047135701579438613092972886289883719405919984875114046576043938231344027060996843358120363001/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4082370274411829980705738333529297932808707219105590783309885749135676173923253170442611206381495227089337046005670920609941330952864298420561386907027113710116280594080015124885953423956061768655972939003156641879636999/312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949139446989141199132369390" + }, + { + "exponent": "26244871760292954835702602220249734667736558553822134745835996088018903793098499532638480446507748371415315687472777715993536840165557889970903854938896541089867562328336505072828129676544571827228822216608542244060114810955735027778990229374582283049904495824586553202347284399/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852109855909878505038965753633677865254164003911981096206901500467361519553492251628584684312527222284006463159834442110029096145061103458910132437671663494927171870323455428172771177783391457755939885189044264972221009770625417716950095504175413446797652715601/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770261583247044565376594268026518" + }, + { + "exponent": "1312243588014664855596672007580509359529389450216020993791740743074983110870686776104111076293958112276115455452177774142955453600007314051342211642855601608112512920704424845554376050096390803813809703753702970272743102614082976492205627436769976157124556714309693250567205872632198749275977690485405638677100325754031828201/781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "28793950898925902625805726159158979006208259256925016889129313223895888923706041887723884544547822225857044546399992685948657788357144398391887487079295575154445623949903609196186190296246297029727256897385917023507794372563230023842875443285690306749432794127367801250724022309514594361322899674245968171799/781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084966466938934950098161304289644502" + }, + { + "exponent": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2418219356206375153210108695205396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580986577732870361425243903883610643762776" + } + ], + "conservative_outer": { + "bit_positive": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "2418324030885775886454328226455396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "1478516410367061447399/50000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "2418258418706375153210108695205396752442585525082575949237719362157936189524139619359710098568426329309121121249202792496872189012230291365691729681830489823270553829896712766432648887131522516854999802007143252027478828881757010581652714143673637088349337126454549045731321236658244061673033178389136261326641803123900982541379149023902670626833700801/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "32806089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "1209194821532588309849271460528667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "32806089700366622108561280184877711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "19498443910299633377891438719815122288676471381226153667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "2418389643065176619698545339381365866666699070754349493840966919572411106948190381640347940632236805169501761539104224070542879891109042162899232809641477592979188138167030935942825616577692620142233369358256120504961973881955003438400686664844755331338755473740405372094232887321117607123987447067899603082580130090722593405117822382099546725851159421850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "65612179400733244217112925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "1209194821532588309849271460528667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "32806089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "19531249999999999999999980468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "epsilon_below_one": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "guard_width": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "K_geometry": "14681243589700366622108561280184877711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "K_dominates_log": "32806089700366622108561247378788010956906510212566147631843270163168164634445383206912865200875398650146745602094988545605630759578388520201533729556207018022774454138059152312552568830149294173506180170899291856959819258146488517440139155292391856536920161629551504289334060663816462158708214895094914936843378370698937519576317058942085771197044171389080317359667825406896894050882039268009822350976097329373166299199/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "record_suffix": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "phase_local": "262448717602932976868587864922931990221606841634373287698725426005676733999890632537458764115572554646423295362658823062001042353176868725446786231861249742662400878356975523543145190267618572304420671959815772324956684979663697056001581239204856369503899854478495946779185452290224546214108209012150945902831082365585617212641502459240681056256046436298042837472627662257440061369576427103915429350976097329373166299199/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "phase_boundary": "52489743520586595373701921739714637751023681481756759637576026378240327722912118863816799393563726306970449867286174361296666039029686823508269658325210680134742433356823412703746222096218089441870279467092133039930979177133677820745405619627745957648375563873746742217035608517508583649171071533699717591070895855974938636124761521824822509916387222666991390512207239994086308392484415368230302950976097329373166299199/31302489743520586595373690235795804338117645790038154132015287349906859101569244628418410491180502207084863211373843162175176094078536795475484629143384009765631914611250038027709849742042850120715637598123180909821256426450632504808814043904894277602963881072651187301140537460943178990641234284369612807077940046627402669644129185234353964636584914803407762861740105105565838438244273002933921281600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "39062499999999999999999941373443910299633377891443602627622288676471381226153667490445406308213061519222107238493443012186120571960492891348023640514941200914502827822106785384993896480053367968726232681343911223218674552726501173011931361714733468354684494491222559441076498147574329593007936787164086910513130849228572268991995576287470857873331472419259228528772102134428247870148211412434309021350976097329373166299199/78256224358801466488434225589489510845294114475095385330038218374767147753923111571046026227951255517712158028434607905437940235196341988688711572858460024414079786528125095069274624355107125301789093995307952274553141066126581262022035109762235694007409702681627968252851343652357947476603085710924032017694850116568506674110322963085884911591462287008519407154350262763914596095610682507334803204000000000000000000000000", + "prime_interval_packing": "32806089700366622108575928622377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801", + "alpha_positive": "65612179400733244217132293188665722280435128991295292641397863854955103115223275968419422188689278078186252710746964905090689558663885692379426944171213121542721086169332919631208657606930619620779678997887360495245085789791804022948916595851315358389345832036543567502169973753303331309479642626102919360555907512825606047157057830413313669062615923518932105947233516385545917953552666101710623350976097329373166299199/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "alpha_below_one": "39062499999999999999999980501556089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "alpha_below_one_fourth": "9716415865449450066837145905497523133381329180395627873613379432990938366125165670412333856305217661635833500843579023274651839840878862893709519663136289930217252229846303964028119386781460043102857070415606673823897547476030853729805472124428146392536867003166952464104247982791440103265906071239401082851300357058237728216633312555322300279870169952545993788346549329103778593997782647315139777149023902670626833700801/39128112179400733244217112794744755422647057237547692665019109187383573876961555785523013113975627758856079014217303952718970117598170994344355786429230012207039893264062547534637312177553562650894546997653976137276570533063290631011017554881117847003704851340813984126425671826178973738301542855462016008847425058284253337055161481542942455795731143504259703577175131381957298047805341253667401602000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "761655812767036571821952632734845285489890826887319866038201233356274079126828408470865725845299771203255676213184136319408967830451452351176594151273840502065834724144605343324258604938778593310306651377382409947399676226664015400262134475883819877843116137363057093882481580488049410171363228008623498391070427774773406479689709732033476425377021405666824880719795281122812592748662313201597134195255626176749748316594229114789742793742034177379085706089066145511182775986922812296952203913785488781039624818956640214272047400549129901898707991709086079554390978062306388340106653628710771612861078023943231703608992547889036406829044052155339023426326486068943488431381220578599406179612426221988088147477187622061324819981301249112623041406094781170565799877588041601/764220941003920571176115484272358504348575336670853372363654476316085427284405386435996349882336479665157793246431717826542385109339277233288198953695898675918747915313721631535885003467843020525284121047929221431183018223892395136933936618771832949291110377750273127469251402855058080826202008895742500172801270669614322989358622686385594839760373896567572335491701784803853477496198071360691437539062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "1095849589740823463814947824374000442625805697927195357397744627966860220384308782665400200722580903725728206739473397450448682047259993144975314244190536787881768100983681164953412300241553900922446805880895502723194233399845796673316767671051570699054501759432379813722392003995004170846625561013292251551578209317410389978789180680511746011843402174878532828883287897819348793919326285880053924199947071708011880501102403/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "16865211419871894406169514645259704351613972605837533057131641002325717468746086953869327840580269637515247169452190277567277542501060138953442163179127449123122146634380540013286889164530713093306136541124352407699284061515514446904375619883640519926906549378065622155048116075820304088477815631468145925867023574005874523129875847225699657327970837651274640053339799968829864491772715169159152309/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000", + "coordinate_movement_above_kappa": "110022125932814529612925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "16865191855815804705802892536703306979236261282308914283285308492771123776959148473091435079073712649701367741412683168915301183016001339867944991001234234508116043114433907982013121845874624316524811093850853580711215423230247915259060114374863079367983047525639951748056052862984390998990946480696718194859019150293345381003207319644958885856742939785702887923488011381264173513123691266488525475299199/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000000000", + "bulk_exposure_above_kappa": "110022125932814529612925969114224113545671773544603247557414474917424050762280637842063810475860380640289901431573670690878878750797207503127810987769708634308270318169510176729446170103287233567351112868477483145000197992856747972521171118242989418347285856326362911650662873545450954268678763341755938326966821610863738673358196876099017458620850976097329373166299199/39062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "26984318707738941349504601323859129590204644845811434117564293094166554258206800645413031783421874432210516043083997335455667708516637423240010288908710703981989331095062231989985255344593052172508493018525465025330785860139556583401685486305047391324126977152479325041084922508476573452077635859577605750379233294696870094881132827980378680253525442376467671955491891362562092208187320367984016860699199/31302489743520586595373690235795804338117645790038154132015287349906859101569244628418410491180502207084863211373843162175176094078536795475484629143384009765631914611250038027709849742042850120715637598123180909821256426450632504808814043904894277602963881072651187301140537460943178990641234284369612807077940046627402669644129185234353964636584914803407762861740105105565838438244273002933921281600000000000000000000000", + "scalar_work_above_kappa": "134921671794919065548989495053521237440534069523171645683206795509051146058181757150176729963135600112308097927578015111886243980523422312542040133255126378369971069555097688075021345997589615969667766881721320434606203853838849043589689453560346718856328893172099306833392865393726519618335655900973739675928184168334467042912338250224856487152538803344625368296866611163073224955532697450602591638299199/156512448717602932976868451178979021690588228950190770660076436749534295507846223142092052455902511035424316056869215810875880470392683977377423145716920048828159573056250190138549248710214250603578187990615904549106282132253162524044070219524471388014819405363255936505702687304715894953206171421848064035389700233137013348220645926171769823182924574017038814308700525527829192191221365014669606408000000000000000000000000", + "dimension_above_kappa": "19498443910299633394756615959999516694845986026485858019104418012145746118650863109564210911758273074441288333471617661155762110653104780395099649286445132849922216547096175355803490545603758687839615665703725024667851274592707092193775284074955523402523194213233527863693713464976135285897344648089296084054103102326019257339442833234403295232010275473569805539383271960295991029437129341996163690772715169159152309/19564056089700366622108556397372377711323528618773846332509554593691786938480777892761506556987813879428039507108651976359485058799085497172177893214615006103519946632031273767318656088776781325447273498826988068638285266531645315505508777440558923501852425670406992063212835913089486869150771427731008004423712529142126668527580740771471227897865571752129851788587565690978649023902670626833700801000000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.83643E-12", + "template_sha256": "65c840660ec6f75713d8d478e38a52f5e4e871ed1e5b5477f95895ea349a7eb2", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "419228774543352861270408587177625745747420379065174254579704705332791525569079405031194385559/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "689174332831544115090742904425378068174235434825745420295294667208474430920594968805614441/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228453333" + }, + { + "exponent": "209958395644747681223074666370458461500281346318165082562872538132328586580347144110687676855549647807012474899784235470605434556243113944011/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793344521469674998670567100407515960931834917437127461867671413419652855889312323144450352192987525100215764529394565443756886055989/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095778079636247" + }, + { + "exponent": "104979486732954673237090251959918759457839942836493294863342317545970754714244247871240598544703114069824864518625178880851881660551858609221431892784478216296106635302514285519596452257519/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "486091428109284580560594021496058710788506705136657682454029245285755752128759401455296885930175135481374821119148118339448141390778568107215521783703893364697485714480403547742481/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150235995383974327200" + }, + { + "exponent": "52489743609114813642271524200820456404436110365236298507733230914226425682240106427267605966648652979195532830184602982614481017443377895408308753554838523530816127134673158925968693288298825952307207553855434637911827039636751727062851/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "408237030915892059435934072513216447263701492266769085773574317759893572732394033351347020804467169815397017385518982556622104591691246445161476469183872865326841074031306711701174047692792446144565362088172960363248272937149/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949135856002397248974559927" + }, + { + "exponent": "26244871804761182484480353120379440810346129619116412586996489702453809363338844247786082606425600720944645113260618136630162229387058470323211984975465960208326561086364157832174706212952789750127715805226161133317715158412679444343474085664133721442038663158101478321995416357231879/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852113355009748754428128533787133587413003510297546190636661155752213917393574399279055354886739381863369837770612941529676788015024534039791673438913635842167825293787047210249872284194773838866682284841587320555656525914335866278557961336841898521678004583642768121/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770260057057757241518730770401369" + }, + { + "exponent": "13122435902380762380357341649262569035085239414009091577802576064058200711192435704252094412336462645782620101043801154990384062810905058981978314456028100863699056138700522813466838985490329972708318457287253366133707899754258409550096854974473335431140604614643642969673516453702647545172404782068475864572024946635987291280231291/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "287939512415801528584152092289115908422197423935941799288807564295747905587663537354217379898956198845009615937189094941018021685543971899136300943861299477186533161014509670027291681542712746633866292100245741590449903145025526664568859395385356357030326483546297352454827595217931524135427975053364012708719768709/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084335705851402175021854345669074689" + }, + { + "exponent": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "241821938908104022262700311949983799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580731174250430778101990171498302890374509" + } + ], + "outer": { + "bit_positive": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "241832406376055212644034460387483799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14785164102247631189229/500000000000000000000000", + "beta_positive": "1/1000000000000000000000000", + "beta_below_one": "999999999999999999999999/1000000000000000000000000", + "leaf_saving_above_bit": "241825845158104022262700311949983799354893048592173084133904353657179399407077675709369978099412225737246646058221770119716501117749602868750566248979550653376587780136021796659454853422761039301825422797793977318388645807015521652527948833796830239351840551094824656995659290826601015308127347662998212066101767662785746977464132833550465516430221511492035361/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "3280608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "120919483797003201512684062580085523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "3280608975595190666953784266844021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "1949844391024404809333046215733155978796703351136798835523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000000000", + "lambda_above_tau": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "241838967594006403025368366992577423299680404557712696650104998764130807233993541805016320920012818659570936688243670707490763871103544646980446532478432903773719029569772817108801476834980903280028763342940554557349343981592723858550630445151023223830188023145990860165419938986049920483470352003707385465086459535438083979252066731782802730683244047359201810534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "6561217951190381333906605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "120919483797003201512684062580085523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000000000", + "lambda_prime_below_one": "3280608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "1953124999999999999999998046875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "epsilon_below_one": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "guard_width": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "K_geometry": "1468124358975595190666953784266844021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "K_dominates_log": "3280608975595190666953780986235045608105981909416897632356562823089510644252370800298339154095699879202490603670800824663756336672199084659073277635384915920180484224524654651657787465661646069878503035301539118132802727130006557702228608037966981011279242126768469980808764539057449720940513860694998185749124989418085293317377253702632961717759431720568134072742357228387130877535488898354803105219491034483569778488507964639/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "record_suffix": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "phase_local": "26244871804761525335640036479143194031182523952313330217000925661258127562170301046749551401382516951550171280578653884127123041058269585125645684449783713431944340368604051612059811489149312638424984684436336432728990363521701596415143460491372239785272649929000213251728890305867399999267381805685752295943278242212627337293128223774316488284119429515515144265465424187094841967294103909905383549467018034483569778488507964639/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "phase_boundary": "5248974360952305067126442171341458330083971227825877568183222494932534951502479107137014489577427056832291804548616801189187768476719413270493769648047669992617386179731460105406532381960588918611058605227378887955333095963580418163335595391116003191907248509816905118316203890498302601939959684551348538051480982514760325658155908280205835423447431531563592089261477253419220399514798756487710000440707634483569778488507964639/3130248974360952305067125273576950433925274638181121863162204425791581398152666955484903134227951272473679469869007509270734483818145387542963787978700434010859831738547218147876663319776797180929953481519802239386193414316889530294562951966275064059148341350354795827033353171603842274349331855530283600939472949314924466752908743078873527663215167999495987888044050986733418905391944826288354418387256577600000000000000000000000", + "gamma_sublinear": "1/2000000000000000000000000", + "cell_above_band": "3906249999999999999999994137344391024404809333046704014405978796703351136798835523622233880261626154583152821935541107530454703950331331870306705790947613659132785647632513312228743212605163407988657577085425139501761918779074050123600383629116051944043565898155021078084963032286656028252608104154267747598578531667590293572749412829406678172208279432035575704045210490520000315007569972468133291613184130034483569778488507964639/7825622435902380762667813183942376084813186595452804657905511064478953495381667388712257835569878181184198674672518773176836209545363468857409469946751085027149579346368045369691658299441992952324883703799505598465483535792223825736407379915687660147870853375886989567583382929009605685873329638825709002348682373287311166882271857697183819158037919998739969720110127466833547263479862065720886045968141444000000000000000000000000", + "prime_interval_packing": "3280608975595190666955249110594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361", + "alpha_positive": "6561217951190381333908541815579066811402630773106343358734328942827884489669217978362798046565245175252159271800494118872808723013066299011440764323156172707575320816535997074572362326159884151099428985177938734503686675185962991804073586959882017978992586098515861876654496791458871189272923567122248772919718311245877013885341677998587751227239431405560564100274223936773946747501005328576314597254852034483569778488507964639/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "alpha_below_one": "3906249999999999999999998050155608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "alpha_below_one_fourth": "971641586536607213999568106177217943790245693658494238879454554117041302433039205610669431399669527472772675062264352528231717470157367308164742979020729455686122097479469674136884925104089234889511033989760261073681755298842015225246848902501075500504864085887357834071268369334741839544893281286091376520665578349668018846398640534149389643527500568436935650913491709417419461187481752886534441148762828465516430221511492035361/3912811217951190381333906591971188042406593297726402328952755532239476747690833694356128917784939090592099337336259386588418104772681734428704734973375542513574789673184022684845829149720996476162441851899752799232741767896111912868203689957843830073935426687943494783791691464504802842936664819412854501174341186643655583441135928848591909579018959999369984860055063733416773631739931032860443022984070722000000000000000000000000", + "delta_positive": "1/8000000000000000000000000", + "delta_below_one_eighth": "999999999999999999999999/8000000000000000000000000", + "short_record_fallback": "7616558127648579775004579951110210160348904912535874563229430461249717997149725435650984742888730879073033954505288978113551132666210608592542747167902845768243499385726535263417232501364353545402483249209346883699405584599415522349982709148703532633861928016293615880551479005184803469599847642702506602844733194289916145922505423846039060597660911176183462703194132719552288228464184590831856187509567760231566002850822310847560653949728079631644097577302731717297747302184505230435119358807697750838173460723862100001190065266983989417070659083863778909115680134764450332400606482874309717915458233853586830187637068823168562224923937426693645086721120733899925490877137963150759912629034201052622628092578068699142064754005750273170854494604082821025595124556214066191799738474400321/7642209410060918713542786312443726645325377534621879548735850648905228022833659559289314292548709161312694018234881614430504110884144012556063935494874106471825761080437544306339510058048821242504769241991704686001448765422093579820710331948913730613155130249889638249593147391610943052610673475415731447606135130163389811408468611032406073396521406248769501679795046354329635999492052798555552779265763128906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000000000", + "artificial_boundary": "109584958974438092202685032437294844283796557528104762483270240641553202515710171648529423728333172435197720328953677048238015240874821506107631401775174519456994912598991185978380303153256397013232166529535814156942450816338359061411716927763654406533802956319726769847079237767293722889215449908748540794783182377594207789398101484666721072011981881683732788409626407997776755270655083134129776860650710713896549290664534476106083/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1733660368054128235384147775454330488377753090645389531774464777239628198635519065455024065607739762993939412023572260319162339838428594454463576933285179093876604822185270154974755518118654936826110807702607267451356665807381625851269538615644383717370072662117159244583466230125520314761322730894161924714297501046367885515286438222010907126495357249938630732819353795713851147326264338084633123877018119/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000", + "coordinate_movement_above_kappa": "11002212630533677656605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "1733658411648519259788957108501034502783731887348740668573300300861862078897145220038176887543280870524394115973903592189469045629376208113596362580917692406105348034790433562963413095204080076327872726481681317574957049436497677795313104513799404795455035694403815272836074334279788062359901262561752218287046913875774563687494717654046482830540567740458631047826923768181984438939448468119116693655506626964639/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000000000", + "bulk_exposure_above_kappa": "11002212630533677656605093623944787355965539612516200645106951407826915866095646342820600592922324290630021900587774262753353941778229880283498882250397131249433751020449346623412219863978203340545146577238960698174577202206022681611354192984478347472051166203169760648159448905175343004340709173398984691872652337001787933898232337214253022535867166449534483569778488507964639/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "2773854632480996201019445773773632795810383741735974387637979167205638998078456659311191326907924728320757763188046948380966449532433364786274508740888799862431310928101595655948266406075273038423539211103245678045771048920926653306074827683186035025877079291674110819586154072355100251216694901098249373115625414503595294996666580587253027106437782090421809487518536045610295127335207070969896567981717498364639/3130248974360952305067125273576950433925274638181121863162204425791581398152666955484903134227951272473679469869007509270734483818145387542963787978700434010859831738547218147876663319776797180929953481519802239386193414316889530294562951966275064059148341350354795827033353171603842274349331855530283600939472949314924466752908743078873527663215167999495987888044050986733418905391944826288354418387256577600000000000000000000000", + "scalar_work_above_kappa": "13869280988027416907477991536681347921428003521866467390994553741539259469345778678223345346797459211481970000138909414423605424498376369294841401113913946063241581790087324647786701722034664634110648380399932189734453710088169058754199874823310090817045544329223929984920337945158430265689160378820885691287129421200349762294499785208122832716008068490029046177562400338178942470223298834711548560794633459964639/15651244871804761525335626367884752169626373190905609315811022128957906990763334777424515671139756362368397349345037546353672419090726937714818939893502170054299158692736090739383316598883985904649767407599011196930967071584447651472814759831375320295741706751773979135166765858019211371746659277651418004697364746574622333764543715394367638316075839997479939440220254933667094526959724131441772091936282888000000000000000000000000", + "dimension_above_kappa": "1949844391024404811066703165818534214180851126591129323901375324525651157929047930061563739743049520158974396939610069699730359637231393104809972351740823197676182096693167751453690247324771916893534592168778537209739923754551311017254820828459710814301825271672636325474226929864757823115133820419093064174152137572334132993729536622071930725776958222325914696467825383230243916949388279283629635834228977084633123877018119/1956405608975595190666953295985594021203296648863201164476377766119738373845416847178064458892469545296049668668129693294209052386340867214352367486687771256787394836592011342422914574860498238081220925949876399616370883948055956434101844978921915036967713343971747391895845732252401421468332409706427250587170593321827791720567964424295954789509479999684992430027531866708386815869965516430221511492035361000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json new file mode 100644 index 0000000000..c3caaf80e1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/BIT-CONTROLS.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_PR589_BIT_SUPPLIER_DERIVED_DEFICIT_NEGATIVE_CONTROLS", + "kappa": "0.001676855229071321", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "derived_deficit": 10272, + "rejected_controls": [ + "revert_hardcoded_9984", + "ports_112", + "decoder_constant_64_copy_ranks_unchanged", + "decoder_constant_64_with_one_copy_rank_8", + "eight_retained_totals", + "live_minus_one", + "profile_rank_mass_plus_one", + "profile_rank_mass_receipt_mismatch", + "bit_lower_next_grid", + "not_nine_stage_record", + "tampered_bytes_next_grid", + "pr543_file_under_pr589_pin" + ], + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7" +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json b/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json new file mode 100644 index 0000000000..6c138447c3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/FULL-ADMISSION.json @@ -0,0 +1,56 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa": "1676855229071321/1000000000000000000", + "kappa_decimal": "0.001676855229071321", + "manifest_sha256": "83a0f2d9d67acb7d8471bc80fdb86dc5c00f2ad89a6c92c8b0b1bbf57aeff790", + "native_reuse": { + "base": true, + "extra": true + }, + "provider_verification": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "roles": 319680, + "prefix_bits": 1441, + "charged_prefix_bits": 2048, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "stages": [ + { + "name": "retained-provider-and-parent-admission", + "exit_code": 0, + "seconds": 92.98206012501032, + "log_sha256": "cdf3315263df90f032f2b0ac822507c6fbee03f980edd8083513f229fb3c1b24" + }, + { + "name": "reconstruct-owners", + "exit_code": 0, + "seconds": 6.756526415992994, + "log_sha256": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5" + }, + { + "name": "lift-parent", + "exit_code": 0, + "seconds": 4.6491062919958495, + "log_sha256": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4" + }, + { + "name": "strict-t74", + "exit_code": 0, + "seconds": 102.78292987498571, + "log_sha256": "0ae919e2ba45c1c7bfde5b86be39c6206ffdc7b8f60597603d64c8a9f2e1c31c" + }, + { + "name": "geometry-controls", + "exit_code": 0, + "seconds": 0.26364212497719564, + "log_sha256": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json new file mode 100644 index 0000000000..9f71586085 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/GEOMETRY-CONTROLS.json @@ -0,0 +1,29 @@ +{ + "status": "PASS_T74_GEOMETRY_AND_CHARGE_CONTROLS", + "rejected": [ + { + "name": "old_prefix", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_call_count", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_parent_idle", + "reason": "strict arithmetic invariant" + }, + { + "name": "old_stock", + "reason": "strict arithmetic invariant" + }, + { + "name": "missing_call", + "reason": "strict arithmetic invariant" + }, + { + "name": "low_row", + "reason": "strict arithmetic invariant" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json b/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json new file mode 100644 index 0000000000..b635dca5d5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/INDEPENDENT.json @@ -0,0 +1,152 @@ +{ + "status": "PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW", + "roles": 291708, + "calls": 666, + "source_events_per_replica": 30, + "expanded_replica_events": 2220, + "bridge_events": 666, + "literal_windows": 1332, + "checked_whole_helper_widths": 291708, + "checked_busy_family_windows": 291708, + "orthogonal_port_bases": 112, + "actual_73_axis_charts": 7426, + "checked_slice_prefixes": 149184, + "local_profiles": { + "gauge44": { + "1": 2343, + "4": 124, + "8": 8, + "3": 422, + "2": 504, + "5": 42 + }, + "extra": { + "1": 2343, + "4": 124, + "8": 8, + "3": 422, + "2": 504, + "5": 42 + } + }, + "width_inventories": { + "gauge44": { + "9": 240, + "4": 37, + "8": 114, + "7": 38, + "5": 9 + }, + "extra": { + "9": 240, + "4": 37, + "8": 114, + "7": 38, + "5": 9 + } + }, + "idle": { + "1": 24516, + "3": 8481, + "7": 93, + "48": 24545 + }, + "profile": { + "1": 1584954, + "2": 335664, + "3": 289533, + "4": 82584, + "5": 27972, + "7": 93, + "8": 5328, + "48": 24545 + }, + "live": 66304, + "physical": 66830, + "rank_mass": 4816512, + "deficit": 23680, + "namespace": { + "data": [ + 0, + 66304 + ], + "centres": [ + 66304, + 66312 + ], + "tableau": [ + 66312, + 66750 + ], + "zero_buffers": [ + 66750, + 66828 + ], + "coefficient": [ + 66828, + 66830 + ] + }, + "local_prefix_bits": 69, + "local_prefix_from_native_receipt": true, + "local_profile_recounted": true, + "prefix_formula": { + "local_scalar": 69, + "input_l2": 37, + "invocations": 666, + "bridges": 666, + "margin": 4 + }, + "prefix_bits": 1442, + "charged_prefix_bits": 2048, + "physical_stock_bits": 2644, + "physical_row_coefficient": 19545, + "row_limit": 20161, + "scope": "Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.", + "controls_rejected": [ + { + "name": "private_namespace_collision", + "reason": "private-namespace collision" + }, + { + "name": "copy_replica_alias", + "reason": "role invocation time" + }, + { + "name": "missing_whole_helper", + "reason": "complete helper role count" + }, + { + "name": "split_whole_helper", + "reason": "complete helper role count" + }, + { + "name": "truncated_helper_width", + "reason": "whole-helper residual width" + }, + { + "name": "cross_idle_boundary", + "reason": "strict bridge-aware idle window" + }, + { + "name": "cross_child_pending_axis_alias", + "reason": "overlapping pending children on one family" + }, + { + "name": "wrong_provider_at_changed_call", + "reason": "whole-helper residual width" + } + ], + "disjoint_pending_child_axis_checks": 2016, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "input_sha256": { + "PLAN.json": "b6878963c0edaaf96ead2c9235b58c1bbec3e37fa5d8fe3d78071ed39c566eec", + "DISPATCH.json": "6aad7f628f4c9b510a95c5b34357736303069ecf92a551659900b1ba540bc7e0", + "OWNERS.json.gz": "80dfcc8972657975e37e20a7c3dd781a4b38f3037ff26de6082509a77e91d1ae", + "GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "CANONICAL-WORD.json.gz": "a0b8fcc16fc3e16208f5a0f254c8d287837f1990c47c938cc6ea4b43c9ec21ae" + } +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json b/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json new file mode 100644 index 0000000000..882b30d580 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/OUTER-DISCOVERY.json @@ -0,0 +1,395 @@ +{ + "status": "PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY", + "kappa": "1676855229071321886206381217337893/1000000000000000000000000000000000000", + "kappa_decimal": "0.001676855229071321886206381217337893", + "complex_lower": "839835897752368810771/500000000000000000000000", + "complex_decimal": "0.001679671795504737621542", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_decimal": "0.001733427039589844234749", + "binding": "complex", + "gain_over_pr635_percent": "0.00001493392094572461521830473357486811262641222881358040582669723168874522", + "complex_profile": { + "1": 1559100, + "2": 339000, + "3": 277392, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "provider_counts": { + "extra": 417, + "gauge44": 249 + }, + "surcharge_model": { + "complex": false, + "bit": true + }, + "conservative_complex_lower": "83983589632938552601/50000000000000000000000", + "conservative_complex_decimal": "0.00167967179265877105202", + "conservative_kappa": "1676855226234891862111568849431109/1000000000000000000000000000000000000", + "conservative_kappa_decimal": "0.001676855226234891862111568849431109", + "conservative_moments": [ + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "83983589632938552601/50000000000000000000000", + "accept": true, + "mercator": [ + "-6806405835181690224448760866098662996463265/13479973333575319897333507543509815336818572211270286240551805124608", + "-212700182349427819514023777065583218639477/421249166674228746791672110734681729275580381602196445017243910144" + ], + "base_two": [ + "-1262319429171566558719/2500000000000000000000000000000000000000000000", + "-1009853543337253246947/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "conservative_complex", + "surcharge": true, + "endpoint": "1679671792658771052021/1000000000000000000000000", + "accept": false, + "mercator": [ + "32576835786057171933027423569808193095310333/13479973333575319897333507543509815336818572211270286240551805124608", + "16288417893028585966513711784904096547655167/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "6041708070917619306649/2500000000000000000000000000000000000000000000", + "24166842283670477226737/10000000000000000000000000000000000000000000000" + ] + } + ], + "conservative_bootstrap": [ + { + "exponent": "419228773834223999879355321864835115613413130677141986876803949525226982976877304002048397709072320811494258653351156134799/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "689174330468763125644678135164884386519877528041543846895550474773017023122695997951602290927679188505741346648843865201/250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228485815" + }, + { + "exponent": "209958395289004825064671008398048707626152106431942508319816913627497565495534701648211283881220612311807314585444664274102289666462883822615633975167751870599387686662024239359291937801/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793341556437828991601951292373814397670649257042032836372502434504465298351788716118779387688192685414555335725897710333537116177384366024832248129400612313337975760640708062199/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095795282918005" + }, + { + "exponent": "104979486555081765955718852060890332356742895070787053301865761925178163409996454821886501494686013508681313771058558194682922855372723943681804841240150408568034309716095450155731162186935931555338853541315400327873692923670541809037499026541229599/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "486091424795531147939109667643240356980508829379059113074821836590003545178113498505313986491318686228941441805317077144627276056318195158759849591431965690283904549844268837813064068444661146458684599672126307076329458190962500973458770401/62500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150244109829297064928" + }, + { + "exponent": "52489743520178358348183817001929422894962940286772175979474063084908574973381919559451666596447232442335725882704531760052210567533738242531053516144976787339010034742888327417727732697707384274087711536432070547485949172000206435110640591624247528356078592379665043831709797834540046349027060996843358120363001/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "408237027441182998070577105028685738875765360988374415091425026618080440548333403552767557664274117295468239947789432466261757468946483855023212660989965257111672582272267302292615725912288463567929452514050827999793564889359408375752471643921407620334956168290202165459953650972939003156641879636999/31250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949139446989141199128988231" + }, + { + "exponent": "26244871760292954835702644090121494957735418014575915437825411093298185477933724956382890690324412362964127160533600307934330858546530348285719399729625701931541244173367411698254137239467898352505649942173753584624659882781208713672260693896692306643846679957066384657722932135070800202344187306379588109714442139802306094250484622916688796366756298495824586553202347284399/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852109855909878505042260394998248055232405807656701814522066275043617109309675587637035872839466399692065669141453469651714280600270374298068458755826632588301745862760532101647494350057826246415375340117218791286327739306103307693356153320042933615342277067864929199797655812693620411890285557860197693905749515377083311203633243701504175413446797652715601/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770261583247044565375157256617981" + }, + { + "exponent": "13122435880146648555966741010740973741937418591174780383779292602981566047994311207260562762062555349767744144159025536129460044258004940348090852783195661489550087089297958066533531986247559970829760041424881216968015092395024610925462619164664174981668607459280868831858674495933272521367971192273950891973468099347524068832601339288647856415214459560004945332847889113125069176158637455230777236561255913282812638677100325754031828201/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "287939508989259026258060487915237204951336316772018433952005688792739437237937444650232255855840974463870539955741995059651909147216804338510449912910702041933466468013752440029170239958575118783031984907604975389074537380835335825018331392540719131168141325504066727478632028807726049108026531900652475931167398660711352143584785540439995054667152110886874930823841362544769222763438744086717187361322899674245968171799/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084966466938934949504256676659676053" + }, + { + "exponent": "6561217940073324421711303064379362484677939288311350601670644439628625508343878208659839905602068486275275019585150033277892824847481019342659704645452944195245457186139433773361871443039373158053419015373823777709231597837995656595692598846353677778290031982122555689449134389624202094659605420811443888234475971824104020099768162214255502011356498641783547857116872083937427417584255346434173177900697543967641207339495734459328614463544246973540121893102437506084347852212850976097329373166299199/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "241821935620637515321013964894642065887160247871374491656121791340160094397931513724724980414849966722107175152518980657340295354547055804754542813860566226638128556960626841946580984626176222290768402162004343404307401153646322221709968017877444310550865610375797905340394579188556111765524028175895979900231837785744497988643501358216452142883127916062572582415744653565826822099302456032358792660504265540671385536455753026459878106897562493915652147787149023902670626833700801/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580986577732870361184764087692110382483960" + }, + { + "exponent": "3280608970036662210976359409257945934930240629068364977895065364537401433193880851412180571441752344570267155896864570944389230754891076847764005165365421475664014247749738400847552424297246503194909789609981275870547682124664408924722948544208250247356474524046358004568420994540486402169642050562802220374289474418076739544588194358029282826703383003280997029083159996386124412985265422727094151695042779152029239902487645019704354636959905368278898458468320972259798820708307476914543523115237109718915117585765166663363699721645485305238316714765513234333401/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "203090742054065069235997534631355883836979212598566806119148587819428558247655429732844103135429055610769245108923152235994834634578524335985752250261599152447575702753496805090210390018724129452317875335591075277051455791749752643525475953641995431579005459513597830357949437197779625710525581923260455411805641970717173296616996719002970916840003613875587014734577272905848304957220847970760097512354980295645363040094631721101541531679027740201179291692523085456476884762890281084882414234833336636300278354514694761683285234486765666599/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3329525351044790254147040565833757876376988846752907" + }, + { + "exponent": "1640304485018331105488281079437104610823969549946022526907536003188506643397923866190152010149652229549678046080177153157453279838180054601135901520741372088902114851315225461195508482610851213263723362951534636874121037870966380152439620032964317563430842602605111962174288227421310375161815751999161384854037307494362707344059467641251874118847529036059726631144022029836253486255869806796981953114101693369172887879463319854886105335485788740860166504120192789678535556640167367776934611935335694190538125428682214108147252535811772014247000239580289608999738810952690802360274554739767093272378627703599793918031990273999/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "170562895389175768763355475639981915168686493356602076133809847989850347770450321953919822846842546720161819945398864098479258627911097885148684774538804491517389148786736276637048465363125878962129033619847560379967035682436569157397394888037825711772578689624838184248000838615145962692505637292655940532358748125881152470963940273368855977970163746513744130193203018046885898306630827112120536680145113894664514211259139833495879807210321464443359832632223065388064664305809461874571317785891852747464188227985752999760419710391000261189047309197639725445260232906727621372296400206081968009726001/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1180139829431404893967201542216727833801345118024840785204" + }, + { + "exponent": "820152242509165552744140624856755157870165507174335361339651230231743855823017478533040654212219716880166265821138491434763712182470658558450411348175342247137210083671671696858407307525706942458155927508587375605344334983974546468710772128505689983323882144813136004482594268066961718795085843462362005839061345062408450244441770184114337206529449501828226819021458731713390182581365520411980281210576624040435225557453452818094611914620579788316368526934101938825233253626068925092134568449973563175516801603751057641881272958529430733887439095357208794803687721106267303775464754002524344005612681159088311592911298963460444193121113675669875698578120038608126435469839148763535878601/488281250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "143244842129703649476413722105074355705756144176982521466959345787780283119833734178861508565236287817529341441549588651824657752862789916328328303141592692474293057541844072491412624394655665016025453531289227871494310016676117855186863995517405731933038281204914156537637994160938654937591549755558229815885662793470550498171773180978541268286609817418634479588019718789423375959564774442546547181905388085379420211683631473065898061174766746373931074907865431550026436824483198396248942358118727041470569266112560904642791205196312278893732696224535245997475655994387318840911688407088701036539555806878886324330124301421879961391873564530160851236464121399/488281250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "418296865219348141817604657452702692761145439994854204315630375" + }, + { + "exponent": "410076121254582776372070312499879697839550017335028936027963777646135290887611461310454440558322320354377374034736830379787112349096931597455672871516128732982849206810301840307878925098431443651061226704158855865425035164042200455934637245524194902201675582574626907930553524486095780440582217484118768667914199913609435476189714080642324098645769663717710779727919612326440941588657900542835592370904907073664899438170144845309473551951588952476746264059274692982814384944654957466307859924102755239738051806654751275145069845365730855432904282428980427586506467789462243272589225497457693462664682593843360731625785181015929828835075462817742724676233295092957350159337717755629666891302734911183096733516655712264893271132446091403202350211208799/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "120302160384560990345605694399015322614709112388538689545559441677679645622625965263169620212887650903068402544327128483871267017150793189698159692121074901568556348938773295841144134574964835957799544065362754475805097798324417425373092069446475513904219559417782515881231332085800086390564523810285919357675901354230336282289220272080387673559058411342099457164407629095092926335100561829855154690526448048411047523253735940725307017185615055345042533692140075897244760261948193345248724854930154634269144567095717571019572413493532210537756727410774502542306537335317406156639268374214818984070171164924537182257275323766704907042649840662282244370333108697265088816903266483344287735106728867553908596797649788791201/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "148264013372581194538873855438284423060487844962498000055633622251273" + }, + { + "exponent": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "101034072696929274271957113706213078327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "52551715035726634570249715576113821243572277162668637491473049614849591666" + } + ], + "conservative_outer": { + "bit_positive": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "101034105407766587001095932309728703327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "1478516410367061447399/50000000000000000000000", + "beta_positive": "1/10000000000000000000000000000000000000000", + "beta_below_one": "9999999999999999999999999999999999999999/10000000000000000000000000000000000000000", + "leaf_saving_above_bit": "101034084903960524271957113706213078327508144532399979035455294277743440865201494477413785492684806528076320690269043165933668362034514138157357441926440358239783396382275999980343374313994620484858168706711912666818897798044141444024683803659358843687374876728838929187970553599127961576670543981658229445650060032087188753818551525723756101447293977389331550338833648543204385684555109410563398573077128448804346990221293430132468162104658503642972386242764739708416150054235801394409976976081897126937579094319856655125231830205778831013445143741689868597718882640225600261718827055496473677197553628750777979715644073981100180926323512159412921557649746497471423959654364419750400222842570939634236476696184512739083584579455933859893502211537782235935307557403614885655536199/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "1025190303136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "505170629557863248651173754566221641637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "1025190303136456940930175781249999494844526712168937703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "609326372196863543059069824218750000505155473287831062296867847583799766637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/40000000000000000000000000000000000000000", + "lambda_above_tau": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "1010341259115726497302347509132443283274980411218592023767551846845124679948687436629605454947812609986485463461825230164859269834852456575045498098574134539231900295460725485665276385698019764490341903670736850668208634606127419819761979867886876524206929869490345150435680852187620256923018064939853455527312629767272759576608844713255902785027289713861228314634517933906320100744103800128244654180432450839500265516528379191914118222473507907980919515437426103654029032380253355440456797374576206529667374793144330749857908325081706413007513858322578829322063594572050223786174825411223046903377817404867554196894721912755505335586037567965378437596781820900733139415617320685344589306868059649844893343002190762971085445571716767659300785638681637846613991989456692922695468487788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "205038060627291388186035156249999898965894592233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "505170629557863248651173754566221641637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/40000000000000000000000000000000000000000", + "lambda_prime_below_one": "1025190303136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/610351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "610351562499999999999999999999999999999938964843750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "epsilon_below_one": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "guard_width": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "K_geometry": "458788862178136456940930175781249999494844526712168937703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "K_dominates_log": "10251903031364569409301757812499994948444241931386240574380593986221083626108269907366545159543113283509043539837797263191317284704501914417807370822536612333256280685529734758994970591152534005357792531225028248663569608475312087522381941776472144622103355060920665680442564236354229633559287154401667641357718929785591909116605170223067513872532015823822373878794498660339530390864060461131186404019175181655399064508289072637957412472263736404992518102207840557653541812892910934902688329397860921768956321206730705696932642556393455317155066658599606150915171966044141492098083180250184139539935464830587482133386802207344312432976570234279239312565261633696368973189977577975366212985617409089808257499434141242431903256483571676266424404663505829917361448284221353340965149594001529901125498288252154181958346696370549026290529776474767350973149482788462217764064692442596385114344463801/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "record_suffix": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "phase_local": "82015224250916555274414062499999959590612869595711879793631263120237419005330086204706606340266831334985749952240300285634393377504087687147606637221533148968294553093517836649232744655860171696525844077041024799497580645208967463948172339366358756631910241591038690981183092930592825729675277923866352933391825491154159132542452960861486579509459537246715847752698574061780085033476176441191780579540791860783336571530573792701665359195662052907852938568364952933234705297815627310871792677229503085389208686002337917213058050885930806753602558505276409928472988269186085671928310191186140796697239500275014051485077440359848095129528292277778357157457262133386202163789475796007279615669428472768435043314533079761258417392136954516499257915889556533190774237687336165011744480103134844279331327584957544936833851504015305541762058794727809346860683412788462217764064692442596385114344463801/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "phase_boundary": "16403044850183311054882812499999991917633472516899866793173508483422483801470153826602836117890860545064189803758011807972152378373037837794647307942450601187688132606214429206729636939556045807457911235152113667306484840195339691216021118712748139937229659620645067849077466695860395013226372077498640666389213777902897671124534980849217719498554374802927528782271990837605863645945098973707808761921028039866365136538770620071989522191412163533809125570735593046989070111600572338557182987783430250079263666760639895255457677556068085440279137388314760760420127649170593850369245495473266138724847239297252616649245999763273208092681003552293449413556004533669783246669934568092387361787086928833690553426442621686902747325253861634000667277054310175912225401661631194341317663637641528276400283656541187675233389965597242441902375120896456664906366676788462217764064692442596385114344463801/9782028044850183311054882812499999991917268286769703003250114438659203733800964983094525942555593992697480390037120572119415560249782762462338239832319770636945151605121825851860625776929076031472266983210472227783047773951253406943183037805163402654173670145492598405783026406558683107679112226461591928066750652928312815365354479495003067215002726290610947079742606645806043555346882769366870992954404940955229242858747950793157418959251062472343510953249407339971561408796553763743078652422361518208827486254810424505489400093332465680328330855279240412292013215155003872955389766173928218664493098065244440358708957860149143721759211822181371226935975314399929104729279885306978723063470585385983686122472022614518588917516720773220624647659708811589319637209006426242667606704116373329000732760982104089315400115384604515774964920918457838170488579184000000000000000000000000000000000000000", + "gamma_sublinear": "1/20000000000000000000000000000000000000000", + "cell_above_band": "12207031249999999999999999999999999999998167920122196863543059069824218750000505170732076893562296867847583799766637439688556592128590275375456407475622679964242536527484388577346103860010480014335190928024679885884258710888941932748032983313549345485763559514128046662066051060137177287334114145615906712599638560849590082305770055485846150504495828084191980449039665345031562308299062329606836815807516087084637122277790819826914570562940349691190298172321328253075427661315046808595478530565421912041251777411950215389766057584223602405111948282109074348468406912494166720894979479321545047474231749174052812257940288139614129486333469181370922222477580690133740678517390049261113664298316501542850004430954420007168313829808533088413376019617345498586592588192655204951673710959521268199275667522674437098359833274580992726666937454202438618494417787492788462217764064692442596385114344463801/24455070112125458277637207031249999979793170716924257508125286096648009334502412457736314856388984981743700975092801430298538900624456906155845599580799426592362879012804564629651564442322690078680667458026180569457619434878133517357957594512908506635434175363731496014457566016396707769197780566153979820166876632320782038413386198737507668037506815726527367699356516614515108888367206923417177482386012352388073107146869876982893547398127656180858777383123518349928903521991384409357696631055903795522068715637026061263723500233331164200820827138198101030730033037887509682388474415434820546661232745163111100896772394650372859304398029555453428067339938285999822761823199713267446807658676463464959215306180056536296472293791801933051561619149272028973299093022516065606669016760290933322501831902455260223288500288461511289437412302296144595426221447960000000000000000000000000000000000000000", + "prime_interval_packing": "1025190303136456940930175781249999494890303079356437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199", + "alpha_positive": "20503806062729138818603515624999989897194684834325617605702118148223417251711399600234321756789358719434287313038154837826042440818728453379207266022393260423976033886670892171886081171825053675524657037770170613068428328008691427011780570003598803480647195993794669294834068335531171933004428692896622683076877009981101512463154854599984523249235947455664298717923652289116752482665791315425557000522263278673675851225758318361344262004177781619686863883087428039879422310739013274326846093373809802286135230463246021627807700889184505522361851208124863833423431437921562089216687038955320804848121755608362706326485464800559138532483959097636256147549833133652059428989905894837068127654733275329612084044448275316549976704434054939156829191981513073242134703913237755008219339666734860526583473902067210004083418811748371385643605350510916207528511472788462217764064692442596385114344463801/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "alpha_below_one": "12207031249999999999999999999999999999999390673627803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "alpha_below_one_fourth": "3036379957952953145886047363281250007576951654781206570909958643932777749561090157616805035291833763998528334573562023949491320137238384816101492681577535063621383842713899686534559474118511206159558775215502400569134001031757998242732918744109964525948624724472642332512361683714057299216718142076350854837782702030116653289210119987588473981439116018360256663701640924525271858563235074111721628297729280769835462542132976304500349162761779240987660309007352365701233517938184037895385232788614164637972454224165011636337629828277211019580241541066637765007830698298017148209342614890397247527805971389780524905770063866496048274517269735334042252269942452616325785798910058263593782829679824657790289829228058791720509060019541186692288373201677490548420251923901270445825407755369631804786145513904840317906979117245940539794032932436507158220749169522211537782235935307557403614885655536199/12227535056062729138818603515624999989896585358462128754062643048324004667251206228868157428194492490871850487546400715149269450312228453077922799790399713296181439506402282314825782221161345039340333729013090284728809717439066758678978797256454253317717087681865748007228783008198353884598890283076989910083438316160391019206693099368753834018753407863263683849678258307257554444183603461708588741193006176194036553573434938491446773699063828090429388691561759174964451760995692204678848315527951897761034357818513030631861750116665582100410413569099050515365016518943754841194237207717410273330616372581555550448386197325186429652199014777726714033669969142999911380911599856633723403829338231732479607653090028268148236146895900966525780809574636014486649546511258032803334508380145466661250915951227630111644250144230755644718706151148072297713110723980000000000000000000000000000000000000000", + "delta_positive": "1/80000000000000000000000000000000000000000", + "delta_below_one_eighth": "9999999999999999999999999999999999999999/80000000000000000000000000000000000000000", + "short_record_fallback": "74380450465530915216983008213599126137257050294017131621185578285482080170286745128655035940950870166272501357048720520489781861764750772202128297372355597718463564370638106740588959284994676233530637190006354050485456934829235040523655009385785736505493599635779568529574049845921978514480783424974376195340044410192710770362357810926838898883820957507271276801913251368290321119566353435934971677161233928460793146031489556618817176270968268552883741468768271101886665219406326143045795902189121822420109549454794113974166106873996088093359305202034257975534237382165045560219697878802282999825585037940424783532990624815146108388930688105886422610421591032770329262981770679519744167982133476185851829160288913208520801028284145406397948435253334941165547793024324065088503146498686746224482209969815741874528685096374346594299125213226602453689751494410678299785011007418643359539199402325762712047976537758477587479008686670629663311010104972478206191494177626051287976918660641080182555846094227693648559428818993523826792693802597280418475465905075570912160398592824718004730020296672264359109229844039533848633069915887086091732041495538803691916446130352359222750288614206703527284428634956691826394506415027283653304470806416905665307322443827415575462815494396839215963323807178940059195869285146042561308093494311388352817316151792471362257099700332695736573568945257718712725899024641909196027640600156700071247872648511592357531143324569160906065027838138730633675320733981387244599863275163865970676098289732020204988390330501395837524709541908435653086049103006955745471887152525072838432610240519736580914289066590726948782317546243246575171938199367601/74630951269914118278922140598297119078958650869519828821183124074243192549140663017994124927944900456981509323403324677424740297315847491930681151064451375098763668862318617644200330939705475093629966607745912382377988998041178947015251448098475667222394333995762622114433490040273156033928773700421080994161610816408636591837726436576866662712117967915427757871571400801132534449362814097342460578570594337121805136556609732003459312128075122622249686838145502776882640142795972928948048800829784532232875719107135196727671814676913953249575278131708071993194680901756316169398420457259584187808937820932345888967200911408608579420160002305460901084411432757567818487009276468711690697200550730789060105304504567066334449138768926797642705136563940518106991861030627641621914723999911295539861547553879578318141175196720920683097571723315870957721623071166992187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/10000000000000000000000000000000000000000", + "artificial_boundary": "342452996794007332442195312499999999676697448413546529539375400336895493102037083811584807021536869104356464202184910565710952633605539672367160370865922785585078454622419868342386719497131601215885106544344849453669134825383310479483222562265888069709656127277319796245122903081935792445162146621615956984871110434583742367696869013342584237086621567371861941842585269797147055288978123785854329270753649376955258347516545572245553046681221449820169543613012308839636173367917010123936710505198194992229344117956566334050277830980627819997797389364842393446275307868717654755530652208992493604157028675087619177574537449987123360411368065343142082410006270505595942153619025264495807929643873910810797431606017644559238615211243231663584857847536315967813007723782291434851683135286091128562202307871260852277536504791641202450997784474130997671336289804881634613346707805922672210844656966608597/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "408808611148876353795425088896970313803046682409452711376573661917119304047880319803605933188018389430091600560698214624609360346253996000694755782432498886847869394049194681968211469481013928782298536731228465960824492192887232506438370338248807509005549077031258971620507960505707919446839408499185349500582691468124928198495274630726994940229502686504146699181489282489012572667119679362557332008764432613880097718226442126133033185185955530328549959901370579628594092106512602203326207288999671842783782306111984645272267479067757866676628476992506650968568493739297001835060301483307969959613364066185259173602885863019904407153319993932825876688846250630094617028211798785821604503974548704995427638409861647319631976448350828922915356895145724429737436369744842036366886769556052011730729338790582278449683997323238259770790611917668059662493785309/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199000000000000000000000000000000000000", + "coordinate_movement_above_kappa": "343819143539940174369036934678976114332092233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "4087474734735960401497309958793921888030971994826604007328033487018776840245440637724615924008774169676372413082604826210336139990024348584293661684335468882813884868516626705566373405699081220571018350625834005094008481443000371726449754442625252377389604915928496428804718165906669276774164140477699645510322742765441262433992411652301511710594089194648303807622408911974762848948987613452487890650584675829991275354585749514405759513174602111880978129579127708327192698477076237423028130474220320832949771343228920801191081703171745387661264249246611557159916686567022830608543302972693829082467109843223513958506439320332784750050589988589372431186779007843796174713072407865384358869554020138367652403715961971782912352676163494180827279910978512496650031220122857462028700970141512843974230842108261402991257760725171059925670183869123193010052197553801/6113767528031364569409301757812499994948292679231064377031321524162002333625603114434078714097246245435925243773200357574634725156114226538961399895199856648090719753201141157412891110580672519670166864506545142364404858719533379339489398628227126658858543840932874003614391504099176942299445141538494955041719158080195509603346549684376917009376703931631841924839129153628777222091801730854294370596503088097018276786717469245723386849531914045214694345780879587482225880497846102339424157763975948880517178909256515315930875058332791050205206784549525257682508259471877420597118603858705136665308186290777775224193098662593214826099507388863357016834984571499955690455799928316861701914669115866239803826545014134074118073447950483262890404787318007243324773255629016401667254190072733330625457975613815055822125072115377822359353075574036148856555361990000000000000000000000000000000000000000", + "bulk_exposure_above_kappa": "343819143539940174369036934678976114332092233412998904067690271296672491855467600020964544705722256559134798505522586214507315193471923679309730956834066331637965485861842642558073559641760216603617724000019656625686005379515141831293288087333181102201955858555975316196340641156312625123271161070812029446400872038423329456018341770554349939967912811246181448474276243898552706022610668449661166351456795614315444890589436601426922871551195653009778706569867531837895341496357027613757235260291583849945764198605590023023918102873062420905680143344874768169794221168986554856258310131402281117359774399738281172944503526322802446371249222020284355926018899819073676487840587078442350253502528576040345635580249599777157429060365763523303815487260916415420544066140106497788462217764064692442596385114344463801/122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "6540326401629218524269860492175743770849252089283320275587475458521492664532722556546251523136884506256922016446794113957992302067548324588462196378930462203901101232811794797375642222585164793264809571013204800858955434600323766765079976472118097431422899378116050258527765928940916793455200591472811742513818891574190831624964059436663481351971105313673184002711344606908838284951705689627831882703171271513271861663944402271203958624290335293852277888987351186098757251116151850642985374208218351889652465179900828672824686577578292587721035111201651462971327649002804841618905111872541648840147294240335069000123754498452211192970509952186327691319856511624363876882343200580313985893401312368340218234175131855700704211366268467718319421281852859075074649438591909680230021587477824914358606874851755073689361744664600618550413855375131550985014909407801/9782028044850183311054882812499999991917268286769703003250114438659203733800964983094525942555593992697480390037120572119415560249782762462338239832319770636945151605121825851860625776929076031472266983210472227783047773951253406943183037805163402654173670145492598405783026406558683107679112226461591928066750652928312815365354479495003067215002726290610947079742606645806043555346882769366870992954404940955229242858747950793157418959251062472343510953249407339971561408796553763743078652422361518208827486254810424505489400093332465680328330855279240412292013215155003872955389766173928218664493098065244440358708957860149143721759211822181371226935975314399929104729279885306978723063470585385983686122472022614518588917516720773220624647659708811589319637209006426242667606704116373329000732760982104089315400115384604515774964920918457838170488579184000000000000000000000000000000000000000", + "scalar_work_above_kappa": "32704077515157305167177066181581843854244239763488293803688189821217128123597063023977031247170061429782784452331479849932991364227804068632926566454610390962164742451960254443341176269370056235331915921811826622351722934945106647177135678120041778007778040308116624442240275401306223638052922735420674110551111145534186236328661635803191157526659277249938572750326658686205642935647365168831501131264094958801598115630436698343718082476191489234879475322675068282328779145932958391655862640704197349827814532771067845970249805237914796055025257638722077124959711248317812959062764406804251726255402594476191656110708449731726093250782989563887183799406016551950419366687898322872896674147772429488047587092406277284157150704060721518784902262571179222578270577102261800007710774839065153665125284557449020894469137573351849243881013018105887369384617169183801/48910140224250916555274414062499999959586341433848515016250572193296018669004824915472629712777969963487401950185602860597077801248913812311691199161598853184725758025609129259303128884645380157361334916052361138915238869756267034715915189025817013270868350727462992028915132032793415538395561132307959640333753264641564076826772397475015336075013631453054735398713033229030217776734413846834354964772024704776146214293739753965787094796255312361717554766247036699857807043982768818715393262111807591044137431274052122527447000466662328401641654276396202061460066075775019364776948830869641093322465490326222201793544789300745718608796059110906856134679876571999645523646399426534893615317352926929918430612360113072592944587583603866103123238298544057946598186045032131213338033520581866645003663804910520446577000576923022578874824604592289190852442895920000000000000000000000000000000000000000", + "dimension_above_kappa": "609326372196863543059069824218750000913857272913269916092292936480770080440486370966044839966849037373526779670560284046142460672406966776195460571178228959800288370933881884953466671374431634880852707598540167731770983609060590848349596868405753294938637808793945106076931187838889814775604562877409476116336044697688368486504753530747657799645021074961744006011361715364117218020322513418717262121838973679310744988447932437984993323811241209358628283648354167384810597136170920094607544124972984740542374215586950671733119783166392737763261627657032119504016653120570124616916616606636137302037675110219224312640991617048648477003413327298923471919387405869908838107740001101139706497379339043470636645557297372414192696629753656669138597931129846595299499122787927282748631476138451096674890572183460530784674262344514229494794031233178663564028461124238259770790611917668059662493785309/611376752803136456940930175781249999494829267923106437703132152416200233362560311443407871409724624543592524377320035757463472515611422653896139989519985664809071975320114115741289111058067251967016686450654514236440485871953337933948939862822712665885854384093287400361439150409917694229944514153849495504171915808019550960334654968437691700937670393163184192483912915362877722209180173085429437059650308809701827678671746924572338684953191404521469434578087958748222588049784610233942415776397594888051717890925651531593087505833279105020520678454952525768250825947187742059711860385870513666530818629077777522419309866259321482609950738886335701683498457149995569045579992831686170191466911586623980382654501413407411807344795048326289040478731800724332477325562901640166725419007273333062545797561381505582212507211537782235935307557403614885655536199000000000000000000000000000000000000" + }, + "conservative_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "native_correction_gain": "2.836430024094812367906784E-12", + "template_sha256": "65c840660ec6f75713d8d478e38a52f5e4e871ed1e5b5477f95895ea349a7eb2", + "input_sha256": { + "owner_audit": "8fc4e5d64dbccddfc6d5dade51636954c90d803fd34da515589cb738a7cbbd21", + "fresh_invoice": "ccc6bf27bb134678de96e66eba348382cdd0cd451d38a112166f139e38257198", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 589, + "repository": "CrocSwap/integer-mult-bounds", + "commit": "a5afc8c6169ea61ba7c51dfd3cade02cc7b13b46", + "merged_as": "b3eb785ac5b4b1ca2beea0f80db078a505626a90", + "path": "research/e8-bit-p111-tuned/tune/EXPECTED.json", + "git_blob_sha1": "e293ddc557742637f9f679f083a1a282d87b1b13", + "word": { + "v": 111, + "decoder_constant": 63, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ] + }, + "derived_deficit": 10272, + "deficit_formula": "T(2Kv-L*cst), L=9 T=32 K=4 M=64", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "surcharge": true, + "endpoint": "1733427039589844234749/1000000000000000000000000", + "accept": true, + "mercator": [ + "-43100600330766044577088869872467188970742291/26959946667150639794667015087019630673637144422540572481103610249216", + "-43100600330766044577088869872467188970742289/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-799345163337715793503/500000000000000000000000000000000000000000000", + "-3197378653350863173989/2000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "surcharge": true, + "endpoint": "6933708158359376939/4000000000000000000000", + "accept": false, + "mercator": [ + "22502934905675809315035333485365686073718547/13479973333575319897333507543509815336818572211270286240551805124608", + "5625733726418952328758833371341421518429637/3369993333393829974333376885877453834204643052817571560137951281152" + ], + "base_two": [ + "8346798366759439729359/5000000000000000000000000000000000000000000000", + "16693606733518879458833/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "839835897752368810771/500000000000000000000000", + "accept": true, + "mercator": [ + "-5971205559779550112184163352720098399495653/26959946667150639794667015087019630673637144422540572481103610249216", + "-5971205559779550112184163352720098399495651/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-44297/200000000000000000000000000000", + "-55371/250000000000000000000000000000" + ] + }, + { + "side": "complex", + "surcharge": false, + "endpoint": "1679671795504737621543/1000000000000000000000000", + "accept": false, + "mercator": [ + "36397638841276465291309668235027524493751241/13479973333575319897333507543509815336818572211270286240551805124608", + "18198819420638232645654834117513762246875621/6739986666787659948666753771754907668409286105635143120275902562304" + ], + "base_two": [ + "1350063/500000000000000000000000000000", + "2700127/1000000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "41922877454335286127040925487085503119431878967707145530348200651760497399376112287024839767094103909525569079405031194385559/25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "68917433283154411509074512914496880561421852804092625597944348239502600623887712975160232905896090474430920594968805614441/25000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "4737228453333" + }, + { + "exponent": "209958395644747681223075001326641119706779041098048452740637846241070365751482799119458913697017724379669237869701612235800000156254165077529356224072731204241616268470605434556243113944011/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "578793344521469674998673358880293187463004507738039092878758929634248517200880541086302982275620330762130298387764199999843745834922470643775927268795758383731529394565443756886055989/125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1679095778079636247" + }, + { + "exponent": "1049794867329546732370904194394028583788575613119278215293291938074264359572676710888092277158967093273498949334746438922947664016777889595454522664206544061186071099230887687593221732883269210555581382251561283496006602105136711302514285519596452257519/625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "4860914281092845805605971416211256907393502738605361686925735640427323289111907722841032906726501050665253561077052335983222110404545477335793455938813928900769112312406778267116730789444418617748438716503993397894863288697485714480403547742481/625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "595150235995383974327192" + }, + { + "exponent": "5248974360911481364227160794056406265580262788106417778977043836402243602284752069003870199610930625222275918773107747121920265129859203841302571076976204479703564725834443995892108980046928248742833684587702051979976864382474201820172447042946556386526602270772761107918922449441312490748892911827039636751727062851/3125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "40823703091589205943593734418899814457486990516224288597756397715247930996129800389069374777724081226892252878079734870140796158697428923023795520296435274165556004107891019953071751257166315412297948020023135617525798179827552957053443613473397729227238892081077550558687509251107088172960363248272937149/3125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "210949135856002397248971178768" + }, + { + "exponent": "26244871804761182484480394990251245568572637829596536385971447548714982056841448792239896459877362838961062790277392506845709746804719762433796106613914480638307977390710915522586033934837944066944796651909355796985608222148937219638790602191883896472548758016814344943367889498999653717100514307698773298640400808491060951101901962645892913143940182054432101478321995416357231879/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "342852113355009748754431423175183222987461494893076285017943158551207760103540122637161038937209722607493154290253195280237566203893386085519361692022609289084477413966065162055933055203348090644203014391777851062780361209397808116103527451241983185655056632110501000346282899485692301226701359599191508939048898098037354107086856059817945567898521678004583642768121/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "74770260057057757241517293759023083" + }, + { + "exponent": "131224359023807623803573625841984714158425878936101033361677122738143749659664890854207108914430206688869247449305288627408234268961251953104939053844947075742538706820990438953701616904398685227913659333032039145810668239638387316486842793710325823458301517725268563800312072727552779202442908080206221717370334974906767401620088802939405988653938714778861425809827598452142085415769213364627500431280062743107437483609024946635987291280231291/78125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "2879395124158015285841553186127996585875654580386856250340335109145792891085569793311130752550694711372591765731038748046895060946155052924257461293179009561046298383095601314772086340666967960854189331760361612683513157206289674176541698482274731436199687927272447220797557091919793778282629665025093232598379911197060594011346061285221138574190172401547857914584230786635372499568719937256892562516390975053364012708719768709/78125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "26502084335705851402174427949732553255880" + }, + { + "exponent": "656121795119038133390661556109189597773624984588075466445717526537097475664450848312086944595839917369535937114112377181578339215783918060642403380693051125633094092067579080441142802710750362380906425079227192923264380265479916657842860335530997126835921827666132359311680414923809460237858087524550508377500018377186457815056730541510818272601762861574700288567478451933822497166074895908475129628104117407044610430378485689976720461973502677238343790110631423626056700443930883561534483569778488507964639/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "24182193890810402226270340732412629740940989087902524335549151687913055404160082630464062885887622818421660784216081939357596619306948874366905907932420919558857197289249637619093574920772807076735619734520083342157139664469002873164078172333867640688319585076190539762141912475449491622499981622813542184943269458489181727398237138425299711432521548066177502833925104091524870371895882592955389569621514310023279538026497322761656209889368576373943299556069116438465516430221511492035361/390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "9393580731174250430777861510361998517951488732" + }, + { + "exponent": "3280608975595190667074015659254840893972775693479221315083450547479505877854359143618357552851319689543230881890460060430534705943379000648426538979125883916648111727151790191767490019893248175046360760507037652448575538331458002775214022098602857547316320690095155711029169092757510644345770282312231502566059658617615325163061631785046342934805886928051209383392360018976728562281787794592934403564929991370417488679586994946628407308390585936594706931075443483959734468696137001692312764099577872058956327951068284692635599379113880143104355325126066518571393849673331/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "203090745159106026700933123219165849842030645494122145640856381642447148680310456769118109539939569465294056620999351573461020874116083351888272848209808232509980106751824953639239492962347551424461668541997224785977901397142452683679309904844288970830907242489355654229717687768497433940341382384674836938368214953657065194113071948790616607639981023271437718212205407065596435070008629582511320413005053371592691609414063405293068924556516040265531303862998307687235900422127941043672048931715307364400620886119856895644674873933481428606150326669/1953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "3329525249235005699151904506224986703485734661173356" + }, + { + "exponent": "16403044877975953335371092044371017141043782468642734742069408028339777267773094633382628395526723496857514195877071839428385211501626317505378175354369392256837753951542131312169476821740923130555446216163495488874735044923333297064345841859778793902112376347115702820410456536041325672369384151029556323002536703074529380347951935907836630028635223794144677735112826853401840961164304419530668152429179898480508010065348870932204513486983887401036772965984296257076234820313391299497372668727192996261943530409505298152854253842805821735332262659726540068739228555245091387941181736504781788144915892509640652049626098505408695751799/9765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1705628982858953600664369467662597054862285222732226905366617371604473276503142485804122928160571614788498373682494621824645630607743162246048457868687830523178259076869444553783836504511125264955076666702935654158140221206097887623652884297179589543463958674327630615848970443676997463296925470619652048064092163369971364776205855322264887173146598159038835695580469331847570820101519491989934651129067795486513016112598963227034015703742923765179686608700502627331272807003738056469590494701847145746157194178264667737340273459931260771444754908612058818263495218211855084107490359347950373901494591304248201/9765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "1180139789346085405177309849301162090601659900126459656313" + }, + { + "exponent": "82015224389879766676855468735675515519468825953606194103580816624950325175466789784945881403481440318094318477513768231014636475837101380304466144137581871465272608652884526887310569001720937580908633713880266476966093926424285988195186264632498089780715268683846765650949411900189250468237326146032420468009577948608743942804876969196563763082542940676306629830934585015209750168005999108194556643015980850031745302944300301295924858117508122917533512960832593597583764703092449468949130911297937603904278066679425868598059996126875976423327904387273727860220974941905547465447538130917373696037706814834430400109134555407783194204895211539925130074937826417923759261189368069456537193826586172971/48828125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "14324484480518089711454817919751497828174674824533210215054118596518559681905681522486231768985363524162898619695533855862418128534727391347115473112689430998279062419091366286119733523033906073575714011804813735367501910219284731316153234349050588099810749531762673853967579531990422051391256057195123030803436236917457059323693370169065414984790249831994000891805443356984019149968254697055699698704075141882491877082466487039167406402416235296907550531050869088702062396095721933320574131401940003873124023576672095612726272139779025058094452534552461869082626303962293185165569599890865444592216805795104788460074869925062173582076240738810631930543462806173413827029/48828125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "418296849593742393515580317004367667771071636583086158838930612" + }, + { + "exponent": "410076121949398833384277343749879697837099220482794448426093911014723015148090774438802674557980549021699308717346461883721540625817967739118142201392674293403644412353003530176735386443709779110780144872726998309648486852974474507775855855041722001872774914831979747433933323222130907370263749347913116764383616689562237185739223074146589547773945164084396999283229555595505927782602568976550652522796892850829623028417827686982302480837152532764026856433542859064371029552003623134421123744929251154322561514119855009257162665924997143269730625523283727883774908027126940492280356185579158652697401968247463181838594710539981444897231927338748718033150265089801523795434644341511293379374192526832580603382038289098857919799756949478035698564898252056626129359/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "120302162835357842510611690567661250901984851909225561197325442019450978300691282653538116278459374182032260881857798607325706596355587646996469823264613556290220889219855127273001690351513147025525492224144144958277998127225085168020252566066676777869092629736250652086883235616383310437762814260776925853410452226054835915603000716770444404494072217397431023449347477203107149170376971582172313017697519162847467235973143566457140935628970447996376865578876255070748845677438485880144990742837334075002856730269374476716272116225091972873059507719643814420841347302598031752536818161405289460018555102768072661251281966849734910198476204565355658488706620625807473167419396617961710901142080200243050521964301435101747943373870641/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "148264007331709359858295834418888173441435107225562495318918808136072" + }, + { + "exponent": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1010340749263844121665016746065154524235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "52551712716475631692839942557945885547451834809411660850904323883466052937" + } + ], + "outer": { + "bit_positive": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "1010341076372217596364433438203826399235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14785164102247631189229/500000000000000000000000", + "beta_positive": "1/10000000000000000000000000000000000000000", + "beta_below_one": "9999999999999999999999999999999999999999/10000000000000000000000000000000000000000", + "leaf_saving_above_bit": "1010340871334156621665016746065154524235555219198667995445426101689648948789373878751993394870116693029766327961618612669076504969322848619202046073485648986082303665654519612239617787559645424523642896516340155261952566561104592867128391579759004985170562569968745736667273672874167261873569030072360844542276360236495440192279645311806692757382644663968949417899041334326353656004251502109628308425341002640355165800326425459842777285600168890682241894968774540127915694980221239811430374567893447888563150608745923284741486711901566804388743955058001724679498876521938113707822530050070719598298619612813945817974044794410041517540148730595365492889357331234347935726345362410985029212275270724078534522467041814124759240092365307659697445203540414628354509972378494087814205919395638525789/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "10251903048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "5051706407051392855319250651712491371176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "10251903048734970834606933593749994948445155648927271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "6093263721951265029165393066406250005051554844351072728816334112405850746176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/40000000000000000000000000000000000000000", + "lambda_above_tau": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "10103412814102785710638501303424982742354541850910307736857896583458285661494503232300735280705721504195973630667396752812013056298358369498990694406894871248153960151575873273776975829522968596250346661497747033007286047823486283246760272901073709696443673133126352773805608337161913613750519738153639699686096328692080234660922884087994566729284170279452998738798133697951729867285132376432314134835510985069225304347260003096318144547576347904182063783887418975819314172516612229223621503783965704345503590392479011607603436744447774595998876399971271323510247278507479570273836556545649194258306697251617520066032625414050344455803188686340840983075599267549069315745913475379254926629863349909550997288944072778836607371711377805872895917512937104469420340483692575570482361748752844843261645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "2050380609746994166921386718749998989658923627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/12207031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "5051706407051392855319250651712491371176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/40000000000000000000000000000000000000000", + "lambda_prime_below_one": "10251903048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6103515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "6103515624999999999999999999999999999999389648437500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "epsilon_below_one": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "guard_width": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "K_geometry": "4587888621798734970834606933593749994948445155648927271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "K_dominates_log": "102519030487349708346069335937499949484441304586223976865824269007898788237394005674673476421155584011996675269838380347233904208250375603590132324510739172235453788913874009242501596193040512042212298418992000614111546792051889996420652662840708237346736712091552362448982156129198550788920382191722414218718587091505640943844982364927854343323964876760740309136099298180806053265244931427086540670254394329345230303622288117882324561243208351825208130985116894841591396953771464158906384910165123999747281964515201786074544864058897248301362210121554191206437781545092724351121590536122394056367044207049923226816093671725300031976761020419879240110709486293926915242363265547412604688036287668703765726235811790066207833758849719794082871025549581196218068072974320545071409724258550431734904953248499953461087173748712888161192890345585046009553391345731037472206645490027621505912185794080604361474211/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "record_suffix": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "phase_local": "820152243898797666768554687499999595906119778136132959722436400598346555863791314074820927267530333309132446935469682493452459348587642303650772173252476508098252166825025800610018833529198270071284667189727120092029126060148735747168128539602739410721685454659228584166931996621264609428700552408036081371920491716094334156623836936444466113307039204548381342410072270903600087298957758849471089465362551932034121832381676225800834944825177630361933937033811097543523026668529910199104751861925861418248448879093090133200378749166354060152747797663891318486214835749252540490157862847733386163664331361819801796142653001033561355024817892074510908742608546284346148071210930066466300671153491255629167733169379086981568039669109478711355508405090006299436080604385590336463005057806357496389561427241140754667836549523057885996008588412079632156547805703425734277436645490027621505912185794080604361474211/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "phase_boundary": "164030448779759533353710937499999919176332941604787603967819594572794311176799628760757543636559133951751169984035349102624066077422141320738187168688602372452265078449115591359717359393282605587561358599340725140790196443603048203627579166563168052207446604311638895739092142457089927243758682495977871403278750345041814647797455613914992495036799819142538111988154124414188399039563173777576644852692236409575706720373092812846768308407377147128356057217862112216042679500750759533780530648887472921333096271479020787256759197068107832174338117625183087830418671905449280020181842448546193379849668820315912818472655899951722431095165895133133383136300834293105706627693065363331492915160619404725943041115831844087524422836871984844134811372367331919351040575666715098619260752848362465848161222447869164993094263100799602261319950179856010536438626862104868626940645490027621505912185794080604361474211/97820280448779759533353710937499999919172681084132836338938654201506388061171747921328515845907742799839345319237858583347707098317791375245728146251140968533911496772093977552312575368533978916120930827147596598737809732404136421885885137343259892839628559712586897422106959963541043670546235467478014552492160435342763129877206595330632368404567559846351460807605479536622352922064848646267973611153167578880614603778002145853238516659104450120808394469953987246331870086791944787666331055303259597124228838151903517336485904888024561556994602420009677057663949040960950815117494005099796798195953665635375972244417499275270459730982412999235344381401576927997810110360879466175783701938998217962725806173013386810723510904208059373466805174258180668595021260007179718809460936076239498757635350051198317897418685571605564570933672159558055905405027294710330216412624000000000000000000000000000000000000000", + "gamma_sublinear": "1/20000000000000000000000000000000000000000", + "cell_above_band": "122070312499999999999999999999999999999981679201221951265029165393066406250005051707432241697728816334112405850746176765754916967759630766075010040917547633838540768306355138039047141990859303689466630531451744126402980464039466626317742441823303275212578886891724741473632132178916046256697523215017963318911118315002278684770590860283282624090469239972791077304382674587791835476974714527509603033699524657528961102942370946959608251649302927026319961587263874865884172592708805971867449475345627875797104258119575503450770854309043546275179735697615506030166469630944498464902687837348749395183896003184939940574055156624681262700112752895897789001734723906295295596266813599187547790976162401442000136868102445033364013518628812611377329637114186663324329780568486996289158324676608863708212811171249551267574408691495235031327647790621800105131411332151774652214316645490027621505912185794080604361474211/244550701121949398833384277343749999797931702710332090847346635503765970152929369803321289614769356999598363298094646458369267745794478438114320365627852421334778741930234943880781438421334947290302327067868991496844524331010341054714712843358149732099071399281467243555267399908852609176365588668695036381230401088356907824693016488326580921011418899615878652019013698841555882305162121615669934027882918947201536509445005364633096291647761125302020986174884968115829675216979861969165827638258148992810572095379758793341214762220061403892486506050024192644159872602402377037793735012749491995489884164088439930611043748188176149327456032498088360953503942319994525275902198665439459254847495544906814515432533467026808777260520148433667012935645451671487553150017949297023652340190598746894088375127995794743546713929013911427334180398895139763512568236775825541031560000000000000000000000000000000000000000", + "prime_interval_packing": "10251903048734970834606933593749994948902919320802271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789", + "alpha_positive": "205038060974699416692138671874999898971944618887996688702483144949391326469736609092886505113494833911587499793499994939550840656869985132170223731473844505930139271472609979437861201526777334617794065386239874825242629544637153675098863502378141262114586532458363251265832133342350844880317549365481509526318859180732597117099104446573084596178689780730403313889524008569776629555775335344570047640984131129729357664873629276156397473183489677330454674706358923799010201198736956450363294474702372202390305809454900121378235419074248221422988722627602352246405932145686983799555343723495392928838085229159905879577030718769337363840769144941969478486695066292558234217912931907277418399910173895407394584369178546768402148888886828210836104936912499068106355577461644800984494771908237155256998735247448639347765656002190744994737990069369986887695450539687422730096645490027621505912185794080604361474211/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "alpha_below_one": "122070312499999999999999999999999999999993906736278048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "alpha_below_one_fourth": "30363799579268975437480895996093750075769518219903514667215846293021354942646434616322274696732674791038207912468330812356607627567439819632119821972007708160917203469806758005659818601140091076669996818097384062280322911831655478164240241917390575250269338377725042193142592855264225302165381034221398038127481276863880880969527956594249530530248672671254428188487188346624708658589489866614171705844380737270462706015752041302980638982786650985422168597154262090679699200923745789695365160307566251898931206113014949046273609858433427265137824533625421728273578143154610145924661532870191106507397435281895085446803437804752681302091234917319075640701297723706757425269861901272654988456026769217944419844697504831582695008676131725997540512018768959867837788174782017326972047751916606206504048155752025703595573585124548183422034559792522483551375579057290769898848354509972378494087814205919395638525789/122275350560974699416692138671874999898965851355166045423673317751882985076464684901660644807384678499799181649047323229184633872897239219057160182813926210667389370965117471940390719210667473645151163533934495748422262165505170527357356421679074866049535699640733621777633699954426304588182794334347518190615200544178453912346508244163290460505709449807939326009506849420777941152581060807834967013941459473600768254722502682316548145823880562651010493087442484057914837608489930984582913819129074496405286047689879396670607381110030701946243253025012096322079936301201188518896867506374745997744942082044219965305521874094088074663728016249044180476751971159997262637951099332719729627423747772453407257716266733513404388630260074216833506467822725835743776575008974648511826170095299373447044187563997897371773356964506955713667090199447569881756284118387912770515780000000000000000000000000000000000000000", + "delta_positive": "1/80000000000000000000000000000000000000000", + "delta_below_one_eighth": "9999999999999999999999999999999999999999/80000000000000000000000000000000000000000", + "short_record_fallback": "7438045046531816186527454750808459676467846223788209252031863913762048161378636660545517046858049480408755504231788229098230396558355304090721865151504245433422868386134959420477554644245261808506439267351589503197052328858801753182435925179789333410217448173597018352559919988512438931944723137396496594261162458796551429333991578015078826481015655808984455696593983502399544210582526771918005973217858268231791868283483211240832030880364980610401059639170827518749906993348954598723400084846880909694218667765467260671140978800442870912097861278539001958725458321791057023209584302753833592116603632454116133028724379523206322736489643580253662782864014842471691372758735660023874463232338478975769361687939463962175679694025883812750353106458919306846933834074715714881284769083837097764589415595976606648854577775084273916057869777064790044413008835932855604078039689105516371066487568582643525704009315569075319015297847479371232406244498600027295885353889394129137820531782958835170207218118810052802526083217675917719041552104085714569849928710292412669113834878222434176893447111786688694659362107056191420596104888921982527098562832800524133429220398398901860191383186950052679569866845997440963145952884124301938580847476480460615418824700495358164559444020621689687003880177934451895879155577633020397638311535804956449635546397785827953631942491522717979486283501660027250272608448085467094688830183552331148957242200000188441975697064621725402346366774850349885735085803742111061439973823198598688866477466793925102440334893538549380953794727182182635751993208550540306000651999589610773976688545479709618531128278009997393921194423226043283624386206195964039406205733270493218072521/7463095127012615931194588541984558099302114950876833827128498397942076725858440240579873340294475006091258645571736036937538688531325635928781749439326550944054527036445158199486738233072965920724558321162994125269913462250071443320151148784123221804781231667525245469826275631984027379649828755758515514563916048839016962423492934824419583771100430286129109253509939539842403634801090137196958435909512907324265640547027751606234628041008335122742339665981596927362966162627559264195734486030827300805986697246696740519446251288454022335586136048889898457158199237133861603936576385887130493026424687624769284991792106573125492838362305679262950468551756052245926674679632527631819435267562730252283157819596358246667748329483647107961029447498945668685533238220762612824208140264605674648867443088622918540757651181915707746195501110806126091415788825585199754059801025390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/10000000000000000000000000000000000000000", + "artificial_boundary": "3424529967951190381334148437499999996766974412792897599762458671881056303696854761730843908743123262991236595217275813036643533029432762711604095727292995839840837565964693687975361588768781245576437341491548631570303447904047056996482178168260485887947405727828301672463382002004893608051756849054066692142953062468703689140776491232375446863911294673935685200391071157701518610451669802268190135345028129182637700842292972993250715911416269223753375894036367865255622285693551373591050893786093500257577840751717414183107123632593851823454244889707540564216058552745604537209991696691945623742286458615860219068054534501136774601138958261281720408250858905401026517625634737849468704704631441514183031836316228137328848395612435937104540218058984666753827861058581727763510962469019753359180775568534184062094024196789736877743363943010456835900806857791957884699862010063529917135482263442617758186915577367/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "1537636291446310788365492711081760099108478922744404596297975551245935130143962922665550594422419840270970637504096045986089259817584400040038867413442598639429376662664769941033262780275210868866958891861973559160071605831318889101967861858069571971787352668696438950058649811529644622408012548573479642648629689227006482122556801106541970427039646862949307834792861738253392303491293520043230187572196233923246625883499885760264667942326545950687688742214190135878010641768274005151944570718107901631658384213383426614707652213443298254153756325123333555354501587679632142622090449410085612368614166880374770525330001433600490656954280904407110191992764959662232696202886482397361410453577946207439233020929520432641048651241307090839663912488211728042823110440882598292103737096123158654273745330647232168610480079921156590622590905915889138187617779229806392577423/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789000000000000000000000000000000000000", + "coordinate_movement_above_kappa": "3438191447040692548362771804328823643298627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "15370249146935059148684092503884007241089840934876287660708571846571757152185805992410422911983829168784716415958508093699433366482199138439435816125285290083760397158099443536735608266791575314987331360443038866813294945204913632493310750759611765974571049901982352819497616430298724908850716346018079050576766132242855898529950685653211539747371183157002681381628142040062884137855306147391910127371265266258786220422262732468530852015974265478744336897487529234577210675802315554970216561490122562591763577831449772177242991765377481006440251088582084948728911879981261366794959650725537386386254421699645494255034738242300202165809622643258649710903811998064327098896967269006978118054408274685769659846409390989734816292981557904685797449558726144136443915580075534188611779652726821574065101097094121791236212131363340558440225704648919003382089978092144530135704211/61137675280487349708346069335937499949482925677583022711836658875941492538232342450830322403692339249899590824523661614592316936448619609528580091406963105333694685482558735970195359605333736822575581766967247874211131082752585263678678210839537433024767849820366810888816849977213152294091397167173759095307600272089226956173254122081645230252854724903969663004753424710388970576290530403917483506970729736800384127361251341158274072911940281325505246543721242028957418804244965492291456909564537248202643023844939698335303690555015350973121626512506048161039968150600594259448433753187372998872471041022109982652760937047044037331864008124522090238375985579998631318975549666359864813711873886226703628858133366756702194315130037108416753233911362917871888287504487324255913085047649686723522093781998948685886678482253477856833545099723784940878142059193956385257890000000000000000000000000000000000000000", + "bulk_exposure_above_kappa": "3438191447040692548362771804328823643298627782403635566561796173600764444780801332004554573898310351051210626121248006605129883306970233672038381387330923495030677151380797953926514351013917696334345480387760382212440354575476357103483659844738047433438895407132871608420240995014829437430031254263332726327125832738126430969927639155457723639763504559807720354688193307242617355336031050582100958665673646343995748497890371691574658997359644834199673574540157222714399831109317758105031225459872084305019778760188569625432106552111436849391254076715258513288098433195611256044941998275320501123478061886292177469949929280401701380387186054182025955205589958482459851269404634507110642668765652064273654637589014970787724729275921465477532958185875240759907634692340302554796459585371645490027621505912185794080604361474211/1220703125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "24596066895612923878877048770374567835740714471342715238496425154047367933049583528403726478518348210410540240983084369615968925387705538679669020605940881920336657134088063182935184948442840528189084711614880221773724580192826967105117921908029197805295165914160986519849515299476592643298791637458956906468544267604894791265291492292463362309609064334698528390385312469583237958803067267651291252804442669798265975723262047030118859669933541182870469350772670049845274526411959585881883985798769972381713883111750331865488905046037270531362789039322086280855921406059054222527502347186051060597939422981894117407014746843903146107535308069701310862860401756037723276114286163391146580775875951930405057971986513585581108200429400449723780924487996512393382578225371123941234202229465773499707573080977514802899092610890280102175771140144253832507796653470982885600242211/97820280448779759533353710937499999919172681084132836338938654201506388061171747921328515845907742799839345319237858583347707098317791375245728146251140968533911496772093977552312575368533978916120930827147596598737809732404136421885885137343259892839628559712586897422106959963541043670546235467478014552492160435342763129877206595330632368404567559846351460807605479536622352922064848646267973611153167578880614603778002145853238516659104450120808394469953987246331870086791944787666331055303259597124228838151903517336485904888024561556994602420009677057663949040960950815117494005099796798195953665635375972244417499275270459730982412999235344381401576927997810110360879466175783701938998217962725806173013386810723510904208059373466805174258180668595021260007179718809460936076239498757635350051198317897418685571605564570933672159558055905405027294710330216412624000000000000000000000000000000000000000", + "scalar_work_above_kappa": "123004789548176814334268582279607214178683365526984609401566860433787216262263210578998964521553217987752661041245231312725681553713107141242156535066267194843816763544633339409064002886056336135674453790781188008018307353397235869631061080824481803999685736710733079323603103237373848477411594746161654035980844378133309647108926763111149469640146463563454229817128463717800345382245852550418023257425001640886050032267254735687057607978832482026882548852480838746037955599581495915606336511757675676807850472768289635206778646706408358797203193847215433823544023017555511350341291109431530252189246103325879431028134838594334548152609285951756363150397359174420615833099021036822276849804864509206515971311475821274608221879873054263462271323733547107134061646441857414635873376381347927373227274242400373593969817725844301902021589118761158676515334524178592010555314211/489101402243898797666768554687499999595863405420664181694693271007531940305858739606642579229538713999196726596189292916738535491588956876228640731255704842669557483860469887761562876842669894580604654135737982993689048662020682109429425686716299464198142798562934487110534799817705218352731177337390072762460802176713815649386032976653161842022837799231757304038027397683111764610324243231339868055765837894403073018890010729266192583295522250604041972349769936231659350433959723938331655276516297985621144190759517586682429524440122807784973012100048385288319745204804754075587470025498983990979768328176879861222087496376352298654912064996176721907007884639989050551804397330878918509694991089813629030865066934053617554521040296867334025871290903342975106300035898594047304680381197493788176750255991589487093427858027822854668360797790279527025136473551651082063120000000000000000000000000000000000000000", + "dimension_above_kappa": "6093263721951265029165393066406250006588123020563008517181826823487610845285244677661372355928741626255976047691596761206318900777557879318112628363399735452719791269328526443019331452909224957171818485968045153612149671999952342499091070778019815857594820849282208013086176860348256742378212951979063040527889784320721926790687136365315119623344216736609515822081458635503073369410593822557559484095788764573353890755168385927402780281002205790696101229127761557368926061902049401458543051257736411057746339383780035318414201662606366534346221562132821798603655398383238828208912949804596255467254483577421144356814355705381208635427766067922561501492402875600627525056725937771123710621577571039562333317073145721691191022064942496597557697538384140853859822490858358414072603983446759370470901062682703423515069247897810868590390820674853674522665874001760952096801905915889138187617779229806392577423/6113767528048734970834606933593749994948292567758302271183665887594149253823234245083032240369233924989959082452366161459231693644861960952858009140696310533369468548255873597019535960533373682257558176696724787421113108275258526367867821083953743302476784982036681088881684997721315229409139716717375909530760027208922695617325412208164523025285472490396966300475342471038897057629053040391748350697072973680038412736125134115827407291194028132550524654372124202895741880424496549229145690956453724820264302384493969833530369055501535097312162651250604816103996815060059425944843375318737299887247104102210998265276093704704403733186400812452209023837598557999863131897554966635986481371187388622670362885813336675670219431513003710841675323391136291787188828750448732425591308504764968672352209378199894868588667848225347785683354509972378494087814205919395638525789000000000000000000000000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional R480 seven-slot k8 construction with a source-bound replica count. The owner map attains the fixed-inventory bin bound. The full conservative invoice, native moment correction, PR589 bit surcharge and 47 outer inequalities are checked. Local admission and all-size/compiler, mutable-source, whole-call hosting, precision/tape, exact-recovery, analytic-transfer and bit H1-H5 assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json b/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json new file mode 100644 index 0000000000..5d7c9b908a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/REGRESSION37-CONTROLS.json @@ -0,0 +1,147 @@ +{ + "status": "PASS_EXACT_MIXED_048_ALLCOLD_NATIVE_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS", + "valid_receipt_kappa": "13414839829209/8000000000000000", + "input_sha256": { + "owner_audit": "047123bb26f782c7b18335b4883b58b31267f462b271b561884d1a6767d334e7", + "fresh_invoice": "b6330ee5631fac069e3cd029eff5aa7e525d7f0106465078993729c0f4e3ff75", + "package:inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "assembler_sha256": "c712b045155e08177210d8280632d42cf1cf7faef9ceb3626f4eb9d27e99f8f7", + "rejected_controls": [ + "empty_certification_maps", + "failed_invoice_status", + "nonboolean_precision_check", + "wrong_owner_role_count", + "understated_physical_stock", + "changed_profile_same_rank_mass", + "insufficient_finite_C0", + "missing_finite_check", + "wrong_reflected_orientation_selfconsistent_totals", + "missing_selected_call", + "wrong_selected_primitive_sum", + "wrong_selected_coefficient_work_sum", + "unpaid_wrapper_factors", + "wrong_global_compiler", + "wrong_global_adapter_maximum", + "understated_exact_prefix_and_global_sum", + "wrong_global_prefix_sum", + "wrong_row_prefix_reserve", + "wrong_parent_geometry_charge", + "wrong_rebased_geometry_charge", + "wrong_complete_pervertex_envelope", + "wrong_prior_added_complete_invoice", + "wrong_finite_router_bits", + "wrong_finite_literal_bits", + "wrong_finite_physical_stock_bits", + "wrong_finite_row_coefficient", + "reordered_complete_calls", + "understated_explicit_idle_remainders", + "understated_actual_chart_types", + "wrong_cross_replica_role_count", + "old_no_cold_wrapper_counts_selfconsistent", + "extra:missing_provider", + "extra:missing_backward_orientation", + "extra:unpaid_scalar_primitive", + "extra:wrong_local_artifact_binding", + "extra:false_dirty_restoration", + "extra:wrong_declared_provider_count", + "extra:wrong_local_compiler", + "extra:wrong_local_adapter_charge", + "extra:wrong_local_primitive_bound", + "extra:forged_provider_and_call_program_hash", + "extra:provider_at_wrong_call", + "extra:stale_partner_program_consistent_call_hashes", + "extra:stale_partner_profile_consistent_child_total", + "extra:relocated_against_partner_same_counts", + "extra:compensating_false_profiles_with_gauge44", + "extra:synchronized_forged_source_recipe_hash", + "extra:synchronized_forged_phase_review_semantics", + "extra:width_order_swap_4_5", + "extra:width_inventory_shift_4_5", + "extra:width_order_swap_4_7", + "extra:width_inventory_shift_4_7", + "extra:width_order_swap_4_8", + "extra:width_inventory_shift_4_8", + "extra:width_order_swap_4_9", + "extra:width_inventory_shift_4_9", + "extra:width_order_swap_5_7", + "extra:width_inventory_shift_5_7", + "extra:width_order_swap_5_8", + "extra:width_inventory_shift_5_8", + "extra:width_order_swap_5_9", + "extra:width_inventory_shift_5_9", + "extra:width_order_swap_7_8", + "extra:width_inventory_shift_7_8", + "extra:width_order_swap_7_9", + "extra:width_inventory_shift_7_9", + "extra:width_order_swap_8_9", + "extra:width_inventory_shift_8_9", + "extra:cold_helper_width_swap_258", + "extra:cold_helper_width_swap_270", + "extra:cold_helper_width_swap_282", + "extra:cold_helper_width_swap_294", + "gauge44:missing_provider", + "gauge44:missing_backward_orientation", + "gauge44:unpaid_scalar_primitive", + "gauge44:wrong_local_artifact_binding", + "gauge44:false_dirty_restoration", + "gauge44:wrong_declared_provider_count", + "gauge44:wrong_local_compiler", + "gauge44:wrong_local_adapter_charge", + "gauge44:wrong_local_primitive_bound", + "gauge44:forged_provider_and_call_program_hash", + "gauge44:provider_at_wrong_call", + "gauge44:stale_partner_program_consistent_call_hashes", + "gauge44:stale_partner_profile_consistent_child_total", + "gauge44:relocated_against_partner_same_counts", + "gauge44:compensating_false_profiles_with_extra", + "gauge44:synchronized_forged_source_recipe_hash", + "gauge44:synchronized_forged_phase_review_semantics", + "gauge44:width_order_swap_4_5", + "gauge44:width_inventory_shift_4_5", + "gauge44:width_order_swap_4_7", + "gauge44:width_inventory_shift_4_7", + "gauge44:width_order_swap_4_8", + "gauge44:width_inventory_shift_4_8", + "gauge44:width_order_swap_4_9", + "gauge44:width_inventory_shift_4_9", + "gauge44:width_order_swap_5_7", + "gauge44:width_inventory_shift_5_7", + "gauge44:width_order_swap_5_8", + "gauge44:width_inventory_shift_5_8", + "gauge44:width_order_swap_5_9", + "gauge44:width_inventory_shift_5_9", + "gauge44:width_order_swap_7_8", + "gauge44:width_inventory_shift_7_8", + "gauge44:width_order_swap_7_9", + "gauge44:width_inventory_shift_7_9", + "gauge44:width_order_swap_8_9", + "gauge44:width_inventory_shift_8_9", + "gauge44:cold_helper_width_swap_258", + "gauge44:cold_helper_width_swap_270", + "gauge44:cold_helper_width_swap_282", + "gauge44:cold_helper_width_swap_294", + "wrong_owner_receipt_hash" + ], + "discovery_accepted_controls": [], + "exact_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "conservative_outer_controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "recurrence_model_controls": [ + "native_complex_endpoint_rejected_with_old_surcharge", + "omitting_bit_surcharge_would_fail_next_endpoint_rejection" + ], + "scope": "Complete receipt schema; ordered widths and both reflected providers; exact program, work and paid-profile binding; independently recounted compiler, conservative envelope and finite inequalities. Does not replace fresh physical replay." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json new file mode 100644 index 0000000000..d63216e856 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/CLAIM.json @@ -0,0 +1,10 @@ +{ + "status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "kappa_decimal": "0.001676855229071321886144", + "kappa": "26200862954239404471/15625000000000000000000", + "baseline_pr": 1319, + "baseline_kappa": "0.001676855229071321", + "gain_percent": "5.284558765939298618040951514522605992382144528004040991733236735148466E-14", + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim.", + "verification": "Same construction, scalar words, owners and admission as PR1319; only the final kappa grid of the strict outer assembly is refined from 1e-18 to 1e-24. Release proof is run by the publisher." +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md b/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md new file mode 100644 index 0000000000..319bb23575 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/PROOF-NOTE.md @@ -0,0 +1,29 @@ +# Finite T74 exact-fill construction + +Start from PR1297 at head 4abf710a7f0d2a46f522f3f13c15769d003f9495. Its two local words, scalar identities, phase recipes, provider widths and ordered centre frames are unchanged. The new contribution changes the number of disjoint data replicas and the whole-helper hosting assignment. + +## Direct sum and chronology + +Take two copies of the 37-replica parent, with disjoint data and bank namespaces. Interleave the two copies of each original invocation while retaining every replica's original 30-event sequence. Private helper and centre work can be shared because each complete invocation restores that work before the next invocation begins. The literal parent constructor rebinds every family, replica, bank-padding sweep and final correction. Each old local route and phase recipe remains identical. The independent checker reconstructs strict windows from source events and checks every assigned physical family against those windows. + +This direct-sum step gives 74 replicas, 666 complete invocations, 66,304 live data families and deficit 23,680. The dedicated-bank envelope used for the conservative invoice has 111,664 live and 112,178 physical families; its shared private work has 514 families. The hosted realization has 66,794 physical families. + +## Integral packing gain + +The doubled incumbent leaves four rank-one gaps, each in a rank-32 child with whole-helper widths (4,9,9,9). Change one base invocation to the extra provider. That replaces four width-four helper demands with four width-five demands. Exact alternating paths transfer complete width-four and width-five roles among their legal owner bins. The four holes become (5,9,9,9). Other helper widths and all pending-axis lists stay fixed. + +The constructor is only a proposer. Independent checks recount all 319,680 roles, verify each call's exact provider inventory, enforce a distinct physical family for every helper within each call, and check the complete emitted controller. The admitted dispatch has 249 base calls and 417 extra calls. Idle H48=22,748; there are no residual H1 holes. + +The paid histogram is H1=1,559,100; H2=339,000; H3=277,392; H4=84,912; H5=54,612; H8=5,328; H48=22,748. Its rank mass is 4,816,512, exactly 73*66,304-23,680. Both exact moment engines and the inherited outer assembly give the conservatively rounded conditional endpoint 0.001676855229071321. + +## Prefix and row charges + +The local native prefix bound is 68 bits. The source-dependent global estimate is 68+37+666+666+4=1,441 bits. We charge 2,048 bits, derived as the next power of two above 192+37+2*666+4. The previous 1,024-bit charge is insufficient and is explicitly rejected. + +The physical stock has bit length 2,644. The row coefficient is 2*2644+9909+252+2*2048=19,545, strictly below the unchanged 20,161 ceiling. The outer bootstrap charges 4+2,048 in its prefix allowance. Its other inequalities and constants remain unchanged. ADMISSION-DERIVATION.patch records each replica-sensitive substitution. The old 37-replica instance also passed all 114 original admission mutation controls under these formulas. + +## Evidence and limitations + +The standalone verifier first admits the retained predecessor, including its two local providers. Default operation performs fresh sequential native runs. Explicit --base-native-from and --extra-native-from reuse requires exact word equality and completed native/ledger/replay/wrapper/phase stage receipts. It then reconstructs the T74 owners and parent, runs frozen controller, invoice and assembly checks, 114 admission controls, 12 bit controls, 15 controller controls, eight independent owner controls and six T74 charge controls. + +These are finite conditional construction checks. They do not discharge the inherited all-size compiler, common-label/mutable-source realization, whole-call hosting theorem, precision/tape theory, exact recovery or analytic transfer; PR559 recurrence correction and PR589 H1-H5 remain assumptions of the framework. No unconditional multiplication theorem, full Lean proof, global packing optimum or practical speedup is asserted. diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json new file mode 100644 index 0000000000..9afebef3ae --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RELEASE.json @@ -0,0 +1,12 @@ +{ + "package_dir": "research/gmx-t74-grid24", + "base": "origin/main", + "title_suffix": "finer 1e-24 kappa grid on PR1319's 74-replica exact-fill construction (same construction, only the final grid is refined)", + "summary": "PR1319's construction is unchanged (same provider words, owners, dispatch, plan, admission engines and controls). The strict outer assembler's final kappa grid is refined from 1e-18 to 1e-24 (the three grid expressions in code/assemble.py, as in the merged PR1019). With the same exact margin the 47 strict outer inequalities hold at the finer floor and the next grid point is rejected, so kappa moves from 0.001676855229071321 to 0.001676855229071321886144. No construction improvement is claimed.", + "credits": "PR1319 (rohanarun, 74-replica exact fill) and PR1297 (rohanarun, four cold kernels 531/543/555/567); the finer-grid assembler refinement follows the merged PR1019. Builds on PR1286/PR1274 (helper-donor cold kernels), PR1193 (jeremydiviney, mixed-provider flow), PR1148 (Thomas DiFiore) and the retained lineage named in PR1319. Research direction, prioritisation and release strategy: jeremykothe2. Implementation assistance: oh-my-pi.", + "required": [ + "verify.py", + "verify_release.py", + "MANIFEST.json" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json new file mode 100644 index 0000000000..546b8e9507 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/evidence/pr1377/RESULT.json @@ -0,0 +1 @@ +{"attempts":[{"call":[3,28],"success":true,"time":416}],"dispatch":{"extra":417,"gauge44":249},"idle":{"48":22748},"roles":319680,"scope":"Literal strict windows, bin capacities, per-call helper widths and distinct physical families checked. Local programs reused unchanged. Full T74 parent binding, finite invoice and global admission not yet run.","status":"PASS_EXACT_SINGLE_UPGRADE_T74_OWNER_SCREEN","target_call":[3,28],"target_time":416} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/freeze_spec.py b/research/gmx-t74-borrow43-handoff/freeze_spec.py new file mode 100644 index 0000000000..788d562223 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/freeze_spec.py @@ -0,0 +1,32 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +# 32 shared controls plus 17 provider controls, two controls per pair of distinct widths, and four spot checks per provider. +spec['expected']['assembly_controls_rejected'] = 32 + sum(17 + len(p['inventory'])*(len(p['inventory'])-1) + len(spec['width_spot_helpers']) for p in spec['providers'].values()) +from collections import Counter +spec['expected']['provider_counts'] = dict(Counter(p for s,r,p in spec['dispatch'])) +controller = json.loads((a.discovery/'global/audit/ASYNC-AUDIT.json').read_text()) +spec['expected']['mutations_rejected'] = len(controller['mutations_rejected']) +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/geometry_controls.py b/research/gmx-t74-borrow43-handoff/geometry_controls.py new file mode 100644 index 0000000000..feb5fda97f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/geometry_controls.py @@ -0,0 +1,31 @@ +"""Reject understated T74 prefix, stock and invocation charges using strict assembly.""" +import argparse,copy,hashlib,json,os,sys +from pathlib import Path +assert __debug__ +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--source',type=Path,required=True);ap.add_argument('--strict',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() +sys.path.insert(0,str(P/'code'));os.environ['GAIN_PR564_SOURCE']=str(a.source.resolve());os.environ['WITNESS_SPEC']=str(a.strict/'runtime/data/SPEC.json') +from assemble import assemble +sha=lambda p:hashlib.sha256(p.read_bytes()).hexdigest() +digest=lambda v:hashlib.sha256(json.dumps(v,sort_keys=True,separators=(',',':')).encode()).hexdigest() +op=a.strict/'global/audit/OWNERS-AND-PROFILE.json';ip=a.strict/'global/audit/PREFIX-AND-INVOICE.json';owner=json.loads(op.read_text());invoice=json.loads(ip.read_text());assemble(owner,invoice,sha(op),sha(ip)) +def old_prefix(o,i): + i['charged_prefix_bits']=1024;i['row_prefix_extra']=2048;i['finite']['physical_row_coefficient']-=2048 + +def old_call_count(o,i): + i['complete_invocation_sweeps']=i['bridge_sweeps']=333 + +def old_parent_idle(o,i):o['source_idle_children_charged']//=2 + +def old_stock(o,i):i['physical_stock_identity']['data_and_owner_families']//=2 + +def missing_call(o,i):i['selected_calls'].pop() + +def low_row(o,i):i['finite']['physical_row_coefficient']-=1 +rejected=[] +for fn in [old_prefix,old_call_count,old_parent_idle,old_stock,missing_call,low_row]: + o,i=copy.deepcopy(owner),copy.deepcopy(invoice);fn(o,i);oh=digest(o);i['owner_audit_sha256']=oh + try:assemble(o,i,oh,digest(i)) + except AssertionError as e:rejected.append(dict(name=fn.__name__,reason=str(e) or 'strict arithmetic invariant')) + else:raise AssertionError('accepted '+fn.__name__) +a.out.write_text(json.dumps(dict(status='PASS_T74_GEOMETRY_AND_CHARGE_CONTROLS',rejected=rejected),indent=2)+'\n');print('PASS_GEOMETRY_CONTROLS',len(rejected)) diff --git a/research/gmx-t74-borrow43-handoff/independent_core.py b/research/gmx-t74-borrow43-handoff/independent_core.py new file mode 100644 index 0000000000..ff543b3714 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/independent_core.py @@ -0,0 +1,390 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared for haoyan with substantial OpenAI Codex assistance. +"""Independent source-event, owner, chart, and finite-reserve audit. + +This derivative checks a source-bound replica count and derives its charged +prefix reserve from the call count, retaining the 20161 row ceiling. +The source is Hao Yan's variable-replica checker at the pinned repository base. +SOURCES.json and INDEPENDENT-DERIVATION.patch identify that source and all edits. + +Inputs are read-only. No owner constructor or controller auditor is imported. +--word is the canonical local supplier JSON.gz, with a hash-bound native +INDEPENDENT-LOCAL-REPLAY.json beside it (override with --local-replay). +--baseline-parent is the original eight-replica GLOBAL-TEMPLATE.json.gz. +Its sibling CANONICAL-WORD.json.gz supplies the ports and centre frames. +DATA-PHASES.json defaults to ../work/complex-nine-native/DATA-PHASES.json +(override with --phases). The checker recounts local widths and paid ranks. +--out names a JSON receipt. Checks remain enabled under python -O. +""" +import argparse +import copy +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path + +V, H, M, T, R = 112, 9, 73, 37, 480 +EXPECTED_IDLE = None +ZERO_BUFFERS = 0 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def filehash(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def basis(vectors): + pivots = {} + for x in vectors: + require(type(x) is int and 0 <= x < 1 << H, 'invalid local frame vector') + while x: + bit = x.bit_length() - 1 + if bit in pivots: + x ^= pivots[bit] + else: + pivots[bit] = x + break + for bit in sorted(pivots): + for upper in pivots: + if upper > bit and pivots[upper] >> bit & 1: + pivots[upper] ^= pivots[bit] + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def center_segments(word, current, frames): + """Literal nested target COPY paths, including every intermediate child. + + Seed39 adaptation by Tekalign (@tekuuu), with substantial Codex assistance. + External ports/frames are independently checked by audit_mixed.py. + """ + levels = {int(t): f for t, f in word['target_levels'].items()} + require(set(levels) == {11,23,29,32,34,35,45,48,50,59,63,71,73,76,81,84,87,90,92,108}, 'twenty source-partner target offsets') + require(all(frames[f] in ((30,), (45,)) for f in levels.values()), 'target line30') + require(all(current[V+t] == frames[levels.get(t, 0)] for t in range(V)), 'target centre level') + forward, backward = [], [] + for index, (register, frame_id) in enumerate(zip(word['centers'], word['center_frames'])): + require(current[register] == frames[frame_id], 'centre carrier frame') + served = set() + for event in word['cut']: + require(event[0] == 'add' and V <= event[1] < 2*V and event[2] in word['centers'], 'centre cut interface') + if event[2] == register: + served.add(levels.get(event[1]-V, 0)) + require(0 in served, 'centre COPY reaches zero') + origin, segments = frame_id, [] + for destination in sorted(served, key=lambda f: -len(frames[f])): + require(basis(frames[destination] + frames[origin]) == frames[origin], 'nested centre COPY') + rank = len(frames[origin])-len(frames[destination]) + if rank: + segments.append(['center', index, origin, destination, rank]) + origin = destination + forward.extend(segments) + backward.extend(e[:2]+[e[3], e[2], e[4]] for e in reversed(segments)) + require(Counter(e[4] for e in forward) == {1:8, 7:8}, 'sixteen centre children') + return {'forward': forward, 'backward': backward} + + +def local_inventory(word, replay, programs=None): + global ZERO_BUFFERS + zs=word.get('zero_buffers',[]) + require(len(zs)==len(set(zs)) and all(2*V<=z<2*V+R for z in zs),'private cleanup buffer labels') + ZERO_BUFFERS=max(ZERO_BUFFERS,len(zs)) + require((word['v'], word['h'], word['R']) == (V, H, R), 'local supplier dimensions') + frames = [basis(frame) for frame in word['frames']] + n = 2 * V + R + require(len(word['start']) == len(word['final']) == n, 'local frame vector lengths') + current = [frames[f] for f in word['start']] + paid = Counter() + + def climb(register, frame): + require(basis(current[register] + frame) == frame, 'nonmonotone local frame') + jump = len(frame) - len(current[register]) + if jump: + paid[jump] += 1 + current[register] = frame + + for section in ('A', 'B', 'tail'): + if section == 'B': + segments = center_segments(word, current, frames) + paid.update(event[4] for event in segments['forward']) + if programs is not None: + for orientation in ('forward', 'backward'): + require([e for e in programs[orientation] if e[0] == 'center'] == segments[orientation], + 'literal centre COPY segments') + for gate in word[section]: + if gate[0] == 'warp': # borrowed-dirty-qubit warp [warp, register, op, f0, f1]: exact rank-zero frame change of one register + register, f0, f1 = gate[1], gate[3], gate[4] + require(current[register] == frames[f0], 'warp source frame mismatch') + require(len(frames[f0]) == len(frames[f1]) and gate[2] != 0, 'a warp is rank zero') + current[register] = frames[f1] + continue + registers = gate[1:3] if gate[0] == 'add' else gate[1:2] + require(gate[0] in ('add', 'scale'), 'unknown scalar gate') + for register in registers: + climb(register, frames[gate[-1]]) + for register, frame_id in enumerate(word['final']): + climb(register, frames[frame_id]) + require(dict(paid) == {int(r): count for r, count in word['local_profile'].items()}, 'local paid-profile recount') + for orientation in ('forward', 'backward'): + require(dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()}, 'local replay profile binding') + widths = [len(frames[word['final'][q]]) - len(frames[word['start'][q]]) for q in range(2 * V, n)] + require(Counter(widths) == EXPECTED_WIDTHS, 'current supplier width inventory') + return widths, paid + + +def make_context(parent, phases, ports, word, replay, roles): + widths, paid = local_inventory(word, replay) + require(len(parent['calls']) == 72 and {(c['stage'], c['replica']) for c in parent['calls']} == {(s, r) for s in range(9) for r in range(8)}, 'original eight-replica baseline calls') + require(len(roles) == 9 * T * R, 'complete helper role count') + address = {} + for role in roles: + key = (role['stage'], role['replica']) + time = role['time'] + require(time not in address or address[time] == key, 'inconsistent invocation time address') + address[time] = key + require(set(address) == set(range(9 * T)), 'contiguous invocation times') + order = [address[t] for t in range(9 * T)] + require(set(order) == {(s, r) for s in range(9) for r in range(T)}, 'stage/replica inventory') + # Arbitrary interleaving: the exact per-replica projection is checked below. + rank = {child['child']: child['rank'] for child in parent['idle_children']} + source = parent['execution_schedule'] + blocks, stage = {}, None + for index, event in enumerate(source): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'source event before first invocation') + blocks[stage].append((index, event)) + require(set(blocks) == set(range(9)), 'source stage inventory') + events = [(index, event, replica, time) for time, (stage, replica) in enumerate(order) for index, event in blocks[stage]] + projections = defaultdict(list) + for index, event, replica, time in events: + projections[replica].append(index) + require(set(projections) == set(range(T)) and all(p == list(range(30)) for p in projections.values()), 'per-replica source-event projection') + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, windows, callpos, child_pair, side = {}, {}, {}, {}, {} + bridges = 0 + for position, (_, event, replica, _) in enumerate(events): + kind = event['kind'] + if kind == 'local_cover_sweep': + stage = event['stage'] + callpos[stage, replica] = position + last[replica, stage_pair[stage]] = position + elif kind == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = position + bridges += 1 + elif kind == 'idle_cover_sweep': + for sd, child in enumerate(event['child_indices']): + if child in rank: + windows[replica, child] = (last.get((replica, event['pair']), -1), position) + child_pair[child], side[child] = event['pair'], sd + require(len(windows) == T * len(rank), 'actual window inventory') + require(len(ports) == V, 'port count') + bases = [] + for q in ports: + zero = next(i for i in range(H) if not (q >> i & 1)) + correction = q ^ (1 << zero) + axes = list(range(H)) + axes[0], axes[zero] = axes[zero], axes[0] + frame = [(1 << i) ^ (correction if correction >> i & 1 else 0) for i in axes] + [1 << i for i in range(H, M)] + require(all((x & y).bit_count() % 2 == int(i == j) for i, x in enumerate(frame) for j, y in enumerate(frame)), 'nonorthogonal owner basis') + bases.append(frame) + return dict(widths=widths, paid=paid, order=order, at={key:t for t,key in enumerate(order)}, rank=rank, + windows=windows, callpos=callpos, child_pair=child_pair, side=side, stage_pair=stage_pair, + bases=bases, phases=phases, bridges=bridges, event_count=len(events), replay=replay) + + +def check_pending_axes(context): + checked = 0 + for port, frame in enumerate(context['bases']): + used = defaultdict(set) + for child, rank in context['rank'].items(): + axes = list(map(int, context['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(axes) == rank and len(set(axes)) == rank and set(axes) <= set(frame), + 'pending child orthogonal basis') + family = context['child_pair'][child], context['side'][child] + require(not used[family] & set(axes), 'overlapping pending children on one family') + used[family].update(axes) + checked += 1 + return checked + + +def check_roles(context, roles): + c = context + live, physical = T * 8 * V, T * 8 * V + 8 + R + ZERO_BUFFERS + 2 + require(len(roles) == 9 * T * R, 'complete helper role count') + helpers, families, used = defaultdict(set), defaultdict(set), defaultdict(set) + charts, chart_cache = set(), {} + for z in roles: + s, r, helper = z['stage'], z['replica'], z['helper'] + owner, child, port = z['owner_replica'], z['child'], z['port'] + offset, width, family = z['offset'], z['width'], z['family'] + call = (s, r) + require(call in c['at'] and 0 <= helper < R and 0 <= owner < T and 0 <= port < V, 'role coordinates') + require(z['time'] == c['at'][call], 'role invocation time') + require(width == c['call_widths'][call][helper], 'whole-helper residual width') + require(0 <= family < live, 'private-namespace collision') + require(child in c['rank'], 'unknown idle child') + require(z['copy'] == V * owner + port and family == owner * 896 + (2 * c['child_pair'][child] + c['side'][child]) * V + port, 'physical family identity') + lo, hi = c['windows'][owner, child] + require(lo < c['callpos'][call] < hi, 'strict bridge-aware idle window') + require(family // 224 != r * 4 + c['stage_pair'][s], 'helper aliases active data pair') + require(helper not in helpers[call] and family not in families[call], 'duplicate helper or family within whole invocation') + helpers[call].add(helper) + families[call].add(family) + cells = set(range(offset, offset + width)) + bin_key = (owner, child, port) + require(offset >= 0 and offset + width <= c['rank'][child] and not used[bin_key] & cells, 'overlapping or out-of-capacity slice') + used[bin_key].update(cells) + chart_key = (port, child, offset, width) + if chart_key not in chart_cache: + frame = c['bases'][port] + pending = list(map(int, c['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(pending) == c['rank'][child], 'phase child rank') + occupied = [frame.index(x) for x in pending[offset:offset + width]] + spectators = [i for i in range(M) if i not in occupied][:H - width] + permutation = occupied + spectators + [i for i in range(M) if i not in occupied and i not in spectators] + require(len(occupied) == width and len(set(occupied + spectators)) == H and sorted(permutation) == list(range(M)), 'residual/spectator permutation') + require([frame[i] for i in permutation[:width]] == pending[offset:offset + width], 'pending-axis binding') + chart_cache[chart_key] = tuple(frame[i] for i in permutation) + charts.add(chart_cache[chart_key]) + require(set(helpers) == set(c['order']) and all(h == set(range(R)) for h in helpers.values()), 'complete per-call helper inventory') + idle = Counter() + for owner, child in c['windows']: + for port in range(V): + cells = used[owner, child, port] + require(cells == set(range(len(cells))), 'gap in pending prefix') + left = c['rank'][child] - len(cells) + if left: + idle[left] += 1 + require(dict(idle) == EXPECTED_IDLE, 'nominated idle profile') + profile = Counter(c['aggregate_paid']) + profile.update(idle) + mass = sum(rank * count for rank, count in profile.items()) + require(M * live - mass == 320*T, 'replica-scaled rank deficit') + require(c['bridges'] == 9*T, 'actual bridge count') + localbits = c['max_local_prefix'] + prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4 + group = 2 ** (36 * 36) + for i in range(1, 37): + group *= 2 ** (2 * i) - 1 + stock = group * physical + payload = 1 << (192 + (M+1)//2 + 2*len(c['order']) + 4).bit_length() + row = 2 * stock.bit_length() + 9909 + 252 + 2 * payload + require(prefix < payload, 'prefix reserve') + require(row < 20161 and M * M > 2 * max(profile) ** 2, 'row or halving reserve') + return dict(status='PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW', roles=len(roles), calls=len(c['order']), + source_events_per_replica=30, expanded_replica_events=c['event_count'], bridge_events=c['bridges'], + literal_windows=len(c['windows']), checked_whole_helper_widths=len(roles), checked_busy_family_windows=len(roles), + orthogonal_port_bases=len(c['bases']), actual_73_axis_charts=len(charts), checked_slice_prefixes=len(c['windows']) * V, + local_profiles=c['local_profiles'], width_inventories=c['width_inventories'], + idle=dict(sorted(idle.items())), profile=dict(sorted(profile.items())), live=live, physical=physical, + rank_mass=mass, deficit=320*T, namespace={'data':[0,live], 'centres':[live,live+8], 'tableau':[live+8,live+8+R], 'zero_buffers':[live+8+R,live+8+R+ZERO_BUFFERS], 'coefficient':[live+8+R+ZERO_BUFFERS,physical]}, + local_prefix_bits=localbits, local_prefix_from_native_receipt=True, local_profile_recounted=True, + prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4), + prefix_bits=prefix, charged_prefix_bits=payload, physical_stock_bits=stock.bit_length(), + physical_row_coefficient=row, row_limit=20161, + scope='Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.') + + +def controls(context, roles): + candidates = [] + first = roles[0] + bad = dict(first, family=896*T) + candidates.append(('private_namespace_collision', [bad] + roles[1:], 'private-namespace collision')) + index = next(i for i, z in enumerate(roles) if z['replica'] >= 1) + bad = dict(roles[index], replica=roles[index]['replica'] - 1) + candidates.append(('copy_replica_alias', [bad] + roles[:index] + roles[index+1:], 'role invocation time')) + candidates.append(('missing_whole_helper', roles[1:], 'complete helper role count')) + split = dict(first, width=first['width'] - 1) + fragment = dict(first, offset=first['offset'] + first['width'] - 1, width=1) + candidates.append(('split_whole_helper', [split, fragment] + roles[1:], 'complete helper role count')) + candidates.append(('truncated_helper_width', [split] + roles[1:], 'whole-helper residual width')) + # Keep the family and chart valid, but move one complete role past its + # actual idle event. Freeze the original invocation order for controls. + crossing = None + for index, z in enumerate(roles): + lo, hi = context['windows'][z['owner_replica'], z['child']] + later = next((key for key in context['order'] if context['callpos'][key] >= hi), None) + if later is not None: + crossing = [dict(z, stage=later[0], replica=later[1], time=context['at'][later])] + roles[:index] + roles[index+1:] + break + require(crossing is not None, 'no idle-boundary control could be constructed') + candidates.append(('cross_idle_boundary', crossing, 'strict bridge-aware idle window')) + rejected = [] + for name, bad, expected in candidates: + try: + check_roles(context, bad) + except ValueError as exc: + require(str(exc) == expected, 'control rejected at unexpected predicate: ' + name) + rejected.append(dict(name=name, reason=str(exc))) + else: + raise ValueError('accepted negative control: ' + name) + bad = dict(context, phases=copy.deepcopy(context['phases'])) + pair = next((a, b) for a in context['rank'] for b in context['rank'] + if a < b and (context['child_pair'][a], context['side'][a]) == + (context['child_pair'][b], context['side'][b])) + children = bad['phases']['recipes'][0]['idle_children'] + children[pair[1]]['orthogonal_axes'][0] = children[pair[0]]['orthogonal_axes'][0] + try: + check_pending_axes(bad) + except ValueError as exc: + require(str(exc) == 'overlapping pending children on one family', + 'pending-axis control rejected at unexpected predicate') + rejected.append(dict(name='cross_child_pending_axis_alias', reason=str(exc))) + else: + raise ValueError('accepted negative control: cross_child_pending_axis_alias') + return rejected + + +def main(): + global T, EXPECTED_IDLE, EXPECTED_WIDTHS + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--baseline-parent', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + parser.add_argument('--phases', type=Path) + parser.add_argument('--local-replay', type=Path) + parser.add_argument('--out', type=Path, required=True) + parser.add_argument("--replicas", type=int, required=True) + parser.add_argument("--expected-idle", required=True) + parser.add_argument("--expected-widths", required=True) + args = parser.parse_args() + EXPECTED_WIDTHS = {int(k):v for k,v in json.loads(args.expected_widths).items()} + T = args.replicas + require(T == 37, "replica range") + EXPECTED_IDLE = {int(k): v for k,v in json.loads(args.expected_idle).items()} + phases_path = args.phases or args.baseline_parent.parent.parent / 'work/complex-nine-native/DATA-PHASES.json' + canonical_path = args.baseline_parent.parent / 'CANONICAL-WORD.json.gz' + replay_path = args.local_replay or args.word.parent / 'INDEPENDENT-LOCAL-REPLAY.json' + parent, phases, canonical, word, replay, roles = map(read, (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)) + require(replay['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'local replay status') + require(replay['canonical_word_sha256'] == filehash(args.word), 'local word/replay hash binding') + require(set(replay['local']) == {'forward', 'backward'}, 'both native prefix orientations') + require(word['ports'] == canonical['ports'], 'local/controller port interface') + require(len(word['center_frames']) == len(canonical['center_frames']) == 8, 'eight centre interfaces') + require([basis(word['frames'][f]) for f in word['center_frames']] == [basis(canonical['frames'][f]) for f in canonical['center_frames']], 'ordered centre-frame interface') + context = make_context(parent, phases, canonical['ports'], word, replay, roles) + pending = check_pending_axes(context) + receipt = check_roles(context, roles) + receipt['disjoint_pending_child_axis_checks'] = pending + receipt['controls_rejected'] = controls(context, roles) + receipt['input_sha256'] = {str(path): filehash(path) for path in (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)} + args.out.write_text(json.dumps(receipt, indent=2) + '\n', encoding='utf-8') + print(receipt['status'], 'roles=' + str(receipt['roles']), 'controls=' + str(len(receipt['controls_rejected']))) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json b/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json new file mode 100644 index 0000000000..613e01490d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/DISPATCH.json @@ -0,0 +1,1667 @@ +[ + [ + 0, + 0, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 3, + 28, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ] +] diff --git a/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz b/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz new file mode 100644 index 0000000000..114808c32b Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/inputs/GLOBAL-TEMPLATE.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz new file mode 100644 index 0000000000..34fa5d69aa Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/inputs/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/inputs/PLAN.json b/research/gmx-t74-borrow43-handoff/inputs/PLAN.json new file mode 100644 index 0000000000..5af9dd2082 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/PLAN.json @@ -0,0 +1,231468 @@ +{ + "status": "EXPLICIT_MIXED_T37_ENTRANCE_NOMINATION", + "mode": "mixed-t37-entrances", + "K": 4, + "T": 37, + "M": 73, + "L": 9, + "live": 33152, + "deficit": 11840, + "profile": { + "1": 779556, + "2": 169496, + "3": 138694, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "0,1": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "0,3": [ + 8, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "1,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "1,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "2,1": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + ], + "2,3": [ + 8, + [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "8,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "8,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "4,1": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "4,3": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27 + ] + ], + "9,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "9,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "5,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "5,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "10,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "10,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "6,1": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "6,3": [ + 8, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "11,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "11,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "7,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "7,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "12,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "12,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "8,1": [ + 8, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "8,3": [ + 8, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "13,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "13,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "9,1": [ + 8, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "9,3": [ + 8, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "0,5": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "0,7": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "14,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "14,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "10,1": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "10,3": [ + 8, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "1,5": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "1,7": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "15,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "15,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55 + ] + ], + "11,1": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "11,3": [ + 8, + [ + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "2,5": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "2,7": [ + 8, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "16,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "16,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60 + ] + ], + "12,1": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "12,3": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "3,5": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "3,7": [ + 8, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63 + ] + ], + "17,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "17,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64 + ] + ], + "8,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "8,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "13,1": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "13,3": [ + 8, + [ + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67 + ] + ], + "4,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "4,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "18,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "18,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69 + ] + ], + "9,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "9,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72 + ] + ], + "14,1": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73 + ] + ], + "14,3": [ + 8, + [ + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73 + ] + ], + "5,5": [ + 8, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "5,7": [ + 8, + [ + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74 + ] + ], + "19,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "19,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75 + ] + ], + "10,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "10,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78 + ] + ], + "15,1": [ + 8, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "15,3": [ + 8, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79 + ] + ], + "6,5": [ + 8, + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "6,7": [ + 8, + [ + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80 + ] + ], + "20,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "20,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81 + ] + ], + "11,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "11,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ] + ], + "16,1": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ] + ], + "16,3": [ + 8, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85 + ] + ], + "7,5": [ + 8, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "7,7": [ + 8, + [ + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86 + ] + ], + "21,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "21,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87 + ] + ], + "12,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "12,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90 + ] + ], + "17,1": [ + 8, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "17,3": [ + 8, + [ + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91 + ] + ], + "8,5": [ + 8, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "8,7": [ + 8, + [ + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92 + ] + ], + "22,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "22,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93 + ] + ], + "13,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "13,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96 + ] + ], + "18,1": [ + 8, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "18,3": [ + 8, + [ + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97 + ] + ], + "9,5": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + ], + "9,7": [ + 8, + [ + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98 + ] + ], + "23,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ] + ], + "23,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99 + ] + ], + "0,9": [ + 8, + [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "0,11": [ + 8, + [ + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100 + ] + ], + "14,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "14,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103 + ] + ], + "19,1": [ + 8, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "19,3": [ + 8, + [ + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104 + ] + ], + "10,5": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "10,7": [ + 8, + [ + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105 + ] + ], + "24,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "24,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106 + ] + ], + "1,9": [ + 8, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "1,11": [ + 8, + [ + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107 + ] + ], + "15,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "15,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110 + ] + ], + "20,1": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ] + ], + "20,3": [ + 8, + [ + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111 + ] + ], + "11,5": [ + 8, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "11,7": [ + 8, + [ + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112 + ] + ], + "25,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "25,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113 + ] + ], + "2,9": [ + 8, + [ + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "2,11": [ + 8, + [ + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114 + ] + ], + "16,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "16,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117 + ] + ], + "21,1": [ + 8, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "21,3": [ + 8, + [ + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118 + ] + ], + "12,5": [ + 8, + [ + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "12,7": [ + 8, + [ + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119 + ] + ], + "26,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ] + ], + "26,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120 + ] + ], + "3,9": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 + ] + ], + "3,11": [ + 8, + [ + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121 + ] + ], + "17,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "17,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122 + ] + ], + "8,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "8,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124 + ] + ], + "22,1": [ + 8, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "22,3": [ + 8, + [ + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125 + ] + ], + "13,5": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "13,7": [ + 8, + [ + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126 + ] + ], + "27,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "27,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127 + ] + ], + "4,9": [ + 8, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ] + ], + "4,11": [ + 8, + [ + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128 + ] + ], + "18,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ] + ], + "18,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129 + ] + ], + "9,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "9,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131 + ] + ], + "23,1": [ + 8, + [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "23,3": [ + 8, + [ + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132 + ] + ], + "14,5": [ + 8, + [ + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134 + ] + ], + "14,7": [ + 8, + [ + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134 + ] + ], + "28,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135 + ] + ], + "28,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135 + ] + ], + "5,9": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "5,11": [ + 8, + [ + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136 + ] + ], + "19,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "19,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137 + ] + ], + "10,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139 + ] + ], + "10,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139 + ] + ], + "24,1": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "24,3": [ + 8, + [ + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140 + ] + ], + "15,5": [ + 8, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "15,7": [ + 8, + [ + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142 + ] + ], + "29,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "29,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143 + ] + ], + "6,9": [ + 8, + [ + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144 + ] + ], + "6,11": [ + 8, + [ + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144 + ] + ], + "20,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145 + ] + ], + "20,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145 + ] + ], + "11,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147 + ] + ], + "11,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147 + ] + ], + "25,1": [ + 8, + [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ] + ], + "25,3": [ + 8, + [ + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148 + ] + ], + "16,5": [ + 8, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ] + ], + "16,7": [ + 8, + [ + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150 + ] + ], + "30,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151 + ] + ], + "30,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151 + ] + ], + "7,9": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152 + ] + ], + "7,11": [ + 8, + [ + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152 + ] + ], + "21,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153 + ] + ], + "21,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153 + ] + ], + "12,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155 + ] + ], + "12,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155 + ] + ], + "26,1": [ + 8, + [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ] + ], + "26,3": [ + 8, + [ + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156 + ] + ], + "17,5": [ + 8, + [ + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ] + ], + "17,7": [ + 8, + [ + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158 + ] + ], + "31,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ] + ], + "31,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159 + ] + ], + "8,9": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160 + ] + ], + "8,11": [ + 8, + [ + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160 + ] + ], + "22,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ] + ], + "22,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161 + ] + ], + "13,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163 + ] + ], + "13,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163 + ] + ], + "27,1": [ + 8, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ] + ], + "27,3": [ + 8, + [ + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164 + ] + ], + "18,5": [ + 8, + [ + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166 + ] + ], + "18,7": [ + 8, + [ + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166 + ] + ], + "32,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 + ] + ], + "32,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167 + ] + ], + "9,9": [ + 8, + [ + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168 + ] + ], + "9,11": [ + 8, + [ + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168 + ] + ], + "23,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169 + ] + ], + "23,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169 + ] + ], + "0,12": [ + 48, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,13": [ + 48, + [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,14": [ + 32, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,15": [ + 32, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,16": [ + 16, + [ + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "0,17": [ + 16, + [ + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170 + ] + ], + "14,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ] + ], + "14,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171 + ] + ], + "28,1": [ + 8, + [ + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172 + ] + ], + "28,3": [ + 8, + [ + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172 + ] + ], + "19,5": [ + 8, + [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174 + ] + ], + "19,7": [ + 8, + [ + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174 + ] + ], + "33,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175 + ] + ], + "33,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175 + ] + ], + "10,9": [ + 8, + [ + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176 + ] + ], + "10,11": [ + 8, + [ + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176 + ] + ], + "24,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177 + ] + ], + "24,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177 + ] + ], + "1,12": [ + 48, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,13": [ + 48, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,14": [ + 32, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,15": [ + 32, + [ + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,16": [ + 16, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "1,17": [ + 16, + [ + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178 + ] + ], + "15,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179 + ] + ], + "15,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179 + ] + ], + "29,1": [ + 8, + [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180 + ] + ], + "29,3": [ + 8, + [ + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180 + ] + ], + "20,5": [ + 8, + [ + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182 + ] + ], + "20,7": [ + 8, + [ + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182 + ] + ], + "34,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183 + ] + ], + "34,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183 + ] + ], + "11,9": [ + 8, + [ + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ] + ], + "11,11": [ + 8, + [ + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184 + ] + ], + "25,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185 + ] + ], + "25,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185 + ] + ], + "2,12": [ + 48, + [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,13": [ + 48, + [ + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,14": [ + 32, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,15": [ + 32, + [ + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,16": [ + 16, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "2,17": [ + 16, + [ + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186 + ] + ], + "16,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ] + ], + "16,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187 + ] + ], + "30,1": [ + 8, + [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188 + ] + ], + "30,3": [ + 8, + [ + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188 + ] + ], + "21,5": [ + 8, + [ + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ] + ], + "21,7": [ + 8, + [ + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190 + ] + ], + "35,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191 + ] + ], + "35,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191 + ] + ], + "12,9": [ + 8, + [ + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192 + ] + ], + "12,11": [ + 8, + [ + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192 + ] + ], + "26,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193 + ] + ], + "26,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193 + ] + ], + "3,12": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,13": [ + 48, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,14": [ + 32, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,15": [ + 32, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,16": [ + 16, + [ + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "3,17": [ + 16, + [ + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194 + ] + ], + "17,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ] + ], + "17,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195 + ] + ], + "31,1": [ + 8, + [ + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ] + ], + "31,3": [ + 8, + [ + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196 + ] + ], + "22,5": [ + 8, + [ + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198 + ] + ], + "22,7": [ + 8, + [ + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198 + ] + ], + "36,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 + ] + ], + "36,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199 + ] + ], + "13,9": [ + 8, + [ + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200 + ] + ], + "13,11": [ + 8, + [ + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200 + ] + ], + "27,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201 + ] + ], + "27,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201 + ] + ], + "4,12": [ + 48, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,13": [ + 48, + [ + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,14": [ + 32, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,15": [ + 32, + [ + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,16": [ + 16, + [ + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "4,17": [ + 16, + [ + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202 + ] + ], + "18,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203 + ] + ], + "18,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203 + ] + ], + "32,1": [ + 8, + [ + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204 + ] + ], + "32,3": [ + 8, + [ + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204 + ] + ], + "23,5": [ + 8, + [ + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206 + ] + ], + "23,7": [ + 8, + [ + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206 + ] + ], + "14,9": [ + 8, + [ + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207 + ] + ], + "14,11": [ + 8, + [ + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207 + ] + ], + "28,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208 + ] + ], + "28,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208 + ] + ], + "5,12": [ + 48, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,13": [ + 48, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,14": [ + 32, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,15": [ + 32, + [ + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,16": [ + 16, + [ + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "5,17": [ + 16, + [ + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209 + ] + ], + "19,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ] + ], + "19,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210 + ] + ], + "33,1": [ + 8, + [ + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211 + ] + ], + "33,3": [ + 8, + [ + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211 + ] + ], + "24,5": [ + 8, + [ + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213 + ] + ], + "24,7": [ + 8, + [ + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213 + ] + ], + "15,9": [ + 8, + [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ] + ], + "15,11": [ + 8, + [ + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214 + ] + ], + "29,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215 + ] + ], + "29,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215 + ] + ], + "6,12": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,13": [ + 48, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,14": [ + 32, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,15": [ + 32, + [ + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,16": [ + 16, + [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "6,17": [ + 16, + [ + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216 + ] + ], + "20,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217 + ] + ], + "20,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217 + ] + ], + "34,1": [ + 8, + [ + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ] + ], + "34,3": [ + 8, + [ + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218 + ] + ], + "25,5": [ + 8, + [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220 + ] + ], + "25,7": [ + 8, + [ + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220 + ] + ], + "16,9": [ + 8, + [ + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221 + ] + ], + "16,11": [ + 8, + [ + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221 + ] + ], + "30,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222 + ] + ], + "30,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222 + ] + ], + "7,12": [ + 48, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,13": [ + 48, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,14": [ + 32, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,15": [ + 32, + [ + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,16": [ + 16, + [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "7,17": [ + 16, + [ + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223 + ] + ], + "21,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224 + ] + ], + "21,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224 + ] + ], + "35,1": [ + 8, + [ + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225 + ] + ], + "35,3": [ + 8, + [ + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225 + ] + ], + "26,5": [ + 8, + [ + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227 + ] + ], + "26,7": [ + 8, + [ + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227 + ] + ], + "17,9": [ + 8, + [ + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228 + ] + ], + "17,11": [ + 8, + [ + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228 + ] + ], + "31,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ] + ], + "31,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229 + ] + ], + "8,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,14": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,15": [ + 32, + [ + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,16": [ + 16, + [ + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "8,17": [ + 16, + [ + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230 + ] + ], + "22,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231 + ] + ], + "22,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231 + ] + ], + "36,1": [ + 8, + [ + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232 + ] + ], + "36,3": [ + 8, + [ + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232 + ] + ], + "27,5": [ + 8, + [ + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234 + ] + ], + "27,7": [ + 8, + [ + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234 + ] + ], + "18,9": [ + 8, + [ + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235 + ] + ], + "18,11": [ + 8, + [ + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235 + ] + ], + "32,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ] + ], + "32,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236 + ] + ], + "9,12": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,13": [ + 48, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,14": [ + 32, + [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,15": [ + 32, + [ + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,16": [ + 16, + [ + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "9,17": [ + 16, + [ + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237 + ] + ], + "23,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238 + ] + ], + "23,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238 + ] + ], + "28,5": [ + 8, + [ + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ] + ], + "28,7": [ + 8, + [ + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240 + ] + ], + "19,9": [ + 8, + [ + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241 + ] + ], + "19,11": [ + 8, + [ + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241 + ] + ], + "33,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242 + ] + ], + "33,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242 + ] + ], + "10,12": [ + 48, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,13": [ + 48, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,14": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,15": [ + 32, + [ + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,16": [ + 16, + [ + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "10,17": [ + 16, + [ + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243 + ] + ], + "24,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244 + ] + ], + "24,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244 + ] + ], + "29,5": [ + 8, + [ + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246 + ] + ], + "29,7": [ + 8, + [ + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246 + ] + ], + "20,9": [ + 8, + [ + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ] + ], + "20,11": [ + 8, + [ + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247 + ] + ], + "34,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248 + ] + ], + "34,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248 + ] + ], + "11,12": [ + 48, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,13": [ + 48, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,14": [ + 32, + [ + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,15": [ + 32, + [ + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,16": [ + 16, + [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "11,17": [ + 16, + [ + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249 + ] + ], + "25,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250 + ] + ], + "25,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250 + ] + ], + "30,5": [ + 8, + [ + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ] + ], + "30,7": [ + 8, + [ + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252 + ] + ], + "21,9": [ + 8, + [ + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253 + ] + ], + "21,11": [ + 8, + [ + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253 + ] + ], + "35,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ] + ], + "35,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254 + ] + ], + "12,12": [ + 48, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,13": [ + 48, + [ + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,14": [ + 32, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,15": [ + 32, + [ + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,16": [ + 16, + [ + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "12,17": [ + 16, + [ + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255 + ] + ], + "26,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256 + ] + ], + "26,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256 + ] + ], + "31,5": [ + 8, + [ + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258 + ] + ], + "31,7": [ + 8, + [ + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258 + ] + ], + "22,9": [ + 8, + [ + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259 + ] + ], + "22,11": [ + 8, + [ + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259 + ] + ], + "36,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260 + ] + ], + "36,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260 + ] + ], + "13,12": [ + 48, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,13": [ + 48, + [ + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,14": [ + 32, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,15": [ + 32, + [ + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,16": [ + 16, + [ + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "13,17": [ + 16, + [ + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261 + ] + ], + "27,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ] + ], + "27,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262 + ] + ], + "32,5": [ + 8, + [ + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264 + ] + ], + "32,7": [ + 8, + [ + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264 + ] + ], + "23,9": [ + 8, + [ + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265 + ] + ], + "23,11": [ + 8, + [ + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265 + ] + ], + "14,12": [ + 48, + [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,13": [ + 48, + [ + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,14": [ + 32, + [ + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,15": [ + 32, + [ + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,16": [ + 16, + [ + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "14,17": [ + 16, + [ + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266 + ] + ], + "28,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267 + ] + ], + "28,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267 + ] + ], + "33,5": [ + 8, + [ + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269 + ] + ], + "33,7": [ + 8, + [ + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269 + ] + ], + "24,9": [ + 8, + [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270 + ] + ], + "24,11": [ + 8, + [ + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270 + ] + ], + "15,12": [ + 48, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,13": [ + 48, + [ + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,14": [ + 32, + [ + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,15": [ + 32, + [ + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,16": [ + 16, + [ + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "15,17": [ + 16, + [ + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271 + ] + ], + "29,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272 + ] + ], + "29,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272 + ] + ], + "34,5": [ + 8, + [ + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 + ] + ], + "34,7": [ + 8, + [ + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274 + ] + ], + "25,9": [ + 8, + [ + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275 + ] + ], + "25,11": [ + 8, + [ + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275 + ] + ], + "16,12": [ + 48, + [ + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,13": [ + 48, + [ + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,14": [ + 32, + [ + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,15": [ + 32, + [ + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,16": [ + 16, + [ + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "16,17": [ + 16, + [ + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276 + ] + ], + "30,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277 + ] + ], + "30,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277 + ] + ], + "35,5": [ + 8, + [ + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279 + ] + ], + "35,7": [ + 8, + [ + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279 + ] + ], + "26,9": [ + 8, + [ + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280 + ] + ], + "26,11": [ + 8, + [ + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280 + ] + ], + "17,12": [ + 48, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,13": [ + 48, + [ + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,14": [ + 32, + [ + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,15": [ + 32, + [ + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,16": [ + 16, + [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "17,17": [ + 16, + [ + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281 + ] + ], + "31,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282 + ] + ], + "31,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282 + ] + ], + "36,5": [ + 8, + [ + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284 + ] + ], + "36,7": [ + 8, + [ + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284 + ] + ], + "27,9": [ + 8, + [ + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285 + ] + ], + "27,11": [ + 8, + [ + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285 + ] + ], + "18,12": [ + 48, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,13": [ + 48, + [ + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,14": [ + 32, + [ + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,15": [ + 32, + [ + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,16": [ + 16, + [ + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "18,17": [ + 16, + [ + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286 + ] + ], + "32,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287 + ] + ], + "32,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287 + ] + ], + "28,9": [ + 8, + [ + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289 + ] + ], + "28,11": [ + 8, + [ + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289 + ] + ], + "19,12": [ + 48, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,13": [ + 48, + [ + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,14": [ + 32, + [ + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,15": [ + 32, + [ + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,16": [ + 16, + [ + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "19,17": [ + 16, + [ + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290 + ] + ], + "33,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 + ] + ], + "33,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291 + ] + ], + "29,9": [ + 8, + [ + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293 + ] + ], + "29,11": [ + 8, + [ + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293 + ] + ], + "20,12": [ + 48, + [ + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,13": [ + 48, + [ + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,14": [ + 32, + [ + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,15": [ + 32, + [ + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,16": [ + 16, + [ + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "20,17": [ + 16, + [ + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294 + ] + ], + "34,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295 + ] + ], + "34,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295 + ] + ], + "30,9": [ + 8, + [ + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297 + ] + ], + "30,11": [ + 8, + [ + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297 + ] + ], + "21,12": [ + 48, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,13": [ + 48, + [ + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,14": [ + 32, + [ + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,15": [ + 32, + [ + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,16": [ + 16, + [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "21,17": [ + 16, + [ + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298 + ] + ], + "35,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299 + ] + ], + "35,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299 + ] + ], + "31,9": [ + 8, + [ + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301 + ] + ], + "31,11": [ + 8, + [ + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301 + ] + ], + "22,12": [ + 48, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,13": [ + 48, + [ + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,14": [ + 32, + [ + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,15": [ + 32, + [ + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,16": [ + 16, + [ + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "22,17": [ + 16, + [ + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302 + ] + ], + "36,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ] + ], + "36,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303 + ] + ], + "32,9": [ + 8, + [ + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305 + ] + ], + "32,11": [ + 8, + [ + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305 + ] + ], + "23,12": [ + 48, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,13": [ + 48, + [ + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,14": [ + 32, + [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,15": [ + 32, + [ + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,16": [ + 16, + [ + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "23,17": [ + 16, + [ + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306 + ] + ], + "33,9": [ + 8, + [ + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308 + ] + ], + "33,11": [ + 8, + [ + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308 + ] + ], + "24,12": [ + 48, + [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,13": [ + 48, + [ + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,14": [ + 32, + [ + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,15": [ + 32, + [ + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,16": [ + 16, + [ + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "24,17": [ + 16, + [ + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309 + ] + ], + "34,9": [ + 8, + [ + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311 + ] + ], + "34,11": [ + 8, + [ + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311 + ] + ], + "25,12": [ + 48, + [ + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,13": [ + 48, + [ + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,14": [ + 32, + [ + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,15": [ + 32, + [ + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,16": [ + 16, + [ + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "25,17": [ + 16, + [ + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312 + ] + ], + "35,9": [ + 8, + [ + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314 + ] + ], + "35,11": [ + 8, + [ + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314 + ] + ], + "26,12": [ + 48, + [ + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,13": [ + 48, + [ + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,14": [ + 32, + [ + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,15": [ + 32, + [ + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,16": [ + 16, + [ + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "26,17": [ + 16, + [ + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315 + ] + ], + "36,9": [ + 8, + [ + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317 + ] + ], + "36,11": [ + 8, + [ + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317 + ] + ], + "27,12": [ + 48, + [ + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,13": [ + 48, + [ + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,14": [ + 32, + [ + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,15": [ + 32, + [ + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,16": [ + 16, + [ + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "27,17": [ + 16, + [ + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318 + ] + ], + "28,12": [ + 48, + [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,13": [ + 48, + [ + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,14": [ + 32, + [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,15": [ + 32, + [ + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,16": [ + 16, + [ + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "28,17": [ + 16, + [ + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320 + ] + ], + "29,12": [ + 48, + [ + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,13": [ + 48, + [ + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,14": [ + 32, + [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,15": [ + 32, + [ + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,16": [ + 16, + [ + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "29,17": [ + 16, + [ + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322 + ] + ], + "30,12": [ + 48, + [ + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,13": [ + 48, + [ + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,14": [ + 32, + [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,15": [ + 32, + [ + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,16": [ + 16, + [ + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "30,17": [ + 16, + [ + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324 + ] + ], + "31,12": [ + 48, + [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,13": [ + 48, + [ + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,14": [ + 32, + [ + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,15": [ + 32, + [ + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,16": [ + 16, + [ + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "31,17": [ + 16, + [ + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326 + ] + ], + "32,12": [ + 48, + [ + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,13": [ + 48, + [ + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,14": [ + 32, + [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,15": [ + 32, + [ + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,16": [ + 16, + [ + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "32,17": [ + 16, + [ + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328 + ] + ], + "33,12": [ + 48, + [ + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,13": [ + 48, + [ + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,14": [ + 32, + [ + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,15": [ + 32, + [ + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,16": [ + 16, + [ + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "33,17": [ + 16, + [ + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329 + ] + ], + "34,12": [ + 48, + [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,13": [ + 48, + [ + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,14": [ + 32, + [ + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,15": [ + 32, + [ + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,16": [ + 16, + [ + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "34,17": [ + 16, + [ + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330 + ] + ], + "35,12": [ + 48, + [ + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,13": [ + 48, + [ + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,14": [ + 32, + [ + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,15": [ + 32, + [ + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,16": [ + 16, + [ + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "35,17": [ + 16, + [ + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331 + ] + ], + "36,12": [ + 48, + [ + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,13": [ + 48, + [ + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,14": [ + 32, + [ + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,15": [ + 32, + [ + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,16": [ + 16, + [ + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ], + "36,17": [ + 16, + [ + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "solver_status": "exact integer flow and matching", + "gap": null, + "provider_calls": [ + { + "time": 0, + "stage": 0, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 1, + "stage": 0, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 2, + "stage": 0, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 3, + "stage": 0, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 4, + "stage": 0, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 5, + "stage": 1, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 6, + "stage": 0, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 7, + "stage": 1, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 8, + "stage": 0, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 9, + "stage": 1, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 10, + "stage": 0, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 11, + "stage": 1, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 12, + "stage": 0, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 13, + "stage": 1, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 14, + "stage": 0, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 15, + "stage": 2, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 16, + "stage": 1, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 17, + "stage": 0, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 18, + "stage": 2, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 19, + "stage": 1, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 20, + "stage": 0, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 21, + "stage": 2, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 22, + "stage": 1, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 23, + "stage": 0, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 24, + "stage": 2, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 25, + "stage": 1, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 26, + "stage": 0, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 27, + "stage": 2, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 28, + "stage": 1, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 29, + "stage": 3, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 30, + "stage": 0, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 31, + "stage": 2, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 32, + "stage": 1, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 33, + "stage": 3, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 34, + "stage": 0, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 35, + "stage": 2, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 36, + "stage": 1, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 37, + "stage": 3, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 38, + "stage": 0, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 39, + "stage": 2, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 40, + "stage": 1, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 41, + "stage": 3, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 42, + "stage": 0, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 43, + "stage": 2, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 44, + "stage": 1, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 45, + "stage": 3, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 46, + "stage": 0, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 47, + "stage": 2, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 48, + "stage": 4, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 49, + "stage": 1, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 50, + "stage": 3, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 51, + "stage": 0, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 52, + "stage": 2, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 53, + "stage": 4, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 54, + "stage": 1, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 55, + "stage": 3, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 56, + "stage": 0, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 57, + "stage": 2, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 58, + "stage": 4, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 59, + "stage": 1, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 60, + "stage": 3, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 61, + "stage": 0, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 62, + "stage": 2, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 63, + "stage": 4, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 64, + "stage": 1, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 65, + "stage": 3, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 66, + "stage": 0, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 67, + "stage": 2, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 68, + "stage": 4, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 69, + "stage": 1, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 70, + "stage": 3, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 71, + "stage": 0, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 72, + "stage": 5, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 73, + "stage": 2, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 74, + "stage": 4, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 75, + "stage": 1, + "replica": 19, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 76, + "stage": 3, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 77, + "stage": 0, + "replica": 24, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 78, + "stage": 5, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 79, + "stage": 2, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 80, + "stage": 4, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 81, + "stage": 1, + "replica": 20, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 82, + "stage": 3, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 83, + "stage": 0, + "replica": 25, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 84, + "stage": 5, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 85, + "stage": 2, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 86, + "stage": 4, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 87, + "stage": 1, + "replica": 21, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 88, + "stage": 3, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 89, + "stage": 0, + "replica": 26, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 90, + "stage": 5, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 91, + "stage": 2, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 92, + "stage": 4, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 93, + "stage": 1, + "replica": 22, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 94, + "stage": 3, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 95, + "stage": 0, + "replica": 27, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 96, + "stage": 5, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 97, + "stage": 2, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 98, + "stage": 4, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 99, + "stage": 1, + "replica": 23, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 100, + "stage": 6, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 101, + "stage": 3, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 102, + "stage": 0, + "replica": 28, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 103, + "stage": 5, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 104, + "stage": 2, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 105, + "stage": 4, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 106, + "stage": 1, + "replica": 24, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 107, + "stage": 6, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 108, + "stage": 3, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 109, + "stage": 0, + "replica": 29, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 110, + "stage": 5, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 111, + "stage": 2, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 112, + "stage": 4, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 113, + "stage": 1, + "replica": 25, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 114, + "stage": 6, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 115, + "stage": 3, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 116, + "stage": 0, + "replica": 30, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 117, + "stage": 5, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 118, + "stage": 2, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 119, + "stage": 4, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 120, + "stage": 1, + "replica": 26, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 121, + "stage": 6, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 122, + "stage": 3, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 123, + "stage": 0, + "replica": 31, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 124, + "stage": 5, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 125, + "stage": 2, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 126, + "stage": 4, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 127, + "stage": 1, + "replica": 27, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 128, + "stage": 6, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 129, + "stage": 3, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 130, + "stage": 0, + "replica": 32, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 131, + "stage": 5, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 132, + "stage": 2, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 133, + "stage": 7, + "replica": 0, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 134, + "stage": 4, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 135, + "stage": 1, + "replica": 28, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 136, + "stage": 6, + "replica": 5, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 137, + "stage": 3, + "replica": 19, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 138, + "stage": 0, + "replica": 33, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 139, + "stage": 5, + "replica": 10, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 140, + "stage": 2, + "replica": 24, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 141, + "stage": 7, + "replica": 1, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 142, + "stage": 4, + "replica": 15, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 143, + "stage": 1, + "replica": 29, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 144, + "stage": 6, + "replica": 6, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 145, + "stage": 3, + "replica": 20, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 146, + "stage": 0, + "replica": 34, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 147, + "stage": 5, + "replica": 11, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 148, + "stage": 2, + "replica": 25, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 149, + "stage": 7, + "replica": 2, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 150, + "stage": 4, + "replica": 16, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 151, + "stage": 1, + "replica": 30, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 152, + "stage": 6, + "replica": 7, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 153, + "stage": 3, + "replica": 21, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 154, + "stage": 0, + "replica": 35, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 155, + "stage": 5, + "replica": 12, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 156, + "stage": 2, + "replica": 26, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 157, + "stage": 7, + "replica": 3, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 158, + "stage": 4, + "replica": 17, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 159, + "stage": 1, + "replica": 31, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 160, + "stage": 6, + "replica": 8, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 161, + "stage": 3, + "replica": 22, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 162, + "stage": 0, + "replica": 36, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 163, + "stage": 5, + "replica": 13, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 164, + "stage": 2, + "replica": 27, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 165, + "stage": 7, + "replica": 4, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 166, + "stage": 4, + "replica": 18, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 167, + "stage": 1, + "replica": 32, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 168, + "stage": 6, + "replica": 9, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 169, + "stage": 3, + "replica": 23, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 170, + "stage": 8, + "replica": 0, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 171, + "stage": 5, + "replica": 14, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 172, + "stage": 2, + "replica": 28, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 173, + "stage": 7, + "replica": 5, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 174, + "stage": 4, + "replica": 19, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 175, + "stage": 1, + "replica": 33, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 176, + "stage": 6, + "replica": 10, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 177, + "stage": 3, + "replica": 24, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 178, + "stage": 8, + "replica": 1, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 179, + "stage": 5, + "replica": 15, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 180, + "stage": 2, + "replica": 29, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 181, + "stage": 7, + "replica": 6, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 182, + "stage": 4, + "replica": 20, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 183, + "stage": 1, + "replica": 34, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 184, + "stage": 6, + "replica": 11, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 185, + "stage": 3, + "replica": 25, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 186, + "stage": 8, + "replica": 2, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 187, + "stage": 5, + "replica": 16, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 188, + "stage": 2, + "replica": 30, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 189, + "stage": 7, + "replica": 7, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 190, + "stage": 4, + "replica": 21, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 191, + "stage": 1, + "replica": 35, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 192, + "stage": 6, + "replica": 12, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 193, + "stage": 3, + "replica": 26, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 194, + "stage": 8, + "replica": 3, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 195, + "stage": 5, + "replica": 17, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 196, + "stage": 2, + "replica": 31, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 197, + "stage": 7, + "replica": 8, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 198, + "stage": 4, + "replica": 22, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 199, + "stage": 1, + "replica": 36, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 200, + "stage": 6, + "replica": 13, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 201, + "stage": 3, + "replica": 27, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 202, + "stage": 8, + "replica": 4, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 203, + "stage": 5, + "replica": 18, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 204, + "stage": 2, + "replica": 32, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 205, + "stage": 7, + "replica": 9, + "provider": "extra", + "orientation": "backward", + "local_program_sha256": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + { + "time": 206, + "stage": 4, + "replica": 23, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 207, + "stage": 6, + "replica": 14, + "provider": "extra", + "orientation": "forward", + "local_program_sha256": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + { + "time": 208, + "stage": 3, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 209, + "stage": 8, + "replica": 5, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 210, + "stage": 5, + "replica": 19, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 211, + "stage": 2, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 212, + "stage": 7, + "replica": 10, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 213, + "stage": 4, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 214, + "stage": 6, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 215, + "stage": 3, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 216, + "stage": 8, + "replica": 6, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 217, + "stage": 5, + "replica": 20, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 218, + "stage": 2, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 219, + "stage": 7, + "replica": 11, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 220, + "stage": 4, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 221, + "stage": 6, + "replica": 16, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 222, + "stage": 3, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 223, + "stage": 8, + "replica": 7, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 224, + "stage": 5, + "replica": 21, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 225, + "stage": 2, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 226, + "stage": 7, + "replica": 12, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 227, + "stage": 4, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 228, + "stage": 6, + "replica": 17, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 229, + "stage": 3, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 230, + "stage": 8, + "replica": 8, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 231, + "stage": 5, + "replica": 22, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 232, + "stage": 2, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 233, + "stage": 7, + "replica": 13, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 234, + "stage": 4, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 235, + "stage": 6, + "replica": 18, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 236, + "stage": 3, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 237, + "stage": 8, + "replica": 9, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 238, + "stage": 5, + "replica": 23, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 239, + "stage": 7, + "replica": 14, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 240, + "stage": 4, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 241, + "stage": 6, + "replica": 19, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 242, + "stage": 3, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 243, + "stage": 8, + "replica": 10, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 244, + "stage": 5, + "replica": 24, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 245, + "stage": 7, + "replica": 15, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 246, + "stage": 4, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 247, + "stage": 6, + "replica": 20, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 248, + "stage": 3, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 249, + "stage": 8, + "replica": 11, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 250, + "stage": 5, + "replica": 25, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 251, + "stage": 7, + "replica": 16, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 252, + "stage": 4, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 253, + "stage": 6, + "replica": 21, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 254, + "stage": 3, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 255, + "stage": 8, + "replica": 12, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 256, + "stage": 5, + "replica": 26, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 257, + "stage": 7, + "replica": 17, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 258, + "stage": 4, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 259, + "stage": 6, + "replica": 22, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 260, + "stage": 3, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 261, + "stage": 8, + "replica": 13, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 262, + "stage": 5, + "replica": 27, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 263, + "stage": 7, + "replica": 18, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 264, + "stage": 4, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 265, + "stage": 6, + "replica": 23, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 266, + "stage": 8, + "replica": 14, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 267, + "stage": 5, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 268, + "stage": 7, + "replica": 19, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 269, + "stage": 4, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 270, + "stage": 6, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 271, + "stage": 8, + "replica": 15, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 272, + "stage": 5, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 273, + "stage": 7, + "replica": 20, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 274, + "stage": 4, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 275, + "stage": 6, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 276, + "stage": 8, + "replica": 16, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 277, + "stage": 5, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 278, + "stage": 7, + "replica": 21, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 279, + "stage": 4, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 280, + "stage": 6, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 281, + "stage": 8, + "replica": 17, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 282, + "stage": 5, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 283, + "stage": 7, + "replica": 22, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 284, + "stage": 4, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 285, + "stage": 6, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 286, + "stage": 8, + "replica": 18, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 287, + "stage": 5, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 288, + "stage": 7, + "replica": 23, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 289, + "stage": 6, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 290, + "stage": 8, + "replica": 19, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 291, + "stage": 5, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 292, + "stage": 7, + "replica": 24, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 293, + "stage": 6, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 294, + "stage": 8, + "replica": 20, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 295, + "stage": 5, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 296, + "stage": 7, + "replica": 25, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 297, + "stage": 6, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 298, + "stage": 8, + "replica": 21, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 299, + "stage": 5, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 300, + "stage": 7, + "replica": 26, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 301, + "stage": 6, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 302, + "stage": 8, + "replica": 22, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 303, + "stage": 5, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 304, + "stage": 7, + "replica": 27, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 305, + "stage": 6, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 306, + "stage": 8, + "replica": 23, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 307, + "stage": 7, + "replica": 28, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 308, + "stage": 6, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 309, + "stage": 8, + "replica": 24, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 310, + "stage": 7, + "replica": 29, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 311, + "stage": 6, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 312, + "stage": 8, + "replica": 25, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 313, + "stage": 7, + "replica": 30, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 314, + "stage": 6, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 315, + "stage": 8, + "replica": 26, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 316, + "stage": 7, + "replica": 31, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 317, + "stage": 6, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 318, + "stage": 8, + "replica": 27, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 319, + "stage": 7, + "replica": 32, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 320, + "stage": 8, + "replica": 28, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 321, + "stage": 7, + "replica": 33, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 322, + "stage": 8, + "replica": 29, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 323, + "stage": 7, + "replica": 34, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 324, + "stage": 8, + "replica": 30, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 325, + "stage": 7, + "replica": 35, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 326, + "stage": 8, + "replica": 31, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 327, + "stage": 7, + "replica": 36, + "provider": "gauge44", + "orientation": "backward", + "local_program_sha256": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + { + "time": 328, + "stage": 8, + "replica": 32, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 329, + "stage": 8, + "replica": 33, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 330, + "stage": 8, + "replica": 34, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 331, + "stage": 8, + "replica": 35, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + { + "time": 332, + "stage": 8, + "replica": 36, + "provider": "gauge44", + "orientation": "forward", + "local_program_sha256": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + } + ], + "per_call_widths": [ + { + "stage": 0, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 0, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 0, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 1, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 2, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 3, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 1, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 4, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 5, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 6, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 7, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 8, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 2, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 9, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 10, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 11, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 12, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 3, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 13, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 14, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 15, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 16, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 17, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 4, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 18, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 19, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 20, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 21, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 22, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 5, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 23, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 24, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 25, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 26, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 6, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 27, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 28, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 29, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 30, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 31, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 7, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 32, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 33, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 34, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 35, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + }, + { + "stage": 8, + "replica": 36, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ] + } + ], + "provider_registry": { + "gauge44": { + "directory": "providers/gauge44", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "f69c0ca2c217eab87a231b67e548cd6491286314b1215e19f0b1d7463afd5e91", + "LOCAL-PROGRAMS.json.gz": "81d4aefacaa27f2f215e7d35559d5a079ca521f4ca2eb9a9c6a6bd7062179bff", + "LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "INDEPENDENT-LOCAL-REPLAY.json": "70b4b787a5a4529452a58e9ac48826e848748a35b95a9b20c5358f4355705058", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "6154a20efd7dc4fc1f774676daed2bce47c9c2772a4e1c274a15d97f6fc2d783", + "RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638", + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + } + }, + "extra": { + "directory": "providers/extra", + "artifact_sha256": { + "CANONICAL-WORD.json.gz": "e38e2136e5a4a75bb843735a59158543eff04bd06384d73752b220d6938af73d", + "LOCAL-PROGRAMS.json.gz": "26c2fd119125bfca1ae655bb8a57df064da250370e60a85e1e8e8c4649e6a904", + "LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "INDEPENDENT-LOCAL-REPLAY.json": "39874d664110d1ee85da901e2cd56e7cd0f27e0153813d4608c98122a90815da", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "1f8a65f2f97628c91b813df1e49e9a3672081e53a924493a10e570afb282e924", + "RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b" + }, + "ports": [ + 11, + 19, + 35, + 67, + 131, + 259, + 13, + 21, + 37, + 69, + 133, + 261, + 41, + 73, + 137, + 265, + 49, + 81, + 145, + 273, + 161, + 289, + 193, + 321, + 385, + 14, + 22, + 38, + 70, + 134, + 262, + 26, + 74, + 138, + 266, + 50, + 146, + 274, + 98, + 162, + 290, + 194, + 322, + 386, + 28, + 44, + 140, + 268, + 84, + 148, + 276, + 100, + 164, + 292, + 196, + 324, + 388, + 56, + 88, + 152, + 280, + 104, + 168, + 296, + 200, + 328, + 392, + 112, + 176, + 304, + 208, + 336, + 400, + 224, + 352, + 416, + 448, + 508, + 506, + 502, + 494, + 478, + 446, + 382, + 254, + 505, + 501, + 493, + 477, + 445, + 381, + 253, + 499, + 491, + 475, + 443, + 379, + 251, + 487, + 471, + 439, + 375, + 247, + 463, + 431, + 367, + 239, + 415, + 351, + 223, + 319, + 191 + ], + "centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "actual_paid_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "orientation_program_sha256": { + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06", + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a" + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + } + } + }, + "source_plan_sha256": "c5da66a8061a86ca7d3eab975829488f6c086a59966150b193d614ff0d0c4847", + "assignment_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "source_owners_sha256": "c41fdf51541ecc91af914f264967f3633570500994f8866daf642440a5d843dd", + "assignment_content_sha256": "199fb748b620d115431e183bb459366356774c39bffcdd3e2d6f7d385b6ad888", + "replica_lift": { + "groups": [ + 8, + 8, + 8, + 8, + 5 + ], + "source_replicas": 8, + "replicas": 37, + "parent_template_content_sha256": "514e59314c8e2fa3c22d0a48083816f6686211090835e8f8775318c1c3e992d8", + "owners_file_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "schedule_content_sha256": "fb86346be60ae00c88ff41f77906aae3c9d8fc488d63cd4abbfa03c4785c2d2d", + "window_semantics": "Strict physical source-event intervals, including bridges" + } +} diff --git a/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json b/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json new file mode 100644 index 0000000000..e293ddc557 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/PR589-EXPECTED.json @@ -0,0 +1,222 @@ +{ + "word": { + "file": "tune/bitE8mut-p111-tuned.json.gz", + "file_sha256": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "content_sha256": "5642fd0e35a1acc11acff8d0c08350c1617e95f310d4d35ad63a651f9eeeba0b", + "v": 111, + "R": 439, + "punctured": [ + 10, + 15, + 51, + 53, + 56, + 66, + 72, + 89, + 111 + ], + "retained_totals": 9, + "copy_ranks": [ + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7 + ], + "decoder_constant": 63, + "gates": { + "D": 111, + "A": 2075, + "B": 712, + "C": 2574 + }, + "local_histogram": { + "1": 1323, + "2": 1342, + "3": 79, + "4": 44, + "5": 102, + "6": 11, + "7": 19 + }, + "legality": { + "records": 27234, + "common_frame_ADDs": 24305, + "rank_mass": 5129 + }, + "five_stage_columns": 883, + "five_stage_payload_bits": 93, + "nine_stage_columns": 1327, + "nine_stage_payload_bits": 93, + "eleven_stage_columns": 1549, + "eleven_stage_payload_bits": 93, + "base_content_sha256": "d0df3c89ae84989f4045ba1681a5e2e9fcdfa38ed0301c8abf5185537155cbe3" + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2075, + "source_writes_A": 0, + "z_gates_B": 499, + "source_writes_B": 483, + "helper_writes_B": 16, + "sources_rewritten_B": 108, + "B_z_write_frame_dims": { + "4": 388, + "6": 111 + }, + "B_z_operand_kinds": { + "helper<-helper": 3, + "helper<-source": 13, + "source<-helper": 108, + "source<-source": 375 + }, + "B_z_operand_kinds_by_dim": { + "dim4:helper<-source": 13, + "dim4:source<-source": 375, + "dim6:helper<-helper": 3, + "dim6:source<-helper": 108 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 454, + "B_target_reads_of_registers_rewritten_earlier_in_B": 111, + "target_reads_of_targets": 0, + "cleanup_gates": 2574 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly), parameterised for v <= 120 by code/adapt9p.py", + "bit_lower": "1733427039589844234749/1000000000000000000000000", + "bit_lower_decimal": "0.001733427039589844234749", + "profile": { + "1": 381024, + "2": 400416, + "3": 22752, + "4": 26880, + "5": 29376, + "6": 17376, + "7": 26784, + "42": 288 + }, + "bit": { + "live": 28416, + "physical": 28425, + "maxchild": 42, + "rank_mass": 1808352, + "hosted_residuals": 126432, + "bank_assignments": 0, + "prefix_bits": 177, + "charged_prefix_bits": 192, + "coefficient_bits": 177, + "two_level_coefficient_bits": 393, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting), parameterised by PR #545's code/adapt.py", + "bit_lower": "855475950388791987811/500000000000000000000000", + "bit_lower_decimal": "0.001710951900777583975622", + "profile": { + "1": 116424, + "2": 121648, + "3": 6952, + "4": 7424, + "5": 8976, + "6": 4520, + "7": 8776, + "56": 2600 + }, + "bit": { + "live": 8880, + "physical": 8889, + "maxchild": 56, + "rank_mass": 689304, + "hosted_residuals": 38632, + "prefix_bits": 4304, + "charged_prefix_bits": 4352, + "coefficient_bits": 4304, + "three_level_coefficient_bits": 12966, + "charged_three_level_coefficient_bits": 12992, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "793b6f40c9aa4b8db57fec0ac0973e16884dae28707e482ee8f7a2349a5d5a4b", + "kappa": { + "pr548": { + "kappa": "49718254847979/31250000000000000", + "kappa_decimal": "0.001590984155135328", + "complex_lower": "796759709641153381751/500000000000000000000000", + "binding_component": "complex" + }, + "pr544": { + "kappa": "397677800014309/250000000000000000", + "kappa_decimal": "0.001590711200057236", + "complex_lower": "31864911873350496687/20000000000000000000000", + "binding_component": "complex" + }, + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "base": { + "nine_bit_lower": "1733052823330162099157/1000000000000000000000000", + "nine_bit_lower_decimal": "0.001733052823330162099157", + "eleven_bit_lower": "427652201524503168379/250000000000000000000000", + "eleven_bit_lower_decimal": "0.001710608806098012673516", + "note": "PR #555's EXPECTED.json (untuned word); the tune/ pipeline is the same, with the same frozen hosting selections" + } +} diff --git a/research/gmx-t74-borrow43-handoff/inputs/SPEC.json b/research/gmx-t74-borrow43-handoff/inputs/SPEC.json new file mode 100644 index 0000000000..c15990ace6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/inputs/SPEC.json @@ -0,0 +1,4287 @@ +{ + "schema": "witness-spec/1", + "name": "mixed-t37-entrances", + "data": { + "plan_sha256": "163431bf8d3bc0d9b894994b1a3cfa7947367b2243b3c0b3a97d740195a1cb08", + "owners_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f" + }, + "dispatch": [ + [ + 0, + 0, + "extra" + ], + [ + 0, + 1, + "extra" + ], + [ + 0, + 2, + "extra" + ], + [ + 0, + 3, + "extra" + ], + [ + 0, + 4, + "extra" + ], + [ + 1, + 0, + "extra" + ], + [ + 0, + 5, + "extra" + ], + [ + 1, + 1, + "extra" + ], + [ + 0, + 6, + "extra" + ], + [ + 1, + 2, + "extra" + ], + [ + 0, + 7, + "extra" + ], + [ + 1, + 3, + "extra" + ], + [ + 0, + 8, + "extra" + ], + [ + 1, + 4, + "extra" + ], + [ + 0, + 9, + "extra" + ], + [ + 2, + 0, + "extra" + ], + [ + 1, + 5, + "extra" + ], + [ + 0, + 10, + "extra" + ], + [ + 2, + 1, + "extra" + ], + [ + 1, + 6, + "extra" + ], + [ + 0, + 11, + "extra" + ], + [ + 2, + 2, + "extra" + ], + [ + 1, + 7, + "extra" + ], + [ + 0, + 12, + "extra" + ], + [ + 2, + 3, + "extra" + ], + [ + 1, + 8, + "extra" + ], + [ + 0, + 13, + "extra" + ], + [ + 2, + 4, + "extra" + ], + [ + 1, + 9, + "extra" + ], + [ + 3, + 0, + "extra" + ], + [ + 0, + 14, + "extra" + ], + [ + 2, + 5, + "extra" + ], + [ + 1, + 10, + "extra" + ], + [ + 3, + 1, + "extra" + ], + [ + 0, + 15, + "extra" + ], + [ + 2, + 6, + "extra" + ], + [ + 1, + 11, + "extra" + ], + [ + 3, + 2, + "extra" + ], + [ + 0, + 16, + "extra" + ], + [ + 2, + 7, + "extra" + ], + [ + 1, + 12, + "extra" + ], + [ + 3, + 3, + "extra" + ], + [ + 0, + 17, + "extra" + ], + [ + 2, + 8, + "extra" + ], + [ + 1, + 13, + "extra" + ], + [ + 3, + 4, + "extra" + ], + [ + 0, + 18, + "extra" + ], + [ + 2, + 9, + "extra" + ], + [ + 4, + 0, + "extra" + ], + [ + 1, + 14, + "extra" + ], + [ + 3, + 5, + "extra" + ], + [ + 0, + 19, + "extra" + ], + [ + 2, + 10, + "extra" + ], + [ + 4, + 1, + "extra" + ], + [ + 1, + 15, + "extra" + ], + [ + 3, + 6, + "extra" + ], + [ + 0, + 20, + "extra" + ], + [ + 2, + 11, + "extra" + ], + [ + 4, + 2, + "extra" + ], + [ + 1, + 16, + "extra" + ], + [ + 3, + 7, + "extra" + ], + [ + 0, + 21, + "extra" + ], + [ + 2, + 12, + "extra" + ], + [ + 4, + 3, + "extra" + ], + [ + 1, + 17, + "extra" + ], + [ + 3, + 8, + "extra" + ], + [ + 0, + 22, + "extra" + ], + [ + 2, + 13, + "extra" + ], + [ + 4, + 4, + "extra" + ], + [ + 1, + 18, + "extra" + ], + [ + 3, + 9, + "extra" + ], + [ + 0, + 23, + "extra" + ], + [ + 5, + 0, + "extra" + ], + [ + 2, + 14, + "extra" + ], + [ + 4, + 5, + "extra" + ], + [ + 1, + 19, + "extra" + ], + [ + 3, + 10, + "extra" + ], + [ + 0, + 24, + "extra" + ], + [ + 5, + 1, + "extra" + ], + [ + 2, + 15, + "extra" + ], + [ + 4, + 6, + "extra" + ], + [ + 1, + 20, + "extra" + ], + [ + 3, + 11, + "extra" + ], + [ + 0, + 25, + "extra" + ], + [ + 5, + 2, + "extra" + ], + [ + 2, + 16, + "extra" + ], + [ + 4, + 7, + "extra" + ], + [ + 1, + 21, + "extra" + ], + [ + 3, + 12, + "extra" + ], + [ + 0, + 26, + "extra" + ], + [ + 5, + 3, + "extra" + ], + [ + 2, + 17, + "extra" + ], + [ + 4, + 8, + "extra" + ], + [ + 1, + 22, + "extra" + ], + [ + 3, + 13, + "extra" + ], + [ + 0, + 27, + "extra" + ], + [ + 5, + 4, + "extra" + ], + [ + 2, + 18, + "extra" + ], + [ + 4, + 9, + "extra" + ], + [ + 1, + 23, + "extra" + ], + [ + 6, + 0, + "extra" + ], + [ + 3, + 14, + "extra" + ], + [ + 0, + 28, + "extra" + ], + [ + 5, + 5, + "extra" + ], + [ + 2, + 19, + "extra" + ], + [ + 4, + 10, + "extra" + ], + [ + 1, + 24, + "extra" + ], + [ + 6, + 1, + "extra" + ], + [ + 3, + 15, + "extra" + ], + [ + 0, + 29, + "extra" + ], + [ + 5, + 6, + "extra" + ], + [ + 2, + 20, + "extra" + ], + [ + 4, + 11, + "extra" + ], + [ + 1, + 25, + "extra" + ], + [ + 6, + 2, + "extra" + ], + [ + 3, + 16, + "extra" + ], + [ + 0, + 30, + "extra" + ], + [ + 5, + 7, + "extra" + ], + [ + 2, + 21, + "extra" + ], + [ + 4, + 12, + "extra" + ], + [ + 1, + 26, + "extra" + ], + [ + 6, + 3, + "extra" + ], + [ + 3, + 17, + "extra" + ], + [ + 0, + 31, + "extra" + ], + [ + 5, + 8, + "extra" + ], + [ + 2, + 22, + "extra" + ], + [ + 4, + 13, + "extra" + ], + [ + 1, + 27, + "extra" + ], + [ + 6, + 4, + "extra" + ], + [ + 3, + 18, + "extra" + ], + [ + 0, + 32, + "extra" + ], + [ + 5, + 9, + "extra" + ], + [ + 2, + 23, + "extra" + ], + [ + 7, + 0, + "extra" + ], + [ + 4, + 14, + "extra" + ], + [ + 1, + 28, + "extra" + ], + [ + 6, + 5, + "extra" + ], + [ + 3, + 19, + "extra" + ], + [ + 0, + 33, + "extra" + ], + [ + 5, + 10, + "extra" + ], + [ + 2, + 24, + "extra" + ], + [ + 7, + 1, + "extra" + ], + [ + 4, + 15, + "extra" + ], + [ + 1, + 29, + "extra" + ], + [ + 6, + 6, + "extra" + ], + [ + 3, + 20, + "extra" + ], + [ + 0, + 34, + "extra" + ], + [ + 5, + 11, + "extra" + ], + [ + 2, + 25, + "extra" + ], + [ + 7, + 2, + "extra" + ], + [ + 4, + 16, + "extra" + ], + [ + 1, + 30, + "extra" + ], + [ + 6, + 7, + "extra" + ], + [ + 3, + 21, + "extra" + ], + [ + 0, + 35, + "extra" + ], + [ + 5, + 12, + "extra" + ], + [ + 2, + 26, + "extra" + ], + [ + 7, + 3, + "extra" + ], + [ + 4, + 17, + "extra" + ], + [ + 1, + 31, + "extra" + ], + [ + 6, + 8, + "extra" + ], + [ + 3, + 22, + "extra" + ], + [ + 0, + 36, + "extra" + ], + [ + 5, + 13, + "extra" + ], + [ + 2, + 27, + "extra" + ], + [ + 7, + 4, + "extra" + ], + [ + 4, + 18, + "extra" + ], + [ + 1, + 32, + "extra" + ], + [ + 6, + 9, + "extra" + ], + [ + 3, + 23, + "extra" + ], + [ + 8, + 0, + "extra" + ], + [ + 5, + 14, + "extra" + ], + [ + 2, + 28, + "extra" + ], + [ + 7, + 5, + "extra" + ], + [ + 4, + 19, + "extra" + ], + [ + 1, + 33, + "extra" + ], + [ + 6, + 10, + "extra" + ], + [ + 3, + 24, + "extra" + ], + [ + 8, + 1, + "extra" + ], + [ + 5, + 15, + "extra" + ], + [ + 2, + 29, + "extra" + ], + [ + 7, + 6, + "extra" + ], + [ + 4, + 20, + "extra" + ], + [ + 1, + 34, + "extra" + ], + [ + 6, + 11, + "extra" + ], + [ + 3, + 25, + "extra" + ], + [ + 8, + 2, + "extra" + ], + [ + 5, + 16, + "extra" + ], + [ + 2, + 30, + "extra" + ], + [ + 7, + 7, + "extra" + ], + [ + 4, + 21, + "extra" + ], + [ + 1, + 35, + "extra" + ], + [ + 6, + 12, + "extra" + ], + [ + 3, + 26, + "extra" + ], + [ + 8, + 3, + "extra" + ], + [ + 5, + 17, + "extra" + ], + [ + 2, + 31, + "extra" + ], + [ + 7, + 8, + "extra" + ], + [ + 4, + 22, + "extra" + ], + [ + 1, + 36, + "extra" + ], + [ + 6, + 13, + "extra" + ], + [ + 3, + 27, + "extra" + ], + [ + 8, + 4, + "extra" + ], + [ + 5, + 18, + "extra" + ], + [ + 2, + 32, + "extra" + ], + [ + 7, + 9, + "extra" + ], + [ + 4, + 23, + "extra" + ], + [ + 6, + 14, + "extra" + ], + [ + 3, + 28, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 5, + 19, + "gauge44" + ], + [ + 2, + 33, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 4, + 24, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 3, + 29, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 5, + 20, + "gauge44" + ], + [ + 2, + 34, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 4, + 25, + "gauge44" + ], + [ + 6, + 16, + "gauge44" + ], + [ + 3, + 30, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 5, + 21, + "gauge44" + ], + [ + 2, + 35, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 4, + 26, + "gauge44" + ], + [ + 6, + 17, + "gauge44" + ], + [ + 3, + 31, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 5, + 22, + "gauge44" + ], + [ + 2, + 36, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 4, + 27, + "gauge44" + ], + [ + 6, + 18, + "gauge44" + ], + [ + 3, + 32, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 5, + 23, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 4, + 28, + "gauge44" + ], + [ + 6, + 19, + "gauge44" + ], + [ + 3, + 33, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 5, + 24, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 4, + 29, + "gauge44" + ], + [ + 6, + 20, + "gauge44" + ], + [ + 3, + 34, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 25, + "gauge44" + ], + [ + 7, + 16, + "gauge44" + ], + [ + 4, + 30, + "gauge44" + ], + [ + 6, + 21, + "gauge44" + ], + [ + 3, + 35, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 5, + 26, + "gauge44" + ], + [ + 7, + 17, + "gauge44" + ], + [ + 4, + 31, + "gauge44" + ], + [ + 6, + 22, + "gauge44" + ], + [ + 3, + 36, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 5, + 27, + "gauge44" + ], + [ + 7, + 18, + "gauge44" + ], + [ + 4, + 32, + "gauge44" + ], + [ + 6, + 23, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 5, + 28, + "gauge44" + ], + [ + 7, + 19, + "gauge44" + ], + [ + 4, + 33, + "gauge44" + ], + [ + 6, + 24, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ], + [ + 5, + 29, + "gauge44" + ], + [ + 7, + 20, + "gauge44" + ], + [ + 4, + 34, + "gauge44" + ], + [ + 6, + 25, + "gauge44" + ], + [ + 8, + 16, + "gauge44" + ], + [ + 5, + 30, + "gauge44" + ], + [ + 7, + 21, + "gauge44" + ], + [ + 4, + 35, + "gauge44" + ], + [ + 6, + 26, + "gauge44" + ], + [ + 8, + 17, + "gauge44" + ], + [ + 5, + 31, + "gauge44" + ], + [ + 7, + 22, + "gauge44" + ], + [ + 4, + 36, + "gauge44" + ], + [ + 6, + 27, + "gauge44" + ], + [ + 8, + 18, + "gauge44" + ], + [ + 5, + 32, + "gauge44" + ], + [ + 7, + 23, + "gauge44" + ], + [ + 6, + 28, + "gauge44" + ], + [ + 8, + 19, + "gauge44" + ], + [ + 5, + 33, + "gauge44" + ], + [ + 7, + 24, + "gauge44" + ], + [ + 6, + 29, + "gauge44" + ], + [ + 8, + 20, + "gauge44" + ], + [ + 5, + 34, + "gauge44" + ], + [ + 7, + 25, + "gauge44" + ], + [ + 6, + 30, + "gauge44" + ], + [ + 8, + 21, + "gauge44" + ], + [ + 5, + 35, + "gauge44" + ], + [ + 7, + 26, + "gauge44" + ], + [ + 6, + 31, + "gauge44" + ], + [ + 8, + 22, + "gauge44" + ], + [ + 5, + 36, + "gauge44" + ], + [ + 7, + 27, + "gauge44" + ], + [ + 6, + 32, + "gauge44" + ], + [ + 8, + 23, + "gauge44" + ], + [ + 7, + 28, + "gauge44" + ], + [ + 6, + 33, + "gauge44" + ], + [ + 8, + 24, + "gauge44" + ], + [ + 7, + 29, + "gauge44" + ], + [ + 6, + 34, + "gauge44" + ], + [ + 8, + 25, + "gauge44" + ], + [ + 7, + 30, + "gauge44" + ], + [ + 6, + 35, + "gauge44" + ], + [ + 8, + 26, + "gauge44" + ], + [ + 7, + 31, + "gauge44" + ], + [ + 6, + 36, + "gauge44" + ], + [ + 8, + 27, + "gauge44" + ], + [ + 7, + 32, + "gauge44" + ], + [ + 8, + 28, + "gauge44" + ], + [ + 7, + 33, + "gauge44" + ], + [ + 8, + 29, + "gauge44" + ], + [ + 7, + 34, + "gauge44" + ], + [ + 8, + 30, + "gauge44" + ], + [ + 7, + 35, + "gauge44" + ], + [ + 8, + 31, + "gauge44" + ], + [ + 7, + 36, + "gauge44" + ], + [ + 8, + 32, + "gauge44" + ], + [ + 8, + 33, + "gauge44" + ], + [ + 8, + 34, + "gauge44" + ], + [ + 8, + 35, + "gauge44" + ], + [ + 8, + 36, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "artifacts": { + "LOCAL-CHECKS.json": "e52e7feece9cb22e83c1d687c0f98731f8d50b7e8c863732ec662c89453fbcd4", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "RESIDUAL-ADAPTERS.json": "89e5779ba4fcc1b1a76bed05c9b36600bc1dc3c6efd7e623865692ec715c30c5" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2346, + "2": 504, + "3": 414, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "104b2317acce5e4138cdf9063aa76c0d546d3e28b37a38772658f8901de8b85a", + "forward": "4f66725a8f160069d3648399b850c651f251bdbc9feab809d0411b878bc8f638" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "499fb645aa5060c301953587784a7b74410c064359e47e96765c22b3e99b59be", + "LOCAL-PROGRAMS.json.gz": "b39fb114ee7ae98e46adea2ad2f6f94b05c73f9f265ab62522b9cd729f7e311d", + "LOCAL-CHECKS.json": "d32c9a61d161318f32f007aa9980fe001e7ab24d5d000f8843c637dedc306bf2", + "INDEPENDENT-LOCAL-REPLAY.json": "dd28c06dfd036de2541f9b8669f5bc9598229df7b12a5816b8a77ae52ebca6ff", + "CLIFFORD-RECIPES.json": "f1b5a509e39293f5d7ffea7b269fd9e5443e625a9286a022caa1fd4b62af8063", + "CLIFFORD-REVIEW.json": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "RESIDUAL-ADAPTERS.json": "df5afb8969525b20e7eb4cf572270b724a9427f8d16f78edbd014c5005191133" + } + }, + "semantic_phase_sha256": "54271d1585688ac9260703ebb25a05c161c8f419cec7436a543622b1b1a87112", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + }, + "extra": { + "inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2902, + "expected_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + }, + "entering": 192, + "entrance": 368, + "width_digest": "ec44b5b214538eafbd921a70a1881e38212a3e101ebf7f35427b971a6447de3f", + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "artifacts": { + "LOCAL-CHECKS.json": "ef01cb5b6d1779518282c69a20d1dbcdbf57cb89ba616e2101bb209b37d80286", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "RESIDUAL-ADAPTERS.json": "0102fa3b62b095c14a34d5af95cc321db38e5f5e03a4f226828e8ebf6fdbe20b" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98381, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98349, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 368, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 386928, + "local_primitive_bound": 10034720958654, + "compiler": 25934336, + "children": 3484, + "paid_profile": { + "1": 2338, + "2": 512, + "3": 418, + "4": 126, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "c489539e08438f3bfa33d45e2fdca40ab90f0b1dab56d1e9c8b7b65b9904d12a", + "forward": "0f2a4612124cd3c7d8716341e2122b7d351e0908203d29dbc1c0e0bbf55d5f06" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "c511d5e78aaa846ca0ebae8648caa30cd68620c88841afe10a9df81dcd2d3c58", + "LOCAL-PROGRAMS.json.gz": "937949e654a0bc1c90ea1e40ef040cea69435a53622d5e1e964e47a2b03264fd", + "LOCAL-CHECKS.json": "5981ee5125bd00c7ea960471cf029ebd0bc8c3d6b2360810235194d75c212589", + "INDEPENDENT-LOCAL-REPLAY.json": "b527dce5557409da71db2f63e16535413ea28cd5d887328779cfe880fb04affa", + "CLIFFORD-RECIPES.json": "cf410b60c9e3d9e7f99d94b5b28c4e3ae61c4b32892df4e03257b60fe5a37b02", + "CLIFFORD-REVIEW.json": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "RESIDUAL-ADAPTERS.json": "435b2e4ee1e39d0d373dce21591660b8de4834f6e44ff9813d1821e22ff3c9c1" + } + }, + "semantic_phase_sha256": "6316e335baa284c6e1e8bc7ee31b1d42fddc541d4ac366fdfc7d78bd25d8f9cd", + "expected_local": { + "forward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198798, + "prefix_l1": "5530697291943336383/2048", + "coefficient_work_primitive_count": 98349 + }, + "backward": { + "events": 24759, + "macros": 19695, + "real_component_primitives": 198846, + "prefix_l1": "14824960514790439145421/64", + "coefficient_work_primitive_count": 98381 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "838166083799229/500000000000000000", + "hosted_residuals": 159840, + "rank_mass": 2408256, + "actual_73column_sigmas": 11144, + "cross_replica_helper_roles": 148150, + "idle_remainders": 11376, + "idle_remainder_profile": { + "1": 2, + "48": 11374 + }, + "global_profile": { + "1": 779556, + "2": 169496, + "3": 138694, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "live": 33152, + "physical": 33642, + "conservative_kappa_decimal": "0.001676854975814691", + "kappa_decimal": "0.001676854978651125", + "complex_lower": "839835772121293724651/500000000000000000000000", + "conservative_complex_lower": "104979471337288528251/62500000000000000000000", + "kappa": "13414839829209/8000000000000000", + "assembly_controls_rejected": 114, + "provider_counts": { + "extra": 208, + "gauge44": 125 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gmx-t74-borrow43-handoff/lift_parent.py b/research/gmx-t74-borrow43-handoff/lift_parent.py new file mode 100644 index 0000000000..3331049d41 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/lift_parent.py @@ -0,0 +1,46 @@ +import argparse,copy,gzip,hashlib,importlib.util,json,shutil +from pathlib import Path +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--owners',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();P=a.owners.resolve();D=a.out.resolve();D.mkdir(exist_ok=False) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,v): + b=json.dumps(v,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +def identity(v):return hashlib.sha256(json.dumps(v,sort_keys=True,separators=(',',':')).encode()).hexdigest() +src=F/'inputs';plan=rd(src/'PLAN.json');bp=rd(F/'new/BORROW-PROVIDERS.json') +for pid_,d_ in bp.items():plan['provider_registry'][pid_].update(widths=d_['widths'],actual_paid_profile={str(k):v for k,v in sorted({int(k):v for k,v in d_['actual_paid_profile'].items()}.items())}) +parent=rd(src/'GLOBAL-TEMPLATE.json.gz');original=copy.deepcopy(parent);copies=2;T=plan['T'];olddata=plan['live'];bank=parent['live']-olddata;newdata=copies*olddata;newlive=copies*parent['live'];delta=newlive-parent['live'];private=parent['physical']-parent['live'] +def family(f,g):return f+g*olddata if f>=1;i+=1 ++ return y ++ ++def ginv(cols,h): ++ # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise ++ piv={}; ++ for i in range(h): ++ a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] ++ if a:return None ++ pre.append(b) ++ return pre # pre[t] = G^{-1}(e_t) ++ ++def gtrans(cols,h): ++ # transpose: column j of G^T = row j of G ++ return [sum(((cols[i]>>j)&1)<(Gx, (G+G^-T)x + G^-T z) ++ GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} ++ # G^{-T}(z): via columns GiT ++ def M(vec): ++ x=vec&((1<>h ++ gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x ++ return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) ++ walg_add(rows[src],row,-c) ++ return ++ if e[0]=='warp': ++ op=e[2];s=(op>0)-(op<0) ++ if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol ++ rows[e[1]]=walg_warp(rows[e[1]],op);return ++ if e[0]=='add': ++ t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') ++ if dual:t,s,q=s,t,-q ++ walg_add(rows[t],rows[s],q) ++ else: ++ t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') ++ if dual:q=1/q ++ rows[t]={k:q*x for k,x in rows[t].items()} ++ ++def invert_item(e,full): ++ if e[0]=='warp':return ['warp',e[1],-e[2]] ++ r=list(e) ++ if r[0]=='add':r[3]=-r[3] ++ else:r[2],r[3]=r[3],r[2] ++ return r ++ ++def run_borrow(path,out,main,base,w,data,begin): ++ v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R ++ require((v,h)==(112,9),'wrong source geometry') ++ require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') ++ full=basis([1<=2*v,'correction source must be a remaining helper') ++ require(s not in entering,'correction source has nonzero entrance frame') ++ require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') ++ require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') ++ # the source is the lender of the operator it is read through ++ require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') ++ # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- ++ end=[full]*v+[basis([x for x in range(1,1<k and piv[j]>>k&1:piv[j]^=piv[k] + return tuple(piv[k] for k in sorted(piv,reverse=True)) + +def contained(a,b):return basis(a+b)==b + +def registers(e):return e[1:3] if e[0]=='add' else e[1:2] + +def apply(e,rows,dual=False): + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + dst=rows[t] + for k,x in list(rows[s].items()): + a=dst.get(k,F(0))+q*x + if a:dst[k]=a + else:dst.pop(k,None) + elif e[0]=='scale': + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + else:raise RuntimeError('unknown scalar primitive') + +def invert(e): + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def check_parent_interface(word,main): + # Read only the retained boundary data. No builder or local checker is imported. + relative="research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz" + path=main/relative;raw=path.read_bytes() + require(hashlib.sha256(raw).hexdigest()=="66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844",'parent canonical input pin') + parent=json.loads(gzip.decompress(raw)) + tau=lambda x:x^(43 if (x&43).bit_count()%2 else 0) + ports=parent['ports'];v=word['report']['v'] + require(len(ports)==len(set(ports))==v,'parent port count') + require(set(map(tau,word['ports']))==set(ports),'transported source/target ports') + moved={i:ports.index(tau(p)) for i,p in enumerate(word['ports'])} + centers=[moved.get(r,r) for r in word['centers']] + actual=[list(basis([tau(x) for x in frame])) for frame in word['center_frames']] + expected=[parent['frames'][f] for f in parent['center_frames']] + require(len(centers)==len(set(centers))==len(actual)==8,'eight distinct centre carriers') + require(actual==expected and all(len(f)==8 for f in actual),'ordered centre frame interface') + return dict(parent_path=relative,parent_file_sha256=hashlib.sha256(raw).hexdigest(), + transport_tau=43,ordered_frame_bases_match=True,all_ports_match=True, + transported_centers=centers,source_centers=[r for r in centers if r=2*v} + for e in w['precondition']:apply(e,dirt) + compensation=[['add',y,k,-a.numerator,a.denominator,[]] for y in range(v,2*v) for k,a in sorted(dirt[y].items())] + entering=set(map(int,w.get('start_extra',{})));lowends=set(map(int,w.get('helper_final',{}))) + coldends=lowends-entering + require(not any(e[2] in entering for e in compensation),'nonzero entrance response') + require(not any(r in entering|coldends for e in w['precondition']+compensation for r in registers(e)), 'pre-wrapper touch of residual helper') + require(all(e[-1]==[] for e in w['precondition']+compensation),'nonzero frame precondition') + early=w.get('early_cleanup',[]);earlyids={i for i,U in early} + require(len(earlyids)==len(early),'duplicate early cleanup gate') + tail=[w['cleanup'][i][:-1]+[U] for i,U in early] + cleanup=[e for i,e in enumerate(w['cleanup']) if i not in earlyids] + prefix=w['precondition']+compensation+main + program=prefix+tail+cleanup + for dual in (False,True): + actual=ident() + for e in program:apply(e,actual,dual) + expected=ident() + for t in range(v):expected[t if dual else v+t][v+t if dual else t]=F(-1 if dual else 1) + bad=[i for i in range(n) if actual[i]!=expected[i]] + require(not bad,'all-column endpoint failure '+str((dual,bad[:8]))) + print('endpoint', 'dual' if dual else 'forward','PASS',flush=True) + full=basis([1<>=1;i+=1 + return y + +def ginv(cols,h): + # inverse columns over F2 (None if singular), Gauss-Jordan on (G | I) column-wise + piv={}; + for i in range(h): + a=cols[i];b=1<>s&1:a^=piv[s][0];b^=piv[s][1] + if a:return None + pre.append(b) + return pre # pre[t] = G^{-1}(e_t) + +def gtrans(cols,h): + # transpose: column j of G^T = row j of G + return [sum(((cols[i]>>j)&1)< E (used for B-phase warps and for A-phase prelude warps)""" + inv=ginv(cols,h);require(inv is not None,'G not invertible') + require(all(gmul(cols,inv[t])==1<(Gx, (G+G^-T)x + G^-T z) + GiT=gtrans(inv,h) # G^{-T}: columns j = row j of G^{-1} + # G^{-T}(z): via columns GiT + def M(vec): + x=vec&((1<>h + gx=gmul(cols,x);S=gx^gmul(GiT,x) # (G + G^{-T}) x + return gx|((S^gmul(GiT,z))<>h)|((vec&((1<0)-(op<0))*(abs(op)+dsym)) + walg_add(rows[src],row,-c) + return + if e[0]=='warp': + op=e[2];s=(op>0)-(op<0) + if dual:op=s*(abs(op)+dsym) # dual orientation: K_G^{-T} is a distinct free symbol + rows[e[1]]=walg_warp(rows[e[1]],op);return + if e[0]=='add': + t,s=e[1:3];q=F(e[3],e[4]);require(t!=s,'self add') + if dual:t,s,q=s,t,-q + walg_add(rows[t],rows[s],q) + else: + t=e[1];q=F(e[2],e[3]);require(q!=0,'zero scale') + if dual:q=1/q + rows[t]={k:q*x for k,x in rows[t].items()} + +def invert_item(e,full): + if e[0]=='warp':return ['warp',e[1],-e[2]] + r=list(e) + if r[0]=='add':r[3]=-r[3] + else:r[2],r[3]=r[3],r[2] + return r + +def run_borrow(path,out,main,base,w,data,begin): + v,h,R=w['report']['v'],w['report']['h'],w['report']['R'];n=2*v+R + require((v,h)==(112,9),'wrong source geometry') + require(main is None,'--main parent interface is not available for coordinate-changed BORROW-WORD; use --base') + full=basis([1<=2*v,'correction source must be a remaining helper') + require(s not in entering,'correction source has nonzero entrance frame') + require(len(word)>=1 and all(1<=abs(o)<=K for o in word),'correction operator word') + require(c!=0 and c.denominator&(c.denominator-1)==0,'correction coefficient') + # the source is the lender of the operator it is read through + require(all(warps[abs(o)-1][1]==s for o in word),'correction source is not the lender of its operator') + # --- 4. frames: literal chain, monotone, paid profile --------------------------------------- + end=[full]*v+[basis([x for x in range(1,1<0 else list(to_),list(to_) if op_>0 else list(fr_),h) + require(cur[r_]==basis(fr_),'prelude warp frame mismatch '+str((r_,op_))) + cur[r_]=basis(to_) + else: + for q in registers(e):climb(q,e[-1]) + for e in Aord: + for q in registers(e):climb(q,e[-1]) + lev={int(t):basis(U) for t,U in w.get('target_levels',{}).items()} + require(all(cur[v+t]==lev.get(t,()) for t in range(v)),'target centre levels') + for q,U in zip(w['centers'],w['center_frames']): + U=basis(U);require(cur[q]==U,'center frame') + served={lev.get(e[1]-v,()) for e in w['cut'] if e[2]==q} + for T in sorted(served,key=lambda x:-len(x)): + require(contained(T,U),'center path not nested') + if T!=U:paid[len(U)-len(T)]+=1 + U=T + byposition={} + for op,rec in enumerate(warps,1):byposition.setdefault(rec[0],[]).append(op) + B=w['B'];forward=[] # chronological program of the (recorded) non-target word + for e in Aord:forward.append(e) + for p in range(len(B)+1): + for op in byposition.get(p,[]): + _,lender,cols,U,E=warps[op-1] + require(cur[lender]==basis(U),'warp frame mismatch '+str((op,lender,cur[lender],basis(U)))) + cur[lender]=basis(E);forward.append(['warp',lender,op]) + if p>i&1:Q[t]^=Ub[i] + G2=[al.gmul(G,Q[t]) for t in range(h)] + require(al.basis([al.gmul(G2,x) for x in W])==al.basis(r[4]) and al.ginv(G2,h) is not None,'control G consistent') + r[2]=G2;r[3]=W + good&=expect('frame mismatch (consistent G, from frame differs from lender current frame)',w,basep,tmp,'warp frame mismatch',results) + # frame mismatch with a consistent G: the warp is moved to a B position where the lender is in another frame + # (explicit cleanup removed so the derived cleanup follows the moved warp; the frame audit itself must fire) + found=False + for k in range(K): + r=w0['warps'][k];nxt=next((i for i in range(r[0],len(w0['B'])) if r[1] in al.registers(w0['B'][i])),None) + if nxt is None:continue + w=mut();w.pop('cleanup');w['warps'][k][0]=nxt+1 + try:run_word(w,basep,tmp) + except RuntimeError as e: + if 'warp frame mismatch' in str(e) or 'frame not monotone' in str(e):found=True;break + good&=found + good&=expect('frame mismatch (warp moved to a position where the lender frame differs)',w,basep,tmp,('warp frame mismatch','frame not monotone'),results) + # 4 missing inverse warp + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='warp');del w['cleanup'][i] + good&=expect('missing inverse warp in cleanup',w,basep,tmp,'explicit cleanup differs',results) + w=mut();w['cleanup']=[g for g in w['cleanup'] if g[0]!='warp'];good&=expect('all inverse warps missing',w,basep,tmp,'explicit cleanup differs',results) + # 4b the algebra itself (not just the derivation comparison) rejects a cleanup without inverse warps + w=mut();n=2*w['report']['v']+w['report']['R'];v=w['report']['v'] + removed=set(w['removed']);live=[r for r in range(n) if r not in removed];restored={int(q) for q in w['helper_final']} + DS=10**6;rows={r:{(r,()):al.F(1)} for r in live} + for c in restored:rows[c+n]={} + program=[['corr',t['target'],t['source'],tuple(t['operator_word']),al.F(t['coefficient'])] for t in w['initial_corrections']]+w['precondition']+w['compensation']+w['A']+w['cut'] + byp={} + for op,rec in enumerate(w['warps'],1):byp.setdefault(rec[0],[]).append(op) + for p in range(len(w['B'])+1): + for op in byp.get(p,[]):program.append(['warp',w['warps'][op-1][1],op]) + if p=2*v if rows[r]!={(r,()):al.F(1)}] + results.append(dict(control='algebra without inverse warps does not restore inputs',failed_inputs=len(bad),rejected=bool(bad)));print('algebra-level missing inverse warp: failing restored inputs',len(bad)) + good&=bool(bad) + # 5 dimension mismatch + w=mut();w['warps'][5][4]=w['warps'][5][4][:-1];good&=expect('dim(from)!=dim(to)',w,basep,tmp,'dim(from)!=dim(to)',results) + # 6 inverse warp not at FULL + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='warp');w['cleanup'][i][3]=w['cleanup'][i][3][:-1] + good&=expect('inverse warp not at FULL',w,basep,tmp,'explicit cleanup differs',results) + # 7 zero-buffer rule: cleanup touches the real restored register, not its buffer + w=mut();i=next(i for i,g in enumerate(w['cleanup']) if g[0]=='add' and g[1]>=n) + w['cleanup'][i][1]-=n;good&=expect('cleanup uses real restored input instead of private buffer',w,basep,tmp,'explicit cleanup differs',results) + w=mut();w.pop('cleanup');w['restore']=w['restore'][1:];good&=expect('restoration gate dropped (derived cleanup)',w,basep,tmp,('restored cold','cleanup did not restore','endpoint failure','target map','frame','paid profile mismatch'),results) + # restored real register not decoupled: its buffer is dropped from the restored set while cleanup still derived + w=mut();w.pop('cleanup');c0=next(iter(w['helper_final']));w['helper_final'].pop(c0);good&=expect('restored cold input demoted (needs FULL, was decoupled by FULL-less rows)',w,basep,tmp,('',),results) if False else True + # 8 restored claim without restoration + touched={r for g in w0['precondition']+w0['compensation'] for r in al.registers(g)} + w=mut();w.pop('cleanup');c=next(r for r in range(2*v,n) if r not in removed and str(r) not in w['helper_final'] and r not in touched) + w['helper_final'][str(c)]=[1] + good&=expect('false cold-restoration claim (register not restored)',w,basep,tmp,('restored cold','frame not monotone'),results) + # 9 dropped restoration gate + w=mut();w['restore']=w['restore'][1:];good&=expect('restoration gate dropped',w,basep,tmp,'explicit cleanup differs',results) + # 10 removed helper referenced / alias missing + w=mut();r=w['removed'][0];w['B'].append(['add',r,2*v+1,1,1,[]]);good&=expect('gate on removed helper',w,basep,tmp,'removed helper referenced',results) + # 11 initial corrections (only if present) + if w0['initial_corrections']: + w=mut();del w['initial_corrections'][0];good&=expect('initial correction omitted',w,basep,tmp,'target map failed',results) + w=mut();w['initial_corrections'][0]['coefficient']=str(-al.F(w['initial_corrections'][0]['coefficient']));good&=expect('initial correction sign flipped',w,basep,tmp,'target map failed',results) + w=mut();w['initial_corrections'][0]['source']=next(r for r in range(2*v,n) if r not in removed and r!=w['initial_corrections'][0]['source'] and str(r) not in w['start_extra']) + good&=expect('initial correction reads a non-lender',w,basep,tmp,'not the lender',results) + w=mut();s=w['initial_corrections'][0]['source'];w['start_extra'][str(s)]=[1] + good&=expect('initial correction reads an entering helper',w,basep,tmp,'nonzero entrance frame',results) + # 12 wrong profile claim + w=mut();w['report']['local_profile']['1']+=1;good&=expect('wrong claimed profile',w,basep,tmp,'paid profile mismatch',results) + w=mut();w['report']['width_inventory']['9']+=1;good&=expect('wrong claimed width inventory',w,basep,tmp,'width inventory mismatch',results) + # 13 non-monotone frame / frame cut below start: lender warped to a frame not above its current chain + w=mut();w['B'][100][-1]=[];good&=expect('frame chain not monotone',w,basep,tmp,'frame not monotone',results) + Path(outp).write_text(json.dumps(dict(all_controls_rejected_for_expected_reason=bool(good),controls=results,seconds=time.monotonic()-t),indent=1)+'\n') + print('ALL CONTROLS OK' if good else 'CONTROL FAILURE');return 0 if good else 1 +if __name__=='__main__':sys.exit(main(*sys.argv[1:])) diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py b/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py new file mode 100644 index 0000000000..55acfa69f9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/borrow/build_word.py @@ -0,0 +1,39 @@ +import sys,json,gzip +from collections import Counter +sys.path.insert(0,'.') +from emit_word import * +def main(canon,blocksf,witf,out,base_name): + w=json.loads(gzip.decompress(Path(canon).read_bytes())) + blocks=json.loads(Path(blocksf).read_text())['sources'][0]['blocks'] + wit=json.loads(Path(witf).read_text()) + S=build(w,blocks,wit);S=finish(S) + word=assemble(S,base_name) + ops=[x[5] for x in sorted(S['warps'],key=lambda x:x[5])];assert ops==list(range(1,len(ops)+1)),ops + del word['warp_order'] + v=S['v'];n=S['n'];restored=set(S['restored']);full=frame_basis(S['full']) + # explicit cleanup: inverse-reverse at FULL + fw=[] + byp={} + for x in S['warps']:byp.setdefault(x[0],[]).append(x[5]) + for g in word['A']:fw.append(g) + for p in range(len(word['B'])+1): + for op in sorted(byp.get(p,[])):fw.append(['warp',S['warps'][[x[5] for x in S['warps']].index(op)][1],op]) + if p=du else fb;E=span(E_basis) + assert len(E_basis)==du,'paid handoff not supported' + assert x['handoff_basis']==E_basis or span(x['handoff_basis'])==E,(op,) + warps.append([len(B),old,gauss[op],frame_basis(cur[old]),E_basis,op]) + val[old]=warp(val[old],op);cur[old]=E;mapping[new]=old + for target,c in x.get('handoff_echo_coefficients',{}).items(): + target=int(target);climb(target,E);add(val[target],val[old],Q(c));raise NotImplementedError('echo') + for d in deferred.get(i,[]):scalar(d) + for d in early_rewrites.get(i,[]):scalar(d) + if i not in skip and i not in removed_early_echoes:scalar(e) + for t in early_tail.get(len(w['B']),[]):scalar(t) + for r in range(v,2*v):climb(r,frames[w['final'][r]]) + return dict(w=w,out=out,corr=corr,warps=warps,val=val,cur=cur,removed=removed,active=active,frames=frames, + full=full,target_levels=target_levels,n=n,v=v,h=h,mapping=mapping) + +def finish(S,cold_restore=True): + """cold restoration (rp.py semantics, exact modular nomination replaced by direct exact solve).""" + w=S['w'];v=S['v'];n=S['n'];h=S['h'];val=S['val'];cur=S['cur'];frames=S['frames'];full=S['full'];active=S['active'] + out=S['out'] + def dyadic(q):return q.denominator&(q.denominator-1)==0 + def unit(q):return q and dyadic(q) and abs(q.numerator)&(abs(q.numerator)-1)==0 + cold=[r for r in active if not(v<=r<2*v) and len(w['frames'][w['final'][r]])i:r[0]-=1 + expect('source restoration gate dropped (cleanup re-derived)',rederive(m)) + # rewritten helper gate on the borrowed source removed + j=next(i for i,g in enumerate(w0['B']) if g[0]=='add' and g[1]==33 and g[2]==250) + m=mut();del m['B'][j] + for r in m['warps']: + if r[0]>j:r[0]-=1 + expect('rewritten source gate dropped (cleanup re-derived)',rederive(m)) + m=mut();m['B'][j][3]=-m['B'][j][3];expect('rewritten source gate sign flipped (cleanup re-derived)',rederive(m)) + # entrance frames of raised buffers + q=next(iter(w0['start_extra'])) + for q in ('474','522','534'): + m=mut();m['start_extra'][q]=[];expect('raised buffer entrance dropped %s'%q,m) + m=mut();m['start_extra'][q]=[1<=N}|{g[2]-N for g in w['cleanup'] if g[0]=='add' and g[2]>=N} +def apply_kernel(w,patch): + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['sections'].items():r[k]=copy.deepcopy(v) + r['report']['local_profile']=patch['local_profile'] + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_handoff(w,patch): + """coherent multi-helper handoff edit (retired-source replacement of high roles): replace the listed top-level fields and the report, re-derive the cleanup from the changed word""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + r['cleanup']=derive_cleanup(r,rs) + return r + +def apply_lowfour(w,patch): + """four low aliases through lifted-target compensation (PR2436 mechanism): replace the listed fields; the A section starts with the + explicit prelude (patch fields['prelude_events'] leading items); the inverse-reverse cleanup is derived WITHOUT the prelude.""" + r=copy.deepcopy(w);rs=restored_of(w) + for k,v in patch['fields'].items():r[k]=copy.deepcopy(v) + r['report']=copy.deepcopy(patch['report']) + t=copy.deepcopy(r);t['A']=r['A'][r['prelude_events']:] + r['cleanup']=derive_cleanup(t,rs) + return r diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz new file mode 100644 index 0000000000..e319c6e054 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43base.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz new file mode 100644 index 0000000000..e38535c936 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/borrow/words/BORROW-WORD-43extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md b/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md new file mode 100644 index 0000000000..a14b299ef5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/NOTICE-PR2226.md @@ -0,0 +1,21 @@ +# Credit: anticipatory dirty borrowing (PR2226) + +The construction realised by this native chain is **PR2226, "anticipatory dirty borrowing"**, by Cinna Davis +(@1337isnot1337), prepared with substantial OpenAI Codex assistance (Apache-2.0): the logical reference change +K_G of a lender register (a monomial Clifford: a permutation of the 512 columns with phase mod 4), the initial +compensation terms c K_G z, the early cold tail, the exact cold restoration and the private zero buffers of the +FULL-frame cleanup. `vendor/pr2226_operators.py`, `vendor/pr2226_replay.py` and `vendor/PR2226-NOTICE.md` are byte copies +of PR2226's `operators.py`, `replay.py` and `NOTICE.md`. `bw_gauss.py` is a port of `operators.py` (change, monomial, +apply_mono, coord, frame, check) and adds a decoder from a serialized `clifford_exact` monomial to its exact 512 x 512 +Gaussian matrix. + +What this chain adds (the P3 native realisation, with the borrowing work's explicit chronological BORROW-WORD as input): +warp events and zero buffers in `LOCAL-PROGRAMS`, warp recipes in `CLIFFORD-RECIPES.json` (lowered with the unchanged +`lower_child`, rank zero, then compared with the exact numpy column product), logical K_G recipes in +`RESIDUAL-ADAPTERS.json`, an independent local replay in both orientations that checks every warp product on all 512 +columns, and the negative controls listed in `INDEPENDENT-LOCAL-REPLAY.json`, `WRAPPER-CHECKS.json`, `WARP-RECIPE-CHECKS.json` +and `bw_tamper.py`. + +Lineage retained: icekylinx (PR425/433/514, scalar and wrapper machinery), DreamingOfClouds (PR458/484/593 hyperplane/cold-HPE +extensions), the clifford_exact compiler (vendor531), and the owners named in the package README. `vendor/clifford/clifford_exact.py` +is a byte copy. diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py new file mode 100644 index 0000000000..82beaa9c1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_adapters.py @@ -0,0 +1,165 @@ +"""Paid residual wrappers for entering helpers (Lemma A): generation and independent decoding. Apache-2.0. +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. The wrapper construction follows PR #458 +(chafreaky): a helper that starts at frame E and ends at FULL has the physical residual S_E = T_FULL T_E^-1 (apply T_E^-1 first); +S_E = L_E (C_[w] x I) R_E with R_E applied first; the wrappers R_E^-1 before the whole local invocation and L_E^-1 after its +full-frame cleanup turn the residual into the coordinate factor C_[w] x I and restore the other 9 - w coordinates identically. +usage: adapters_gk.py CANONICAL-WORD.json.gz RESIDUAL-ADAPTERS.json OUT-LEMMA-A.json +Writes the recipes (generation uses clifford_exact.lower_child) and then DECODES the serialized monomials with the primitive +constructors of clifford_exact (not lower_child) and checks, for every entrance frame, that L_E^-1 S_E R_E^-1 has exactly the +tableau and zero-state vector (global phase included) of fourier(9, range(w)); mutated recipes (wrong phase, swapped sides, wrong +translation, wrong width) must be rejected.""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy, gzip, json, sys +from pathlib import Path +# Package-path adaptation only; the exact wrapper mathematics is unchanged. +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE / 'vendor/clifford')) # BW: the pinned vendor531 clifford_exact (byte copy) +sys.path.insert(0, str(HERE)) +from clifford_exact import canonical_frame, lower_child, fourier, diag, perm, xgate, Op, identity, transpose, inv, parity, monomial as mono_of, mv +import bw_gauss +n = 9; FULL = tuple(1 << i for i in range(n)) +def monomial_op(rec): + """decode a serialized monomial (matrix rows, quadratic rows, Z4 linear part, translation, phase)""" + out = diag(n, tuple(rec['quadratic_rows']), tuple(rec['linear_Z4'])).then(perm(n, tuple(rec['matrix_rows']))).then(xgate(n, rec['offset'])) + return out.then(Op(n, identity(n), [('phase', rec['phase'])])) +def S_of(U, END=FULL): + # HPE: a helper that starts at E=U and ends at END has residual T_END T_E^-1 (END = FULL is the inherited case) + return canonical_frame(n, tuple(U)).adjoint().then(canonical_frame(n, tuple(END))) +def wrapped_ok(U, rec, END=FULL): + """exactly: L^-1 S R^-1 = C_[w] x I (apply order: R^-1, S, L^-1), w = dim END - dim E""" + w = len(END) - len(U); S = S_of(U, END); Rm = monomial_op(rec['right']); Lm = monomial_op(rec['left']) + net = Rm.adjoint().then(S).then(Lm.adjoint()); target = fourier(n, range(w)) + return rec['rank'] == w and net.tab == target.tab and net.zero_state() == target.zero_state() +def _contains(a, b): + a = list(a) + for x in b: + for y in sorted(a, reverse=True): + if x >> (y.bit_length() - 1) & 1: x ^= y + if x: return False + return True +def Kop(G_cols): + """BW: K_G = perm(G) then diag(Q), Q = I + G^-T G^-1: PR2226's monomial() and the conjugator inside clifford_exact.canonical_frame.""" + G = transpose(tuple(G_cols), n); gi = inv(G, n) + Q = tuple((1 << i) ^ sum(parity(gi_i & gi_j) << j for j, gi_j in enumerate(transpose(gi, n))) for i, gi_i in enumerate(transpose(gi, n))) + return perm(n, G).then(diag(n, Q)) +def numeric_K(G_cols): + import numpy as np + pv, ph = bw_gauss.monomial(list(G_cols), n) + N = 1 << n; re = np.zeros((N, N), dtype=np.int64); im = np.zeros((N, N), dtype=np.int64) + unit = [(1, 0), (0, 1), (-1, 0), (0, -1)] + for x in range(N): re[pv[x], x], im[pv[x], x] = unit[ph[x]] + return re, im, 0 +def warp_ok(G_cols, rec): + """BW: the serialized monomial equals PR2226's exact numpy K_G on all 512 columns (indep. decode) and its op decodes to K_G exactly.""" + m = bw_gauss.recipe_matrix(rec, n) + if not bw_gauss.equal_scaled(numeric_K(G_cols), m): return False + dec = monomial_op(rec); ref = Kop(G_cols) + return dec.tab == ref.tab and dec.zero_state() == ref.zero_state() + +def main(): + c = json.load(gzip.open(sys.argv[1])); frames = c['frames']; v = c['v'] + starts = sorted({c['start'][r] for r in range(2 * v, len(c['start'])) if c['start'][r] != 0 and c['final'][r] == 1}) + # HPE: (entrance, terminal) pairs of helpers ending at a proper subspace; key 'E:U'. Inherited words have none. + ends = sorted({(c['start'][r], c['final'][r]) for r in range(2 * v, len(c['start'])) if c['final'][r] != 1}) + # COLD-HPE: e == 0 (a cold helper, entrance = bottom, T_0 = I) is allowed: the (0, U) recipe is keyed '0:U' + assert all(len(frames[u]) < n and _contains(frames[u], frames[e]) for e, u in ends) + cold_ends = [(e, u) for e, u in ends if e == 0] + recipes = {} + for f in starts: + U = frames[f]; rec, compiled = lower_child(S_of(U)) + recipes[str(f)] = dict(frame=f, vectors=list(U), entrance_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + for e, u in ends: + E, U = frames[e], frames[u]; rec, compiled = lower_child(S_of(E, U)) + recipes['%d:%d' % (e, u)] = dict(frame=e, terminal=u, vectors=list(E), terminal_vectors=list(U), entrance_rank=len(E), + terminal_rank=len(U), rank=rec['rank'], left=rec['left'], right=rec['right']) + # BW: monomial recipes of the warps K_G (anticipatory dirty borrowing, PR2226): one per operator, serialized like a wrapper monomial + warp_recipes = {} + for w in c.get('warps', []): + _, rec_k = mono_of(Kop(w['G_columns'])) + warp_recipes[str(w['op'])] = dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], G_columns=list(w['G_columns']), K=rec_k) + Path(sys.argv[2]).write_text(json.dumps(dict(status='RESIDUAL_ADAPTER_RECIPES', recipes=recipes, warps=warp_recipes), sort_keys=True, separators=(',', ':')) + '\n') + # ---- independent decode of the serialized file + data_all = json.loads(Path(sys.argv[2]).read_text()); data = data_all['recipes'] + dot = lambda a, b: bin(a & b).count('1') & 1 + detail = [] + for f in starts: + rec = data[str(f)]; U = frames[f] + assert wrapped_ok(U, rec), ('wrapper product is not C_[w] x I', f) + detail.append(dict(frame=f, entrance_rank=len(U), residual_width=n - len(U), vectors=list(U), all_even_weight=all(bin(x).count('1') % 2 == 0 for x in U), + totally_isotropic=all(dot(a, b) == 0 for a in U for b in U))) + hdetail = [] + for e, u in ends: # HPE: independent decode, residual width = dim U - dim E + rec = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + assert wrapped_ok(E, rec, U), ('HPE wrapper product is not C_[w] x I', e, u) + hdetail.append(dict(frame=e, terminal=u, entrance_rank=len(E), terminal_rank=len(U), residual_width=len(U) - len(E))) + controls = [] + def reject(name, fn): + f = starts[0]; rec = copy.deepcopy(data[str(f)]); fn(rec) + if wrapped_ok(frames[f], rec): raise AssertionError('mutated wrapper accepted: ' + name) + controls.append(name) + reject('wrong global phase', lambda r: r['right'].__setitem__('phase', (r['right']['phase'] + 1) % 4)) + reject('wrong translation', lambda r: r['left'].__setitem__('offset', r['left']['offset'] ^ 1)) + reject('wrong quadratic form', lambda r: r['right'].__setitem__('quadratic_rows', [x ^ 2 if i == 0 else x for i, x in enumerate(r['right']['quadratic_rows'])]) if False else r['right']['linear_Z4'].__setitem__(0, (r['right']['linear_Z4'][0] + 2) % 4)) + reject('sides swapped', lambda r: (r.__setitem__('left', r['right']), r.__setitem__('right', r['left']))) + reject('wrong width', lambda r: r.__setitem__('rank', r['rank'] + 1)) + if ends: # HPE controls on the first (E, U) pair + e, u = next((p for p in ends if p[0] != 0), ends[0]); rec0 = data['%d:%d' % (e, u)] # COLD-HPE: an entering pair if any (= ends[0] without cold ends) + def hreject(name, ok): + if ok: raise AssertionError('HPE mutation accepted: ' + name) + controls.append(name) + hreject('hpe: U-wrapper decoded against a FULL ending', wrapped_ok(frames[e], rec0)) + hreject('hpe: width misreported as 9 - dim E', wrapped_ok(frames[e], dict(rec0, rank=n - len(frames[e])), frames[u])) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u]) and _contains(frames[f], frames[e])) + hreject('hpe: wrong terminal hyperplane', wrapped_ok(frames[e], rec0, frames[other])) + fe = next(((e2, u2) for e2, u2 in ends if str(e2) in data), None) + if fe: # an entrance shared with FULL-ended helpers: R_{E,FULL} must not serve as R_{E,U} + r2 = data['%d:%d' % fe] + hreject('hpe: pre wrapper resolved to the FULL recipe R_{E,FULL}', wrapped_ok(frames[fe[0]], dict(r2, right=data[str(fe[0])]['right']), frames[fe[1]])) + hreject('hpe: wrong global phase', wrapped_ok(frames[e], dict(rec0, left=dict(rec0['left'], phase=(rec0['left']['phase'] + 1) % 4)), frames[u])) + if cold_ends: # COLD-HPE controls on the first cold pair (0, U): factor_iff_pre says only R_{0,U} itself may precede + e, u = cold_ends[0]; recc = data['%d:%d' % (e, u)]; E, U = frames[e], frames[u] + ID = dict(matrix_rows=[1 << i for i in range(n)], offset=0, quadratic_rows=[0] * n, linear_Z4=[0] * n, phase=0) + assert monomial_op(ID).tab == identity(n) # the control's wrapper really is the identity + def creject(name, ok): + if ok: raise AssertionError('cold HPE mutation accepted: ' + name) + controls.append(name) + creject('cold hpe: identity pre wrapper instead of R_{0,U}', wrapped_ok(E, dict(recc, right=ID), U)) + creject('cold hpe: identity post wrapper instead of L_{0,U}', wrapped_ok(E, dict(recc, left=ID), U)) + creject('cold hpe: no wrappers (cold FULL convention L = R = I)', wrapped_ok(E, dict(recc, left=ID, right=ID), U)) + creject('cold hpe: U-wrapper decoded against a FULL ending', wrapped_ok(E, recc)) + creject('cold hpe: width misreported as 9', wrapped_ok(E, dict(recc, rank=n), U)) + other = next(f for f in range(len(frames)) if f != u and len(frames[f]) == len(frames[u])) + creject('cold hpe: wrong terminal hyperplane', wrapped_ok(E, recc, frames[other])) + creject('cold hpe: wrong global phase', wrapped_ok(E, dict(recc, right=dict(recc['right'], phase=(recc['right']['phase'] + 1) % 4)), U)) + ent = next((p for p in ends if p[0] != 0 and p[1] == u), None) + same = lambda x, y: monomial_op(x).tab == monomial_op(y).tab and monomial_op(x).zero_state() == monomial_op(y).zero_state() + if ent and not same(data['%d:%d' % ent]['right'], recc['right']): # an entering helper ending at the same U: its R_{E,U} must not serve as R_{0,U} + creject('cold hpe: pre wrapper resolved to an entering recipe R_{E,U}', wrapped_ok(E, dict(recc, right=data['%d:%d' % ent]['right']), U)) + wdetail = [] + for w in c.get('warps', []): # BW: independent decode of every warp recipe, then mutation controls on the first warp + rec = data_all['warps'][str(w['op'])] + assert rec['G_columns'] == w['G_columns'] + assert warp_ok(w['G_columns'], rec['K']), ('warp recipe differs from the exact monomial K_G', w['op']) + wdetail.append(dict(op=w['op'], from_frame=w['from_frame'], to_frame=w['to_frame'], columns_checked=1 << n)) + if c.get('warps'): + w0 = c['warps'][0]; k0 = data_all['warps'][str(w0['op'])]['K'] + def wreject(name, ok): + if ok: raise AssertionError('warp mutation accepted: ' + name) + controls.append(name) + wreject('warp: wrong global phase', warp_ok(w0['G_columns'], dict(k0, phase=(k0['phase'] + 1) % 4))) + wreject('warp: wrong translation', warp_ok(w0['G_columns'], dict(k0, offset=k0['offset'] ^ 1))) + wreject('warp: wrong linear phase', warp_ok(w0['G_columns'], dict(k0, linear_Z4=[(k0['linear_Z4'][0] + 2) % 4] + k0['linear_Z4'][1:]))) + wreject('warp: wrong quadratic form', warp_ok(w0['G_columns'], dict(k0, quadratic_rows=[k0['quadratic_rows'][0] ^ 2, k0['quadratic_rows'][1] ^ 1] + k0['quadratic_rows'][2:]))) + wreject('warp: recipe of another operator', warp_ok(w0['G_columns'], data_all['warps'][str(c['warps'][1]['op'])]['K'])) + wreject('warp: inverse recipe used as the warp', warp_ok(w0['G_columns'], mono_of(Kop(w0['G_columns']).adjoint())[1])) + G2 = list(w0['G_columns']); G2[0] ^= G2[1] + wreject('warp: wrong G (frame-changed column)', warp_ok(G2, k0)) + sing = list(w0['G_columns']); sing[1] = sing[0] + try: Kop(sing); raise SystemExit('non-invertible G accepted') + except (AssertionError, StopIteration, ValueError): controls.append('warp: non-invertible G') + res = dict(status='PASS_RESIDUAL_WRAPPERS_ARE_EXACT', frames=len(detail), **({'hyperplane_end_pairs': hdetail} if ends else {}), **({'cold_hyperplane_end_pairs': len(cold_ends)} if cold_ends else {}), wrappers_reject=controls, all_even_weight=all(d['all_even_weight'] for d in detail), **({'warp_recipes_exact_on_all_512_columns': wdetail} if wdetail else {}), + all_totally_isotropic=all(d['totally_isotropic'] for d in detail), detail=detail) + Path(sys.argv[3]).write_text(json.dumps(res, indent=1) + '\n') + print('Lemma A (exact): L^-1 S_E R^-1 = C_[w] x I for', len(detail), 'entrance frames, global phase included;', len(controls), 'wrapper mutations rejected; all-even-weight:', res['all_even_weight']) +if __name__ == '__main__': main() diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py new file mode 100644 index 0000000000..61c1abd327 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_audit_local.py @@ -0,0 +1,278 @@ +# Local independent replay of the attributed PR514 / PR433 checker (icekylinx with OpenAI Codex assistance), extended (BW) with +# monomial warps and private zero buffers for anticipatory dirty borrowing (PR2226, Cinna Davis @1337isnot1337, with OpenAI +# Codex assistance, Apache-2.0). The exact Gaussian column products below are a port of PR2226's operators.py (change / +# monomial / apply_mono / coord / frame / check); they use only numpy and share no code with the emitter or with the +# clifford_exact phase compiler. Every edit is marked "BW:". The complete inherited checker and its controls are retained. +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import copy,gzip,hashlib,json,sys,time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path +import numpy as np +sys.path.insert(0,str(Path(__file__).resolve().parent)) +OUT=Path(sys.argv[1]) +c=json.load(gzip.open(OUT/'CANONICAL-WORD.json.gz')) +ir={'local_programs':json.load(gzip.open(OUT/'LOCAL-PROGRAMS.json.gz'))} +v,R,h=c['v'],c['R'],c['h'];n=2*v+R;frames=c['frames'] +levels={int(t):f for t,f in c.get('target_levels',{}).items()} +entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] +plain={r for r in range(n) if r not in set(entering)} + +def contains(a,b): + for x in a: + for y in b: + if x>>(y.bit_length()-1)&1:x^=y + if x:return False + return True +hpe={r for r in range(2*v,n) if c['final'][r]!=1} +assert all(len(frames[c['final'][r]])0:assert sorted(lin(G,x) for x in span(U))==sorted(span(E)),'G does not carry the from frame onto the to frame' + else:assert sorted(lin(G,x) for x in span(E))==sorted(span(U)),'G^-1 does not carry the from frame onto the to frame' + z=warp_product(G,U,E,op,h,qmut) + fwd=check_mono(z) + bre,bim,bexp=z # inverse-transpose of a (scaled) unitary monomial is its entrywise conjugate + bwd=check_mono((bre,-bim,bexp)) + WARPCACHE[key]=(fwd,bwd);return WARPCACHE[key] +# --------------------------------------------------------------------------------------------------------------------------- +def add_row(row,src,q): + for j,x in src.items(): + z=row.get(j,Q(0))+q*x + if z:row[j]=z + else:row.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def local(events,back,table=None,qmut=None): + table=c['warps'] if table is None else table + G_of={w['op']:w['G_columns'] for w in table} + rows={('L',r):{(r,()):Q(1)} for r in range(n)} + norm={('L',r):Q(1) for r in range(n)};prefix=Q(1);cur=c['start'].copy();private={} + hist=Counter();phases=[];entry=[];exit=[];centers=[];chain={};wrappers=[] + wset=set(wrapped);pre_seen=set();post_seen=set();zlive=set();warp_hashes=[];nwarp=0 + allowed=['zero_frame_precondition','entry_adapters','A','centers','B']+(['cleanup_tail'] if c.get('tail') else [])+['final','exit_adapters','full_frame_cleanup','done'] + for event in events: + tag=event[0] + if tag=='phase': + phases.append(event[1]);assert phases==allowed[:len(phases)] + if event[1]=='A':assert entry==[(r,f) for r,f in enumerate(c['start']) if r in plain] and sorted(r for k_,r,f_ in wrappers if k_=='pre')==wrapped + if event[1]=='centers':assert all(cur[r]==levels.get(r-v,0) for r in range(v,2*v)) + if event[1]=='full_frame_cleanup':assert cur==c['final'] and exit==[(r,f) for r,f in enumerate(c['final']) if r not in hpe] + assert not private + elif tag=='residual_adapter': + _,kind,r,f,*end=event;assert r in wrapped and f==c['start'][r] and kind in ('pre','post') + assert end==([c['final'][r]] if r in hpe else []) + if end and kind=='post':assert cur[r]==end[0] + assert (kind=='pre' and phases[-1]=='entry_adapters') or (kind=='post' and phases[-1]=='full_frame_cleanup') + assert (kind,r) not in {(k,x) for k,x,_ in wrappers};wrappers.append((kind,r,f)) + (pre_seen if kind=='pre' else post_seen).add(r) + elif tag=='adapter': + assert event[3]==(c['start'] if event[1]=='old_to_new' else c['final'])[event[2]] + (entry if event[1]=='old_to_new' else exit).append((event[2],event[3])) + elif tag=='climb': + _,part,r,a,b,rank=event + assert not private and phases[-1]==part and cur[r]==a + assert contains(frames[a],frames[b]) and rank==len(frames[b])-len(frames[a])>0 + hist[rank]+=1;cur[r]=b + elif tag=='zero_buffer': # BW: private FULL-frame zero buffers of the cleanup; allocated empty, returned empty + _,kind,z=event;assert phases[-1]=='full_frame_cleanup' and z in zb + if kind=='alloc': + assert z not in zlive and ('Z',z) not in rows;zlive.add(z);rows['Z',z]={};norm['Z',z]=Q(0) + else: + assert kind=='free' and z in zlive and not rows['Z',z];zlive.remove(z) + elif tag=='warp': # BW: monomial logical reference change, rank zero, exact on all 512 columns + _,r,op,f0,f1=event;nwarp+=1 + assert op and abs(op) in G_of and phases[-1] in ('zero_frame_precondition','A','B','cleanup_tail','full_frame_cleanup') + assert not private + if r[0]=='L': + assert cur[r[1]]==f0,('warp frame mismatch',r,cur[r[1]],f0) + assert r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen),('warp wrapper order',r) + else: + assert r[0]=='Z' and r[1] in zlive and f0==f1==1 + assert len(frames[f0])==len(frames[f1]),'a warp is rank zero: equal dimensions' + warp_hashes.append(warp_columns(op,f0,f1,G_of[abs(op)],qmut)) + rows[tuple(r)]=warp_row(rows[tuple(r)],op) + if r[0]=='L':cur[r[1]]=f1 + elif tag=='center': + _,k,a,b,rank=event + assert phases[-1]=='centers' and private=={('C',k):a} + cf=c['center_frames'][k];cr=len(frames[cf]) + assert contains(frames[a],frames[b]) if back else contains(frames[b],frames[a]) + assert rank==abs(len(frames[a])-len(frames[b]))>0 + chain.setdefault(k,[]).append((a,b)) + private['C',k]=b;hist[rank]+=1;centers.append(k) + elif tag=='scalar': + _,e,f=event;op=e[0];target=tuple(e[1]);source=tuple(e[2]) if op in ('copy','add') else None + if target[0]=='C' and op=='clear': + assert private.get(target,f)==f + private.pop(target,None) + else: + for r in (target,source): + if r is None:continue + if r[0]=='L':assert cur[r[1]]==f and (r[1] not in wset or (r[1] in pre_seen and r[1] not in post_seen)),('common frame / wrapper order',r,cur[r[1]],f) + elif r[0]=='Z': # BW: a zero buffer lives only inside the FULL-frame cleanup, at FULL + assert r[1] in zlive and f==1 and phases[-1]=='full_frame_cleanup',('zero buffer misuse',r) + else: + if r==target and r not in private:private[r]=f + assert private[r]==f + if op=='clear':rows[target]={};norm[target]=Q(0) + elif op=='copy':rows[target]=dict(rows[source]);norm[target]=norm[source] + elif op=='scale': + q=Q(e[2],e[3]);a,b=abs(q.numerator),q.denominator + assert a&(a-1)==0 and b&(b-1)==0 + rows[target]={j:q*x for j,x in rows[target].items()};norm[target]*=abs(q) + else: + q=Q(e[3],e[4]);a,b=abs(q.numerator),q.denominator + assert source!=target and b&(b-1)==0 + w=0 + for bit in bin(a)[2:]:w=2*w+int(bit) + assert Q(w,b)*(1 if q>0 else -1)==q + prefix=max(prefix,Q(a)*norm[source]) + norm[target]=norm.get(target,Q(0))+abs(q)*norm[source] + row=rows.setdefault(target,{}) + add_row(row,rows[source],q) + prefix=max(prefix,norm[target]) + else:raise AssertionError(tag) + assert phases==allowed and set(centers)==set(range(len(c['centers']))) and not private and not zlive + assert sorted(r for k,r,_ in wrappers if k=='pre')==wrapped and sorted(r for k,r,_ in wrappers if k=='post')==wrapped + for k,st in chain.items(): + cf=c['center_frames'][k] + if back:assert st[-1][1]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + else:assert st[0][0]==cf and all(st[i][1]==st[i+1][0] for i in range(len(st)-1)) + assert all(not row for reg,row in rows.items() if reg[0] in 'CZ') + assert cur==c['final'] + for r in range(n): + expected={(r,()):Q(1)} + if back and r0)==(sign>0),start) +def cleanup_warp(es):return first_warp(es,-1,phase_at(es,'full_frame_cleanup')) +mutations=[ + ('wrong_scale',lambda es:next(e for e in es if e[0]=='scalar' and e[1][0]=='scale')[1].__setitem__(2,3)), + ('missing_center',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center'))), + ('wrong_common_frame',lambda es:next(e for e in es if e[0]=='scalar' and e[2]!=0).__setitem__(2,0)), + ('wrong_child_rank',lambda es:next(e for e in es if e[0]=='climb').__setitem__(5,99)), +]+([ + ('missing_pre_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre'))), + ('missing_post_wrapper',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post'))), + ('wrapper_with_wrong_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[2] in entering).__setitem__(3,0)), + ('wrapper_in_wrong_phase',lambda es:es.insert(es.index(['phase','A']),es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post')))), + ('wrapper_on_a_data_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,3)), + ('wrapper_on_a_target_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,v+3)), + ('wrapper_on_a_centre_register',lambda es:next(e for e in es if e[0]=='residual_adapter').__setitem__(2,['C',0])), +] if entering else [])+([ + ('centre_step_not_nested',lambda es:next(e for e in es if e[0]=='center').__setitem__(3,next(f for f in range(len(frames)) if not contains(frames[f],frames[next(e for e in es if e[0]=='center')[2]]) and not contains(frames[next(e for e in es if e[0]=='center')[2]],frames[f])))), + ('centre_descent_step_skipped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='center' and e[3]!=0))), +] if levels else [])+([ + ('hpe_pre_wrapper_resolved_to_full_recipe',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and len(e)==5).pop()), + ('hpe_post_wrapper_without_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).pop()), + ('hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and len(e)==5).__setitem__(4,1)), + ('hpe_tail_gate_at_full_frame',lambda es:next(e for e in es[es.index(['phase','cleanup_tail']):] if e[0]=='scalar').__setitem__(2,1)), + ('hpe_tail_climb_dropped',lambda es:es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='climb'))), + ('hpe_helper_exit_adapter_to_full',lambda es:es.insert(es.index(['phase','full_frame_cleanup']),['adapter','new_to_old',min(hpe),1])), + ('hpe_tail_gate_moved_into_full_cleanup',lambda es:(lambda x:(x.__setitem__(2,1),es.insert(es.index(['phase','full_frame_cleanup'])+1,x)))(es.pop(next(i for i in range(es.index(['phase','cleanup_tail']),len(es)) if es[i][0]=='scalar')))), +] if hpe else [])+([ + ('cold_hpe_pre_wrapper_replaced_by_identity_entry_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','old_to_new',cold[0],0]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_dropped',lambda es:es.pop(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]))), + ('cold_hpe_post_wrapper_replaced_by_exit_adapter',lambda es:(lambda i:es.__setitem__(i,['adapter','new_to_old',cold[0],c['final'][cold[0]]]))(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]))), + ('cold_hpe_pre_wrapper_resolved_to_cold_full_convention',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).pop()), + ('cold_hpe_wrapper_with_nonzero_entrance',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]).__setitem__(3,1)), + ('cold_hpe_post_wrapper_wrong_terminal_frame',lambda es:next(e for e in es if e[0]=='residual_adapter' and e[1]=='post' and e[2]==cold[0]).__setitem__(4,1)), + ('cold_hpe_premix_gate_before_pre_wrapper',lambda es:(lambda ev:es.insert(next(i for i,e in enumerate(es) if e[0]=='residual_adapter' and e[1]=='pre' and e[2]==cold[0]),ev))(es.pop(next(i for i,e in enumerate(es) if e[0]=='scalar' and (('L',cold[0]) in [tuple(e[1][1])]+([tuple(e[1][2])] if e[1][0] in ('add','copy') else []))))) ), +] if cold else []) +# BW: mutations of the warp / zero-buffer events (each must be rejected by the literal replay) +if c.get('warps'): + def other_frame(es,i): # a frame of the same dimension that is not the event's own to-frame + e=es[i];return next(f for f in range(len(frames)) if f not in (e[3],e[4]) and len(frames[f])==len(frames[e[4]]) and f!=0) + mutations+=[ + ('warp_missing_inverse_at_full_cleanup',lambda es:es.pop(cleanup_warp(es))), + ('warp_missing_forward',lambda es:es.pop(first_warp(es,1,phase_at(es,'B')))), + ('warp_frame_mismatch',lambda es:(lambda i:es[i].__setitem__(3,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_to_frame_not_carried_by_G',lambda es:(lambda i:es[i].__setitem__(4,other_frame(es,i)))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_sign',lambda es:(lambda i:es[i].__setitem__(2,-es[i][2]))(first_warp(es,1,phase_at(es,'B')))), + ('warp_wrong_operator',lambda es:(lambda i:es[i].__setitem__(2,es[i][2]%len(c['warps'])+1))(first_warp(es,1,phase_at(es,'B')))), + ('warp_inverse_moved_before_use',lambda es:es.insert(first_warp(es,1,phase_at(es,'B')),es.pop(cleanup_warp(es)))), + ('warp_inverse_wrong_frame',lambda es:es[cleanup_warp(es)].__setitem__(3,0)), + ('warp_rank_changing',lambda es:(lambda i:es[i].__setitem__(4,0))(first_warp(es,1,phase_at(es,'B')))), + ('warp_phase_B_dropped_gate_after_warp',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar',first_warp(es,1,phase_at(es,'B'))))), + ] +if zb: + mutations+=[ + ('zero_buffer_not_freed',lambda es:es.pop(ev_index(es,lambda e:e[0]=='zero_buffer' and e[1]=='free'))), + ('zero_buffer_gate_outside_cleanup',lambda es:es.insert(phase_at(es,'full_frame_cleanup')-1,['scalar',['add',['Z',zb[0]],['L',0],1,1],1])), + ('zero_buffer_garbage_left',lambda es:es.pop(ev_index(es,lambda e:e[0]=='scalar' and e[1][0]=='add' and e[1][1]==['Z',zb[0]] ,phase_at(es,'full_frame_cleanup')))), + ] +def mutate_gate_to_L(es): + i=ev_index(es,lambda e:e[0]=='scalar' and ['Z',zb[0]] in [e[1][1]]+([e[1][2]] if e[1][0]=='add' else []),phase_at(es,'full_frame_cleanup')) + g=es[i][1];es[i][1]=[g[0]]+[(['L',zb[0]] if x==['Z',zb[0]] else x) for x in g[1:3]]+list(g[3:]) +if zb: + mutations.append(('zero_buffer_replaced_by_restored_register_at_full',mutate_gate_to_L)) +for name,mut in mutations: + es=copy.deepcopy(ir['local_programs']['forward']);mut(es) # a mutation that cannot be built is an error, not a rejection + try:local(es,False) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('mutation accepted: '+name) +# BW: table / operator tampering of the warps themselves +def tampered(name,table_fn,qmut=None): + t=copy.deepcopy(c['warps']);table_fn(t) + try:local(ir['local_programs']['forward'],False,table=t,qmut=qmut) + except (AssertionError,KeyError) as exc:controls.append(name);reasons[name]=repr(exc.args)[:160] + else:raise AssertionError('tampered warp operator accepted: '+name) +if c.get('warps'): + def wrongG(t): + U=frames[t[0]['from_frame']];E=frames[t[0]['to_frame']] + G=list(t[0]['G_columns']);outside=next(x for x in range(1,1<0 else -1,abs(e[2]),e[3],e[4])) +assert used==set(map(tuple,c.get('warp_edges',[]))),'emitted warp classes differ from the word' +by={(w['sign'],w['op'],w['old'],w['new']):w for w in rec_all.get('warps',[])} +assert set(by)==used,('recipe classes differ from the emitted warp classes',len(set(by)^used)) +def numeric_K(G): + pv,ph=g.monomial(list(G),h);N=1<0 and k[2]!=k[3]);w=by[key];sign,op,f0,f1=key;left=w['left'];Gx=G_of[op] + reject('recipe: wrong global phase',product_ok(*key,dict(left,phase=(left['phase']+1)%4))) + reject('recipe: wrong translation',product_ok(*key,dict(left,offset=left['offset']^1))) + reject('recipe: wrong linear phase',product_ok(*key,dict(left,linear_Z4=[(left['linear_Z4'][0]+2)%4]+left['linear_Z4'][1:]))) + reject('recipe: wrong quadratic form',product_ok(*key,dict(left,quadratic_rows=[left['quadratic_rows'][0]^2,left['quadratic_rows'][1]^1]+left['quadratic_rows'][2:]))) + reject('recipe: wrong matrix',product_ok(*key,dict(left,matrix_rows=[left['matrix_rows'][1],left['matrix_rows'][0]]+left['matrix_rows'][2:]))) + G2=list(Gx);G2[0]^=G2[1] + reject('recipe: wrong G (still invertible)',product_ok(*key,left,G=G2)) + sing=list(Gx);sing[1]=sing[0] + reject('recipe: non-invertible G',product_ok(*key,left,G=sing)) + reject('recipe: inverse warp recipe used for the forward warp',product_ok(sign,op,f0,f1,next(x for k,x in by.items() if k[0]==-sign and k[1]==op)['left']) if any(k[0]==-sign and k[1]==op for k in by) else False) + # frame mismatch: the recipe of this class used for a class with another frame + other=next((k for k in by if k!=key and k[0]==sign and k[1]!=op),None) + reject('recipe: recipe of another warp class',product_ok(*key,by[other]['left']) if other else False) + reject('recipe: swapped from/to frames',product_ok(sign,op,f1,f0,left)) + # a class missing from the recipe file + try: + miss=copy.copy(by);miss.pop(key);assert set(miss)==used + except AssertionError:controls.append('recipe: missing warp class') + else:raise AssertionError('missing class accepted') + reject('logical: wrong G',logical_ok(op,res_all['warps'][str(op)]['K'],G=G2)) + reject('logical: wrong phase',logical_ok(op,dict(res_all['warps'][str(op)]['K'],phase=(res_all['warps'][str(op)]['K']['phase']+1)%4))) +out=dict(status='PASS_WARP_RECIPES_EXACT_ON_ALL_512_COLUMNS',canonical_word_sha256=hashlib.sha256((OUT/'CANONICAL-WORD.json.gz').read_bytes()).hexdigest(), + recipe_sha256=hashlib.sha256((OUT/'CLIFFORD-RECIPES.json').read_bytes()).hexdigest(),warp_classes=len(by),operators=len(c.get('warps',[])), + columns_each=1< 0, G^-1(f0) = f1 for op < 0). The same event stream serves both orientations: +the inverse-transpose of a monomial K_G is the monomial conj(K_G) (same permutation, conjugated phases), a different +formal symbol of the free operator algebra, and the exact column check of the physical product is run for both. +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import sys as _sys, os as _os; _sys.path.insert(0, _os.path.dirname(_os.path.abspath(__file__))) +import gzip,hashlib,json +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +OUT=Path(_sys.argv[1]);cp=OUT/'CANONICAL-WORD.json.gz' +c=json.load(gzip.open(cp)) +frames=c['frames'];v,R,h=c['v'],c['R'],c['h'];n=2*v+R +def digest(x):return hashlib.sha256(json.dumps(x,sort_keys=True,separators=(',',':')).encode()).hexdigest() +def basis(vs): + b={} + for x in vs: + for p in sorted(b,reverse=True): + if x>>p&1:x^=b[p] + if x: + p=x.bit_length()-1 + for q in b: + if b[q]>>p&1:b[q]^=x + b[p]=x + return tuple(b[p] for p in sorted(b,reverse=True)) +def reg(x):return list(x) if isinstance(x,list) else ['L',x] # BW: ['Z', c] is a private zero buffer +def dual(e): + e=list(e) + if e[0]=='add':e[1],e[2]=e[2],e[1];e[3]*=-1 + else:e[2],e[3]=e[3],e[2] + return e +def scalar(e,back): + e=dual(e) if back else list(e) + if e[0]=='add':return ['add',reg(e[1]),reg(e[2]),e[3],e[4]] + return ['scale',reg(e[1]),e[2],e[3]] +def primitive_bound(e): + if e[0] in ('clear','copy'):return 1 + q=Q(e[3],e[4]) if e[0]=='add' else Q(e[2],e[3]) + a,b=abs(q.numerator),q.denominator + assert b&(b-1)==0 + if e[0]=='scale': + assert a&(a-1)==0 + return abs(a.bit_length()-b.bit_length())+int(q<0) + return 3+(a.bit_length()-1)+a.bit_count()+(b.bit_length()-1) +def lregs(e):return [r for r in ([e[1]]+([e[2]] if e[0]=='add' else [])) if not isinstance(r,list)] + +def expand(e): + """BW: a twisted addition t += c*W(s) at frame zero: warp s by W, add, unwarp (all rank zero at frame 0).""" + if e[0]!='tadd':return [e] + _,t,s,word,a,b,f=e + return [['warp',s,op,0,0] for op in reversed(word)]+[['add',t,s,a,b,0]]+[['warp',s,-op,0,0] for op in word] + +def emit(back): + out=[];cur=c['start'].copy() + def event(e):out.append(e) + def scal(e,f):event(['scalar',e,f]) + def warp(e): + _,r,op,f0,f1=e + if isinstance(r,list):assert r[0]=='Z' and f0==f1==1 + else: + assert cur[r]==f0,('warp frame mismatch',r,cur[r],f0);cur[r]=f1 + event(['warp',reg(r),op,f0,f1]) + event(['phase','zero_frame_precondition']) + for e0 in c['precondition']+c['compensation']: + for e in expand(e0): + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['start'][r]==0 for r in regs) + scal(scalar(e,back),0) + event(['phase','entry_adapters']) + entering=[r for r,f in enumerate(c['start']) if r>=2*v and f!=0] + hpe={r for r in range(2*v,n) if c['final'][r]!=1} + wrapped=sorted(set(entering)|hpe) + for r,f in enumerate(c['start']): + if r in wrapped:event(['residual_adapter','pre',r,f]+([c['final'][r]] if c['final'][r]!=1 else [])) + else:event(['adapter','old_to_new',r,f]) + def climb(r,f,part): + old=cur[r] + if old==f:return + assert basis(frames[old]+frames[f])==tuple(frames[f]) + rank=len(frames[f])-len(frames[old]);assert rank>0 + event(['climb',part,r,old,f,rank]);cur[r]=f + for part in ('A','centers','B')+(('cleanup_tail',) if c.get('tail') else ())+('final',): + event(['phase',part]) + if part in ('A','B','cleanup_tail'): + for e in (c['tail'] if part=='cleanup_tail' else c[part]): + if e[0]=='warp':warp(e);continue # BW: monomial reference change, no climb + for r in lregs(e):climb(r,e[-1],part) + scal(scalar(e,back),e[-1]) + elif part=='centers': + lv=lambda r:c.get('target_levels',{}).get(str(r-v),0) + assert all(cur[r]==lv(r) for r in range(v,2*v)) + for k,r in enumerate(c['centers']): + cf=c['center_frames'][k];assert cur[r]==cf + terms=[e for e in c['cut'] if e[2]==r] + path=[cf]+sorted({lv(e[1]) for e in terms}-{cf},key=lambda x:-len(frames[x])) + C=['C',k] + if not back: + scal(['clear',C],cf);scal(['copy',C,['L',r]],cf) + for a in range(len(path)): + if a>0:event(['center',k,path[a-1],path[a],len(frames[path[a-1]])-len(frames[path[a]])]) + for e in terms: + if lv(e[1])==path[a]:scal(['add',['L',e[1]],C,e[3],e[4]],path[a]) + scal(['clear',C],path[-1]) + else: + scal(['clear',C],path[-1]) + for a in range(len(path)-1,-1,-1): + for e in terms: + if lv(e[1])==path[a]:scal(['add',C,['L',e[1]],e[3],e[4]],path[a]) + if a>0:event(['center',k,path[a],path[a-1],len(frames[path[a-1]])-len(frames[path[a]])]) + scal(['add',['L',r],C,-1,1],cf);scal(['clear',C],cf) + else: + for r,f in enumerate(c['final']):climb(r,f,part) + event(['phase','exit_adapters']) + for r,f in enumerate(c['final']): + if r not in hpe:event(['adapter','new_to_old',r,f]) + event(['phase','full_frame_cleanup']) + zb=c.get('zero_buffers',[]) + for z in zb:event(['zero_buffer','alloc',z]) # BW: private FULL-frame zero buffers stand in for the restored (hyperplane-ended) helpers + for e in c['cleanup']: + if e[0]=='warp':warp(e);continue + regs=lregs(e) + assert all(c['final'][r]==1 for r in regs) + assert all(r[0]=='Z' and r[1] in zb for r in [e[1]]+([e[2]] if e[0]=='add' else []) if isinstance(r,list)) + scal(scalar(e,back),1) + for z in zb:event(['zero_buffer','free',z]) + for r in wrapped:event(['residual_adapter','post',r,c['start'][r]]+([c['final'][r]] if r in hpe else [])) + event(['phase','done']) + return out + +def add_row(dst,src,q): + for j,x in src.items(): + z=dst.get(j,Q(0))+q*x + if z:dst[j]=z + else:dst.pop(j,None) +def warp_row(row,op): + out={} + for (var,word),x in row.items(): + word=word[1:] if word and word[0]==-op else (op,)+word + out[var,word]=x + return out + +def check_local(events,back): + # BW: literal scalar replay of the emitted stream in the free warp algebra (rows over (register, warp word)), centres and zero buffers. + state={('L',r):{(r,()):Q(1)} for r in range(n)};live=[];paid=Counter();prims=0;macros=0;zlive=set();nwarp=0 + for e in events: + if e[0]=='climb':assert not live;paid[e[5]]+=1 + elif e[0]=='center':assert live==[e[1]];paid[e[4]]+=1 + elif e[0]=='zero_buffer': + z=e[2] + if e[1]=='alloc':assert z not in zlive;zlive.add(z);state['Z',z]={} + else:assert not state['Z',z] and z in zlive;zlive.remove(z) + elif e[0]=='warp': + t=tuple(e[1]);nwarp+=1;state[t]=warp_row(state[t],e[2]) + elif e[0]=='scalar': + op=e[1];tag=op[0];t=tuple(op[1]);macros+=1;prims+=2*primitive_bound(op) + if tag=='clear': + state[t]={} + if t[0]=='C' and t[1] in live:live.remove(t[1]) + elif tag=='copy':state[t]={(var,w):x for (var,w),x in state.get(tuple(op[2]),{}).items()};live.append(t[1]) + elif tag=='scale':state[t]={j:Q(op[2],op[3])*x for j,x in state[t].items()} + else: + s=tuple(op[2]);q=Q(op[3],op[4]);row=state.setdefault(t,{}) + if t[0]=='C' and t[1] not in live:live.append(t[1]) + add_row(row,state.get(s,{}),q) + assert not live and not zlive and all(not row for r,row in state.items() if r[0] in 'CZ') + for r in range(n): + expected={(r,()):Q(1)} + if back and r>i&1:out^=col + return out +def f2rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) +def extend(xs,hh): + out=list(xs) + for i in range(hh): + if f2rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(hh) for j in range(hh)) + permv=np.array([lin(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(hh))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(hh) for j in range(i+1,hh)) + for x in permv],dtype=np.int64)%4 + return permv,phase +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1<0 else -1);return frame(z,E,hh,1) +def recipe_matrix(rec,hh): + """Dense exact matrix (re, im, exp=0) of a serialized clifford_exact monomial (matrix_rows, quadratic_rows, linear_Z4, offset, phase): + |x> -> i^(qvalue(x)+phase) |G x ^ offset>, qvalue = sum alpha_i x_i + 2 sum_{i in x} parity((Q_i >> (i+1)) & (x >> (i+1))).""" + N=1<>i&1)+2*sum(((Q[i]>>(i+1))&(x>>(i+1))).bit_count()&1 for i in range(hh) if x>>i&1)+ph)%4 + re[y,x],im[y,x]=unit[q] + return re,im,0 +def equal_scaled(z,m): + """z (scaled by 2^exp) equals m (exp 0) entrywise exactly""" + re,im,exp=z;return bool(np.array_equal(re,m[0]<0 else K.adjoint() + op=ops[f0].adjoint().then(Ks).then(ops[f1]);rec,compiled=lower_child(op) + assert rec['rank']==0 and rec['right'] is None,('warp is not a monomial Clifford',sign,op_id,f0,f1) + Z=bw_gauss.warp_product(G,frames[f0],frames[f1],sign*op_id,n) + assert bw_gauss.equal_scaled(Z,bw_gauss.recipe_matrix(rec['left'],n)),('recipe differs from the exact column product',sign,op_id,f0,f1) + hist['warp']+=1;warps.append({'sign':sign,'op':op_id,'old':f0,'new':f1,'G_columns':G,**rec}) +raw=json.dumps({'children':recipes,'endpoint_adapters':adapters,'warps':warps},sort_keys=True,separators=(',',':')).encode() +(OUT/'CLIFFORD-RECIPES.json').write_bytes(raw) +result={'status':'PASS_NEW_WORD_EXACT_LOCAL_PHASE_RECIPES', + 'canonical_word_sha256':hashlib.sha256(P.read_bytes()).hexdigest(), + 'frames':len(frames),'directed_edges':len(edges),'ranks':{str(k):x for k,x in hist.items()}, + 'endpoint_adapters':len(adapters),'warp_recipes':len(warps),'warp_recipes_rank_zero':all(w['rank']==0 for w in warps), + 'warp_recipes_equal_exact_512_column_product':True, + 'all_child_equalities_include_global_phase':True, + 'recipe_sha256':hashlib.sha256(raw).hexdigest(),'seconds':time.monotonic()-start, + 'scope':'Every local frame, centre transition and warp. Expanded scalar-interface integration and global emitted program are separate obligations.'} +(OUT/'CLIFFORD-REVIEW.json').write_text(json.dumps(result,indent=2)+'\n') +print('PASS exact local phases',result['seconds'],'seconds',flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py new file mode 100644 index 0000000000..a519863fd8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_tamper.py @@ -0,0 +1,58 @@ +"""Tamper controls of the native borrow chain. Every tampered BORROW-WORD / emitted artifact must be REJECTED by the chain. +usage: bw_tamper.py BORROW-WORD.json.gz NATIVE_LOCAL_DIR WORK_DIR [--files] (--files also reruns the heavier file-level stages)""" +import copy,gzip,json,os,shutil,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent +word_path=Path(sys.argv[1]).resolve();local=Path(sys.argv[2]).resolve();work=Path(sys.argv[3]).resolve();work.mkdir(parents=True,exist_ok=True) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 +def run(script,*args): + p=subprocess.run([sys.executable,'-B',str(HERE/script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,creationflags=flags) + return p.returncode,p.stdout.decode(errors='replace') +W=json.loads(gzip.decompress(word_path.read_bytes())) +results=[];t0=time.monotonic() +def word_tamper(name,fn,expect): + w=copy.deepcopy(W);fn(w);p=work/(name+'.json.gz');p.write_bytes(gzip.compress(json.dumps(w).encode())) + out=work/('out-'+name) + if out.exists():shutil.rmtree(out) + rc,log=run('bw_transport.py',p,out) + ok=rc!=0 and expect in log + results.append(dict(name=name,rejected=rc!=0,expected_reason=expect,reason_matches=expect in log,last_line=log.strip().splitlines()[-1][:200] if log.strip() else '')) + assert ok,(name,rc,log[-600:]) +def sw(g,i,j):g[i],g[j]=g[j],g[i] +first_cleanup_warp=lambda w:next(i for i,e in enumerate(w['cleanup']) if e[0]=='warp') +word_tamper('wrong_G_not_carrying_frame',lambda w:w['warps'][0].__setitem__(2,[w['warps'][0][2][0]^w['warps'][0][2][1]]+w['warps'][0][2][1:]),'G does not map the from frame onto the to frame') +word_tamper('non_invertible_G',lambda w:w['warps'][0][2].__setitem__(1,w['warps'][0][2][0]),'non-invertible G') +word_tamper('missing_inverse_warp_in_cleanup',lambda w:w['cleanup'].pop(first_cleanup_warp(w)),'arbitrary-input endpoint') +word_tamper('missing_forward_warp',lambda w:w['warps'].pop(0),'') +word_tamper('frame_mismatch_from_basis',lambda w:w['warps'][0].__setitem__(3,next(x[3] for x in w['warps'] if sorted(x[3])!=sorted(w['warps'][0][3]) and len(x[3])==len(w['warps'][0][3]))),'') +word_tamper('inverse_warp_sign_flipped',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],abs(w['cleanup'][first_cleanup_warp(w)][2]),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_wrong_operator',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',w['cleanup'][first_cleanup_warp(w)][1],-(abs(w['cleanup'][first_cleanup_warp(w)][2])%len(w['warps'])+1),w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('inverse_warp_on_wrong_register',lambda w:w['cleanup'].__setitem__(first_cleanup_warp(w),['warp',(w['cleanup'][first_cleanup_warp(w)][1]+1)%(w['report']['v']*2),w['cleanup'][first_cleanup_warp(w)][2],w['cleanup'][first_cleanup_warp(w)][3]]),'arbitrary-input endpoint') +word_tamper('warp_moved_after_its_first_use',lambda w:w['warps'][0].__setitem__(0,w['warps'][0][0]+5),'') +if W['initial_corrections']: + word_tamper('initial_correction_sign_flipped',lambda w:w['initial_corrections'][0].__setitem__('coefficient',str(-__import__('fractions').Fraction(w['initial_corrections'][0]['coefficient']))),'arbitrary-input endpoint') + word_tamper('initial_correction_dropped',lambda w:w['initial_corrections'].pop(0),'arbitrary-input endpoint') + word_tamper('initial_correction_wrong_operator',lambda w:w['initial_corrections'][0].__setitem__('operator_word',[w['initial_corrections'][0]['operator_word'][0]%len(w['warps'])+1]),'arbitrary-input endpoint') +word_tamper('zero_buffer_gate_dropped',lambda w:w['cleanup'].pop(next(i for i,e in enumerate(w['cleanup']) if e[0]=='add' and e[1]>=2*w['report']['v']+w['report']['R'])),'arbitrary-input endpoint') +if '--files' in sys.argv: + def file_tamper(name,script,files,mutate,expect_fail=True): + d=work/('files-'+name) + if d.exists():shutil.rmtree(d) + shutil.copytree(local,d);mutate(d) + rc,log=run(script,d,*[]) if script!='bw_adapters.py' else run(script,d/'CANONICAL-WORD.json.gz',d/'RESIDUAL-ADAPTERS.json',d/'WRAPPER-CHECKS.json') + results.append(dict(name=name,rejected=rc!=0,last_line=log.strip().splitlines()[-1][:200] if log.strip() else ''));assert rc!=0,(name,log[-400:]) + def edit_json(path,fn,gz=False): + d=json.loads(gzip.decompress(path.read_bytes()) if gz else path.read_text());fn(d) + path.write_bytes(gzip.compress(json.dumps(d,sort_keys=True,separators=(',',':')).encode(),mtime=0) if gz else json.dumps(d,sort_keys=True,separators=(',',':')).encode()) + def recipe_phase(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left'].__setitem__('phase',(next(x for x in r['warps'] if x['sign']>0 and x['old']!=x['new'])['left']['phase']+1)%4)) + def recipe_drop_inverse(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:r['warps'].pop(next(i for i,x in enumerate(r['warps']) if x['sign']<0))) + def recipe_swap_G(d):edit_json(d/'CLIFFORD-RECIPES.json',lambda r:next(x for x in r['warps'] if x['sign']>0).__setitem__('G_columns',next(x for x in r['warps'] if x['sign']>0)['G_columns'][::-1])) + def prog_drop_warp(d):edit_json(d/'LOCAL-PROGRAMS.json.gz',lambda p:p['forward'].pop(next(i for i,e in enumerate(p['forward']) if e[0]=='warp' and e[2]<0 and i>len(p['forward'])//2)),gz=True) + def prog_wrong_G(d):edit_json(d/'CANONICAL-WORD.json.gz',lambda c:c['warps'][0].__setitem__('G_columns',c['warps'][0]['G_columns'][::-1]),gz=True) + file_tamper('recipe_phase_tampered','bw_check_recipes.py',None,recipe_phase) + file_tamper('recipe_inverse_missing','bw_check_recipes.py',None,recipe_drop_inverse) + file_tamper('recipe_G_tampered','bw_check_recipes.py',None,recipe_swap_G) + file_tamper('program_missing_inverse_warp','bw_audit_local.py',None,prog_drop_warp) + file_tamper('word_G_reversed','bw_audit_local.py',None,prog_wrong_G) +(work/'TAMPER-RESULTS.json').write_text(json.dumps(dict(status='PASS_ALL_TAMPERS_REJECTED',tampers=results,seconds=time.monotonic()-t0),indent=1)+'\n') +print('PASS all',len(results),'tampers rejected in',round(time.monotonic()-t0,1),'s') diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py new file mode 100644 index 0000000000..08248542b1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/bw_transport.py @@ -0,0 +1,416 @@ +"""Transport an explicit BORROW-WORD to the native canonical frame-id form, with warps, and replay it exactly. + +Anticipatory dirty borrowing is the construction of PR2226 (Cinna Davis, @1337isnot1337, with OpenAI Codex +assistance; Apache-2.0): a retiring helper's register is lent to a later helper through a monomial Clifford +logical reference change K_G ("warp"), the retired field's value being replaced by K_G z. The explicit +chronological BORROW-WORD (canonical coordinates, literal frames, warps, cold restoration, inverse cleanup +with private zero buffers) is the builder output of the borrowing work (P1/P2). This script is the +transport stage of the native chain (the analogue of hpe_audit_and_transport.py): it never trusts the builder. +It replays the program in the free operator algebra generated by the warps over every arbitrary input, +in BOTH orientations (forward and inverse-transpose), checks every frame chain and the paid profile, compacts +the helper registers to R' = R - k, and writes the native CANONICAL-WORD. + +usage: bw_transport.py BORROW-WORD.json[.gz] OUT_DIR +""" +if not __debug__: + raise RuntimeError('assertions must remain enabled') # every check of this stage is an assert +import argparse +import copy +import gzip +import hashlib +import json +import sys +import time +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def basis(vs): + pivots = {} + for x in vs: + for k in sorted(pivots, reverse=True): + if x >> k & 1: + x ^= pivots[k] + if x: + k = x.bit_length() - 1 + for j in pivots: + if pivots[j] >> k & 1: + pivots[j] ^= x + pivots[k] = x + return tuple(pivots[k] for k in sorted(pivots, reverse=True)) + + +def span(b): + s = {0} + for x in b: + s |= {t ^ x for t in s} + return frozenset(s) + + +def rank_of(vs): + return len(basis(vs)) + + +def solve_G(cols, h): + """G given as images of e_i; returns (invertible?, image-of-subspace function).""" + def lin(x): + out = 0 + for i, c in enumerate(cols): + if x >> i & 1: + out ^= c + return out + return lin, rank_of(cols) == h + + +# ---- free operator algebra over the warps ------------------------------------------------------------------ +def add_row(dst, src, c): + for key, value in list(src.items()): + z = dst.get(key, Q(0)) + c * value + if z: + dst[key] = z + elif key in dst: + del dst[key] + + +def warp_row(row, op): + out = {} + for (var, word), value in row.items(): + word = word[1:] if word and word[0] == -op else (op,) + word + out[var, word] = value + return out + + +def is_dyadic(q): + return q.denominator & (q.denominator - 1) == 0 + + +def gate_regs(e): + if e[0] == 'add': + return [e[1], e[2]] + if e[0] == 'scale': + return [e[1]] + raise AssertionError(e[0]) + + +def dual(e): + e = list(e) + if e[0] == 'add': + e[1], e[2] = e[2], e[1] + e[3] = -e[3] + elif e[0] == 'scale': + e[2], e[3] = e[3], e[2] + return e + + +def apply_gate(e, rows, back): + if back: + e = dual(e) + if e[0] == 'scale': + q = Q(e[2], e[3]) + assert q + rows[e[1]] = {j: q * x for j, x in rows[e[1]].items()} + else: + assert e[1] != e[2] + add_row(rows[e[1]], rows[e[2]], Q(e[3], e[4])) + + +def run(word_path, out): + t0 = time.monotonic() + word = read(word_path) + assert word['kind'] == 'BORROW-WORD' + v, h, R0 = word['report']['v'], word['report']['h'], word['report']['R'] + assert h == 9 and v == 112 + n0 = 2 * v + R0 + removed = sorted(word['removed']) + assert all(2 * v <= r < n0 for r in removed) and len(set(removed)) == len(removed) + k = len(removed) + kept = [r for r in range(n0) if r not in set(removed)] + newid = {r: i for i, r in enumerate(kept)} + n = len(kept) + R = R0 - k + assert n == 2 * v + R + Zbase = n0 # builder convention: zero buffer of restored c is register n0 + c + ports = word['ports'] + assert len(set(ports)) == v + full = tuple(1 << i for i in range(h - 1, -1, -1)) + frames, frame_ids = [(), full], {(): 0, full: 1} + + def fid(vectors): + frame = basis(vectors) + if frame not in frame_ids: + frame_ids[frame] = len(frames) + frames.append(frame) + return frame_ids[frame] + + def R_(r): # register -> new register (int) or ['Z', c] + if isinstance(r, list): + return r + if r >= Zbase: + return ['Z', newid[r - Zbase]] + return newid[r] + + start = [fid([p]) for p in ports] + [0] * (v + R) + for r, frame in word['start_extra'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + start[newid[int(r)]] = fid(frame) + final = [1] * v + [fid(x for x in range(1, 1 << h) if (x & p).bit_count() % 2 == 0) for p in ports] + [1] * R + helper_final = {} + for r, frame in word['helper_final'].items(): + assert 2 * v <= int(r) < n0 and int(r) not in set(removed) + helper_final[newid[int(r)]] = fid(frame) + final[newid[int(r)]] = helper_final[newid[int(r)]] + zero_buffers = sorted(helper_final) # every restored (hyperplane-ended) helper is replaced by a private zero buffer in the FULL cleanup + + def gate(e): + e = copy.deepcopy(e) + # Four-low lifted-target port (PR2436 mechanism): literal A-phase warp after the entry adapters. + if e[0] == 'warp': + assert len(e) == 5 + return ['warp', R_(e[1]), e[2], fid(e[3]), fid(e[4])] + if e[0] == 'add': + e[1], e[2] = R_(e[1]), R_(e[2]) + else: + e[1] = R_(e[1]) + e[-1] = None if e[-1] is None else fid(e[-1]) + return e + + # warps: operator table; op id = position + 1; G given by images of the basis vectors + warps = [] + for i, (pos, lender, G, frm, to) in enumerate(word['warps']): + warps.append({'op': i + 1, 'B_pos': pos, 'lender': newid[lender], 'G_columns': list(G), + 'from_frame': fid(frm), 'to_frame': fid(to)}) + byp = {} + for w_ in warps: + byp.setdefault(w_['B_pos'], []).append(w_) + + def warp_event(r, op, f0, f1): + return ['warp', r, op, f0, f1] + + # compensation (zero frame): initial corrections first, as twisted additions t += c * W(s) + pre = [] + for term in word['initial_corrections']: + q = Q(term['coefficient']) + pre.append(['tadd', newid[term['target']], newid[term['source']], list(term['operator_word']), + q.numerator, q.denominator, 0]) + precondition = pre + [gate(e) for e in word['precondition']] # the formal initial corrections come first (PR2226 order) + compensation = [gate(e) for e in word['compensation']] + A = [gate(e) for e in word['A']] + cut = [gate(e) for e in word['cut']] + B = [] + for p in range(len(word['B']) + 1): + for w_ in sorted(byp.get(p, []), key=lambda x: x['op']): + B.append(warp_event(w_['lender'], w_['op'], w_['from_frame'], w_['to_frame'])) + if p < len(word['B']): + B.append(gate(word['B'][p])) + assert sum(1 for e in B if e[0] == 'warp') == len(warps) + tail = [gate(e) for e in word['restore']] + cleanup = [] + for e in word['cleanup']: + if e[0] == 'warp': + cleanup.append(warp_event(R_(e[1]), e[2], 1, 1)) + assert basis(e[3]) == full + else: + cleanup.append(gate(e)) + centers = [newid[r] for r in word['centers']] + center_frames = [fid(f) for f in word['center_frames']] + levels = {str(t): fid(f) for t, f in word['target_levels'].items()} + + canonical = dict(h=h, v=v, R=R, ports=ports, frames=frames, start=start, final=final, + precondition=precondition, compensation=compensation, A=A, cut=cut, B=B, tail=tail, + cleanup=cleanup, centers=centers, center_frames=center_frames, target_levels=levels, + warps=warps, zero_buffers=zero_buffers, removed=removed, helper_origin=kept[2 * v:], + borrow=dict(k=k, base=word.get('base'), original_helpers=R0)) + # ---- exact scalar replay in the free algebra over the warps (both orientations) ----------------------------------- + nz = len(zero_buffers) + + def regkey(r): + return tuple(r) if isinstance(r, list) else ('L', r) + + def expand_tadd(e): + _, t, s, wordops, a, b, f = e + ev = [warp_event(s, op, 0, 0) for op in reversed(wordops)] + ev.append(['add', t, s, a, b, 0]) + ev += [warp_event(s, -op, 0, 0) for op in wordops] + return ev + + def program(): + yield 'pre', [x for e in precondition + compensation for x in (expand_tadd(e) if e[0] == 'tadd' else [e])] + yield 'A', A + yield 'A', cut + yield 'B', B + yield 'tail', tail + yield 'cleanup', cleanup + + def fullprog(): + return [(part, e) for part, es in program() for e in es] + prog = fullprog() + for back in (False, True): + rows = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for c in zero_buffers: + rows[('Z', c)] = {} + for part, e in prog: + if e[0] == 'warp': + key = ('L', e[1]) if not isinstance(e[1], list) else tuple(e[1]) + rows[key] = warp_row(rows[key], e[2]) + else: + if e[0] == 'add': + src, dst = regkey(e[2]), regkey(e[1]) + a, b = e[3], e[4] + if back: + src, dst, a = dst, src, -a + assert src != dst + add_row(rows[dst], rows[src], Q(a, b)) + else: + key = regkey(e[1]) + a, b = (e[3], e[2]) if back else (e[2], e[3]) + q = Q(a, b) + assert q + rows[key] = {j: q * x for j, x in rows[key].items()} + expected = {regkey(r): {(r, ()): Q(1)} for r in range(n)} + for t in range(v): + if back: + expected[('L', t)][(v + t, ())] = Q(-1) + else: + expected[('L', v + t)][(t, ())] = Q(1) + for c in zero_buffers: + expected[('Z', c)] = {} + bad = [key for key in expected if rows[key] != expected[key]] + assert not bad, ('arbitrary-input endpoint (free warp algebra)', back, bad[:8]) + # dyadic primitives + for part, e in prog: + if e[0] == 'add': + assert is_dyadic(Q(e[3], e[4])) + elif e[0] == 'scale': + q = Q(e[2], e[3]) + a = abs(q.numerator) + assert is_dyadic(q) and a and a & (a - 1) == 0 + + wrapped_regs = {r for r in range(2 * v, n) if start[r] != 0 or final[r] != 1} # entering or hyperplane-ended helpers carry wrappers + # ---- frame chains, paid profile, edges, warps ------------------------------------------------------------------- + contains = lambda a, b: basis(frames[a] + frames[b]) == tuple(frames[b]) + cur = start.copy() + paid, edges = Counter(), set() + wsum = {w_['op']: w_ for w_ in warps} + G_of = {} + for w_ in warps: + lin, inv_ = solve_G(w_['G_columns'], h) + assert inv_, ('non-invertible G', w_['op']) + img = basis([lin(x) for x in frames[w_['from_frame']]]) + assert img == tuple(frames[w_['to_frame']]), ('G does not map the from frame onto the to frame', w_['op']) + assert len(frames[w_['from_frame']]) == len(frames[w_['to_frame']]) + G_of[w_['op']] = lin + warp_edges = set() + + def regs_of(e): + return [r for r in gate_regs(e) if not isinstance(r, list)] + + def climb(r, f): + old = cur[r] + assert contains(old, f), ('nonmonotone', r, old, f) + if old != f: + degree = len(frames[f]) - len(frames[old]) + paid[degree] += 1 + edges.add((old, f)) + cur[r] = f + + def do_warp(e): + _, r, op, f0, f1 = e + if isinstance(r, list): + assert r[0] == 'Z' + assert f0 == f1 == 1 + return + assert cur[r] == f0, ('warp frame mismatch', r, op, cur[r], f0) + a = abs(op) + lin = G_of[a] + if op > 0: + ok = basis([lin(x) for x in frames[f0]]) == tuple(frames[f1]) + else: + ok = basis([lin(x) for x in frames[f1]]) == tuple(frames[f0]) + assert ok, ('warp G does not carry the frame', op, f0, f1) + cur[r] = f1 + warp_edges.add((1 if op > 0 else -1, a, f0, f1)) + + # zero-frame phase + for e in precondition + compensation: + if e[0] == 'tadd': + assert start[e[2]] == 0 and start[e[1]] == 0 and e[-1] == 0 and e[2] not in set(wrapped_regs) and all(op != 0 for op in e[3]) + for ev in expand_tadd(e): + if ev[0] == 'warp': + do_warp(ev) # frame 0 -> 0: K_G itself is the physical operator + continue + for r in regs_of(e): + assert start[r] == 0 and e[-1] == 0, ('zero-frame precondition on a nonzero entrance', e) + for part in ('A', 'B'): + if part == 'B': + assert all(cur[r] == f for r, f in zip(centers, center_frames)) + assert all(cur[v + t] == levels.get(str(t), 0) for t in range(v)) + for r, frame in zip(centers, center_frames): + served = {levels.get(str(e[1] - v), 0) for e in cut if e[2] == r} + old = frame + for f in sorted(served, key=lambda f: -len(frames[f])): + assert contains(f, old) + if old != f: + paid[len(frames[old]) - len(frames[f])] += 1 + edges.add((old, f)) + edges.add((f, old)) + old = f + for e in (A if part == 'A' else B): + if e[0] == 'warp': + do_warp(e) + else: + for r in regs_of(e): + climb(r, e[-1]) + for e in tail: + for r in regs_of(e): + climb(r, e[-1]) + for r, f in enumerate(final): + climb(r, f) + for e in cleanup: + if e[0] == 'warp': + do_warp(e) + continue + for r in gate_regs(e): + if isinstance(r, list): + assert r[0] == 'Z' and r[1] in set(zero_buffers) and e[-1] == 1 + else: + assert final[r] == 1 and e[-1] == 1, ('cleanup on a non-FULL end', e) + assert all(len(frames[final[r]]) < h for r in zero_buffers) + assert set(zero_buffers) == set(helper_final) + rep = word['report'] + assert dict(paid) == {int(r): c for r, c in rep['local_profile'].items()}, ('paid profile differs', dict(paid), rep['local_profile']) + canonical['local_profile'] = dict(sorted(paid.items())) + canonical['edges'] = sorted(edges) + canonical['warp_edges'] = sorted(warp_edges) + out.mkdir(parents=True, exist_ok=False) + payload = json.dumps(canonical, sort_keys=True, separators=(',', ':')).encode() + (out / 'CANONICAL-WORD.json.gz').write_bytes(gzip.compress(payload, mtime=0)) + raw = word_path.read_bytes() + (out / 'FULL-WORD.json.gz').write_bytes(gzip.compress(gzip.decompress(raw) if word_path.suffix == '.gz' else raw, mtime=0)) + receipt = dict(status='PASS_BORROW_WORD_FREE_ALGEBRA_ALL_COLUMNS_AND_NATIVE_FRAMES', + input_content_sha256=hashlib.sha256(gzip.decompress(raw) if word_path.suffix == '.gz' else raw).hexdigest(), + canonical_content_sha256=hashlib.sha256(payload).hexdigest(), + live_columns_each_orientation=n, helpers=R, original_helpers=R0, removed_helpers=k, + zero_buffers=nz, warps=len(warps), warp_events=sum(e[0] == 'warp' for part, e in prog), + initial_corrections=len(word['initial_corrections']), + scalar_operations=len([1 for p, e in prog if e[0] != 'warp']), + local_profile=dict(sorted(paid.items())), local_rank_mass=sum(r * z for r, z in paid.items()), + widths=[len(frames[final[r]]) - len(frames[start[r]]) for r in range(2 * v, n)], + frames=len(frames), directed_edges=len(edges), warp_edge_classes=len(warp_edges), + seconds=time.monotonic() - t0, + scope='Fresh exact forward and inverse-transpose replay over a free noncommutative warp algebra on every arbitrary input, native frame chains, dyadic primitives, zero buffers returned to zero. Physical Clifford exactness of every warp is checked by the local replay and the phase recipes.') + (out / 'SCALAR-FRAME-AUDIT.json').write_text(json.dumps(receipt, indent=2) + '\n') + print(json.dumps({k_: x for k_, x in receipt.items() if k_ != 'widths'}, indent=2), flush=True) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('word', type=Path) + ap.add_argument('out', type=Path) + a = ap.parse_args() + run(a.word, a.out) diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md new file mode 100644 index 0000000000..5ea70357a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/PR2226-NOTICE.md @@ -0,0 +1,22 @@ +# Attribution and license + +New construction, proof text and checkers: Cinna Davis (@1337isnot1337), with +substantial OpenAI Codex assistance, Apache-2.0. + +The selected complex canonical word is the PR1042 ancestry retained in PR1094. +Jeremy Kothe, Rohan Arun, Hao Yan, Chafik Boukhalfa, icekylinx, Jonathan Capalbo +and the source package's full provider/frame/controller lineage retain credit. +Ali Romman supplied the source-bound fixed-block theorem and certificate; +Thomas DiFiore supplied the earlier block discovery. The borrowing construction +does not attribute its changed interface to those predecessor results. + +`price_engine.py` is an unchanged copy of the incorporated +`research/complex-local-word-ceiling/ceiling.py`: Douglas Colkitt, with Claude +(Anthropic) assistance; original SPDX/license context and docstring retained. +General Clifford frame and exact Gaussian normal forms are inherited from +`notes/general-clifford-frames.tex` and the repository's credited phase/compiler +lineage. The package independently checks its actual local Gaussian products. + +Source hashes, base commits and the copied engine's Git blob are in SOURCES.json. +No full native supplier, all-size compiler, precision theorem or new kappa is +claimed. No independent human review is claimed. diff --git a/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/clifford_exact.py b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/clifford_exact.py new file mode 100644 index 0000000000..166841a037 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/code/borrow/vendor/clifford/clifford_exact.py @@ -0,0 +1,149 @@ +"""Small exact Gaussian-dyadic Clifford compiler, independent of gx internals. +Paulis use i^p X^x Z^z. State vectors use integer Gaussian numerators / 2^d. +The tableau is supplemented by a literal circuit, so global phases are kept. +""" +from dataclasses import dataclass + +def parity(x):return x.bit_count()&1 +def rank(rows): + p={} + for x in rows: + while x: + b=x.bit_length()-1 + if b not in p:p[b]=x;break + x^=p[b] + return len(p) +def transpose(rows,n):return tuple(sum(((rows[j]>>i)&1)<>j&1);a[j],a[k]=a[k],a[j] + for i in range(n): + if i!=j and a[i]>>j&1:a[i]^=a[j] + assert [r&((1<>n for r in a) +def basis_extend(cols,n): + out=[] + for x in list(cols)+[1<len(out):out.append(x) + assert len(out)==n + return tuple(out) +def nullspace(rows,n): + a=list(rows);p=[];k=0 + for j in range(n): + t=next((i for i in range(k,len(a)) if a[i]>>j&1),None) + if t is None:continue + a[t],a[k]=a[k],a[t] + for i in range(len(a)): + if i!=k and a[i]>>j&1:a[i]^=a[k] + p.append(j);k+=1 + return tuple((1<>j)&1)<>i&1:out=pmul(out,T[i]) + for i in range(n): + if z>>i&1:out=pmul(out,T[n+i]) + return out +def compose(A,B):return tuple(apply(A,p) for p in B) +def inverse(T): + n=len(T)//2;cols=[x|(z<>n;u,v,p=apply(T,(x,z,0));assert (u,v)==identity(n)[j][:2];out.append((x,z,(-p)%4)) + return tuple(out) +def qvalue(Q,alpha,x,n): + return (sum(alpha[i] for i in range(n) if x>>i&1)+2*sum(parity((Q[i]>>(i+1))&(x>>(i+1))) for i in range(n) if x>>i&1))%4 +def mul_i(a,p): + x,y=a;p%=4 + return [(x,y),(-y,x),(-x,-y),(y,-x)][p] +@dataclass +class Op: + n:int + tab:tuple + circuit:list + def then(self,b): + assert self.n==b.n + return Op(self.n,compose(b.tab,self.tab),self.circuit+b.circuit) + def adjoint(self): + circ=[] + for e in reversed(self.circuit): + if e[0]=='P':circ.append(('P',inv(e[1],self.n))) + elif e[0]=='D':circ.append(('D',e[1],tuple((-x)%4 for x in e[2]))) + elif e[0]=='C':circ.append(('C',e[1],-e[2])) + elif e[0]=='phase':circ.append(('phase',(-e[1])%4)) + else:circ.append(e) + return Op(self.n,inverse(self.tab),circ) + def zero_state(self,basis=0): + N=1<>i)&1 for i in range(n)) + assert all(alpha[i]%2==(Q[i]>>i)&1 for i in range(n)) + return Op(n,tuple([(1<>i&1 else 0,1<>i&1 else 0) for i in range(n)]),[('C',q,sgn)]) +def xgate(n,b):return Op(n,tuple([(1<>i)&1)) for i in range(n)]),[('X',b)]) +def fourier(n,axes=None): + out=ident(n) + for i in range(n) if axes is None else axes:out=out.then(cgate(n,1<len(selected):picks.append(j);selected.append(x) + assert len(picks)==r and all(x>>r==0 for x in Bcols) + Br=transpose(selected,r);Bi=inv(Br,r);Dr=transpose([Dcols[j]&((1<>i&1:out^=c + return out + + +def rank(xs): + b={} + for x in xs: + while x: + i=x.bit_length() + if i not in b:b[i]=x;break + x^=b[i] + return len(b) + + +def extend(xs,h): + out=list(xs) + for i in range(h): + if rank(out+[1<len(out):out.append(1<>i)&1)<>i&1)==(M[i]>>j&1) for i in range(h) for j in range(h)) + perm=np.array([linear(cols,x) for x in range(1<>i)&1)*(x>>i&1) for i in range(h))+ + 2*sum(((M[j]>>i)&1)*(x>>i&1)*(x>>j&1) for i in range(h) for j in range(i+1,h)) + for x in perm],dtype=np.int64)%4 + return perm,phase + + +def apply_mono(z,recipe,sign=1): + re,im,exp=z;perm,phase=recipe;rr=np.empty_like(re);ii=np.empty_like(im) + if sign==1: + for p in range(4): + mask=phase==p;r=re[mask];i=im[mask] + if p==0:a,b=r,i + elif p==1:a,b=-i,r + elif p==2:a,b=-r,-i + else:a,b=i,-r + rr[perm[mask]]=a;ii[perm[mask]]=b + else: + r=re[perm];i=im[perm] + for p in range(4): + mask=phase==p + if p==0:a,b=r[mask],i[mask] + elif p==1:a,b=i[mask],-r[mask] + elif p==2:a,b=-r[mask],-i[mask] + else:a,b=-i[mask],r[mask] + rr[mask]=a;ii[mask]=b + return rr,ii,exp + + +def coord(z,axes,sign=1): + re,im,exp=z + for j in axes: + p=np.array([x for x in range(len(re)) if not(x>>j&1)]);q=p^(1< 0 + +def tamper_controls(RB, base, edit, q): + """Controls that must all FAIL the exact map check: (a) sign not accounted: every new gate's coefficient negated; (b) sign not accounted + on the tail gates only; (c) each single new gate's coefficient moved by one dyadic step (x2). Returns dict name -> failed(bool); all must be True.""" + out = {} + def gates(ed): return [g for _, g in ed.get('insert', [])] + [g for _, g in ed.get('tail', [])] + ed = copy.deepcopy(edit) + for g in gates(ed): _set_coef(g, -_coef(g)) + out['all_new_gates_sign_flipped'] = _map_fails(RB, base, ed, q) + if edit.get('tail'): + ed = copy.deepcopy(edit) + for _, g in ed['tail']: _set_coef(g, -_coef(g)) + out['tail_gates_sign_flipped'] = _map_fails(RB, base, ed, q) + n = len(gates(edit)) + for k in range(n): + ed = copy.deepcopy(edit); g = gates(ed)[k]; _set_coef(g, 2 * _coef(g)) + out['gate%d_coefficient_x2' % k] = _map_fails(RB, base, ed, q) + return out diff --git a/research/gmx-t74-borrow43-handoff/new/rebind.py b/research/gmx-t74-borrow43-handoff/new/rebind.py new file mode 100644 index 0000000000..a0453d3e95 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebind.py @@ -0,0 +1,59 @@ +"""rebind.py: rebind PR1319's T74 data (PLAN/SPEC) to new native provider directories with UNCHANGED interfaces (ports, +centres, widths), for discovery -> unpin -> freeze -> strict replay. Updates only provider-derived fields: +provider_registry..{actual_paid_profile, artifact_semantic_sha256, artifact_sha256, orientation_program_sha256}, +provider_calls[*].local_program_sha256, PLAN.profile (recomputed from the dispatch and the new local paid profiles plus the +unchanged idle remainder), and SPEC.data.plan_sha256 / SPEC.expected.global_profile. +usage: rebind.py PR1319_PKG_DIR GAUGE44_LOCAL EXTRA_LOCAL OUT_DATA_DIR (also writes PROFILE.json with the new global profile)""" +import collections, gzip, hashlib, json, shutil, sys +from pathlib import Path +pkg, loc_g, loc_e, out = map(Path, sys.argv[1:5]); sys.path.insert(0, str(pkg / 'code')) +from generated_identity import artifact_identities +def rd(p): return json.loads(gzip.decompress(p.read_bytes()) if p.suffix == '.gz' else p.read_bytes()) +def sha(p): return hashlib.sha256(p.read_bytes()).hexdigest() +out.mkdir(parents=True, exist_ok=False) +for n in ['PLAN.json', 'PROFILE.json', 'OWNERS.json.gz', 'DISPATCH.json', 'CONSTRUCTION.json', 'GLOBAL-TEMPLATE.json.gz']: shutil.copy2(pkg / n, out / n) +plan = rd(pkg / 'PLAN.json'); spec = rd(pkg / 'new/SPEC.json'); old_profile = dict(plan['profile']) # SPEC base = the frozen outer-refinement new/SPEC.json (rebound fields only are rewritten) +locs = {'gauge44': loc_g, 'extra': loc_e}; counts = collections.Counter(c['provider'] for c in plan['provider_calls']); changes = {} +for pid, d in locs.items(): + desc = plan['provider_registry'][pid]; word = rd(d / 'CANONICAL-WORD.json.gz'); checks = rd(d / 'LOCAL-CHECKS.json') + assert word['ports'] == desc['ports'] and word['centers'] == desc['centers'], pid + widths = [len(word['frames'][word['final'][r]]) - len(word['frames'][word['start'][r]]) for r in range(2 * 112, 2 * 112 + word['R'])] + if widths != desc['widths']: # width-changing rebind (borrowed words): helper count/widths come from the native word + assert len(widths) == word['R'], pid + desc['widths'] = widths + for c in plan['per_call_widths']: + if plan['provider_calls'][c['time']]['provider'] == pid: c['widths'] = widths + new = dict(actual_paid_profile={str(k): v for k, v in sorted({int(k): v for k, v in checks['forward']['paid_profile'].items()}.items())}, + artifact_semantic_sha256=artifact_identities(d), + artifact_sha256={name: sha(d / name) for name in desc['artifact_sha256']}, + orientation_program_sha256={o: checks[o]['sha256'] for o in ('backward', 'forward')}) + changes[pid] = {k: (desc.get(k), v) for k, v in new.items() if desc.get(k) != v} + desc.update(new) + for c in plan['provider_calls']: + if c['provider'] == pid: c['local_program_sha256'] = checks[c['orientation']]['sha256'] +prof = collections.Counter() +for pid, n in counts.items(): + for r, v in plan['provider_registry'][pid]['actual_paid_profile'].items(): prof[int(r)] += n * v +idle = {int(r): v for r, v in rd(pkg / 'CONSTRUCTION.json')['idle'].items()} # exact idle ranks of the shipped owner fill +for r, v in idle.items(): prof[r] += v +new_profile = {str(k): v for k, v in sorted(prof.items())} +# sanity: the recomputation reproduces the OLD profile from the OLD local profiles +oldp = collections.Counter() +for pid, n in counts.items(): + for r, v in rd(pkg / 'PLAN.json')['provider_registry'][pid]['actual_paid_profile'].items(): oldp[int(r)] += n * v +for r, v in idle.items(): oldp[r] += v +assert {str(k): v for k, v in oldp.items()} == {k: v for k, v in old_profile.items()}, 'profile recomputation rule mismatch' +plan['profile'] = new_profile +(out / 'PROFILE.json').write_text(json.dumps(new_profile, separators=(',', ':')) + '\n') +(out / 'PLAN.json').write_text(json.dumps(plan, indent=2) + '\n') +spec['data']['plan_sha256'] = sha(out / 'PLAN.json'); spec['data']['owners_sha256'] = sha(pkg / 'OWNERS.json.gz'); spec['expected']['global_profile'] = new_profile +roles = rd(pkg / 'OWNERS.json.gz'); R = len(next(iter(plan['provider_registry'].values()))['widths']) +spec['expected'].update(idle_remainder_profile={str(k): v for k, v in sorted(idle.items())}, idle_remainders=sum(idle.values()), hosted_residuals=len(roles), + cross_replica_helper_roles=sum(z['replica'] != z['owner_replica'] for z in roles), physical=spec['expected']['live'] + 8 + R + 2) +for pid, desc in plan['provider_registry'].items(): spec['providers'].setdefault(pid, {})['inventory'] = {str(k): v for k, v in sorted(collections.Counter(desc['widths']).items())} +piv = {x['pivot'] for x in rd(pkg / spec['pivot_swap']['recipe'])['swaps']} # same expectation as code/witness.py spot_widths() +assert all(desc['widths'][h] == (9 if 2 * 112 + h in piv else 8) for desc in plan['provider_registry'].values() for h in spec['width_spot_helpers']), 'spot helper width pins' +(out / 'SPEC.json').write_text(json.dumps(spec, indent=2) + '\n') +json.dump(dict(provider_counts=counts, old_profile=old_profile, new_profile=new_profile, changed_fields={p: sorted(c) for p, c in changes.items()}, + new_paid={p: plan['provider_registry'][p]['actual_paid_profile'] for p in locs}), open(out / 'REBIND.json', 'w'), indent=1, sort_keys=True) +print('provider counts', dict(counts), '| new profile', new_profile, '| changed', {p: sorted(c) for p, c in changes.items()}) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild.py b/research/gmx-t74-borrow43-handoff/new/rebuild.py new file mode 100644 index 0000000000..e266314dd4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild.py @@ -0,0 +1,88 @@ +"""rebuild.py: standard-library exactness check of the pivot-566 helper-donor kernel on PR1297's two local words. + +For each word (gauge44 = base, extra) it + 1. applies inputs/EDITS.json to PR1297's pinned word with the build_tri/harness edit semantics (B deletes and inserts + indexed by the ORIGINAL B; early-cleanup tail inserts appended to cleanup and spliced into early_cleanup in + ascending order) and checks that the scalar program (every gate without its frame annotation, the cleanup list + and the early-cleanup order) equals the shipped word in inputs/; + 2. checks that A, cut, precondition, ports, centres, start_extra and helper_final are byte-identical (interfaces); + 3. computes the complete linear map of B + early cleanup over every register with exact Fractions for both words + and checks equality (the edit only rewires reads of pivot 566), and that the remaining cleanup is identical; + 4. checks that every inserted read of 566 lies where 566 holds its initial value (before its B write at the + original B866, or after the early-cleanup gate that restores it). +Frame annotations of the shipped words are NOT rederived here; the unchanged audit_local.py and the native chain +check them (see verify.py). usage: python3 -B rebuild.py [--edits PATH] [--json OUT]""" +import argparse, gzip, json, sys +from fractions import Fraction as Q +from pathlib import Path +PKG = Path(__file__).resolve().parent; ROOT = PKG.parent +SRC = ROOT / 'vendor/pr1297' +WORDS = {'gauge44': (SRC / 'gauge44-word.json.gz', PKG / 'gauge44-word-566.json.gz'), + 'extra': (SRC / 'extra-word.json.gz', PKG / 'extra-word-566.json.gz')} +INTERFACE = ('A', 'cut', 'precondition', 'ports', 'centers', 'center_frames', 'start_extra', 'helper_final', 'root_lines', 'scatter', 'target_levels') +def load(p): return json.loads(gzip.decompress(Path(p).read_bytes())) +def ops(g): return list(g[:-1]) +def compile_edits(w, ed): + B = w['B']; dele = set(ed['delete']); at = {} + for p, g in ed['insert']: at.setdefault(p, []).append(ops(g)) + out = [] + for i, e in enumerate(B): + out.extend(at.get(i, [])) + if i not in dele: out.append(ops(e)) + out.extend(at.get(len(B), [])) + assert not ed.get('prepend'), 'this package uses no cleanup prepends' + C = [ops(g) for g in w['cleanup']]; early = [i for i, U in w['early_cleanup']]; ins = [] + for j, g in ed['tail']: C.append(ops(g)); ins.append((j, len(C) - 1)) + for j, ci in sorted(ins): early.insert(j, ci) + return out, C, early +def coef(g): return Q(g[3], g[4]) if g[0] == 'add' else Q(g[2], g[3]) +def rows(seq): + R = {} + for g in seq: + t = g[1] + if g[0] == 'add': + src = R.get(g[2], {g[2]: Q(1)}); d = dict(R.get(t, {t: Q(1)})); c = coef(g) + for k, x in src.items(): + y = d.get(k, 0) + c * x + if y: d[k] = y + else: d.pop(k, None) + R[t] = d + else: + c = coef(g); R[t] = {k: x * c for k, x in R.get(t, {t: Q(1)}).items()} + return R +def analyse(base, B1, C1, E1, q): + """Exactness and pivot-window facts of a compiled program (B1, cleanup C1, early order E1) against the base word.""" + res = {} + seq0 = [ops(g) for g in base['B']] + [ops(base['cleanup'][i]) for i, U in base['early_cleanup']] + seq1 = list(B1) + [C1[i] for i in E1] + r0, r1 = rows(seq0), rows(seq1); keys = set(r0) | set(r1) + res['b_tail_map_rows'] = len(keys); res['b_tail_map_rows_differing'] = sum(1 for k in keys if r0.get(k, {k: Q(1)}) != r1.get(k, {k: Q(1)})) + rest0 = [ops(g) for i, g in enumerate(base['cleanup']) if i not in {j for j, U in base['early_cleanup']}] + rest1 = [g for i, g in enumerate(C1) if i not in set(E1)] + res['remaining_cleanup_identical'] = rest0 == rest1 + writes = [i for i, g in enumerate(seq1) if g[1] == q] + reads = [i for i, g in enumerate(seq1) if g[0] == 'add' and g[2] == q] + original = [ops(x) for x in base['B'] if x[0] == 'add' and x[2] == q] + [ops(base['cleanup'][i]) for i, U in base['early_cleanup'] if base['cleanup'][i][0] == 'add' and base['cleanup'][i][2] == q] + new_reads = [i for i in reads if seq1[i] not in original] + res['pivot'] = q; res['pivot_writes'] = writes; res['new_read_positions'] = new_reads + # q holds its initial value before its single B write and again after the early-cleanup gate that restores it + ok = len(writes) == 2 and rows(seq1[:writes[1] + 1]).get(q, {q: Q(1)}) == {q: Q(1)} + res['inserted_reads_where_pivot_is_initial'] = ok and all(p < writes[0] or p > writes[1] for p in new_reads) + res['exact'] = res['b_tail_map_rows_differing'] == 0 and res['remaining_cleanup_identical'] and res['inserted_reads_where_pivot_is_initial'] + return res +def check(name, base, new, ed, q): + B1, C1, E1 = compile_edits(base, ed) + res = dict(word=name) + res['scalar_program_matches'] = (B1 == [ops(g) for g in new['B']] and C1 == [ops(g) for g in new['cleanup']] and E1 == [i for i, U in new['early_cleanup']]) + res['interfaces_identical'] = all(base.get(k) == new.get(k) for k in INTERFACE) + res.update(analyse(base, B1, C1, E1, q)) + res['pass'] = res['scalar_program_matches'] and res['interfaces_identical'] and res['exact'] + return res +if __name__ == '__main__': + ap = argparse.ArgumentParser(); ap.add_argument('--edits', default=str(PKG / 'EDITS.json')); ap.add_argument('--json'); a = ap.parse_args() + E = json.load(open(a.edits)); out = [] + for name, (bp, npth) in WORDS.items(): + r = check(name, load(bp), load(npth), E['edit'], E['pivot']); out.append(r) + print(name, 'PASS' if r['pass'] else 'FAIL', {k: v for k, v in r.items() if k not in ('word', 'new_read_positions')}, flush=True) + if a.json: Path(a.json).write_text(json.dumps(out, indent=1, sort_keys=True) + '\n') + sys.exit(0 if all(r['pass'] for r in out) else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py b/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py new file mode 100644 index 0000000000..8146fbd0b9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild_borrow.py @@ -0,0 +1,166 @@ +"""rebuild_borrow.py: rebuild the k=43 BORROW-WORDs from borrow/inputs (canonical words, block certificate, #2226-style witnesses), +check they equal the shipped borrow/words byte-for-content, run the extended auditor (borrow/audit_local.py) and its negative controls. +usage: python -B rebuild_borrow.py [--no-controls] (exit 0 only if everything passes)""" +import sys,json,gzip,subprocess,hashlib,tempfile +from pathlib import Path +D=Path(__file__).resolve().parent/'borrow';sys.path.insert(0,str(D)) +import os +RCP=Path(os.environ['BORROW_RECEIPTS']) if os.environ.get('BORROW_RECEIPTS') else Path(tempfile.mkdtemp());RCP.mkdir(parents=True,exist_ok=True) # receipts (with elapsed_seconds) never go into the package during verification +import build_word,word_patch +CASES=[('gauge44','base','eeb6a236'),('extra','extra','cd417b90')] +def content(p):return hashlib.sha256(gzip.decompress(Path(p).read_bytes())).hexdigest() +def refit_apply(word0,patch): + """frame refit: replace exactly the listed gate frames (gates unchanged) and the local profile.""" + import copy + w=copy.deepcopy(word0) + for sec,i,fr in patch['frames']: + assert w[sec][i][:-1]==word0[sec][i][:-1];w[sec][i][-1]=fr + w['report']['local_profile']=patch['local_profile'] + return w +def run_audit(word,base,rec): + cmd=[sys.executable,'-B',str(D/'audit_local.py'),'--word',str(word),'--output',str(rec)]+(['--base',str(base)] if base else []) + return subprocess.run(cmd,capture_output=True,text=True) +def kernel_check(prev,w,patch): + """The kernel edit(s) (helper-donor pivot kernels, PR1625 shape): the shipped B section differs from the previous word's by exactly the declared gate-level edit + (frames ignored): reads of the pivots inserted/deleted, nothing else; every inserted and deleted gate is a read of a declared pivot with coefficient +-1.""" + qs=set(patch['pivots']);ed=word_patch.kernel_gate_edit(prev['B'],w['B']) + ok=ed==patch['declared_gate_edit'] and all(g[0]=='add' and g[2] in qs and abs(g[3])==1 and g[4]==1 for _,_,g in ed) + ok&=sum(e[0]=='delete' for e in ed)==len(qs) and sum(e[0]=='insert' for e in ed)==4*len(qs) + for k in w: + if k not in('A','B','restore','warps','report','cleanup'):ok&=w[k]==prev[k] + for k in('A','restore'): # frame-only changes outside B + ok&=len(w[k])==len(prev[k]) and all(x[:-1]==y[:-1] for x,y in zip(w[k],prev[k])) + return ok +def kernel_controls(w,patch,tmp): + """every perturbation of the kernel edit must be rejected by the independent audit""" + import copy + res={};qs=set(patch['pivots']) + pos=[j for kind,j,g in patch['declared_gate_edit'] if kind=='insert'] + def audit_bad(name,m): + bp=Path(tmp)/(name+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode())) + r=run_audit(bp,None,Path(tmp)/(name+'.out.json'));res[name]=r.returncode!=0;return r.returncode!=0 + ok=True + m=copy.deepcopy(w);m['B'][pos[0]][3]=-m['B'][pos[0]][3];m['cleanup']=word_patch.derive_cleanup(m,word_patch.restored_of(w));ok&=audit_bad('kernel_sign_flipped',m) + m=copy.deepcopy(w);del m['B'][pos[1]];ok&=audit_bad('kernel_read_dropped',m) + m=copy.deepcopy(w);m['B'][pos[2]][3]*=2;ok&=audit_bad('kernel_coefficient_doubled',m) + m=copy.deepcopy(w);m['B'][pos[3]][1]=m['B'][pos[3]][1]+1;ok&=audit_bad('kernel_read_moved_to_neighbour_register',m) + return ok,res +def _rd(m,ref): + """re-derive the explicit inverse-reverse cleanup of a mutated word (A section without its prelude), so a control is rejected for its own reason and not for a stale cleanup""" + try: + t=json.loads(json.dumps(m));t['A']=t['A'][t.get('prelude_events',0):];return word_patch.derive_cleanup(t,word_patch.restored_of(ref)) + except Exception: + return m['cleanup'] +ok=True;out={} +for canon,wt,h in CASES: + tmp=Path(tempfile.mkdtemp())/'w.json.gz' + build_word.main(str(D/'inputs'/f'{canon}.canonical.json.gz'),str(D/'inputs/blocks.json'),str(D/'inputs'/f'witness_43_{wt}.json'),str(tmp),h) + shipped=D/'words'/f'BORROW-WORD-43{"base" if wt=="base" else "extra"}.json.gz' + base=str(D/'inputs'/f'{canon}.canonical.json.gz') + word0=json.loads(gzip.decompress(tmp.read_bytes())) + chain=[word0];steps=[] + rf=D/'inputs'/f'refit_43{wt}.json';kf=D/'inputs'/f'kernel_43{wt}.json' + if rf.exists():chain.append(refit_apply(chain[-1],json.loads(rf.read_text())));steps.append('refit') + kpatch=json.loads(kf.read_text());kpre=chain[-1];chain.append(word_patch.apply_kernel(chain[-1],kpatch));steps.append('kernel');kstate=chain[-1] + kok=kernel_check(kpre,kstate,kpatch) + hf=D/'inputs'/f'handoff_43{wt}.json';hpatch=None + if hf.exists(): # coherent four-helper handoff (PR2322, Vlado-V) on top of the kernel state: four high roles replaced by retired source registers + hpatch=json.loads(hf.read_text());chain.append(word_patch.apply_handoff(kstate,hpatch));steps.append('handoff') + kok&=sorted(hpatch['fields'])==sorted(k_ for k_ in chain[-1] if k_ not in('report','cleanup') and chain[-1][k_]!=kstate[k_]) and len(chain[-1]['removed'])==len(kstate['removed'])+4 + ef=D/'inputs'/f'entrance_43{wt}.json' + if ef.exists(): # entrance raise: start_extra and frames only (gates unchanged); previous state audited, tamper controls below + epatch=json.loads(ef.read_text());prev_e=chain[-1];chain.append(word_patch.apply_handoff(prev_e,epatch));steps.append('entrance') + kok&=all(x_[:-1]==y_[:-1] for k_ in('A','B','restore') for x_,y_ in zip(chain[-1][k_],prev_e[k_])) and chain[-1]['removed']==prev_e['removed'] and chain[-1]['warps']==prev_e['warps'] + lf=D/'inputs'/f'lowfour_43{wt}.json';lpatch=None + if lf.exists(): # four low aliases through lifted-target compensation (PR2436 mechanism) on top of the entrance state + lpatch=json.loads(lf.read_text());prev_l=chain[-1];chain.append(word_patch.apply_lowfour(prev_l,lpatch));steps.append('lowfour') + nw=chain[-1];kok&=word_patch.kernel_gate_edit(prev_l['B'],nw['B'])==lpatch['declared_gate_edit'] and sorted(set(nw['removed'])-set(prev_l['removed']))==[640,641,642,644]==lpatch['derived_removed_diff'] + kok&=[x[1:] for x in nw['warps'][:len(prev_l['warps'])]]==[x[1:] for x in prev_l['warps']] and [x[1] for x in nw['warps'][-4:]]==[33,55,74,85] and len(nw['warps'])==len(prev_l['warps'])+4 + kok&=[g[:-1] for g in nw['A'][nw['prelude_events']:]]==[g[:-1] for g in prev_l['A']] and nw['restore']==prev_l['restore'] and nw['helper_final']==prev_l['helper_final'] + kok&={k_:v_ for k_,v_ in prev_l['start_extra'].items() if k_ not in('640','641','642','644')}==nw['start_extra'] + af=D/'inputs'/f'alias637_43{wt}.json';apatch=None + if af.exists(): # alias 637 borrowing retired source 31 (PR2436 pair) stacked on the four lifted-target aliases + apatch=json.loads(af.read_text());prev_a=chain[-1];chain.append(word_patch.apply_lowfour(prev_a,apatch));steps.append('alias637');na=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a['B'],na['B'])==apatch['declared_gate_edit'] and sorted(set(na['removed'])-set(prev_a['removed']))==[637] and len(na['warps'])==len(prev_a['warps'])+1 and na['restore']==prev_a['restore'] and na['A']==prev_a['A'] + af2=D/'inputs'/f'alias656_43{wt}.json';apatch2=None + if af2.exists(): # alias 656 borrowing lender 88 (PR2436 type) stacked on the fifth alias + apatch2=json.loads(af2.read_text());prev_a2=chain[-1];chain.append(word_patch.apply_lowfour(prev_a2,apatch2));steps.append('alias656');na2=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a2['B'],na2['B'])==apatch2['declared_gate_edit'] and sorted(set(na2['removed'])-set(prev_a2['removed']))==[656] and len(na2['warps'])==len(prev_a2['warps'])+1 and na2['restore']==prev_a2['restore'] and True + af3=D/'inputs'/f'alias8_43{wt}.json';apatch3=None + if af3.exists(): # eight source-partner aliases (PR2530) (PR2530 zxv: eight source-partner aliases) + apatch3=json.loads(af3.read_text());prev_a3=chain[-1];chain.append(word_patch.apply_lowfour(prev_a3,apatch3));steps.append('alias8');na3=chain[-1] + kok&=word_patch.kernel_gate_edit(prev_a3['B'],na3['B'])==apatch3['declared_gate_edit'] and sorted(set(na3['removed'])-set(prev_a3['removed']))==apatch3['removed_added'] and len(na3['warps'])==len(prev_a3['warps'])+8 and True and True + final=json.loads(gzip.decompress(shipped.read_bytes())) + same=final==chain[-1] + # audits: the pinned pre-refit/pre-kernel word against the canonical base; every later state independently (forward + dual free-algebra replay; refit and kernel change frames inside the pinned sections) + tag=lambda n:RCP/f'AUDIT-43{wt}{n}.json' + pw=Path(tempfile.mkdtemp());ps=[] + for j,w_ in enumerate(chain[:-1]): + f_=pw/f'w{j}.json.gz';f_.write_bytes(gzip.compress(json.dumps(w_,separators=(',',':')).encode())) + r=run_audit(f_,base if j==0 else None,tag('-pinned' if j==0 else '-prekernel'));ps.append(r.returncode) + r=run_audit(shipped,None,tag('')) + ok&=same and kok and all(x==0 for x in ps) and r.returncode==0 + res=dict(rebuild_plus_patches_equals_shipped=same,patches=steps,kernel_edit_exact=kok,prior_state_audit_rc=ps,audit_rc=r.returncode) + if '--no-controls' not in sys.argv: + c=subprocess.run([sys.executable,'-B',str(D/'borrow_controls.py'),str(tmp),base,str(RCP/f'CONTROLS-43{wt}.json')],capture_output=True,text=True) + ok&=c.returncode==0;res['controls_rc']=c.returncode + if lpatch: + lc=subprocess.run([sys.executable,'-B',str(D/'lowfour_controls.py'),str(shipped),str(RCP/f'CONTROLS-LOWFOUR-43{wt}.json')],capture_output=True,text=True) + ok&=lc.returncode==0;res['lowfour_controls_rc']=lc.returncode + kc_ok,kc=kernel_controls(kstate,kpatch,tempfile.mkdtemp());ok&=kc_ok;res['kernel_controls_rejected']=kc + if apatch: + import copy as cp4 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias637_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias637_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias637_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp4.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if apatch2: + import copy as cp5 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a2['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias656_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias656_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias656_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp5.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if apatch3: + import copy as cp6 + ii=next(q for q,(x,y) in enumerate(zip(final['B'],prev_a3['B'])) if x[:-1]!=y[:-1] and x[0]=='add') + for nm_,mut in (('alias8_sign_flipped',lambda m:m['B'][ii].__setitem__(3,-m['B'][ii][3])),('alias8_coefficient_doubled',lambda m:m['B'][ii].__setitem__(3,2*m['B'][ii][3])),('alias8_warp_dropped',lambda m:m.__setitem__('warps',m['warps'][:-1]))): + m=cp6.deepcopy(final);mut(m);m['cleanup']=_rd(m,final);bp=pw/(nm_+'.json.gz');bp.write_bytes(gzip.compress(json.dumps(m,separators=(',',':')).encode()));br=run_audit(bp,None,pw/(nm_+'.out.json'));kc[nm_]=br.returncode!=0;ok&=br.returncode!=0 + if ef.exists(): + import copy as cp3 + q=next(iter(epatch['fields']['start_extra'])); + for nm_,mut in (('entrance_start_frame_dropped',lambda m:m['start_extra'].__setitem__(q,[])),('entrance_start_frame_widened',lambda m:m['start_extra'].__setitem__(q,[1<0 + ok&=not gv and res['cut_centre_guard_negative_control_rejected'] + print('CUT-CENTRE-GUARD',wt,'cut gates',len(final['cut']),'violations',len(gv),'negative control rejected',res['cut_centre_guard_negative_control_rejected'],flush=True) + # HELPER-INDEX GUARD (PR2508, ywz65): audit_local accepts a negative helper_final key that aliases a target endpoint; every helper_final key must be a canonical non-negative decimal inside the helper interval [2v, 2v+R). + import guard_helper_indices as ghi + hv=ghi.violations(final);hbad=json.loads(json.dumps(final));hbad['helper_final']['-1']=hbad['helper_final'].get('-1',list(next(iter(hbad['helper_final'].values())))) + res['helper_index_guard_violations']=len(hv);res['helper_index_guard_negative_control_rejected']=len(ghi.violations(hbad))>0 + ok&=not hv and res['helper_index_guard_negative_control_rejected'] + print('HELPER-INDEX-GUARD',wt,'helper_final keys',len(final['helper_final']),'violations',len(hv),'negative control (key -1) rejected',res['helper_index_guard_negative_control_rejected'],flush=True) + # ENTRANCE-WIDTH BINDING (answers whether the hosted helpers are delivered at the raised entrance frames): the per-helper residual width |final|-|start_extra| of THIS word must equal the ordered widths of new/BORROW-PROVIDERS.json, + # which are the widths reconstruct.py/emit/audit_allcold use for every hosted role (audit: 'wrong per-call residual width', 'entering helper width silently restored to nine'); bind_providers_portable.py re-derives them from the native canonical word. + prov_w=json.loads((D.parent/'BORROW-PROVIDERS.json').read_text())['gauge44' if wt=='base' else 'extra']['widths'] + def word_widths(w_): + rem=[r_ for r_ in range(224,704) if r_ not in set(w_['removed'])];se_={int(k_):v_ for k_,v_ in w_['start_extra'].items()};hf_={int(k_):v_ for k_,v_ in w_['helper_final'].items()} + return [len(hf_.get(r_,range(9)))-len(se_.get(r_,[])) for r_ in rem] + bind_ok=word_widths(final)==prov_w + tw=json.loads(json.dumps(final));raised=[int(k_) for k_,v_ in tw['start_extra'].items() if len(v_)==2] + if raised:tw['start_extra'][str(raised[0])]=tw['start_extra'][str(raised[0])][:1] # a raised copy buffer delivered at dim 1 again + tamper_rejected=bool(raised) and word_widths(tw)!=prov_w + res['entrance_widths_bound_to_providers']=bind_ok;res['dim1_delivery_rejected']=tamper_rejected;res['raised_buffers']=len(raised) + ok&=bind_ok and (tamper_rejected or not raised) + print('ENTRANCE-WIDTH-BINDING',wt,'raised',len(raised),'bound',bind_ok,'dim1 tamper rejected',tamper_rejected,flush=True) + out[canon]=res;print(canon,res,flush=True) +print('PASS_REBUILD_BORROW' if ok else 'FAIL_REBUILD_BORROW');sys.exit(0 if ok else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py b/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py new file mode 100644 index 0000000000..df79c063ee --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/rebuild_chain.py @@ -0,0 +1,28 @@ +"""Package stage: re-verifies every kernel step of new/CHAIN.json with the retained exactness checker (rebuild.py of PR1625), generalised soundly. + +For each step: apply the step's edit to the step's BASE words and compare with the step's NEW words (scalar program, interfaces, the +complete B + early-cleanup map over every register in exact Fractions, remaining cleanup). Inserted reads of the pivot must see q's row = s*I with +s in {+1,-1} (rebuild.py required s=+1 and exactly two writes of q; pivots restored by a sign-flipping cleanup gate, e.g. 554, read -q after the +restore, with the coefficient taken with that sign; exactness is proven by the unchanged map check). Tamper controls (sign not accounted on all new gates / on tail gates, and each new coefficient moved by one dyadic step) must all FAIL the map check. See pivotcheck.py. +Step 0 starts from PR1297's pinned words (vendor/pr1297); later steps start from the previous step's words. +""" +import json, sys +from pathlib import Path +PKG = Path(__file__).resolve().parent +ROOT = PKG.parent +sys.path.insert(0, str(PKG)) +import rebuild as RB +import pivotcheck as PC +chain = json.loads((PKG / 'CHAIN.json').read_text()) +ok = True +for i, st in enumerate(chain['steps']): + E = json.loads((PKG / st['edits']).read_text()) + assert E['pivot'] == st['pivot'], (i, 'pivot mismatch') + for key in ('gauge44', 'extra'): + base = RB.load(ROOT / st['base'][key]) + r = PC.check_signed(RB, '%s step %d' % (key, i), base, RB.load(ROOT / st['new'][key]), E['edit'], E['pivot']) + c = PC.tamper_controls(RB, base, E['edit'], E['pivot']) + r['tamper_controls_all_fail'] = all(c.values()); r['tamper_controls'] = c + print('step', i, key, 'PASS' if r['pass'] else 'FAIL', {k: v for k, v in r.items() if k not in ('word', 'new_read_positions')}, flush=True) + ok = ok and r['pass'] and all(c.values()) +sys.exit(0 if ok else 1) diff --git a/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py b/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py new file mode 100644 index 0000000000..942310947b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/run_native_borrow.py @@ -0,0 +1,22 @@ +"""Native chain for a BORROW-WORD (anticipatory dirty borrowing, PR2226): transport -> emit -> independent replay -> wrappers -> phases (+ independent warp-recipe recheck). +Same step layout and STEPS.json as the lineage replay_native.py; usage: run_native_borrow.py BORROW-WORD.json[.gz] WORK_DIR (WORK_DIR must not exist).""" +import json,os,subprocess,sys,time +from pathlib import Path +HERE=Path(__file__).resolve().parent/'code/borrow' +word=Path(sys.argv[1]).resolve();work=Path(sys.argv[2]).resolve();work.mkdir(parents=True,exist_ok=False);local=work/'local' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0');env.pop('PYTHONOPTIMIZE',None) +flags=(0x00000040|0x08000000) if os.name=='nt' and os.environ.get('BW_IDLE','1')=='1' else 0 # windowless, IDLE priority +steps=[] +for label,script,args in [('native',HERE/'bw_transport.py',[word,local]),('ledgers',HERE/'bw_emit.py',[local]), + ('local-replay',HERE/'bw_audit_local.py',[local]), + ('wrappers',HERE/'bw_adapters.py',[local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json']), + ('phases',[HERE/'bw_phases.py',HERE/'bw_check_recipes.py'],[local])]: # phases = exact lowering, then the independent warp-recipe recheck + t=time.monotonic();log=b'' + for script in (script if isinstance(script,list) else [script]): + p=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],stdout=subprocess.PIPE,stderr=subprocess.STDOUT,cwd=HERE,env=env,creationflags=flags) + log+=p.stdout + if p.returncode:break + (work/(label+'.log')).write_bytes(log) + steps.append(dict(step=label,exit_code=p.returncode,seconds=time.monotonic()-t));(work/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n') + assert p.returncode==0,(label,log.decode(errors='replace')[-4000:]) + print('PASS',label,round(steps[-1]['seconds'],1),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz b/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz new file mode 100644 index 0000000000..ac08516e3b Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/steps/0/extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz b/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz new file mode 100644 index 0000000000..ecf75c274c Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/new/steps/0/gauge44.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/new/unpin_spec.py b/research/gmx-t74-borrow43-handoff/new/unpin_spec.py new file mode 100644 index 0000000000..9f3b0d8fc8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/new/unpin_spec.py @@ -0,0 +1,17 @@ +"""Discovery -> unpin -> freeze. After a --discover replay, remove from the SPEC every expected/pinned value that the independent +recomputation (WITNESS-RECORD.jsonl) disagrees with (stale values from the pre-borrow package), listing each one; values that +agree are kept as independent cross-checks. freeze_spec.py then writes the recomputed values. usage: unpin_spec.py SPEC DISCOVERY_DIR""" +import json,sys +from pathlib import Path +spec_path,disc=Path(sys.argv[1]),Path(sys.argv[2]);spec=json.loads(spec_path.read_text());removed=[];kept=0 +for line in (disc/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key,value=json.loads(line);parts=key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts':parts=parts[:3]+['.'.join(parts[3:])] + t=spec + for p in parts[:-1]: + t=t.get(p) if isinstance(t,dict) else None + if t is None:break + if isinstance(t,dict) and parts[-1] in t: + if t[parts[-1]]!=value:removed.append(key);del t[parts[-1]] + else:kept+=1 +spec_path.write_text(json.dumps(spec,indent=2)+'\n');print('unpinned',len(removed),'kept-agreeing',kept);[print(' ',k) for k in removed] diff --git a/research/gmx-t74-borrow43-handoff/outer/B.json b/research/gmx-t74-borrow43-handoff/outer/B.json new file mode 100644 index 0000000000..e161c8e31e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/B.json @@ -0,0 +1,18 @@ +{ + "b": "171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "b_above_endpoint": "857126019630122571267578112954982833217247718664165402861269099087378145903079249997378063556217384307477946105412974748126700446508928772706667243148280072208622416590857645488326755617535419846401722074843579485686128782125329670609739704678760766323781293121993108774276759624292302997431607855285043480539765825034812352091227494252176342520633472071387011186525525855309551827075790513861338034064290579850226295851251564700376986634015746584341158566610591164147261957260276986071732580602517029095211603628089354772564682394987377028273151990440859218763556229649788316011874391007500517563897604983458116163390730974240960015750995590954597999955132875775287190953500543033639328293455477741624401563066731374992974653392485953869244284151675413033699221335024383007060703511251244706261648292289983099276977492387623067108603782317916949872699964402650043524868138027719084834877956676142816590057832338226270026995267004187918896460991381269030502889074391041057672423769272839988769124575716636813932775876112266462363195229847538811049042090282397618076753685950157883482008334678173316840779225978490508325561663238760264931603653829572566118619999996618451695229101761170544576248360268311703569189360956658227315769661959190910615384649767421776019905500257671512094372667184932334163570936703004567352019522844807137807170219338610819035223018338137767316889495349423338498716735587816979196853631064064825775906897563972901798402187758118354816524458859968516804687069785134505904642660016989554489576951616240870744434439052359130566229229113995825380380184181673003198113005457146824151973600564487192429020222263017555322241222911321183094885764861969651396974662116047771309906680057182257203503203681996667698734030236653412501594045577427485309992310364803496434836865476668550708402937747590591614796175651768704994084412154826313864611844500119436035485957901651188703664292331388576736327005155933425364775780279310261800827908826819682720743659591896103868364047868657651077839707742928145598081126996759832286414033339724839653548591198823252058699337428826606420677336031403014573783773515930101595005478080763276398682287381289900115585095163830830466626835406942466068586715341675420266675005865133519668059912586863463636631539799610027710561012213570967178172869532015554133430708531204003614772961704802484109283560114272663707030584430586531483576134959621719017810833708127545435147904036042979641568548839812150689486287531086836417894135895297051309533824848838285899142937966428233236490759925793240387933735004372838428077574226304631386682306103556941802855550380741044655871541646410870318417192016424185688679595376903115459753770089056652701100273297345312673748535317617442496229542102092110361941934878769816205432171098631598769651029883111726505473052349515180806695671925041392022132683739782411667633593981715003209783235803874554740816427729704847470053304209446732694262563607861687112304075790823113852294653836393667730390611975250011041012753/500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1598512, + "2": 420912, + "3": 218449, + "4": 79920, + "5": 17738, + "7": 5498, + "14": 1, + "23": 1, + "32": 77, + "48": 26489 + }, + "live": 66304, + "note": "b = certified complex_lower - 1e-3080 (exact rational; the fixed-grid-maximum free gap r0, PR2180/PR2161 dataisfire); b_above_endpoint = complex_lower + 1e-3000 must fail the native moment test (the supplier's fine-engine certificate rejects at endpoint + 1e-3000)" +} diff --git a/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md new file mode 100644 index 0000000000..33272b5545 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/CLASSICAL-BOUNDARY.md @@ -0,0 +1,30 @@ +# Classical-matrix boundary (tau = 2.372864 here; PR1699 used 12/5) + +PR1673 (Vlado Vojdanovski) charges the batched boundary algebra W^(tau-1) where tau is a fixed target exponent for W-square complex matrix +products; its stability lemma only requires omega_C < tau (it is stated there for the supplied omega_C <= 9/4 premise, tau = 19/8). +Chafik Boukhalfa (PR1699, `research/t74-signed554-phase-fusion/CLASSICAL-MATRIX-TRANSFER.md`) observed that Francois Le Gall's published +theorem omega < 2.3728639 (ISSAC 2014, arXiv 1401.7714, Table 1 and Section 6.3) already gives omega_C < 12/5, so the matrix branch needs no +unproven premise. This package adopts that specialisation: the boundary exponent is epsilon - xi + (tau-1)/2 = epsilon - xi + 7/10, the boundary +saving is 3/10 + xi - epsilon, and the ledger constant is c = (3 - tau)/2 = 3/10. The checks `matrix_exponent_above_published_bound` +(12/5 > 2.3728639) and `matrix_exponent_below_five_halves` are in the ledger; the exponent is an external published theorem and is not +re-proved here (neither in PR1699 nor in this package). The boundary row is far above the binding rows, so the final kappa is set by the +main transform = fused Gaussian balance with the sparse-union row carrying the layout slack, exactly as in PR1673's matrix corollary (this paragraph describes the PR1699 configuration; in this package the union row is relaxed by the new radix schedule and the boundary row binds, see the end of this file). + +What changes here relative to PR1699 is purely numerical and uses the freedom already in PR1673's proof: every strict slack (r0, zeta, layout slack, +q gap, stop exponent, decimal floor, backoff) is only required to be positive; they are set to 1e-3080 or below, and b is the certified complex +endpoint minus 1e-3080 instead of a 22-digit truncation minus 1e-30. The native moment test of the supplier is re-enclosed on a 2^-10413 grid +(directed-rounding integer fixed point, atanh/exponential term counts derived from the grid in check_ledger.py): moment(b) < 1 and moment(endpoint + 1e-3000) > 1 are both proven by exact rational enclosures. +Resulting kappa exceeds PR1699's exact kappa 0.001677641731343354564251058287... by about 6.7e-25. + + +## Change in this package + +The target exponent is tau = 2.372864 (just above Le Gall's published 2.3728639; PR1699's lemma only needs omega_C < tau), so c = (3 - tau)/2 = 0.313568. With the union row relaxed by the radix-distributed schedule (outer/UNION-SCHEDULE.md, new in this package) the boundary row binds: boundary saving c + xi - eps = kappa + slack, and kappa is set by the balance epsilon = (1 + q + q(c - s - r - zeta))/(1 + q)^2, xi = epsilon (1 + q) - c + s. The checks `matrix_exponent_above_published_bound` (tau - 2.3728639 = 1e-7 > 0) and `matrix_exponent_below_five_halves` are in the ledger. + +## Superseded in this package + +The square exponent tau = 2.372864 above is replaced by the rectangular-batching effective exponent tau_eff = 2.1567081 (k = 5, outer/RECT-BOUNDARY.md). Le Gall's bound is no longer used in the ledger. + +## Superseded again in pkg7 + +Historical (not used for kappa): the structured solves of outer/STRUCTURED-BOUNDARY.md give tau_eff = 2 + 1e-3080; the ledger uses the explicit Strassen boundary tau = 45/16 (c = 3/32); the fallback is the k = 5 batching of outer/RECT-BOUNDARY.md. diff --git a/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md b/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md new file mode 100644 index 0000000000..5a85d6854f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/FINE-PADDING-COMPOSITION.md @@ -0,0 +1,61 @@ +# Fine source-prime padding on this package's stack, and epsilon -> 1 + +**Credit first.** The mechanism of this note is **PR1786 (chafreaky, Chafik Boukhalfa)**: source primes at relative gap Theta(p^-2) from their dyadic targets, which exist by **Tim Trudgian's** effective prime number theorem (arXiv:1401.2689v2, theorem 2), the resulting setup precision `Cp + 64 p^2 ceil(log2 p)`, the theta-dependent conditioning, the polynomial halo p^48 / core p^128 and the dyadic normalizers. Its full text is vendored verbatim in `vendor/pr1786/FINE-PRIME-PADDING.md` and is the proof of every statement about primes, precision, locality and normalization used here. It builds on Vlado Vojdanovski's PR1673 (capped phase-cell fusion), the fractional-shift interiors and per-visit tag accounting of PR1758 (`outer/GAUGEFREE-INTERIORS.md`), the radix-distributed union schedule (`outer/UNION-SCHEDULE.md`), Jeremy Kothe's PR1731 ledger lineage and the PR1699/PR1672 supplier. **New in this package** (only): (a) the observation that epsilon is a free parameter and the resulting exact point epsilon = 1 - 1.0009765625e-3080; (b) the composition analysis below; (c) the exact ledger and independent derivation at that point. + +## 1. What is used from where + +| ingredient | source | role at epsilon -> 1 | +|---|---|---| +| fine primes, theta in (1/(4p^2), 1/(2p^2-1)] | PR1786 sec. 1-2 | chirp range a theta B^2 = O(a B^2/p^2): guard beta + 2 xi - 2 < 1 | +| setup precision, locality, normalizers | PR1786 sec. 3-5 | halo 48 / core 128; online precision stays O(p) | +| fractional-shift interiors, accretive circuit lemma | PR1758 (outer/GAUGEFREE-INTERIORS.md) | removes the linear gauge; **still required**: the old linear guard beta + xi <= 1 is violated at beta ~ 1, xi = 0.908 (ledger control `old_linear_guard`) | +| radix-distributed union schedule, per-visit tag work | outer/UNION-SCHEDULE.md | **still required**: the old g-factor union row 1 - eps - beta - 1/2 + xi is negative (control `old_g_factor_union_row`) and 2 beta < 1 fails (control `old_union_tag_2beta`) | +| boundary | explicit Strassen, tau = 45/16 (7^16 < 2^45), c = 3/32 | **not** the structured boundary of this package series: at xi = 0.908 < eps the boundary row is not binding, so the unproved stability claim of STRUCTURED-BOUNDARY.md is dispensable. Its file is retained as an alternative; it does not enter kappa. | + +## 2. epsilon is a free parameter (answer to "what sets epsilon = 0.9999999 in PR1786") + +Write delta = 1 - epsilon, beta = 1 - 3 delta, xi = epsilon(1+q) - c + s (boundary saving = main + s), c = 3/32. Every constraint of the ledger that involves epsilon or beta: + +* main = epsilon q is the binding saving, kappa = floor(epsilon q) - 1e-3022; +* Gaussian row: 1 - epsilon + q beta >= epsilon q iff **beta >= 1 - delta(1 + 1/q)** (a window of width ~ 594 delta below 1); +* membership: 1 - beta - 2(1-epsilon) > 0 iff **beta < 1 - 2 delta**; header / tag per visit: 1 - beta > 0; group below dimension: epsilon - beta > 0; +* **1 - epsilon - r0 > 0** (`global_gamma_power_slack`, r0 = 1e-3080: the spare power for u <= p^r0) and `source_axis_superpolynomial` 1 - epsilon > 0; +* boundary / union rows: xi = 0.9079 < epsilon (cap_below_cell), xi - 1/2 > 0, guard 1 - (2 xi - 2) - r0 - beta = 0.184 > 0: independent of delta; +* core-face corrections epsilon + beta + 48 - 128 + 2 < 0: independent of delta. + +The window for beta is non-empty for every delta > 0, and beta = 1 - 3 delta lies in it (the Gaussian row exceeds main by delta(1 - 2q)). The only lower bound on delta is **delta > r0 = 1e-3080**, a free strict slack of the proof. So PR1786's 1e-7 is an explicit interior point, not a limit; its kappa is q - 1.68e-10 only because delta = 1e-7. In this package delta = 1.0009765625e-3080 = (1025/1024) 1e-3080 (the smallest ratio that keeps the gamma spare power 1 - epsilon - r0 = r0/1024 > 0 and puts C - epsilon q below 1/F): + + epsilon = 1 - 1.0009765625e-3080, beta = 1 - 3.0029296875e-3080, xi = 0.9079463109..., + kappa = 0.0016797549561255445213356709939207025769983114385025802954603275201628645... + +which is q - 1.70e-3083 (q = b - 1e-3080 = 0.00167975495612554452133567099392070257699831143850258029546032752016286...). Exact sweep (`outer/independent_check.py`): delta in {1e-7, 1e-12, 1e-30, 1e-60, 1.0009765625e-3080, 1.1e-3080 ... } all satisfy every row; delta = r0 is rejected by `global_gamma_power_slack`; beta below the Gaussian window or at the membership edge is rejected (ledger controls `beta_below_gaussian_window`, `beta_above_membership_window`, `epsilon_equals_one`, `epsilon_not_above_r0_slack`). + +**Maximum epsilon.** Within this construction epsilon < 1 strictly (epsilon = 1 would mean d = p axes: source axes of O(1) size, `epsilon_equals_one` control; also kappa = epsilon q <= q), and 1 - epsilon > r0. The hard cap on any outer of this form is kappa < q (the supplier's complex saving); the remaining distance is q delta = 1.70e-3083. + +## 3. Does composing with the rest of the stack relax anything further? (answer: no, nothing is left to relax) + +* The binding rows at this point are main = epsilon q; boundary = main + s and union = main + s + 13/32, all other rows have strictly positive margins; the smallest non-main margin rows above kappa are global_coordinate_router (1.00e-3022), fused_gaussian (1.00e-3022) and group_bit_router (1.00e-3022), and the smallest strict checks overall are stop_positive = 1e-3086, global_gamma_power_slack = 9.77e-3084, lambda_above_tau = 2.5e-3081, lambda_above_internal = 2.5e-3081, lambda_prime_above_lambda = 2.5e-3081. They are positive but NOT all >= 1e-3080 (an earlier version of this sentence claimed so; corrected after the PR2286 audit). Nothing but delta moves kappa. +* Structured boundary / k5 boundary: boundary row non-binding, no effect on kappa (only on c). xi is not free: the ledger fixes xi = epsilon (1 + q) - c + s, which is 0.9079463109 at the explicit Strassen boundary c = 3/32. Using c = 1/2 would give xi = epsilon (1 + q) - 1/2 + s = 5.016963e-1 with the same kappa (xi = 0.5 itself is excluded by the cap xi > 1/2); it would add the unproved structured-stability claim for nothing. +* The router row a_eff = (q+b)/2 > epsilon q by about 1.00e-3022 (global_coordinate_router row); using the true bit endpoint there would not change kappa (main binds). +* Therefore kappa = epsilon q - 1e-3022 with epsilon the only free quantity, and it is already within q delta = 1.70e-3083 of the ceiling q. + +## 4. Obligations (same as PR1786 sec. 8, with sharper asymptotics) + +1. Every "eventually" in vendor/pr1786/FINE-PRIME-PADDING.md is now needed with exponent margin delta = 1.0009765625e-3080 instead of 1e-7: e.g. log x = Theta(p^(1-epsilon)) = p^(1.0009765625e-3080) must dominate log p in the prime-count estimate (true for p beyond an astronomically large cutoff), source axes 2^(p^delta) must exceed every fixed polynomial of p, and the polylog factors of every row are absorbed by p^delta-type slack. This is the same logical status as the 1e-3080 slacks of every row of this package (and of PR1786's 1e-7 version with a smaller cutoff); no practical cutoff is claimed. +2. Trudgian's theorem is a cited mathematical input (vendor/pr1786); the prime and precision lemmas are PR1786's and need their review (PR1786 is a draft). +3. The composition with PR1758's accretive circuit lemma uses theta^-1 = O(p^2) in the symbol bound (PR1786 sec. 3); the Gauge-free note's guard is superseded by `beta + 2 xi - 2 < 1` at fine theta. +4. Fresh native admission of the unchanged supplier: `verify_release.py`. + +## 5. Executable support + +`outer/check_ledger.py` (exact, 62 strict checks (including improvement over the exact kappas of PR1828, PR1839, PR1875, PR1876 and PR1897), 17 rejecting controls, improvement over PR1786's exact kappa and PR1758), `outer/independent_check.py` (independent balance derivation, the epsilon-free sweep), `outer/check_fine_padding.py` (PR1786's finite prime witnesses, underflow control, power relations), `outer/check_gaugefree.py` (PR1758 identities). + +## 4. Audit notes (PR2286 and philippeVV; none changes kappa) + +Credit: the side-condition audit of PR2286 (thakrarsagar) and the related checks of philippeVV (PR1897 / PR2044 comments) found the following text defects, corrected in this package. + +* The minimum-margin sentence of Section 3 and the aside on xi were wrong as written (corrected above, numbers from `outer/LEDGER.json`). +* HALO theorem branch. `vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md` line 205 states `K0^2 = o(p)`; at this point K0 = O(g h) = p^(beta + 1 - epsilon) and the statement needs 2(beta + 1 - epsilon) < 1, which is false here. The branch of the theorem that this package uses is the explicit-metadata branch (the theorem's own metadata term, lines 32 and 44 of that file), which holds: it is dominated by the ledger row `microbox_face_corrections` (margin 7.700e1). The `K0^2 = o(p)` branch is not used. The vendored file is left verbatim. +* The PR1786 p^10 umbrella (`vendor/pr1786/FINE-PRIME-PADDING.md`, `check_fine_padding.py` norm_power = 10) is now tied to THETA_POWER in `outer/check_ledger.py` (`halo_umbrella` in `LEDGER.json`): budget 2 THETA_POWER + 2 + 1/2 = 13/2 < 10, margin 7/2; the check would fail from THETA_POWER = 15/4. +* The two vacuous `or True` guards (`outer/struct_check.py` in the far-block loop and `outer/check_gaugefree.py` line 23) are deleted; nothing depended on them and both scripts still pass. +* Stale digits of xi and of the superseded pkg8-era / PR1673-era numbers are regenerated from the ledger where they are stated for the current point; text marked pkg8-era or superseded is historical. diff --git a/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md b/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md new file mode 100644 index 0000000000..8e1c8b9762 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/GAUGEFREE-INTERIORS.md @@ -0,0 +1,119 @@ +> **Package note (fine primes).** In this package the source primes are chosen at relative gap Theta(p^-2) (PR1786, `vendor/pr1786`); theta >= 1/(4p^2) replaces theta >= 1/(4d) in every bound below, the chirp range becomes O(a B^2/p^2) and the guard of Section 5 becomes beta + 2 xi - 2 < 1 (see `outer/FINE-PADDING-COMPOSITION.md`). The accretive lemma and the shift identities hold for every theta > 0; the symbol bound mu >= (1 - e^{-gamma theta/2}) e^{-pi^2/(3 gamma)} is polynomial for theta^-1 = O(p^2). + +# Gauge-free interiors: fractional-shift Toeplitz kernels, accretive shallow circuits, and the chirp-only guard + +**Status.** New in this package series (not in PR1673 by Vlado Vojdanovski, whose capped phase-cell fusion, SHALLOW-TOEPLITZ.md, CAPPED-GAUGE-AUDIT.md and LOG-A-PHASE-SCHUR-AUDIT.md this note modifies and relies on). Conditional on every hypothesis of PR1673 except the three statements replaced below. Independent review required before release. Executable support: `outer/check_gaugefree.py` (exact identities, 50-digit symbol checks, section/Schur bounds, circuit replay) and `outer/check_ledger.py` / `outer/independent_check.py` (the ledger). + +## 0. Result and what changes + +kappa (this package = structured boundary + this note) = **0.0016797455088022990515465336851999736723...** (exact, 58 strict checks positive, all rejecting controls fire; previous package (structured boundary, linear guard) 0.0016783441717365..., gain +1.4013e-6; rectangular k=5 package 0.0016781238306335..., gain +1.6217e-6). Parameters: eps = 0.9999943758, xi = 0.5016741213, beta = 0.9966461332. + +Three statements of #1673 are replaced (everything else is unchanged): + +| # | #1673 / earlier packages | this note | +|---|---|---| +| R1 | local gauge of a capped interior: diagonals of range O(aB) (narrow), O(b0 B) (broad) | the linear part of the gauge is exactly a fractional centre shift of the Toeplitz kernel; only the quadratic chirp remains, range O(a theta B^2) = O(a B^2/d). (Section 2) | +| R2 | SHALLOW-TOEPLITZ sec. 9 needs mu I <= H <= M I (SPD) or ||H-I||<1/4 | accretive: (H+H^*)/2 >= mu I and ||H|| <= Lambda. The shifted Gaussian symbol is accretive with explicit mu. (Sections 3, 4) | +| R3 | ledger guard beta + xi <= 1-r-zeta; union tag check 1-2 beta > 0 | guard beta + 2 xi - eps <= 1-r-zeta; tag check 1-beta > 0 (Sections 5, 6) | + +## 1. Setting + +Phase cell: beta_i = theta i - c in [-1/2,1/2), rho = 1+theta, lambda = 1/rho, 1/(4d) <= theta <= 1/(2d-1). An interior is a contiguous block of selected target coordinates (unit q-gaps), length n <= B (dyadic), anchor m at its centre; x = i-m, y = k-m, t = i-m for the narrow operator. B = p^xi, d = p^eps, xi < eps. + +* Broad forward block (FORWARD-SMALL-A-AUDIT, CAPPED-GAUGE-AUDIT sec. 3): K_{ki} = alpha^-1 exp(-b0 (x - lambda y + delta)^2), delta = (1-lambda) m - c, |delta| <= 1/2, b0 = pi/alpha^2. +* Narrow inverse block (LOG-A-PHASE-SCHUR-AUDIT sec. 1): N_{i,i+h} = exp(-a[(rho h + beta_i)^2 - beta_{i+h}^2]), a = pi alpha^2, beta_i = beta0 + theta t_i. + +## 2. Exact gauge <-> shift identities + +**Lemma 2.1 (broad).** For every real s, +(x - lambda y + delta)^2 - lambda (x - y - s)^2 = (1-lambda) x^2 - lambda(1-lambda) y^2 + delta^2 - lambda s^2 + 2(delta + lambda s) x - 2 lambda (delta + s) y. +Hence K = Drow G_s Dcol exactly, with the Toeplitz kernel G_s(y,x) = exp(-b0 lambda (x-y-s)^2) and diagonals separable in (y,x) (proved by expansion; sympy and 600 exact rational mixed-difference checks in `check_gaugefree.py` stage A/B). +Choose **s = -delta (1-theta)**. Then the x-linear coefficient is 2 b0 (delta + lambda s) = 2 b0 delta (1 - lambda(1-theta)) = 2 b0 delta * 2 theta/(1+theta), |.| <= 2 b0 theta, and the y-linear coefficient is -2 b0 lambda (delta + s) = -2 b0 lambda theta delta, |.| <= b0 theta. Over a block with |x|,|y| <= B/2 the linear leftover has logarithmic range <= 2 b0 theta B (total), and the quadratic parts b0 (1-lambda) x^2, b0 lambda (1-lambda) y^2 have range <= b0 theta B^2/4 each. Also |s| <= (1-theta)/2, i.e. 1 - 2|s| >= theta. +(With s = -delta/lambda the linear terms vanish in x and are 2 b0 delta (1-lambda) in y, but |s| can exceed 1/2 by theta/2, which changes the winding number of the symbol; so the shift is shrunk by (1-theta). The price is the O(b0 theta B) linear leftover, dominated by the chirp.) + +**Lemma 2.2 (narrow).** With beta_{i+h} = beta_i + theta h, rho = 1+theta: +(rho h + beta_i)^2 - beta_{i+h}^2 = (1+2theta) h^2 + 2 beta_i h. Writing beta_i = beta0 + theta t_i, j = i+h, t_j = t_i + h, and 2 t_i h = t_j^2 - t_i^2 - h^2: +log N_{ij} = -a rho h^2 - 2 a beta0 h + a theta (t_i^2 - t_j^2) (exact; sympy check, stage A). +So N = D' k D'^{-1}-type: N_{ij} = e^{a theta t_i^2} k(j-i) e^{-a theta t_j^2} with the Toeplitz kernel k(h) = exp(-a rho h^2 - 2 a beta0 h) = exp(a beta0^2/rho) exp(-gamma (h-s)^2), **gamma = a rho, s = -beta0/rho**. Here |s| <= 1/(2 rho) so **1 - 2|s| >= 1 - 1/rho = theta/rho >= theta/2**: no shrinking is needed, and the gauge is the chirp D' = exp(a theta t^2) of logarithmic range a theta B^2/4 (centred). The old weights are the same objects: log w_i = const + a theta (i - c/theta)^2 (the old linear slope 2 a beta0 is exactly the term moved into k). + +**Normalisation.** G'_s(u) := e^{gamma s^2} e^{-gamma (u-s)^2} = exp(-gamma u^2 + 2 gamma s u) has G'_s(0) = 1 (unit diagonal, as the audited N). The scalars e^{gamma s^2} are exact constants (stored in the anchor ratios). + +**Rounding.** The circuit applies the ideal truncated kernel (band W) rounded to Cp bits; the audited global rounded matrix differs from it by <= poly(p) 2^{-Cp} times the diagonal range e^{O(g (a theta B^2 + polylog))}, which is covered by the same precision guard (Section 5). **Restated comparison (audited rounded matrix vs ideal shifted kernel).** The audits (BILATERAL-LDU, FORWARD-SMALL-A, CAPPED-GAUGE-AUDIT sec. 2-3) bound the unshifted globally rounded matrix H^. Let K be the ideal block (exact Gaussian entries) and K~ = Drow' G^_s Dcol' the matrix the circuit applies (truncated at W, G^_s rounded to Cp bits, anchored diagonals). Entrywise |H^ - K| <= 4 * 2^{-P} e^{a/(4 theta)} relative to the weights (audit sec. 2), and |K~ - K| <= 2^{-Cp} W-banded; the diagonal conversions contribute the factor e^{O(a theta B^2)} per axis (chirp range of Section 5; the linear leftover is smaller). Hence ||K~ - H^|| <= poly(p) 2^{-Cp} e^{O(g a theta B^2 + g polylog p)} (g axes tensored), and the exponent is o(p) bits by the precision guard beta + 2 xi - eps < 1 of Section 5. For C > 1 the perturbation is <= 2^{-(C-o(1))p} <= 2^{-p}/poly, and since ||K^-1||, ||H^-1|| <= p^{O(1)} (Section 3; audits) every audited uniform bound (row gap, inverse norms, Neumann tail J = Cp^2, halo radius A) holds for K~ with polynomially perturbed constants. No structural change. + +## 3. The shifted Gaussian symbol is accretive + +Let q = e^{-gamma}, 0 <= s' = |s| < 1/2, phi(w) = sum_u e^{-gamma(u-s)^2} e^{-iuw}. + +**Lemma 3.1 (product form).** Jacobi triple product with Z = q^{-2s} e^{-iw}: +phi(w) = e^{-gamma s^2} prod_{m>=1}(1-q^{2m}) (1 + a_m e^{-iw})(1 + b_m e^{iw}), a_m = q^{2m-1-2s}, b_m = q^{2m-1+2s}. +For s < 0 the symbol is the complex conjugate (swap a, b). All a_m, b_m in (0,1) iff |s|<1/2; a_1 = q^{1-2|s|} is the unique factor near 1. At |s| = 1/2: a_1 = 1 and phi(pi) = 0. (Verified at 50 digits, relative error 2.5e-42 on 1025 points.) + +**Lemma 3.2 (phase).** For w in [0,pi] and s >= 0, f(x) := arg(1 + x e^{iw}) = atan(x sin w/(1 + x cos w)) is increasing in x in [0,1) (f'(x) = sin w/|1+x e^{iw}|^2 > 0). arg phi = sum_m [f(b_m) - f(a_m)]. Since 2m+1-2s >= 2m-1+2s iff s <= 1/2, a_{m+1} <= b_m, so f(b_m) >= f(a_{m+1}) and +0 <= -arg phi = sum_m [f(a_m)-f(b_m)] <= sum_m [f(a_m) - f(a_{m+1})] = f(a_1) < w/2 <= pi/2. +For w in [-pi,0] use phi(-w) = conj(phi(w)). + +**Lemma 3.3 (real part).** cos(f(a_1)) = (1 + a_1 cos w)/|1 + a_1 e^{iw}|, so +Re phi(w) >= |phi(w)| cos f(a_1) >= e^{-gamma s^2} prod_{m>=1}(1-q^{2m}) * (1 - a_1) prod_{m>=2}(1-a_m) prod_{m>=1}(1 - b_m) =: m_s(gamma). +(The bound is attained at w = pi up to the other factors: stage C finds min Re phi / m_s = 1.0.) Normalising by e^{gamma s^2}: + +mu(gamma, s) := m_s e^{gamma s^2} >= (1 - e^{-gamma(1-2|s|)}) exp(-pi^2/(3 gamma)). + +Proof of the closed form: -ln prod_k (1 - e^{-k gamma x}) = sum_h (1/h)/(e^{h x gamma}-1) <= pi^2/(6 x gamma); the three infinite products are bounded by prod_{k>=1}(1-q^{2k}) >= e^{-pi^2/(12 gamma)} (twice, the second for m >= 2 since a_m <= q^{2m-2}) and prod_{k>=1}(1-q^{2k-1}) >= prod(1-q^k) >= e^{-pi^2/(6 gamma)}; total e^{-pi^2/(3 gamma)}. +Norm: Lambda := ||G'_s||_2 <= ||symbol||_{l1} = sum_u e^{-gamma(u^2 - 2su)} <= 3 + sqrt(2 pi/gamma) (u^2 - 2su >= u^2 - |u| >= 0 and >= u^2/2 for |u| >= 2). + +Parameter values. Broad: gamma = b0 lambda = pi/(alpha^2 rho) = Theta(1/log p), 1-2|s| >= theta >= 1/(4d): mu >= (gamma theta/2) e^{-pi alpha^2 rho /3} = p^{-O(1)}. Narrow: gamma = a rho >= 4 log(16 p), 1 - 2|s| >= theta/2: mu >= (1 - e^{-a theta/2}) e^{-pi^2/(3 gamma)} >= a theta/3 = p^{-O(1)} (this is the audited row gap). + +## 4. The accretive Toeplitz circuit (replaces SHALLOW-TOEPLITZ sec. 9) + +**Theorem 4.1.** Let N be a power of two and H an N x N complex Toeplitz matrix with ||H||_2 <= Lambda and (H + H^*)/2 >= mu I, mu > 0. There is an N-wire circuit of disjoint invertible 1x1/2x2 gates applying H, with O(log^4 N) rounds, O(N log^4 N) gates, no ancilla, and +log(max prefix / suffix / inverse-prefix operator norm) = O(log N * log(2 + Lambda/mu) + log N). +Rounding every coefficient to p + O(log N * log(2+Lambda/mu)) bits gives operator error 2^-p. If Lambda/mu = p^{O(1)} the guard is O(log N log p) bits per axis. + +*Proof.* Identical to SHALLOW-TOEPLITZ sec. 4, 5, 6, 9 except for the single place where the hypothesis is used, the uniform control of every recursive matrix, which we prove now. + +(a) *Descendants are Schur complements of sections.* Let T_b be the leading b x b section of H. The recursion of sec. 4 acts on index intervals J = [a,b); the matrix at J is S(a,b) = T_b / T_a (Schur complement of the leading a x a block of T_b, as an (b-a) x (b-a) matrix). Indeed the root is S(0,N); the children of S(a,b) with midpoint m are S(a,m) = T_m/T_a (leading block of S(a,b)) and S(a,b)/S(a,m) = T_b/T_m by the quotient property (T_b/T_a)/(T_m/T_a) = T_b/T_m. All of these are contiguous leading-type sections of the same Toeplitz H. + +(b) *Accretive matrices.* If Re >= mu ||x||^2 then ||Tx|| >= mu||x||, so ||T^-1|| <= mu^-1; every principal submatrix has the same property. Hence ||T_b^-1|| <= 1/mu for all b and ||S(a,b)^-1|| = ||(T_b^-1)[a,b)|| <= 1/mu. Also ||S(a,b)|| <= ||T_b[a,b)|| + ||T[a,b); [0,a)|| ||T_a^-1|| ||T[0,a); [a,b)|| <= Lambda + Lambda^2/mu =: Lambda'. The shear matrices K = A^-1 B, L = C A^-1 have norm <= Lambda/mu. (No Hermitian structure was used.) + +(c) *Displacement rank, generators, compiler.* Sec. 4's rank identities (Delta = ZM - MZ, rank Delta(H) <= 2, ranks of A,S <= 2 + depth) and the sec. 5 bounded-generator compiler use only that each node's A, S, K, L are bounded matrices with the displayed ranks; the Stein generators g_j (orthonormal), h_j (norm <= ||E_T|| <= 2 Lambda'') have polynomial norm, and gamma_P = 64 N Lambda'' suffices. The recursion D_full(N) <= D_full(N/2) + O(log^3 N) is unchanged. + +(d) *Prefix norms.* With each completed node factor of norm and inverse norm <= poly(N) (Lambda'/mu)^{O(1)}, B(N) <= max(C B(N/2), N^C (Lambda'/mu)^C), so log B(N) = O(log N log(2+Lambda'/mu)) as in sec. 9 with kappa replaced by Lambda'/mu. QED. + +**Corollary 4.2 (perturbation, truncation, rounding).** If the symbol is perturbed in l1 by eps' <= mu/2 (band truncation at W, rounding to Cp bits), the Hermitian part stays >= mu/2 and Theorem 4.1 applies to the perturbed matrix. For the broad kernel the truncation tail is <= 2^{-p}, and mu >= p^{-O(1)}. + +**Corollary 4.3 (boundary pivots for the structured boundary).** The boundary LU pivot P_j of STRUCTURED-BOUNDARY (Schur complement of T[J] onto segment j after eliminating all indices left of it and the interval I_j to its right, J = [0, end of I_j)) satisfies ||P_j^-1|| <= 1/mu, ||P_j|| <= Lambda + Lambda^2/mu, because P_j^-1 is the principal block of (T[J])^-1 and T[J∖seg_j] is a principal submatrix of T[J], both accretive. The couplings are band entries of G_s. The statement holds per constant-offset stretch: each stretch of a cell (maximal run with constant phase offset c, i.e. one Toeplitz matrix T, one shift s) is handled with its own anchor at the segment centre, so that the chirp D' = exp(a theta t^2) (broad: b0 theta t^2) has range a theta B'^2/4 for boundary segments of physical length B' <= B + 2W (and the linear leftover is <= 2 b0 theta B'); a pivot chain crossing a cell cut restarts, since cell cuts are boundary coordinates. Rank-2 Stein/Sylvester displacement for P_j, P_j^-1 holds for every Toeplitz T (Kailath), shifted or not; screened in `check_gaugefree.py` D/E and in the earlier IdeaOuter screen (displacement rank 2 along the whole chain at s = 0.5). Thus the structured-boundary pivot bounds (which used BILATERAL-LDU for the unshifted gauge) transfer without change of statement. + +## 5. Assembly and the guard + +For every capped interior (dyadic length n <= B, with its own anchor and shift s): + broad: Drow' (circuit of G'_s, Theorem 4.1 with mu = mu(b0 lambda, s)) Dcol'; + narrow: D' (circuit of G'_s, gamma = a rho) D'^-1 (inverse circuit = reversed gate sequence). +The diagonal factors Dcol', Drow', D' are anchored ratios with logarithmic range + narrow: a theta B^2/4; broad: <= b0 theta B^2/4 (x^2 and y^2 terms) + 4 b0 theta B (linear leftover) . +Per axis the range is O(a B^2/d); direct sums over blocks run in parallel as before. For g simultaneous axes the precision requirement of CAPPED-GAUGE-AUDIT sec. 4 becomes + P >= p + O(a d) + O(g a theta B^2) + O(g log N log p) + ... , i.e. g B^2/d * polylog <= p^{1-r-zeta}: + **beta + 2 xi - eps <= 1 - r - zeta**. +The offline accuracy term a d = o(p) is unchanged. The leftover linear term (exponent beta + xi - eps) is dominated by the chirp (exponent beta + 2 xi - eps) since xi > 0. The circuit norms add g * O(log N log p) bits (Theorem 4.1), polylog per axis, as before. +(Why this does not collide with locality: the audited locality/halo constructions use the global rounded matrix only through uniform norms and the row gap, which are properties of the same Toeplitz-similar matrices; the shift is an exact similarity-to-Toeplitz representation of the same blocks, Lemmas 2.1-2.2.) + +## 6. Ledger changes (exact) + +1. `group_gauge_power_slack`: 1 - xi - r - beta -> **1 - (2 xi - eps) - r - beta**; `actual_logarithmic_group_guard`: 1 - xi - beta -> **1 - (2 xi - eps) - beta**. Add `shift_leftover_linear_dominated_by_chirp`: xi > 0, `shift_gap_theta_polynomial`: eps > 0. +2. Parameters: eps = (1 + q beta)/(1 + q) (main = Gaussian), xi = eps(1+q) - c + slack (boundary = main + slack), beta = 1 - 2 xi + eps - r - zeta. Closed form beta = (-1 + 2c - 2 slack + 1/(1+q) - r - zeta)/(1 + 2q - q/(1+q)), c = (3 - tau_eff)/2. +3. `union_tag_work_fits_record` (1 - 2 beta) -> **`union_tag_work_per_visit_fits_record`: 1 - beta** (Section 7). `union_header_fits_record` (1-beta) and `membership_arithmetic_fits_record` (1 - beta - 2(1-eps)) stay: pkg8 values 3.354e-3 and 3.343e-3. +4. Controls added: `old_linear_gauge_guard` (1 - xi - beta < 0), `old_union_tag_2beta` (1 - 2beta < 0) must fire as rejecting controls (they do). +5. Numbers (pkg8-era package, superseded by outer/FINE-PADDING-COMPOSITION.md for the current epsilon = 1 - 1.0009765625e-3080 point): eps = 0.99999437577296, xi = 0.50167412128176, beta = 0.99664613320944; margins above kappa: main = Gaussian = bit router = boundary = union ~ 1e-64; global router 9.4e-9; cap xi - 1/2 = 1.674e-3; group_below_dimension 3.35e-3; epsilon_below_one 5.6e-6; improvement over pkg7 1.4013e-6. +`outer/check_ledger.py` carries exactly these edits relative to the previous (structured-boundary, linear-guard) package; `outer/independent_check.py` re-derives (E,X,B) from the three linear equations by exact elimination. + +## 7. Union tag work: g polylog <= p suffices + +The previous version of UNION-SCHEDULE.md (steps 1 tag and section 3 header paragraph) argued "tag work per record <= O(g^2) in total, o(p) because 2 beta < 1". The cost accounting of Section 2.3-2.4 of that note is per visit: round r touches only records of S_r; each visit costs O(p log g + p log a + 1) head travel (radix passes, transposition) plus the tag extraction O(g) bit operations (scan of the g-bit flag header for the r-th set bit) plus O(g log L) header travel (the header is carried with the record). Sum over rounds = sum_r |S_r| = sum_x |F(x)| <= g mu V (Section 2.4). Total = O(g mu V (p polylog p + g log L)) = O(g mu V p polylog p) as soon as g log L = o(p polylog p), i.e. beta < 1 (and this is already the header check `union_header_fits_record`). The O(g^2) per-record total is a pessimistic restatement: each of the |F| <= g visits of a record is paid for by its own Theta(p) move. UNION-SCHEDULE.md now carries this wording. A reviewer should confirm no other place charges g^2 per record. + +## 8. Obligations / risks (review checklist) + +1. Theorem 4.1 relies on SHALLOW-TOEPLITZ sec. 4-6 (not re-derived); only the descendant bound (Section 4(a)-(b)) is new. The finite replay (`check_gaugefree.py` stage E: the vendored compiler on shifted Gaussian tiles n = 8, 16, 32, gamma in {0.5, 2, 20}, s up to 0.499: max error 1.8e-12, displacement rank <= 3, peak prefix norm <= 91 for n = 8, 16, max generator entry <= 11.4) supports it. The peak prefix norm is tracked only for n <= 16; for n = 32 it is not computed (reported as null). +2. The tile is a contiguous section of the *banded, truncated, rounded* shifted kernel; Corollary 4.2 covers it. The audited global rounded matrix remains the reference for the locality/Neumann/halo arguments; its comparison with the ideal kernel is stated in Section 2 (error poly(p) 2^{-Cp} e^{O(g a theta B^2)} = 2^{-(C-o(1))p}, C > 1). +3. Narrow N formula taken from LOG-A-PHASE-SCHUR-AUDIT (`n_{i,h}`), verified symbolically against the quoted weights of CAPPED-GAUGE-AUDIT sec. 2 (stage A). Broad block formula from CAPPED-GAUGE-AUDIT sec. 3. +4. (pkg8-era, superseded by the fine-padding point beta = 1 - 3.0029296875e-3080) The parameter point sat at beta = 0.9966, 1 - beta = 3.35e-3: header (g log L bits) and membership (g (log s)^2) rows hold only "eventually", with exponent margins 3.3e-3; the claim is an asymptotic statement with the same status as the other margins (1e-64 slacks). +5. Not changed: supplier, bit/complex rows, union schedule beyond Section 7, cap xi > 1/2 (pkg8-era margin 1.67e-3; at the current point xi - 1/2 = 4.079e-1). +6. STRUCTURED-BOUNDARY.md now states the chirp range O(aB^2/d) for consecutive boundary segments (physical length <= B + 2W) and cites Corollary 4.3 for the pivot bounds. diff --git a/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json b/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json new file mode 100644 index 0000000000..1b5b6fb29d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/INDEPENDENT.json @@ -0,0 +1,43 @@ +{ + "status": "PASS_INDEPENDENT_BALANCE_DERIVATION", + "source_sha256": "cf5a50a5b9a47cc59e2a0fde303ba740fe50aeb13ce7066bc93c977e4a6c9424", + "b": "171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "rows": { + "struct_boundary_radix_union": { + "epsilon": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cap": "185951078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999995898485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "beta": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "kappa": "17142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "margin_above_kappa": "20480000000000000000000020479999999999999999999999999999995900485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "checked_cost_powers": 9, + "gap_to_q": "5000000000000000000000004999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_free_sweep_delta_gap_to_q": [ + [ + "1/10000000", + "1.714252039260245e-10" + ], + [ + "1/1000000000000", + "1.7142520392602451e-15" + ], + [ + "1/1000000000000000000000000000000", + "1.714252039260245e-33" + ], + [ + "1/1000000000000000000000000000000000000000000000000000000000000", + "1.714252039260245e-63" + ], + [ + "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0.0" + ], + [ + "11/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0.0" + ] + ] + } + }, + "scope": "Independent balance derivation and margin comparisons for this package's supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain." +} diff --git a/research/gmx-t74-borrow43-handoff/outer/LEDGER.json b/research/gmx-t74-borrow43-handoff/outer/LEDGER.json new file mode 100644 index 0000000000..84cf7f16d8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/LEDGER.json @@ -0,0 +1,578 @@ +{ + "status": "PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC", + "scope": "Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.", + "geometry_changes": { + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "halo_power": 48, + "core_power": 128, + "matrix_exponent": { + "rational": "45/16", + "decimal": "2.8125" + } + }, + "halo_umbrella": { + "umbrella_power": 10, + "theta_power": { + "rational": "2", + "decimal": "2" + }, + "exponent_budget": { + "rational": "13/2", + "decimal": "6.5" + }, + "margin": { + "rational": "7/2", + "decimal": "3.5" + }, + "fails_from_theta_power": { + "rational": "15/4", + "decimal": "3.75" + } + }, + "complex_lower_short": { + "rational": "171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "complex_lower_pinned": { + "rational": "342850407852049028507031245181993133286899087465666161144507639634951258361231699998951225422486953722991178442165189899250680178603571509082666897259312028883448966636343058195330702247014167938560688829937431794274451512850131868243895881871504306529512517248797243509710703849716921198972643142114017392215906330013924940836490997700870537008253388828554804474610210342123820730830316205544535213625716231940090518340500625880150794653606298633736463426644236465658904782904110794428693032241006811638084641451235741909025872957994950811309260796176343687505422491859915326404749756403000207025559041993383246465356292389696384006300398236381839199982053150310114876381400217213455731317382191096649760625226692549997189861356994381547697713660670165213479688534009753202824281404500497882504659316915993239710790996955049226843441512927166779949079985761060017409947255211087633933951182670457126636023132935290508010798106801675167558584396552507612201155629756416423068969507709135995507649830286654725573110350444906584945278091939015524419616836112959047230701474380063153392803333871269326736311690391396203330224665295504105972641461531829026447447999998647380678091640704468217830499344107324681427675744382663290926307864783676364246153859906968710407962200103068604837749066873972933665428374681201826940807809137922855122868087735444327614089207335255106926755798139769335399486694235126791678741452425625930310362759025589160719360875103247341926609783543987406721874827914053802361857064006795821795830780646496348297773775620943652226491691645598330152152073672669201279245202182858729660789440225794876971608088905207022128896489164528473237954305944787860558789864846419108523962672022872902881401281472798667079493612094661365000637618230970994123996924145921398573934746190667420283361175099036236645918470260707481997633764861930525545844737800047774414194383160660475481465716932555430694530802062373370145910312111724104720331163530727873088297463836758441547345619147463060431135883097171258239232450798703932914565613335889935861419436479529300823479734971530642568270934412561205829513509406372040638002191232305310559472914952515960046234038065532332186650734162776986427434686136670168106670002346053407867223965034745385454652615919844011084224404885428386871269147812806221653372283412481601445909184681920993643713424045709065482812233772234612593430453983848687607124333483251018174059161614417191856627419535924860275794515012434734567157654358118820523813529939535314359657175186571293294596303970317296155173494001749135371231029690521852554672922441422776721142220152296417862348616658564348127366876806569674275471838150761246183901508035622661080440109318938125069499414127046976998491816840836844144776773951507926482172868439452639507860411953244690602189220939806072322678268770016556808853073495912964667053437592686001283913294321549821896326571091881938988021321683778693077705025443144674844921630316329245540917861534557467092156244790100004416405101/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001714252039260245142535156225909965666434495437328330805722538198174756291806158499994756127112434768614955892210825949496253400893017857545413334486296560144417244833181715290976653511235070839692803444149687158971372257564250659341219479409357521532647562586243986217548553519248584605994863215710570086961079531650069624704182454988504352685041266944142774022373051051710619103654151581027722676068128581159700452591702503129400753973268031493168682317133221182328294523914520553972143465161205034058190423207256178709545129364789974754056546303980881718437527112459299576632023748782015001035127795209966916232326781461948481920031501991181909195999910265751550574381907001086067278656586910955483248803126133462749985949306784971907738488568303350826067398442670048766014121407022502489412523296584579966198553954984775246134217207564635833899745399928805300087049736276055438169669755913352285633180115664676452540053990534008375837792921982762538061005778148782082115344847538545679977538249151433273627865551752224532924726390459695077622098084180564795236153507371900315766964016669356346633681558451956981016651123326477520529863207307659145132237239999993236903390458203522341089152496720536623407138378721913316454631539323918381821230769299534843552039811000515343024188745334369864668327141873406009134704039045689614275614340438677221638070446036676275534633778990698846676997433471175633958393707262128129651551813795127945803596804375516236709633048917719937033609374139570269011809285320033979108979153903232481741488868878104718261132458458227991650760760368363346006396226010914293648303947201128974384858040444526035110644482445822642366189771529723939302793949324232095542619813360114364514407006407363993335397468060473306825003188091154854970619984620729606992869673730953337101416805875495181183229592351303537409988168824309652627729223689000238872070971915803302377407328584662777153472654010311866850729551560558620523601655817653639365441487319183792207736728095737315302155679415485856291196162253993519664572828066679449679307097182397646504117398674857653212841354672062806029147567547031860203190010956161526552797364574762579800231170190327661660933253670813884932137173430683350840533350011730267039336119825173726927273263079599220055421122024427141934356345739064031108266861417062408007229545923409604968218567120228545327414061168861173062967152269919243438035621667416255090870295808072085959283137097679624301378972575062173672835788271790594102619067649697676571798285875932856466472981519851586480775867470008745676856155148452609262773364612207113883605711100761482089311743083292821740636834384032848371377359190753806230919507540178113305402200546594690625347497070635234884992459084204184220723883869757539632410864342197263197539302059766223453010946104699030361613391343850082784044265367479564823335267187963430006419566471607749109481632855459409694940106608418893465388525127215723374224608151581646227704589307672787335460781223950500022082025505" + }, + "native_moment": [ + { + "rational": "422031482088736866441311779550943955979252593488051063381553213082563002158023142692564884173027872470974119359935807452236597381728133281014538789409836291422185998032830345439952644438190844210834571854606204859450316807976839657740064451174314012243564127796115745999638049801226003825388364918975280291337722002235437519842030001986152771413545065296497889232502494240587846878800989359569455788034525615525717718366088029722248510604843010992354113019465395494334410024849411456336650249972201705584064781470794656079838932822367456642577838907836838125377850058530868534714608598815129493027533650889384314700551539018990311632070999324562640597596633929789074352650847323974327579717757756990022417986381237288605499734577760413173614162419951871277369761366751943824078909971552776973801047814234108909431100772495943574015908027211336894739506377529922883828877184476620060058389733562681887462341720797689312854103449843126054906185367131167658753152451716185380693068449803856173196750778287194128023931152640553846311518041096153150789194038365891788961384531940098370723490391199443558622531814149847022142988777047637861278899380731071399883402011417101814900344569758153227842705921774467614969975568756436429967551809956544479037373097050644048182914408309943868019123064412012423087195696541847513096574672259869038881583941771229329640308827647121613123621187592695782134717993672445945414640572476736305676118716966085513613939312620471189209527365099102422074083049488867755886274659321281382101000092012944656335233420966035200865505015610296439407036495776432103904812714763996652904918072643873588414192376084491077570289591169652481710196271627760338067842838767756211851213401363991550402342773469058711252019389249777287228861648828852325612837773822679674000192909091169847982903928594431794242998315086647900404975741684386085251892746945050839518058948505217059380236670105333069443410010721224409321002928949491158186275284545676588389505821328305019599390982301484458053416823031869108028164222816002644388499455699315897887993355423940547434538795289981982703505371539821076903396473893636192373497276419769030479823865692999976193043047192764884481651372303158298620883060782021397586581224119047296996777262217798043980421585822972913024992376518013480548925458598592390788316890832401995347654733983643947394033582544015558378281371853368879359456660815881731963712044896455763856311097162130610205638978577174028528896556877496957095253112172115659890103172143214244439875016848091894419805416318495029972093131362299866378591754073239332316401604348521995348607165989387981970060260408700186134990205376242457216802339783447316139371722584612298614855539597893352164257719698471173584705065127349666456235083679387439135219675158684828597517557619403020099866958059417554563659416944693547259197840319419655365066499781859237477473826492291037634810325318302039455754148612119579304108418691719443282733385759176043480445371842697692468617094301767394040987400737558019851384925303705661089268852437790065444743582443326304286930917116024988963260917591380161155919969657476409498488012794214262485/422031482088736866441311779550943955979252593488051063381553213082563002158023142692564884173027872470974119359935807452236597381728133281014538789409836291422185998032830345439952644438190844210834571854606204859450316807976839657740064451174314012243564127796115745999638049801226003825388364918975280291337722002235437519842030001986152771413545065296497889232502494240587846878800989359569455788034525615525717718366088029722248510604843010992354113019465395494334410024849411456336650249972201705584064781470794656079838932822367456642577838907836838125377850058530868534714608598815129493027533650889384314700551539018990311632070999324562640597596633929789074352650847323974327579717757756990022417986381237288605499734577760413173614162419951871277369761366751943824078909971552776973801047814234108909431100772495943574015908027211336894739506377529922883828877184476620060058389733562681887462341720797689312854103449843126054906185367131167658753152451716185380693068449803856173196750778287194128023931152640553846311518041096153150789194038365891788961384531940098370723490391199443558622531814149847022142988777047637861278899380731071399883402011417101814900344569758153227842705921774467614969975568756436429967551809956544479037373097050644048182914408309943868019123064412012423087195696541847513096574672259869038881583941771229329640308827647121613123621187592695782134717993672445945414640572476736305676118716966085513613939312620471189209527365099102422074083049488867755886274659321281382101000092012944656335233420966035200865505015610296439407036495776432103904812714763996652904918072643873588414192376084491077570289591169652481710196271627760338067842838767756211851213401363991550402342773469058711252019389249777287228861648828852325612837773822679674000192909091169847982903928594431794242998315086647900404975741684386085251892746945050839518058948505217059380236670105333069443410010721224409321002928949491158186275284545676588389505821328305019599390982301484458053416823031869108028164222816002644388499455699315897887993355423940547434538795289981982703505371539821076903396473893636192373497276419769030479823865692999976193043047192764884481651372303158298620883060782021397586581224119047296996777262217798043980421585822972913024992376518013480548925458598592390788316890832401995347654733983643947394033582544015558378281371853368879359456660815881731963712044896455763856311097162130610205638978577174028528896556877496957095253112172115659890103172143214244439875016848091894419805416318495029972093131362299866378591754073239332316401604348521995348607165989387981970060260408700186134990205376242457216802339783447316139371722584612298614855539597893352164257719698471173584705065127349666456235083679387439135219675158684828597517557619403020099866958059417554563659416944693547259197840319419655365066499781859237477473826492291037634810325318302039455754148612119579304108418691719443282733385759176043480445371842697692468617094301767394040987400737800206400964077847557681297735148301718457750463929269480671077635717985011670812522632955747924037949462802991737273578045088508936192", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999942614103483343904305251403017394598841421252701933852515284370912194217376121388931001569742607625947120704848858334937905079729874102176610940434390098173955223666227359904925577909014120308981731080" + }, + { + "rational": "105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184389504962846231325926415272317213109447516361185895610831576071732729279006247240815229397845040288979992414369102374622003198553566071/105507870522184216610327944887735988994813148372012765845388303270640750539505785673141221043256968117743529839983951863059149345432033320253634697352459072855546499508207586359988161109547711052708642963651551214862579201994209914435016112793578503060891031949028936499909512450306500956347091229743820072834430500558859379960507500496538192853386266324124472308125623560146961719700247339892363947008631403881429429591522007430562127651210752748088528254866348873583602506212352864084162562493050426396016195367698664019959733205591864160644459726959209531344462514632717133678652149703782373256883412722346078675137884754747577908017749831140660149399158482447268588162711830993581894929439439247505604496595309322151374933644440103293403540604987967819342440341687985956019727492888194243450261953558527227357775193123985893503977006802834223684876594382480720957219296119155015014597433390670471865585430199422328213525862460781513726546341782791914688288112929046345173267112450964043299187694571798532005982788160138461577879510274038287697298509591472947240346132985024592680872597799860889655632953537461755535747194261909465319724845182767849970850502854275453725086142439538306960676480443616903742493892189109107491887952489136119759343274262661012045728602077485967004780766103003105771798924135461878274143668064967259720395985442807332410077206911780403280905296898173945533679498418111486353660143119184076419029679241521378403484828155117797302381841274775605518520762372216938971568664830320345525250023003236164083808355241508800216376253902574109851759123944108025976203178690999163226229518160968397103548094021122769392572397792413120427549067906940084516960709691939052962803350340997887600585693367264677813004847312444321807215412207213081403209443455669918500048227272792461995725982148607948560749578771661975101243935421096521312973186736262709879514737126304264845059167526333267360852502680306102330250732237372789546568821136419147097376455332076254899847745575371114513354205757967277007041055704000661097124863924828974471998338855985136858634698822495495675876342884955269225849118473409048093374319104942257619955966423249994048260761798191221120412843075789574655220765195505349396645306029761824249194315554449510995105396455743228256248094129503370137231364649648097697079222708100498836913683495910986848508395636003889594570342963342219839864165203970432990928011224113940964077774290532652551409744644293507132224139219374239273813278043028914972525793035803561109968754212022973604951354079623757493023282840574966594647938518309833079100401087130498837151791497346995492515065102175046533747551344060614304200584945861829034842930646153074653713884899473338041064429924617793396176266281837416614058770919846859783804918789671207149379389404850755024966739514854388640914854236173386814799460079854913841266624945464809369368456623072759408702581329575509863938537153029894826027104672929860820683346439794010870111342960674423117154273575441848510246850184450051600241019461889420324433787075429614437615982317370167769408929496252917703130658238936981009487365700747934318394511272127234048", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999942614103483343904305251403017394598841421252701933852515284370912194217376121388931001569742607625947120704848858334937905079729874528448127723094697291848382464144424681906472348088508887764057431593" + } + ], + "profile": { + "1": 1598512, + "2": 420912, + "3": 218449, + "4": 79920, + "5": 17738, + "7": 5498, + "14": 1, + "23": 1, + "32": 77, + "48": 26489 + }, + "m": 73, + "W": 66304, + "online_final_kappa": { + "rational": "1711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001711318408189183238567634803852612133649203764204362745503672080619776106486572191668334734082751435613183681891222481732118949285152896368881040495996466848125361418227200950045816430141539899745292858221840805835015855397125859974861925333525692607592457008566441101526220829766285928855209658036383512142865001284768658263780772953428843403681498984703092097170600421221543230363718446032781045102899871233626939484996675727529843491071397689691781419922873988299275607670376233761218605670994915974806634915983210304256311112729899571033355638603532830740985974755977076897969524704105238564129742975803778495800189456408755958159326407898435251444019163374994723781080440677881855940056296588753772953472883036993100008970897193830947434274601704078470331570364235750170422733193306919509637962148069435479833702451936672633846523500161035201305318374263503150397037109340671972066134205098542634359749808761129715342302305124227540843747938485484866939484017860857927046359334460243182612686629726652706373266245758793766992586319848016319692088947829284177449819422518746529088158015069850821857971747533169878589792631790009356206753494971780095320985386853214032170709584615573543793478416739064020649849475577560803438547861454532992467093661021570865220333561079057646116472550384067654744508823093845729626864164994860524778232747549128836257062503768225874406175602944560823863665268054486635924525556631653454494748650985833323164669817772770489629285438568039453384586110108107665055183189771787494827961547246105428879592769186122426223173264400261170441730690311724870812873057789381315319274678586876870851639725399188914260595810044553569497317068360681117327648733662427568077965384609382057591721800529446684432533688097088863304520544557940635379705092348814240631478677296781365153853399415984130881035384829250105592874370848256834586059565235874427656214972902573671513061891347187307491246206765216914110069622555767877933142398407204316591092802373533308206033906259197016147357392906065434316852638740641608513998650768888166207688291423285977887067159452125526951871083024596737118996183295966719303923112424179010273653293374530994889552533668413518526904987155132933091198339148536199820449030096344715807613648677223687093438829554017220270598966424716340582609051995533737126271093910536149159499282161749442441995828745418637740931160553736130683061892170255785982532252466442956736614544978095733788213524391093013612849007323457397991255181957634658022400430493370137735777064701527079816796454068419332208420810083224053951726076899650081226254098921043235659462898466770930002718620929839852550885944264436224522912176561547067348695293220174489998882282006046903380231019074128292572937581643166744535477859139937771651119054310943884964191125621890772594893986578099379354751895600957899065518456063684021587793243261823681677842442772982717664096995178478040005750801709887712849532207767299471589330518585364794549109441748066863361239990727915123903" + }, + "rows": { + "struct_boundary_radix_union": { + "kind": "struct_boundary_radix_union", + "kappa": { + "rational": "17142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "epsilon": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "xi": { + "rational": "185951078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999995898485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.90796425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999997997307511386482664774317836785588169132719377125721153246224998385616088672752624548345092743857181994306318564925686916" + }, + "beta": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "q": { + "rational": "85712601963012257126757811295498283321724771866416540286126909908737814590307924999737806355621738430747794610541297474812670044650892877270666724314828007220862241659085764548832675561753541984640172207484357948568612878212532967060973970467876076632378129312199310877427675962429230299743160785528504348053976582503481235209122749425217634252063347207138701118652552585530955182707579051386133803406429057985022629585125156470037698663401574658434115856661059116414726195726027698607173258060251702909521160362808935477256468239498737702827315199044085921876355622964978831601187439100750051756389760498345811616339073097424096001575099559095459799995513287577528719095350054303363932829345547774162440156306673137499297465339248595386924428415167541303369922133502438300706070351125124470626164829228998309927697749238762306710860378231791694987269996440265004352486813802771908483487795667614281659005783233822627002699526700418791889646099138126903050288907439104105767242376927283998876912457571663681393277587611226646236319522984753881104904209028239761807675368595015788348200833467817331684077922597849050832556166323876026493160365382957256611861999999661845169522910176117054457624836026831170356918936095665822731576966195919091061538464976742177601990550025767151209437266718493233416357093670300456735201952284480713780717021933861081903522301833813776731688949534942333849871673558781697919685363106406482577590689756397290179840218775811835481652445885996851680468706978513450590464266001698955448957695161624087074443443905235913056622922911399582538038018418167300319811300545714682415197360056448719242902022226301755532224122291132118309488576486196965139697466211604777130990668005718225720350320368199666769873403023665341250159404557742748530999231036480349643483686547666855070840293774759059161479617565176870499408441215482631386461184450011943603548595790165118870366429233138857673632700515593342536477578027931026180082790882681968272074365959189610386836404786865765107783970774292814559808112699675983228641403333972483965354859119882325205869933742882660642067733603140301457378377351593010159500547808076327639868228738128990011558509516383083046662683540694246606858671534167542026667500586513351966805991258686346363663153979961002771056101221357096717817286953201555413343070853120400361477296170480248410928356011427266370703058443058653148357613495962171901781083370812754543514790403604297964156854883981215068948628753108683641789413589529705130953382484883828589914293796642823323649075992579324038793373500437283842807757422630463138668230610355694180285555038074104465587154164641087031841719201642418568867959537690311545975377008905665270110027329734531267374853531761744249622954210209211036194193487876981620543217109863159876965102988311172650547305234951518080669567192504139202213268373978241166763359398171500320978323580387455474081642772970484747005330420944673269426256360786168711230407579082311385229465383639366773039061197525001104101275249999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "a": { + "rational": "342850407852049028507031245181993133286899087465666161144507639634951258361231699998951225422486953722991178442165189899250680178603571509082666897259312028883448966636343058195330702247014167938560688829937431794274451512850131868243895881871504306529512517248797243509710703849716921198972643142114017392215906330013924940836490997700870537008253388828554804474610210342123820730830316205544535213625716231940090518340500625880150794653606298633736463426644236465658904782904110794428693032241006811638084641451235741909025872957994950811309260796176343687505422491859915326404749756403000207025559041993383246465356292389696384006300398236381839199982053150310114876381400217213455731317382191096649760625226692549997189861356994381547697713660670165213479688534009753202824281404500497882504659316915993239710790996955049226843441512927166779949079985761060017409947255211087633933951182670457126636023132935290508010798106801675167558584396552507612201155629756416423068969507709135995507649830286654725573110350444906584945278091939015524419616836112959047230701474380063153392803333871269326736311690391396203330224665295504105972641461531829026447447999998647380678091640704468217830499344107324681427675744382663290926307864783676364246153859906968710407962200103068604837749066873972933665428374681201826940807809137922855122868087735444327614089207335255106926755798139769335399486694235126791678741452425625930310362759025589160719360875103247341926609783543987406721874827914053802361857064006795821795830780646496348297773775620943652226491691645598330152152073672669201279245202182858729660789440225794876971608088905207022128896489164528473237954305944787860558789864846419108523962672022872902881401281472798667079493612094661365000637618230970994123996924145921398573934746190667420283361175099036236645918470260707481997633764861930525545844737800047774414194383160660475481465716932555430694530802062373370145910312111724104720331163530727873088297463836758441547345619147463060431135883097171258239232450798703932914565613335889935861419436479529300823479734971530642568270934412561205829513509406372040638002191232305310559472914952515960046234038065532332186650734162776986427434686136670168106670002346053407867223965034745385454652615919844011084224404885428386871269147812806221653372283412481601445909184681920993643713424045709065482812233772234612593430453983848687607124333483251018174059161614417191856627419535924860275794515012434734567157654358118820523813529939535314359657175186571293294596303970317296155173494001749135371231029690521852554672922441422776721142220152296417862348616658564348127366876806569674275471838150761246183901508035622661080440109318938125069499414127046976998491816840836844144776773951507926482172868439452639507860411953244690602189220939806072322678268770016556808853073495912964667053437592686001283913294321549821896326571091881938988021321683778693077705025443144674844921630316329245540917861534557467092156244790100004416405100999999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001714252039260245142535156225909965666434495437328330805722538198174756291806158499994756127112434768614955892210825949496253400893017857545413334486296560144417244833181715290976653511235070839692803444149687158971372257564250659341219479409357521532647562586243986217548553519248584605994863215710570086961079531650069624704182454988504352685041266944142774022373051051710619103654151581027722676068128581159700452591702503129400753973268031493168682317133221182328294523914520553972143465161205034058190423207256178709545129364789974754056546303980881718437527112459299576632023748782015001035127795209966916232326781461948481920031501991181909195999910265751550574381907001086067278656586910955483248803126133462749985949306784971907738488568303350826067398442670048766014121407022502489412523296584579966198553954984775246134217207564635833899745399928805300087049736276055438169669755913352285633180115664676452540053990534008375837792921982762538061005778148782082115344847538545679977538249151433273627865551752224532924726390459695077622098084180564795236153507371900315766964016669356346633681558451956981016651123326477520529863207307659145132237239999993236903390458203522341089152496720536623407138378721913316454631539323918381821230769299534843552039811000515343024188745334369864668327141873406009134704039045689614275614340438677221638070446036676275534633778990698846676997433471175633958393707262128129651551813795127945803596804375516236709633048917719937033609374139570269011809285320033979108979153903232481741488868878104718261132458458227991650760760368363346006396226010914293648303947201128974384858040444526035110644482445822642366189771529723939302793949324232095542619813360114364514407006407363993335397468060473306825003188091154854970619984620729606992869673730953337101416805875495181183229592351303537409988168824309652627729223689000238872070971915803302377407328584662777153472654010311866850729551560558620523601655817653639365441487319183792207736728095737315302155679415485856291196162253993519664572828066679449679307097182397646504117398674857653212841354672062806029147567547031860203190010956161526552797364574762579800231170190327661660933253670813884932137173430683350840533350011730267039336119825173726927273263079599220055421122024427141934356345739064031108266861417062408007229545923409604968218567120228545327414061168861173062967152269919243438035621667416255090870295808072085959283137097679624301378972575062173672835788271790594102619067649697676571798285875932856466472981519851586480775867470008745676856155148452609262773364612207113883605711100761482089311743083292821740636834384032848371377359190753806230919507540178113305402200546594690625347497070635234884992459084204184220723883869757539632410864342197263197539302059766223453010946104699030361613391343850082784044265367479564823335267187963430006419566471607749109481632855459409694940106608418893465388525127215723374224608151581646227704589307672787335460781223950500022082025504999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "r0": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "zeta": { + "rational": "1/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3082" + }, + "slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "margins": { + "main_transform": { + "rational": "351078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999995900485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999999999999999999999999999999999999999999999999999999999999999799828407388648266477431783678558816913271937712572115324622499838561608867275262454834509274385718199430631856492568691579" + }, + "global_coordinate_router": { + "rational": "342850407852049028507031245181993133286899087465666161144507639634951258361231699998951225422486953722991178442165189899250680178603571509082666897259312028883448966636343058195330702247014167938560688829937431794274451512850131868243895881871504306529512517248797243509710703849716921198972643142114017392215906330013924940836490997700870537008253388828554804474610210342123820730830316205544535213625716231940090518340500625880150794653606298633736463426644236465658904782904110794428693032241006811638084641451235741909025872957994950811309260796176343687505422491859915326404749756403000207025559041993383246465356292389696384006300398236381839199982053150310114876381400217213455731317382191096649760625226692549997189861356994381547697713660670165213479688534009753202824281404500497882504659316915993239710790996955049226843441512927166779949079985761060017409947255211087633933951182670457126636023132935290508010798106801675167558584396552507612201155629756416423068969507709135995507649830286654725573110350444906584945278091939015524419616836112959047230701474380063153392803333871269326736311690391396203330224665295504105972641461531829026447447999998647380678091640704468217830499344107324681427675744382663290926307864783676364246153859906968710407962200103068604837749066873972933665428374681201826940807809137922855122868087735444327614089207335255106926755798139769335399486694235126791678741452425625930310362759025589160719360875103247341926609783543987406721874827914053802361857064006795821795830780646496348297773775620943652226491691645598330152152073672669201279245202182858729660789440225794876971608088905207022128896489164528473237954305944787860558789864846419108523962672022872902881401281472798667079493612094661365000637618230970994123996924145921398573934746190667420283361175099036236645918470260707481997633764861930525545844737800047774414194383160660475481465716932555430694530802062373370145910312111724104720331163530727873088297463836758441547345619147463060431135883097171258239232450798703932914565613335889935861419436479529300823479734971530642568270934412561205829513509406372040638002191232305310559472914952515960046234038065532332186650734162776986427434686136670168106670002346053407867223965034745385454652615919844011084224404885428386871269147812806221653372283412481601445909184681920993643713424045709065482812233772234612593430453983848687607124333483251018174059161614417191856627419535924860275794515012434734567157654358118820523813529939535314359657175186571293294596303970317296155173494001749135371231029690521852554672922441422776721142220152296417862348616658564348127366876806569674275471838150761246183901508035622661080440109318938125069499414127046976998491816840836844144776773951507926482172868439452639507860411953244690602189220939806072322678268770016556808853073495912964667053437592686001283913294321549821896326571091881938988021321683778693077705025443144674844921630316329245540917861534557467092156244790100004416405100999999999999999999999999999999999999999999999999999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.001714252039260245142535156225909965666434495437328330805722538198174756291806158499994756127112434768614955892210825949496253400893017857545413334486296560144417244833181715290976653511235070839692803444149687158971372257564250659341219479409357521532647562586243986217548553519248584605994863215710570086961079531650069624704182454988504352685041266944142774022373051051710619103654151581027722676068128581159700452591702503129400753973268031493168682317133221182328294523914520553972143465161205034058190423207256178709545129364789974754056546303980881718437527112459299576632023748782015001035127795209966916232326781461948481920031501991181909195999910265751550574381907001086067278656586910955483248803126133462749985949306784971907738488568303350826067398442670048766014121407022502489412523296584579966198553954984775246134217207564635833899745399928805300087049736276055438169669755913352285633180115664676452540053990534008375837792921982762538061005778148782082115344847538545679977538249151433273627865551752224532924726390459695077622098084180564795236153507371900315766964016669356346633681558451956981016651123326477520529863207307659145132237239999993236903390458203522341089152496720536623407138378721913316454631539323918381821230769299534843552039811000515343024188745334369864668327141873406009134704039045689614275614340438677221638070446036676275534633778990698846676997433471175633958393707262128129651551813795127945803596804375516236709633048917719937033609374139570269011809285320033979108979153903232481741488868878104718261132458458227991650760760368363346006396226010914293648303947201128974384858040444526035110644482445822642366189771529723939302793949324232095542619813360114364514407006407363993335397468060473306825003188091154854970619984620729606992869673730953337101416805875495181183229592351303537409988168824309652627729223689000238872070971915803302377407328584662777153472654010311866850729551560558620523601655817653639365441487319183792207736728095737315302155679415485856291196162253993519664572828066679449679307097182397646504117398674857653212841354672062806029147567547031860203190010956161526552797364574762579800231170190327661660933253670813884932137173430683350840533350011730267039336119825173726927273263079599220055421122024427141934356345739064031108266861417062408007229545923409604968218567120228545327414061168861173062967152269919243438035621667416255090870295808072085959283137097679624301378972575062173672835788271790594102619067649697676571798285875932856466472981519851586480775867470008745676856155148452609262773364612207113883605711100761482089311743083292821740636834384032848371377359190753806230919507540178113305402200546594690625347497070635234884992459084204184220723883869757539632410864342197263197539302059766223453010946104699030361613391343850082784044265367479564823335267187963430006419566471607749109481632855459409694940106608418893465388525127215723374224608151581646227704589307672787335460781223950500022082025504999999999999999999999999999999999999999999999999999999999999999999999999999999985" + }, + "fused_gaussian": { + "rational": "351078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999997943457349958549492373408789210653711151427853060430765544806390081225248805392125225032249818258526173018021262903420410598041584507940176095707992909276155111833944275932450960493580905904314335889258818479423972326060615979858445051500201632451242574217490094599484762076395856621204673131591223379993965189360880352071808069277901820698230986996208293521939762405736031979692512526967776679505542181009225867842216561029605754185363064401606317012603749630689728680988677925698593071317689258589040542128897275374500936297454406541655262552240230517577431609208258375307603713053944990607743633964059458703465171190294009016836191806262754231258444600551865627963967551271943320686236261990497623778019860774279204087586411763272422767408295304934392419685499577579200089013153346811609690112981726004833207878893176843632236274564173477489621516565790437847404464644121902259055256531001132883443355942288662239816878667958215848488597573529806010390924814464384990194990629187637944068138139767718685367188626856723819122512932698672875272624096782289526509297655929662813058033171297483458468202858415520464566747595591542163248741341275057896257436740974000041593044148682048337602301712145168699766046098970860233103804016033157901951799430768807860712154955162346830640401239216193625332289788077478553043821570159869008872204971806302135086925866756874440905462002259207202092936465784152269851155878700337912002642956345159963133307879653090575144235756749156022387243302349041642845577372895281791028479778203495120237289843456399655982694035380481897851347821323734565422060663210032877094062930724713056807533123051266164884069536432958190749447932905092197773287817211655972612412888147835296658236396910594711440987305571428089163026230393239397641930687094582512916993851506554636976826286643865704635723138007039483244928572761730495636339465274312648530936763522717809690378944929204323920506143177836582018868013257902564483779849816721430117902534852987019677922419122211215510891742571594761983809143602137939854062877107389921384472261352328254473999677998149625432741025668766813742920742459585754059750381432619606611700296207865210134228578303329484880785260489924494607667356383401297392330719897427858857708082863075181579397269432060464796659160099549773077103708473704756208684158802285066190755538292571030929445455812210594446236403523811503785662752013539996652856080926745390031191147680780356671350408706849270310546519318663367631912059902128487846268892733954359289083440541863012932731191163652912743143228415059446214087334645837016453033943807634926249615824876730316885150732780037749146295083468538197982516029240976864091679845028627904603171776466638442652654112893015593305457296376632144267042548114200991131260673184295486831335133292332437725763982681456100963276077643235321990878127767990000676336488106794024905460519666199612342976687957938924630376118344358223805187860570467623301248518659867772875699616775757812357886916195472704424864195543144250000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999999999999999999999999999999999999999999999999999999999999999899582878415944799432295351035676450739815813137716345973867499515684826601825787364503527823157154598291895569477706074736" + }, + "group_bit_router": { + "rational": "1404315270561992820764799980265443873943138662259368596047903291944760354247605043195704219330506562449371866899108617827330786011560228901202603611174142070306606967342461166368074556403770031876344581447423720629348153396634140132326997532145681639544883270651073509415775042968440509230991946310099015238516352327737036557666267126582765719585805880641760479128003421561339169713480975177910416235010933686026610763122690563605097654901171399203784554195534792563338873990775237813979926660059163900469594691384261598859369975635947318523122732221138303744022210526658213176953855002226688847976689836004897777522099373628196388889806431176220013363126489703670230533658215289706314675475997454731877419520928532684788489672118248986819369835154104996714412804235303949118768256632834039326739084562087908309855399923527881633150736436949675130671431621677301831311143957344614948593464044218192390701150752502949920812229045459661486319961688279071179575933459482281668890499103576621037599333704854137755947459995422337371935859064582207588022750560718680257456953239060738676296922455536719162311932683843158848840600229050384818063939426434371692328747007994459671257463360325501820233725313463601895127759848991388839634157014153938387952246210178943837831013171622169005415420177915793136293594622694202683149548786228932014583267687364379965907309393245204917971991749180495197796297499587079338716124989135363810551245860968813202306502144422901112531393673396172417932799295135964374474166534171835686075722877528049042627681384943385199519709968980370760303214893763253048439788348140989356690593547164855816075706732155727962639960019617908626382660837149851076848803286410932668514151104605687410202219648912583340357605835139732951042611684274057191931891401301694048558836720396973753480647373205652425301682054187857846262307900874467432635780046028995684000540193426065307572083576555747044124798165247481324117648638409621932934476445821861368169666411875362576577927656028008695525932577166013473747896118471491309218060752223805177288374011820152016172972994443389511959637747353850699077687334528499878453256975287522552051601059645505372349374619916420432636521407130734536406772474415801008564920329609434758624149360782317098822257114807681069400983162410714672624718429441254283892212872857524639522444020457148389964650184891224332217598909531072973182691139517844224438781269947396170440946325972652817844745910419148227689654333490932672787077752250854688865540218632336647617155789564196017334666461062419645051590631431164458480562297612377508063940290320067693449798533743806127564179933833479569929694727399709385832332649065518064369260576913910419785482687770370560284669600264384417785822481780067713617005666105376466870980069127998011424196247360490252706567048969445672233690188881987816689062189039259503276250880379641861258908853541068070487353635192348422094935333616757526846279784215120588164798997775684589735599560845547385209471978660249618089595293695999999999999999999999999999999999999999999999999999999999999999999999999999995869829399834197969493635156842614844605711412241723062179225560324900995221568500900128999273034104692072085051613681642392166338031760704382831971637104620447335777103729803841974323623617257343557035273917695889304242463919433780206000806529804970296869960378397939048305583426484818692526364893519975860757443521408287232277111607282792923947984833174087759049622944127918770050107871106718022168724036903471368866244118423016741452257606425268050414998522758914723954711702794372285270757034356162168515589101498003745189817626166621050208960922070309726436833033501230414852215779962430974535856237834813860684761176036067344767225051016925033778402207462511855870205087773282744945047961990495112079443097116816350345647053089691069633181219737569678741998310316800356052613387246438760451926904019332831515572707374528945098256693909958486066263161751389617858576487609036221026124004531533773423769154648959267514671832863393954390294119224041563699257857539960779962516750551776272552559070874741468754507426895276490051730794691501090496387129158106037190623718651252232132685189933833872811433662081858266990382366168652994965365100231585029746963896000166372176594728193350409206848580674799064184395883440932415216064132631607807197723075231442848619820649387322561604956864774501329159152309914212175286280639476035488819887225208540347703467027497763621848009036828808371745863136609079404623514801351648010571825380639852533231518612362300576943026996624089548973209396166571382309491581127164113919112813980480949159373825598623930776141521927591405391285294938261688242652840131508376251722898852227230132492205064659536278145731832762997791731620368791093151268846623890449651552591341186632945587642378845763949222285712356652104921572957590567722748378330051667975406026218547907305146575462818542892552028157932979714291046921982545357861097250594123747054090871238761515779716817295682024572711346328075472053031610257935119399266885720471610139411948078711689676488844862043566970286379047935236574408551759416251508429559685537889045409313017895998711992598501730964102675067254971682969838343016239001525730478426446801184831460840536914313213317939523141041959697978430669425533605189569322879589711435430832331452300726317589077728241859186636640398199092308414833894819024834736635209140264763022153170284123717781823248842377784945614095246015142651008054159986611424323706981560124764590723121426685401634827397081242186077274653470527648239608513951385075570935817437156333762167452051730924764654611650972572913660237784856349338583348065812135775230539704998463299506921267540602931120150996585180333874152791930064116963907456366719380114511618412687105866553770610616451572062373221829185506528577068170192456803964525042692737181947325340533169329750903055930725824403853104310572941287963512511071960002705345952427176099621842078664798449371906751831755698521504473377432895220751442281870493204994074639471091502798467103031249431547664781890817699456782172577000000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999999999999999999999999999999999999999999999999999999999999999949582878415944799432295351035676450739815813137716345973867499515684826601825787364503527823157154598291895569477706074736" + }, + "group_scans": { + "rational": "2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix": { + "rational": "351078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999997948485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999999999999999999999999999999999999999999999999999999999999999899828407388648266477431783678558816913271937712572115324622499838561608867275262454834509274385718199430631856492568691579" + }, + "sparse_union_movement": { + "rational": "83551078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999997948485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40796425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999998998284073886482664774317836785588169132719377125721153246224998385616088672752624548345092743857181994306318564925686916" + }, + "polynomial_products": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "microbox_face_corrections": { + "rational": "78848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "77.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400390625" + } + }, + "strict_checks": { + "actual_bit_above_effective": { + "rational": "3835000065919818442768754818006866713100912534333838855492360365048741638768300001048774577513046277008821557834810100749319821396428490917333102740687971116551033363656941804669297752985832061439311170062568205725548487149868131756104118128495693470487482751202756490289296150283078801027356857885982607784093669986075059163509002299129462991746611171445195525389789657876179269169683794455464786374283768059909481659499374119849205346393701366263536573355763534341095217095889205571306967758993188361915358548764258090974127042005049188690739203823656312494577508140084673595250243596999792974440958006616753534643707610303615993699601763618160800017946849689885123618599782786544268682617808903350239374773307450002810138643005618452302286339329834786520311465990246797175718595499502117495340683084006760289209003044950773156558487072833220050920014238939982590052744788912366066048817329542873363976867064709491989201893198324832441415603447492387798844370243583576931030492290864004492350169713345274426889649555093415054721908060984475580383163887040952769298525619936846607196666128730673263688309608603796669775334704495894027358538468170973552552000001352619321908359295531782169500655892675318572324255617336709073692135216323635753846140093031289592037799896931395162250933126027066334571625318798173059192190862077144877131912264555672385910792664744893073244201860230664600513305764873208321258547574374069689637240974410839280639124896752658073390216456012593278125172085946197638142935993204178204169219353503651702226224379056347773508308354401669847847926327330798720754797817141270339210559774205123028391911094792977871103510835471526762045694055212139441210135153580891476037327977127097118598718527201332920506387905338634999362381769029005876003075854078601426065253809332579716638824900963763354081529739292518002366235138069474454155262199952225585805616839339524518534283067444569305469197937626629854089687888275895279668836469272126911702536163241558452654380852536939568864116902828741760767549201296067085434386664110064138580563520470699176520265028469357431729065587438794170486490593627959361997808767694689440527085047484039953765961934467667813349265837223013572565313863329831893329997653946592132776034965254614545347384080155988915775595114571613128730852187193778346627716587518398554090815318079006356286575954290934517187766227765387406569546016151312392875666516748981825940838385582808143372580464075139724205484987565265432842345641881179476186470060464685640342824813428706705403696029682703844826505998250864628768970309478147445327077558577223278857779847703582137651383341435651872633123193430325724528161849238753816098491964377338919559890681061874930500585872953023001508183159163155855223226048492073517827131560547360492139588046755309397810779060193927677321731229983443191146926504087035332946562407313998716086705678450178103673428908118061011978678316221306922294974556855325155078369683670754459082138465442532907843755209899995583594899000000000000000000000000000000000000000000000000000000000000000000000000000000003/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.000019175000329599092213843774090034333565504562671669194277461801825243708193841500005243872887565231385044107789174050503746599106982142454586665513703439855582755166818284709023346488764929160307196555850312841028627742435749340658780520590642478467352437413756013782451446480751415394005136784289429913038920468349930375295817545011495647314958733055857225977626948948289380896345848418972277323931871418840299547408297496870599246026731968506831317682866778817671705476085479446027856534838794965941809576792743821290454870635210025245943453696019118281562472887540700423367976251217984998964872204790033083767673218538051518079968498008818090804000089734248449425618092998913932721343413089044516751196873866537250014050693215028092261511431696649173932601557329951233985878592977497510587476703415420033801446045015224753865782792435364166100254600071194699912950263723944561830330244086647714366819884335323547459946009465991624162207078017237461938994221851217917884655152461454320022461750848566726372134448247775467075273609540304922377901915819435204763846492628099684233035983330643653366318441548043018983348876673522479470136792692340854867762760000006763096609541796477658910847503279463376592861621278086683545368460676081618178769230700465156447960188999484656975811254665630135331672858126593990865295960954310385724385659561322778361929553963323724465366221009301153323002566528824366041606292737871870348448186204872054196403195624483763290366951082280062966390625860429730988190714679966020891020846096767518258511131121895281738867541541772008349239239631636653993603773989085706351696052798871025615141959555473964889355517554177357633810228470276060697206050675767904457380186639885635485592993592636006664602531939526693174996811908845145029380015379270393007130326269046662898583194124504818816770407648696462590011831175690347372270776310999761127929028084196697622592671415337222846527345989688133149270448439441379476398344182346360634558512680816207792263271904262684697844320584514143708803837746006480335427171933320550320692902817602353495882601325142346787158645327937193970852432452968139796809989043838473447202635425237420199768829809672338339066746329186115067862826569316649159466649988269732960663880174826273072726736920400779944578877975572858065643654260935968891733138582937591992770454076590395031781432879771454672585938831138826937032847730080756561964378332583744909129704191927914040716862902320375698621027424937826327164211728209405897380932350302323428201714124067143533527018480148413519224132529991254323143844851547390737226635387792886116394288899238517910688256916707178259363165615967151628622640809246193769080492459821886694597799453405309374652502929364765115007540915795815779276116130242460367589135657802736802460697940233776546989053895300969638386608656149917215955734632520435176664732812036569993580433528392250890518367144540590305059893391581106534611474872784276625775391848418353772295410692327212664539218776049499977917974495000000000000000000000000000000000000000000000000000000000000000000000000000000015" + }, + "complex_above_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "q_positive": { + "rational": "85712601963012257126757811295498283321724771866416540286126909908737814590307924999737806355621738430747794610541297474812670044650892877270666724314828007220862241659085764548832675561753541984640172207484357948568612878212532967060973970467876076632378129312199310877427675962429230299743160785528504348053976582503481235209122749425217634252063347207138701118652552585530955182707579051386133803406429057985022629585125156470037698663401574658434115856661059116414726195726027698607173258060251702909521160362808935477256468239498737702827315199044085921876355622964978831601187439100750051756389760498345811616339073097424096001575099559095459799995513287577528719095350054303363932829345547774162440156306673137499297465339248595386924428415167541303369922133502438300706070351125124470626164829228998309927697749238762306710860378231791694987269996440265004352486813802771908483487795667614281659005783233822627002699526700418791889646099138126903050288907439104105767242376927283998876912457571663681393277587611226646236319522984753881104904209028239761807675368595015788348200833467817331684077922597849050832556166323876026493160365382957256611861999999661845169522910176117054457624836026831170356918936095665822731576966195919091061538464976742177601990550025767151209437266718493233416357093670300456735201952284480713780717021933861081903522301833813776731688949534942333849871673558781697919685363106406482577590689756397290179840218775811835481652445885996851680468706978513450590464266001698955448957695161624087074443443905235913056622922911399582538038018418167300319811300545714682415197360056448719242902022226301755532224122291132118309488576486196965139697466211604777130990668005718225720350320368199666769873403023665341250159404557742748530999231036480349643483686547666855070840293774759059161479617565176870499408441215482631386461184450011943603548595790165118870366429233138857673632700515593342536477578027931026180082790882681968272074365959189610386836404786865765107783970774292814559808112699675983228641403333972483965354859119882325205869933742882660642067733603140301457378377351593010159500547808076327639868228738128990011558509516383083046662683540694246606858671534167542026667500586513351966805991258686346363663153979961002771056101221357096717817286953201555413343070853120400361477296170480248410928356011427266370703058443058653148357613495962171901781083370812754543514790403604297964156854883981215068948628753108683641789413589529705130953382484883828589914293796642823323649075992579324038793373500437283842807757422630463138668230610355694180285555038074104465587154164641087031841719201642418568867959537690311545975377008905665270110027329734531267374853531761744249622954210209211036194193487876981620543217109863159876965102988311172650547305234951518080669567192504139202213268373978241166763359398171500320978323580387455474081642772970484747005330420944673269426256360786168711230407579082311385229465383639366773039061197525001104101275249999999999999999999999999999999999999999999999999999999999999999999999999999999/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.00171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999998" + }, + "complex_endpoint": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "q_below_effective": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "stop_positive": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3086" + }, + "stop_below_one": { + "rational": "99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999" + }, + "leaf_saving_above_effective": { + "rational": "49999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "4.9999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "q_below_internal": { + "rational": "1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "5E-3081" + }, + "q_below_leaf": { + "rational": "99999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "lambda_above_tau": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_above_sigma": { + "rational": "3/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "7.5E-3081" + }, + "lambda_above_internal": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_prime_above_lambda": { + "rational": "1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.5E-3081" + }, + "lambda_prime_above_leaf": { + "rational": "99999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.9999999828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001E-3081" + }, + "epsilon_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989990234375" + }, + "epsilon_below_one": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "cap_above_band": { + "rational": "83551078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999995898485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40796425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999997997307511386482664774317836785588169132719377125721153246224998385616088672752624548345092743857181994306318564925686916" + }, + "cap_below_cell": { + "rational": "18848921182359501794808800004933639031514215334435157850988024177013809911438098739201073945167373359387657033275222845543167303497109942774699349097206464482423348258164384708407981360899057492030913854638144069842662961650841464966918250616963579590113779182337231622646056239257889872692252013422475246190370911918065740860583433218354308570103548529839559880217999144609665207571629756205522395941247266578493347309219327359098725586274707150199053861451116301859165281502306190546505018334985209024882601327153934600285157506091013170369219316944715424063994447368335446705761536249443327788005827540998775555619475156592950902777548392205944996659218377574082442366585446177573421331131000636317030645119767866828802877581970437753295157541211473750821396798941174012720307935841791490168315228859478022922536150019118029591712315890762581217332142094580674542172214010663846262851633988945451902324712311874262519796942738635084628420009577930232205106016635129429582777375224105844740600166573786465561013135001144415657016035233854448102994312359820329935635761690234815330925769386115820209422016829039210287789849942737403795484015143391407076917813248001385082185634159918624544941568671634099526218060037752152790091460746461515403011938447455264040542246707094457748646144955521051715926601344326449329212612803442766996354183078158905008523172651688698770507002062704876200550925625103230165320968752716159047362188534757796699423374463894274721867151581650956895516800176216008906381458366457041078481069280617987739343079653764153700120072507754907309924196276559186737890052912964752660827351613208786045981073316961068009340009995095522843404334790712537230787799178397266832871462223848578147449445087771854164910598541215066762239347078931485702017027149674576487860290819900756561629838156698586893674579486453035538434423024781383141841054988492751078999864951643483673106979105861063238968800458688129668970587840397594516766380888544534657957583397031159355855518085992997826118516855708496631563025970382127172695484811944048705677906497044961995956756751389152622010090563161537325230578166367875030386685756178119361987099735088623656912656345020894891840869648217316365898306881396049747858769917597641310343962659804420725294435721298079732649754209397321331843820392639686429026946781785618840119388994885712902508837453777193916945600272617231756704327215120538943890304682513150957389763418506836795538813522395212943077586416627266831803230561937286327783614945341915838095711052608950995666333384734395088737102342142208885379859425596905622984014927419983076637550366564048468108955016541630107517576318150072653541916837733620483907684855771522395053629328057407359928832599933903895553544379554983071595748583473655883282254982718000497143950938159877436823358237757638581941577452779503045827734452740185124180937279905089534685272786614732982378161591201912894476266166595810618288430053946219852958800250556078852566100109788613153697632005334937595477601176576000000000000000000000000000000000000000000000000000000000000000000000000000002051514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.092035747960739754857464843774090034333565504562671669194277461801825243708193841500005243872887565231385044107789174050503746599106982142454586665513703439855582755166818284709023346488764929160307196555850312841028627742435749340658780520590642478467352437413756013782451446480751415394005136784289429913038920468349930375295817545011495647314958733055857225977626948948289380896345848418972277323931871418840299547408297496870599246026731968506831317682866778817671705476085479446027856534838794965941809576792743821290454870635210025245943453696019118281562472887540700423367976251217984998964872204790033083767673218538051518079968498008818090804000089734248449425618092998913932721343413089044516751196873866537250014050693215028092261511431696649173932601557329951233985878592977497510587476703415420033801446045015224753865782792435364166100254600071194699912950263723944561830330244086647714366819884335323547459946009465991624162207078017237461938994221851217917884655152461454320022461750848566726372134448247775467075273609540304922377901915819435204763846492628099684233035983330643653366318441548043018983348876673522479470136792692340854867762760000006763096609541796477658910847503279463376592861621278086683545368460676081618178769230700465156447960188999484656975811254665630135331672858126593990865295960954310385724385659561322778361929553963323724465366221009301153323002566528824366041606292737871870348448186204872054196403195624483763290366951082280062966390625860429730988190714679966020891020846096767518258511131121895281738867541541772008349239239631636653993603773989085706351696052798871025615141959555473964889355517554177357633810228470276060697206050675767904457380186639885635485592993592636006664602531939526693174996811908845145029380015379270393007130326269046662898583194124504818816770407648696462590011831175690347372270776310999761127929028084196697622592671415337222846527345989688133149270448439441379476398344182346360634558512680816207792263271904262684697844320584514143708803837746006480335427171933320550320692902817602353495882601325142346787158645327937193970852432452968139796809989043838473447202635425237420199768829809672338339066746329186115067862826569316649159466649988269732960663880174826273072726736920400779944578877975572858065643654260935968891733138582937591992770454076590395031781432879771454672585938831138826937032847730080756561964378332583744909129704191927914040716862902320375698621027424937826327164211728209405897380932350302323428201714124067143533527018480148413519224132529991254323143844851547390737226635387792886116394288899238517910688256916707178259363165615967151628622640809246193769080492459821886694597799453405309374652502929364765115007540915795815779276116130242460367589135657802736802460697940233776546989053895300969638386608656149917215955734632520435176664732812036569993580433528392250890518367144540590305059893391581106534611474872784276625775391848418353772295410692327212664539218776049499977917974495000000000000000000000000000000000000000000000000000000000000000000000000000000010017159261135173352256821632144118308672806228742788467537750016143839113272473754516549072561428180056936814350743130842" + }, + "group_positive": { + "rational": "4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "group_below_dimension": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-3080" + }, + "support_router_span": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "group_gauge_power_slack": { + "rational": "18848921182359501794808800004933639031514215334435157850988024177013809911438098739201073945167373359387657033275222845543167303497109942774699349097206464482423348258164384708407981360899057492030913854638144069842662961650841464966918250616963579590113779182337231622646056239257889872692252013422475246190370911918065740860583433218354308570103548529839559880217999144609665207571629756205522395941247266578493347309219327359098725586274707150199053861451116301859165281502306190546505018334985209024882601327153934600285157506091013170369219316944715424063994447368335446705761536249443327788005827540998775555619475156592950902777548392205944996659218377574082442366585446177573421331131000636317030645119767866828802877581970437753295157541211473750821396798941174012720307935841791490168315228859478022922536150019118029591712315890762581217332142094580674542172214010663846262851633988945451902324712311874262519796942738635084628420009577930232205106016635129429582777375224105844740600166573786465561013135001144415657016035233854448102994312359820329935635761690234815330925769386115820209422016829039210287789849942737403795484015143391407076917813248001385082185634159918624544941568671634099526218060037752152790091460746461515403011938447455264040542246707094457748646144955521051715926601344326449329212612803442766996354183078158905008523172651688698770507002062704876200550925625103230165320968752716159047362188534757796699423374463894274721867151581650956895516800176216008906381458366457041078481069280617987739343079653764153700120072507754907309924196276559186737890052912964752660827351613208786045981073316961068009340009995095522843404334790712537230787799178397266832871462223848578147449445087771854164910598541215066762239347078931485702017027149674576487860290819900756561629838156698586893674579486453035538434423024781383141841054988492751078999864951643483673106979105861063238968800458688129668970587840397594516766380888544534657957583397031159355855518085992997826118516855708496631563025970382127172695484811944048705677906497044961995956756751389152622010090563161537325230578166367875030386685756178119361987099735088623656912656345020894891840869648217316365898306881396049747858769917597641310343962659804420725294435721298079732649754209397321331843820392639686429026946781785618840119388994885712902508837453777193916945600272617231756704327215120538943890304682513150957389763418506836795538813522395212943077586416627266831803230561937286327783614945341915838095711052608950995666333384734395088737102342142208885379859425596905622984014927419983076637550366564048468108955016541630107517576318150072653541916837733620483907684855771522395053629328057407359928832599933903895553544379554983071595748583473655883282254982718000497143950938159877436823358237757638581941577452779503045827734452740185124180937279905089534685272786614732982378161591201912894476266166595810618288430053946219852958800250556078852566100109788613153697632005334937595477601176576000000000000000000000000000000000000000000000000000000000000000000000000000006152514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.18407149592147950971492968754818006866713100912534333838855492360365048741638768300001048774577513046277008821557834810100749319821396428490917333102740687971116551033363656941804669297752985832061439311170062568205725548487149868131756104118128495693470487482751202756490289296150283078801027356857885982607784093669986075059163509002299129462991746611171445195525389789657876179269169683794455464786374283768059909481659499374119849205346393701366263536573355763534341095217095889205571306967758993188361915358548764258090974127042005049188690739203823656312494577508140084673595250243596999792974440958006616753534643707610303615993699601763618160800017946849689885123618599782786544268682617808903350239374773307450002810138643005618452302286339329834786520311465990246797175718595499502117495340683084006760289209003044950773156558487072833220050920014238939982590052744788912366066048817329542873363976867064709491989201893198324832441415603447492387798844370243583576931030492290864004492350169713345274426889649555093415054721908060984475580383163887040952769298525619936846607196666128730673263688309608603796669775334704495894027358538468170973552552000001352619321908359295531782169500655892675318572324255617336709073692135216323635753846140093031289592037799896931395162250933126027066334571625318798173059192190862077144877131912264555672385910792664744893073244201860230664600513305764873208321258547574374069689637240974410839280639124896752658073390216456012593278125172085946197638142935993204178204169219353503651702226224379056347773508308354401669847847926327330798720754797817141270339210559774205123028391911094792977871103510835471526762045694055212139441210135153580891476037327977127097118598718527201332920506387905338634999362381769029005876003075854078601426065253809332579716638824900963763354081529739292518002366235138069474454155262199952225585805616839339524518534283067444569305469197937626629854089687888275895279668836469272126911702536163241558452654380852536939568864116902828741760767549201296067085434386664110064138580563520470699176520265028469357431729065587438794170486490593627959361997808767694689440527085047484039953765961934467667813349265837223013572565313863329831893329997653946592132776034965254614545347384080155988915775595114571613128730852187193778346627716587518398554090815318079006356286575954290934517187766227765387406569546016151312392875666516748981825940838385582808143372580464075139724205484987565265432842345641881179476186470060464685640342824813428706705403696029682703844826505998250864628768970309478147445327077558577223278857779847703582137651383341435651872633123193430325724528161849238753816098491964377338919559890681061874930500585872953023001508183159163155855223226048492073517827131560547360492139588046755309397810779060193927677321731229983443191146926504087035332946562407313998716086705678450178103673428908118061011978678316221306922294974556855325155078369683670754459082138465442532907843755209899995583594899000000000000000000000000000000000000000000000000000000000000000000000000000000006008314664727034670451364326428823661734561245748557693507550003228767822654494750903309814512285636011387362870148626168" + }, + "actual_logarithmic_group_guard": { + "rational": "18848921182359501794808800004933639031514215334435157850988024177013809911438098739201073945167373359387657033275222845543167303497109942774699349097206464482423348258164384708407981360899057492030913854638144069842662961650841464966918250616963579590113779182337231622646056239257889872692252013422475246190370911918065740860583433218354308570103548529839559880217999144609665207571629756205522395941247266578493347309219327359098725586274707150199053861451116301859165281502306190546505018334985209024882601327153934600285157506091013170369219316944715424063994447368335446705761536249443327788005827540998775555619475156592950902777548392205944996659218377574082442366585446177573421331131000636317030645119767866828802877581970437753295157541211473750821396798941174012720307935841791490168315228859478022922536150019118029591712315890762581217332142094580674542172214010663846262851633988945451902324712311874262519796942738635084628420009577930232205106016635129429582777375224105844740600166573786465561013135001144415657016035233854448102994312359820329935635761690234815330925769386115820209422016829039210287789849942737403795484015143391407076917813248001385082185634159918624544941568671634099526218060037752152790091460746461515403011938447455264040542246707094457748646144955521051715926601344326449329212612803442766996354183078158905008523172651688698770507002062704876200550925625103230165320968752716159047362188534757796699423374463894274721867151581650956895516800176216008906381458366457041078481069280617987739343079653764153700120072507754907309924196276559186737890052912964752660827351613208786045981073316961068009340009995095522843404334790712537230787799178397266832871462223848578147449445087771854164910598541215066762239347078931485702017027149674576487860290819900756561629838156698586893674579486453035538434423024781383141841054988492751078999864951643483673106979105861063238968800458688129668970587840397594516766380888544534657957583397031159355855518085992997826118516855708496631563025970382127172695484811944048705677906497044961995956756751389152622010090563161537325230578166367875030386685756178119361987099735088623656912656345020894891840869648217316365898306881396049747858769917597641310343962659804420725294435721298079732649754209397321331843820392639686429026946781785618840119388994885712902508837453777193916945600272617231756704327215120538943890304682513150957389763418506836795538813522395212943077586416627266831803230561937286327783614945341915838095711052608950995666333384734395088737102342142208885379859425596905622984014927419983076637550366564048468108955016541630107517576318150072653541916837733620483907684855771522395053629328057407359928832599933903895553544379554983071595748583473655883282254982718000497143950938159877436823358237757638581941577452779503045827734452740185124180937279905089534685272786614732982378161591201912894476266166595810618288430053946219852958800250556078852566100109788613153697632005334937595477601176576000000000000000000000000000000000000000000000000000000000000000000000000000007176514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.18407149592147950971492968754818006866713100912534333838855492360365048741638768300001048774577513046277008821557834810100749319821396428490917333102740687971116551033363656941804669297752985832061439311170062568205725548487149868131756104118128495693470487482751202756490289296150283078801027356857885982607784093669986075059163509002299129462991746611171445195525389789657876179269169683794455464786374283768059909481659499374119849205346393701366263536573355763534341095217095889205571306967758993188361915358548764258090974127042005049188690739203823656312494577508140084673595250243596999792974440958006616753534643707610303615993699601763618160800017946849689885123618599782786544268682617808903350239374773307450002810138643005618452302286339329834786520311465990246797175718595499502117495340683084006760289209003044950773156558487072833220050920014238939982590052744788912366066048817329542873363976867064709491989201893198324832441415603447492387798844370243583576931030492290864004492350169713345274426889649555093415054721908060984475580383163887040952769298525619936846607196666128730673263688309608603796669775334704495894027358538468170973552552000001352619321908359295531782169500655892675318572324255617336709073692135216323635753846140093031289592037799896931395162250933126027066334571625318798173059192190862077144877131912264555672385910792664744893073244201860230664600513305764873208321258547574374069689637240974410839280639124896752658073390216456012593278125172085946197638142935993204178204169219353503651702226224379056347773508308354401669847847926327330798720754797817141270339210559774205123028391911094792977871103510835471526762045694055212139441210135153580891476037327977127097118598718527201332920506387905338634999362381769029005876003075854078601426065253809332579716638824900963763354081529739292518002366235138069474454155262199952225585805616839339524518534283067444569305469197937626629854089687888275895279668836469272126911702536163241558452654380852536939568864116902828741760767549201296067085434386664110064138580563520470699176520265028469357431729065587438794170486490593627959361997808767694689440527085047484039953765961934467667813349265837223013572565313863329831893329997653946592132776034965254614545347384080155988915775595114571613128730852187193778346627716587518398554090815318079006356286575954290934517187766227765387406569546016151312392875666516748981825940838385582808143372580464075139724205484987565265432842345641881179476186470060464685640342824813428706705403696029682703844826505998250864628768970309478147445327077558577223278857779847703582137651383341435651872633123193430325724528161849238753816098491964377338919559890681061874930500585872953023001508183159163155855223226048492073517827131560547360492139588046755309397810779060193927677321731229983443191146926504087035332946562407313998716086705678450178103673428908118061011978678316221306922294974556855325155078369683670754459082138465442532907843755209899995583594899000000000000000000000000000000000000000000000000000000000000000000000000000000007008314664727034670451364326428823661734561245748557693507550003228767822654494750903309814512285636011387362870148626168" + }, + "global_gamma_power_slack": { + "rational": "1/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.765625E-3084" + }, + "actual_logarithmic_gamma_guard": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "alpha_logarithm_absorption": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "group_key_fits_record": { + "rational": "41/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "2.001953125E-3080" + }, + "membership_arithmetic_fits_record": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "microbox_halo_volume": { + "rational": "323584000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "79.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030029296875" + }, + "positive_layout_slack": { + "rational": "1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1E-3080" + }, + "short_record_fallback": { + "rational": "102224460591179750897404400002466819515757107667217578925494012088506904955719049369600536972583686679693828516637611422771583651748554971387349674548603232241211674129082192354203990680449528746015456927319072034921331480825420732483459125308481789795056889591168615811323028119628944936346126006711237623095185455959032870430291716609177154285051774264919779940108999572304832603785814878102761197970623633289246673654609663679549362793137353575099526930725558150929582640751153095273252509167492604512441300663576967300142578753045506585184609658472357712031997223684167723352880768124721663894002913770499387777809737578296475451388774196102972498329609188787041221183292723088786710665565500318158515322559883933414401438790985218876647578770605736875410698399470587006360153967920895745084157614429739011461268075009559014795856157945381290608666071047290337271086107005331923131425816994472725951162356155937131259898471369317542314210004788965116102553008317564714791388687612052922370300083286893232780506567500572207828508017616927224051497156179910164967817880845117407665462884693057910104711008414519605143894924971368701897742007571695703538458906624000692541092817079959312272470784335817049763109030018876076395045730373230757701505969223727632020271123353547228874323072477760525857963300672163224664606306401721383498177091539079452504261586325844349385253501031352438100275462812551615082660484376358079523681094267378898349711687231947137360933575790825478447758400088108004453190729183228520539240534640308993869671539826882076850060036253877453654962098138279593368945026456482376330413675806604393022990536658480534004670004997547761421702167395356268615393899589198633416435731111924289073724722543885927082455299270607533381119673539465742851008513574837288243930145409950378280814919078349293446837289743226517769217211512390691570920527494246375539499932475821741836553489552930531619484400229344064834485293920198797258383190444272267328978791698515579677927759042996498913059258427854248315781512985191063586347742405972024352838953248522480997978378375694576311005045281580768662615289083183937515193342878089059680993549867544311828456328172510447445920434824108658182949153440698024873929384958798820655171981329902210362647217860649039866324877104698660665921910196319843214513473390892809420059694497442856451254418726888596958472800136308615878352163607560269471945152341256575478694881709253418397769406761197606471538793208313633415901615280968643163891807472670957919047855526304475497833166692367197544368551171071104442689929712798452811492007463709991538318775183282024234054477508270815053758788159075036326770958418866810241953842427885761197526814664028703679964416299966951947776772189777491535797874291736827941641127491359000248571975469079938718411679118878819290970788726389751522913867226370092562090468639952544767342636393307366491189080795600956447238133083297905309144215026973109926479400125278039426283050054894306576848816002667468797738800588288000000000000000000000000000000000000000000000000000000000000000000000000000000511/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998285747960739754857464843774090034333565504562671669194277461801825243708193841500005243872887565231385044107789174050503746599106982142454586665513703439855582755166818284709023346488764929160307196555850312841028627742435749340658780520590642478467352437413756013782451446480751415394005136784289429913038920468349930375295817545011495647314958733055857225977626948948289380896345848418972277323931871418840299547408297496870599246026731968506831317682866778817671705476085479446027856534838794965941809576792743821290454870635210025245943453696019118281562472887540700423367976251217984998964872204790033083767673218538051518079968498008818090804000089734248449425618092998913932721343413089044516751196873866537250014050693215028092261511431696649173932601557329951233985878592977497510587476703415420033801446045015224753865782792435364166100254600071194699912950263723944561830330244086647714366819884335323547459946009465991624162207078017237461938994221851217917884655152461454320022461750848566726372134448247775467075273609540304922377901915819435204763846492628099684233035983330643653366318441548043018983348876673522479470136792692340854867762760000006763096609541796477658910847503279463376592861621278086683545368460676081618178769230700465156447960188999484656975811254665630135331672858126593990865295960954310385724385659561322778361929553963323724465366221009301153323002566528824366041606292737871870348448186204872054196403195624483763290366951082280062966390625860429730988190714679966020891020846096767518258511131121895281738867541541772008349239239631636653993603773989085706351696052798871025615141959555473964889355517554177357633810228470276060697206050675767904457380186639885635485592993592636006664602531939526693174996811908845145029380015379270393007130326269046662898583194124504818816770407648696462590011831175690347372270776310999761127929028084196697622592671415337222846527345989688133149270448439441379476398344182346360634558512680816207792263271904262684697844320584514143708803837746006480335427171933320550320692902817602353495882601325142346787158645327937193970852432452968139796809989043838473447202635425237420199768829809672338339066746329186115067862826569316649159466649988269732960663880174826273072726736920400779944578877975572858065643654260935968891733138582937591992770454076590395031781432879771454672585938831138826937032847730080756561964378332583744909129704191927914040716862902320375698621027424937826327164211728209405897380932350302323428201714124067143533527018480148413519224132529991254323143844851547390737226635387792886116394288899238517910688256916707178259363165615967151628622640809246193769080492459821886694597799453405309374652502929364765115007540915795815779276116130242460367589135657802736802460697940233776546989053895300969638386608656149917215955734632520435176664732812036569993580433528392250890518367144540590305059893391581106534611474872784276625775391848418353772295410692327212664539218776049499977917974495000000000000000000000000000000000000000000000000000000000000000000000000000000004990234375" + }, + "improvement_over_online_final": { + "rational": "29336310710619039675214220573535327852916731239680602188661175549801853195863083264213930296833330017722103196034677641344516078649611765322939903000932962918834149545143409308370810935309399475105859278463531363564021671247993663575540758318289250551055776775451160223326894822986771396535576741865748182145303653009664404016820350755092813597679594396819252024506304890758732904331349949416309652287099260735131067058274018709104821966338034769008972103471940290189162441443202109248594902101180833837882912729684052888182520600751830231906653773488876965411377033224997340542240779097624709980522341631377365265920055397259618721755832834739445558911023765558506008265604081854227165306143667294758496532504257568859403358877780767910542937016467475970668723058130158436986738291955699028853344365105307187202525328385735003706840644747986984400815545417969366526991667147661976036217082537429988203658559153228247116882288841482969491740442770531940662941309212241882984882040854367949255625217066209214922855064657391577338041398470613024059952327355110587036879493815692378758586542864958118235867044238111380613306946875111736564538126873650369162546131400228712197486189067675453590183037975593864885292463357556511929914624638488287636756385132726868194774394362853780722727839857970135826330503121634050771748806947537508361076911280928018133835329080496602276033877542858531337682031211473224691817054964761970570651441421124804321345577434662200037634791518975802247880294621613467541021302621916141511923559863763126092761089185958349092851938277304803190296780516211355833529531249123329846725225420975140064007191268461963838866357780887966924544613632581854663005905696679745418479755049824568152846068345466509649343723762179616986675465969143352402795283807927522381950536565557362629524760791970523485569664742873043952944534613957931431641237643644444147569429007287058942666933155898459814078035466499366194819380028526456685134192464350488503945168102588995306941894781182860083220225797908568793096152528780560588294159105615130994088909743605262303315154055276858894835890382092920285713637358934838860878437373475425237112813880488053416176566592481424063486836587519990459750915348146407129009816339223235285061764965032401798242500452028351505230580024255937737366870684973711405903231518718580700466412478555257765712914831266896731300083074369322840903777489876520530894149498121341336812630939902254949235732885312877661235677387162748445330898329594445966672192043064340625088112313293866561850657831671485674466599255216229044290715529591815471105132860706479462482022947111593090244623629818880859484397684121468544470141922591635708122469579388154033182645886437219672660515611065924195215025610174761884060106176018607597452878863193125751109341443326804160521181209309822586394482491248849787469114158808017474739447016063247417240288347663918175358602809316549343558067090057525389929194484239026352776329962814331554798659247204720995412332225848981790255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000029336310710619039675214220573535327852916731239680602188661175549801853195863083264213930296833330017722103196034677641344516078649611765322939903000932962918834149545143409308370810935309399475105859278463531363564021671247993663575540758318289250551055776775451160223326894822986771396535576741865748182145303653009664404016820350755092813597679594396819252024506304890758732904331349949416309652287099260735131067058274018709104821966338034769008972103471940290189162441443202109248594902101180833837882912729684052888182520600751830231906653773488876965411377033224997340542240779097624709980522341631377365265920055397259618721755832834739445558911023765558506008265604081854227165306143667294758496532504257568859403358877780767910542937016467475970668723058130158436986738291955699028853344365105307187202525328385735003706840644747986984400815545417969366526991667147661976036217082537429988203658559153228247116882288841482969491740442770531940662941309212241882984882040854367949255625217066209214922855064657391577338041398470613024059952327355110587036879493815692378758586542864958118235867044238111380613306946875111736564538126873650369162546131400228712197486189067675453590183037975593864885292463357556511929914624638488287636756385132726868194774394362853780722727839857970135826330503121634050771748806947537508361076911280928018133835329080496602276033877542858531337682031211473224691817054964761970570651441421124804321345577434662200037634791518975802247880294621613467541021302621916141511923559863763126092761089185958349092851938277304803190296780516211355833529531249123329846725225420975140064007191268461963838866357780887966924544613632581854663005905696679745418479755049824568152846068345466509649343723762179616986675465969143352402795283807927522381950536565557362629524760791970523485569664742873043952944534613957931431641237643644444147569429007287058942666933155898459814078035466499366194819380028526456685134192464350488503945168102588995306941894781182860083220225797908568793096152528780560588294159105615130994088909743605262303315154055276858894835890382092920285713637358934838860878437373475425237112813880488053416176566592481424063486836587519990459750915348146407129009816339223235285061764965032401798242500452028351505230580024255937737366870684973711405903231518718580700466412478555257765712914831266896731300083074369322840903777489876520530894149498121341336812630939902254949235732885312877661235677387162748445330898329594445966672192043064340625088112313293866561850657831671485674466599255216229044290715529591815471105132860706479462482022947111593090244623629818880859484397684121468544470141922591635708122469579388154033182645886437219672660515611065924195215025610174761884060106176018607597452878863193125751109341443326804160521181209309822586394482491248849787469114158808017474739447016063247417240288347663918175358602809316549343558067090057525389929194484239026352776329962814331554798659247204720995412332225848981790255049999999999999999999998999999999999999999999999" + }, + "improvement_over_previous_local_final": { + "rational": "408919338544671425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000408919338544671425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "complex_below_one_over_32": { + "rational": "2953574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.02953574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + "strassen_integer_power_gap": { + "rational": "1951441519231", + "decimal": "1951441519231" + }, + "theta_positive_polynomial_power": { + "rational": "2", + "decimal": "2" + }, + "cap_below_phase_cell_power": { + "rational": "223648921182359501794808800004933639031514215334435157850988024177013809911438098739201073945167373359387657033275222845543167303497109942774699349097206464482423348258164384708407981360899057492030913854638144069842662961650841464966918250616963579590113779182337231622646056239257889872692252013422475246190370911918065740860583433218354308570103548529839559880217999144609665207571629756205522395941247266578493347309219327359098725586274707150199053861451116301859165281502306190546505018334985209024882601327153934600285157506091013170369219316944715424063994447368335446705761536249443327788005827540998775555619475156592950902777548392205944996659218377574082442366585446177573421331131000636317030645119767866828802877581970437753295157541211473750821396798941174012720307935841791490168315228859478022922536150019118029591712315890762581217332142094580674542172214010663846262851633988945451902324712311874262519796942738635084628420009577930232205106016635129429582777375224105844740600166573786465561013135001144415657016035233854448102994312359820329935635761690234815330925769386115820209422016829039210287789849942737403795484015143391407076917813248001385082185634159918624544941568671634099526218060037752152790091460746461515403011938447455264040542246707094457748646144955521051715926601344326449329212612803442766996354183078158905008523172651688698770507002062704876200550925625103230165320968752716159047362188534757796699423374463894274721867151581650956895516800176216008906381458366457041078481069280617987739343079653764153700120072507754907309924196276559186737890052912964752660827351613208786045981073316961068009340009995095522843404334790712537230787799178397266832871462223848578147449445087771854164910598541215066762239347078931485702017027149674576487860290819900756561629838156698586893674579486453035538434423024781383141841054988492751078999864951643483673106979105861063238968800458688129668970587840397594516766380888544534657957583397031159355855518085992997826118516855708496631563025970382127172695484811944048705677906497044961995956756751389152622010090563161537325230578166367875030386685756178119361987099735088623656912656345020894891840869648217316365898306881396049747858769917597641310343962659804420725294435721298079732649754209397321331843820392639686429026946781785618840119388994885712902508837453777193916945600272617231756704327215120538943890304682513150957389763418506836795538813522395212943077586416627266831803230561937286327783614945341915838095711052608950995666333384734395088737102342142208885379859425596905622984014927419983076637550366564048468108955016541630107517576318150072653541916837733620483907684855771522395053629328057407359928832599933903895553544379554983071595748583473655883282254982718000497143950938159877436823358237757638581941577452779503045827734452740185124180937279905089534685272786614732982378161591201912894476266166595810618288430053946219852958800250556078852566100109788613153697632005334937595477601176576000000000000000000000000000000000000000000000000000000000000000000000000000004101514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0920357479607397548574648437740900343335655045626716691942774618018252437081938415000052438728875652313850441077891740505037465991069821424545866655137034398555827551668182847090233464887649291603071965558503128410286277424357493406587805205906424784673524374137560137824514464807514153940051367842894299130389204683499303752958175450114956473149587330558572259776269489482893808963458484189722773239318714188402995474082974968705992460267319685068313176828667788176717054760854794460278565348387949659418095767927438212904548706352100252459434536960191182815624728875407004233679762512179849989648722047900330837676732185380515180799684980088180908040000897342484494256180929989139327213434130890445167511968738665372500140506932150280922615114316966491739326015573299512339858785929774975105874767034154200338014460450152247538657827924353641661002546000711946999129502637239445618303302440866477143668198843353235474599460094659916241622070780172374619389942218512179178846551524614543200224617508485667263721344482477754670752736095403049223779019158194352047638464926280996842330359833306436533663184415480430189833488766735224794701367926923408548677627600000067630966095417964776589108475032794633765928616212780866835453684606760816181787692307004651564479601889994846569758112546656301353316728581265939908652959609543103857243856595613227783619295539633237244653662210093011533230025665288243660416062927378718703484481862048720541964031956244837632903669510822800629663906258604297309881907146799660208910208460967675182585111311218952817388675415417720083492392396316366539936037739890857063516960527988710256151419595554739648893555175541773576338102284702760606972060506757679044573801866398856354855929935926360066646025319395266931749968119088451450293800153792703930071303262690466628985831941245048188167704076486964625900118311756903473722707763109997611279290280841966976225926714153372228465273459896881331492704484394413794763983441823463606345585126808162077922632719042626846978443205845141437088038377460064803354271719333205503206929028176023534958826013251423467871586453279371939708524324529681397968099890438384734472026354252374201997688298096723383390667463291861150678628265693166491594666499882697329606638801748262730727267369204007799445788779755728580656436542609359688917331385829375919927704540765903950317814328797714546725859388311388269370328477300807565619643783325837449091297041919279140407168629023203756986210274249378263271642117282094058973809323503023234282017141240671435335270184801484135192241325299912543231438448515473907372266353877928861163942888992385179106882569167071782593631656159671516286226408092461937690804924598218866945977994534053093746525029293647651150075409157958157792761161302424603675891356578027368024606979402337765469890538953009696383866086561499172159557346325204351766647328120365699935804335283922508905183671445405903050598933915811065346114748727842766257753918484183537722954106923272126645392187760494999779179744950000000000000000000000000000000000000000000000000000000000000000000000000000000200269248861351733522568216321441183086728062287427884675377500161438391132724737545165490725614281800569368143507431308" + }, + "halo_covers_generic_inverse_radius": { + "rational": "5", + "decimal": "5" + }, + "union_tag_work_per_visit_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "union_header_fits_record": { + "rational": "123/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "3.0029296875E-3080" + }, + "source_axis_superpolynomial": { + "rational": "41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.0009765625E-3080" + }, + "improvement_over_pr1786": { + "rational": "344972511101962337546083594099656664344954373283308057225383981747362919061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344972511101962337546083594099656664344954373283308057225383981747362919061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1828": { + "rational": "344970831347006211994852319892630894361839988257505102622106780119562918061584999947561271144381281248691432998686208382412423930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344970831347006211994852319892630894361839988257505102622106780119562918061584999947561271144381281248691432998686208382412423930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1839": { + "rational": "344970831347006211994852319892630894361839988257505102622106780118917435458328611684511271124349689509068835359348537633875996771584575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344970831347006211994852319892630894361839988257505102622106780118917435458328611684511271124349689509068835359348537633875996771584575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1875": { + "rational": "344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601455700869612798676010609498130867221227031368256412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601455700869612798676010609498130867221227031368256412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1876": { + "rational": "344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601449634013946678064116199737048426279127890689707711092383804647963344392797549637261527369288911763652681285811597004525937058626393140050623107028351565237222872211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601449634013946678064116199737048426279127890689707711092383804647963344392797549637261527369288911763652681285811597004525937058626393140050623107028351565237222872211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1897": { + "rational": "344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601449634013946678064116199737048426279127890689707711092383804647963344392797549637261527369288911763651869428342421196500780619571615479431715870646370347037409702773900056120417615320210483314662223436543683072558175277353952328985497304148471527725470940092423006900405880965462083802434365412658995947952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000344970831347006211994852319892630894361839988257505102622106780118917435458328611684504709795901363405045753022397285241829527728524454026420338496036034286822823057910923632618080931355170833556909685908731821872317045255761014592629175295568322784763428187565025228728604622657956832375439601449634013946678064116199737048426279127890689707711092383804647963344392797549637261527369288911763651869428342421196500780619571615479431715870646370347037409702773900056120417615320210483314662223436543683072558175277353952328985497304148471527725470940092423006900405880965462083802434365412658995947952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1758": { + "rational": "345065304579460909886225407099919941210220175375301259700808172419720488335728993645744548874517686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000345065304579460909886225407099919941210220175375301259700808172419720488335728993645744548874517686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1699": { + "rational": "366103079168905782840979388463209173689269443283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000366103079168905782840979388463209173689269443283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pr1712": { + "rational": "366103079168905782834286300459672432636408650547875335107981921292937488983643577149034830539645686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000366103079168905782834286300459672432636408650547875335107981921292937488983643577149034830539645686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_previous_package": { + "rational": "364321369458087089041010900323655650515553157512649457426032699030588841323687542024847073675500686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000364321369458087089041010900323655650515553157512649457426032699030588841323687542024847073675500686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "improvement_over_pkg_k2": { + "rational": "362594320549626218030674510791572942116175402942212015128188993449508183937069691268727021748377686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000362594320549626218030674510791572942116175402942212015128188993449508183937069691268727021748377686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "gaussian_above_main": { + "rational": "1021485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "9.975447102729653295486356735711763382654387542514423064924499967712321773455052490966901854877143639886126371298513738315748833282903451094061549456084883317421334454023217613803690042011407273228806181049737708243248895234309435042485352218855635555254614225568357697793217434429105483962016898513606751188767450782396067083558847336655918720660794948872141730997414505312433894897548723231378598770120472740455215548701268247897738812058598978896525402830829068127216760019289383440987362269721969533014742504151609703568676609396294450724453907000382739035186224799398787772503430810516301248808476756050467009020801738310601680311869344903096544416017421437591028540205963357163692175332000317785735741734291273450805945350791902417862657211279083308657830402270765625289756358550819041960003195722671983098564105393371198685789596918872036528374237599081534519741680084317249528829853519312771625507624637572395237235247259817215132153559667337273407958380417919889957651787720175599180137173723042595596317144715897848706096786128492432528073231713182052439119973729371136256618396150662299701181179738022345594881496066217979325329886963079089379676891191406385394023921491042765632492552555887694550931311754102321301445364691269212082680438700546421589046078002431089324222783906880290795214153898042164856190007030823596589208892598639762652753472515867320655800788604190110979610891224454003421731375977662473966936706852734254991236587412404215964309104001158927041807624834119931137947177393495413504165944672835677855761209167967630151998813087506177901522855871531788483270388053492438457236102619508648462021884932507047148663855576035777179192489925430331293254613319192619181031536939568022976029937860008826305297218656992477744226010394659497532326455386010784235006027039565875575606401835500340611077923199998317854585197792091457149542530189819819436643110425513703419202294691420325262064268157020123759335980657234910428970865288806738665047313974567121347403708080114633824517391183576699166045389329876106295777594750618233673412309089610203365884368483559978622203859598850305152736791860630709829916606225975281939128568384977897572358653331150666929639519823972964217667175727217764948993228832772978052435165569906190037100486432488492176624870115721917568696967687841003283477079434521699839699017879462991306788593138706362129675792720740572218954270877408843271015888433415983174450350523373556872885445009274968458810284240440649843463736660574504707906551868341013310818491347210328557067679569182658669086029996938301478148875800250704599719869165478275552134846603939833610516708268352048002262641499147779891002699352138229465103662202564793630116459852338680509941773740285134457868803309349427952612461309248018005405837188461871195752387019311320721887964457864911989830981911573313772389738828092450118282838889303466489129295788410196428960572779749103614505593568874426449179233627824294600418355012590406496418023358586628769163138657137709716354803200339355468750000000000000000000000000000000000000000000000000000000000000000000000400390625E-3081" + }, + "main_transform_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999995900485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999799828407388648266477431783678558816913271937712572115324622499838561608867275262454834509274385718199430631856492568691578744166414517255470307747280424416587106672270116088069018450210057036366144030905248688541216244476171547175212426761094278177776273071127841788488966087172145527419810084492568033755943837253911980335417794236683279593603303974744360708654987072526562169474487743616156892993850602363702276077743506341239488694060292994894482627014154145340636083800096446917204936811348609847665073712520758048517843383046981472253622269535001913695175931123996993938862517154052581506244042383780252335045104008691553008401559346724515482722080087107187955142701029816785818460876660001588928678708671456367254029726753959512089313286056395416543289152011353828126448781792754095209800015978613359915492820526966855993428947984594360182641871187995407672598708400421586247644149267596563858127538123187861976186176236299086075660767798336686367039791902089599449788258938600877995900685868615212977981585723579489243530483930642462162640366158565910262195599868646855681283091980753311498505905898690111727974407480331089896626649434815395446898384455957031926970119607455213828162462762779438472754656558770511606507226823456346060413402193502732107945230390012155446621113919534401453976070769490210824280950035154117982946044462993198813263767362579336603279003943020950554898054456122270017108656879888312369834683534263671274956182937062021079821545520005794635209038124170599655689735886967477067520829723364178389278806045839838150759994065437530889507614279357658942416351940267462192286180513097543242310109424662535235743319277880178885895962449627151656466273066595963095905157684697840114880149689300044131526486093284962388721130051973297487661632276930053921175030135197829377878032009177501703055389615999991589272925988960457285747712650949099097183215552127568517096011473457101626310321340785100618796679903286174552144854326444033693325236569872835606737018540400573169122586955917883495830226946649380531478887973753091168367061545448051016829421842417799893111019297994251525763683959303153549149583031129876409695642841924889487861793266655753334648197599119864821088335878636088824744966144163864890262175827849530950185502432162442460883124350578609587843484838439205016417385397172608499198495089397314956533942965693531810648378963603702861094771354387044216355079442167079915872251752616867784364427225046374842294051421202203249217318683302872523539532759341705066554092456736051642785338397845913293345430149984691507390744379001253522998599345827391377760674233019699168052583541341760240011313207495738899455013496760691147325518311012823968150582299261693402549708868701425672289344016546747139763062306546240090027029185942309355978761935096556603609439822289324559949154909557866568861948694140462250591414194446517332445646478942050982144802863898745518072527967844372132245896168139121473002091775062952032482090116792933143845815693285688548581774016001696777343750000000000000000000000000000000000000000000000000000000000000000000002001953125E-3022" + }, + "global_coordinate_router_above_kappa": { + "rational": "20000000000000000000000019999999999999999999999999999999997/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999985E-3022" + }, + "fused_gaussian_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997943457349958549492373408789210653711151427853060430765544806390081225248805392125225032249818258526173018021262903420410598041584507940176095707992909276155111833944275932450960493580905904314335889258818479423972326060615979858445051500201632451242574217490094599484762076395856621204673131591223379993965189360880352071808069277901820698230986996208293521939762405736031979692512526967776679505542181009225867842216561029605754185363064401606317012603749630689728680988677925698593071317689258589040542128897275374500936297454406541655262552240230517577431609208258375307603713053944990607743633964059458703465171190294009016836191806262754231258444600551865627963967551271943320686236261990497623778019860774279204087586411763272422767408295304934392419685499577579200089013153346811609690112981726004833207878893176843632236274564173477489621516565790437847404464644121902259055256531001132883443355942288662239816878667958215848488597573529806010390924814464384990194990629187637944068138139767718685367188626856723819122512932698672875272624096782289526509297655929662813058033171297483458468202858415520464566747595591542163248741341275057896257436740974000041593044148682048337602301712145168699766046098970860233103804016033157901951799430768807860712154955162346830640401239216193625332289788077478553043821570159869008872204971806302135086925866756874440905462002259207202092936465784152269851155878700337912002642956345159963133307879653090575144235756749156022387243302349041642845577372895281791028479778203495120237289843456399655982694035380481897851347821323734565422060663210032877094062930724713056807533123051266164884069536432958190749447932905092197773287817211655972612412888147835296658236396910594711440987305571428089163026230393239397641930687094582512916993851506554636976826286643865704635723138007039483244928572761730495636339465274312648530936763522717809690378944929204323920506143177836582018868013257902564483779849816721430117902534852987019677922419122211215510891742571594761983809143602137939854062877107389921384472261352328254473999677998149625432741025668766813742920742459585754059750381432619606611700296207865210134228578303329484880785260489924494607667356383401297392330719897427858857708082863075181579397269432060464796659160099549773077103708473704756208684158802285066190755538292571030929445455812210594446236403523811503785662752013539996652856080926745390031191147680780356671350408706849270310546519318663367631912059902128487846268892733954359289083440541863012932731191163652912743143228415059446214087334645837016453033943807634926249615824876730316885150732780037749146295083468538197982516029240976864091679845028627904603171776466638442652654112893015593305457296376632144267042548114200991131260673184295486831335133292332437725763982681456100963276077643235321990878127767990000676336488106794024905460519666199612342976687957938924630376118344358223805187860570467623301248518659867772875699616775757812357886916195472704424864195543144250000000000000000000000000000000000000000000000000000000000000000000000000000123/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899582878415944799432295351035676450739815813137716345973867499515684826601825787364503527823157154598291895569477706074736232499243551766410923241841273249761320016810348264207055350630171109098432092715746065623648733428514641525637280283282834533328819213383525365466898261516436582259430253477704101267831511761735941006253382710049838780809911924233082125964961217579686508423463230848470678981551807091106828233230519023718466082180878984683447881042462436021908251400289340751614810434045829542995221137562274145553530149140944416760866808605005741085527793371990981816587551462157744518732127151340757005135312026074659025204678040173546448166240261321563865428103089450357455382629980004766786036126014369101762089180261878536267939858169186249629867456034061484379346345378262285629400047935840079746478461580900567980286843953783080547925613563986223017796125201264758742932447802789691574382614369563585928558528708897258226982303395010059101119375706268798349364776815802633987702057605845638933944757170738467730591451791927386487921098475697730786586799605940567043849275942259934495517717696070335183923222440993269689879948304446186340695153367871095780910358822365641484487388288338315418263969676311534819521680470369038181240206580508196323835691170036466339863341758603204361928212308470632472842850105462353948838133388979596439791302087738009809837011829062851664694163368366810051325970639664937109504050602791013824868548811186063239464636560017383905627114372511798967069207660902431202562489170092535167836418137519514452279982196312592668522842838072976827249055820802386576858541539292629726930328273987605707229957833640536657687887348881454969398819199787889287715473054093520344640449067900132394579458279854887166163390155919892462984896830790161763525090405593488133634096027532505109166168847999974767818777966881371857243137952847297291549646656382705551288034420371304878930964022355301856390039709858523656434562979332101079975709709618506820211055621201719507367760867753650487490680839948141594436663921259273505101184636344153050488265527253399679333057893982754577291051877909460647448749093389629229086928525774668463585379799967260003944592797359594463265007635908266474234898432491594670786527483548592850556507296487327382649373051735828763530454515317615049252156191517825497595485268191944869601828897080595431945136890811108583284314063161132649065238326501239747616755257850603353093281675139124526882154263606609747651956049908617570618598278025115199662277370208154928356015193537739880036290449954074522172233137003760568995798037482174133282022699059097504157750624025280720033939622487216698365040490282073441976554933038471904451746897785080207649126606104277016868032049640241419289186919638720270081087557826928067936285805289669810828319466867973679847464728673599706585846082421386751774242583339551997336939436826152946434408591696236554217583903533116396737688504417364419006275325188856097446270350378799431537447079857065645745322048005090332031250000000000000000000000000000000000000000000000000000000000000000000006005859375E-3022" + }, + "group_bit_router_above_kappa": { + "rational": "81920000000000000000000081919999999999999999999999999999995869829399834197969493635156842614844605711412241723062179225560324900995221568500900128999273034104692072085051613681642392166338031760704382831971637104620447335777103729803841974323623617257343557035273917695889304242463919433780206000806529804970296869960378397939048305583426484818692526364893519975860757443521408287232277111607282792923947984833174087759049622944127918770050107871106718022168724036903471368866244118423016741452257606425268050414998522758914723954711702794372285270757034356162168515589101498003745189817626166621050208960922070309726436833033501230414852215779962430974535856237834813860684761176036067344767225051016925033778402207462511855870205087773282744945047961990495112079443097116816350345647053089691069633181219737569678741998310316800356052613387246438760451926904019332831515572707374528945098256693909958486066263161751389617858576487609036221026124004531533773423769154648959267514671832863393954390294119224041563699257857539960779962516750551776272552559070874741468754507426895276490051730794691501090496387129158106037190623718651252232132685189933833872811433662081858266990382366168652994965365100231585029746963896000166372176594728193350409206848580674799064184395883440932415216064132631607807197723075231442848619820649387322561604956864774501329159152309914212175286280639476035488819887225208540347703467027497763621848009036828808371745863136609079404623514801351648010571825380639852533231518612362300576943026996624089548973209396166571382309491581127164113919112813980480949159373825598623930776141521927591405391285294938261688242652840131508376251722898852227230132492205064659536278145731832762997791731620368791093151268846623890449651552591341186632945587642378845763949222285712356652104921572957590567722748378330051667975406026218547907305146575462818542892552028157932979714291046921982545357861097250594123747054090871238761515779716817295682024572711346328075472053031610257935119399266885720471610139411948078711689676488844862043566970286379047935236574408551759416251508429559685537889045409313017895998711992598501730964102675067254971682969838343016239001525730478426446801184831460840536914313213317939523141041959697978430669425533605189569322879589711435430832331452300726317589077728241859186636640398199092308414833894819024834736635209140264763022153170284123717781823248842377784945614095246015142651008054159986611424323706981560124764590723121426685401634827397081242186077274653470527648239608513951385075570935817437156333762167452051730924764654611650972572913660237784856349338583348065812135775230539704998463299506921267540602931120150996585180333874152791930064116963907456366719380114511618412687105866553770610616451572062373221829185506528577068170192456803964525042692737181947325340533169329750903055930725824403853104310572941287963512511071960002705345952427176099621842078664798449371906751831755698521504473377432895220751442281870493204994074639471091502798467103031249431547664781890817699456782172577000000000000000000000000000000000000000000000000000000000000000000000000000000369/819200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.00000000000000000000000099999999999999999999999999999999994958287841594479943229535103567645073981581313771634597386749951568482660182578736450352782315715459829189556947770607473623249924355176641092324184127324976132001681034826420705535063017110909843209271574606562364873342851464152563728028328283453332881921338352536546689826151643658225943025347770410126783151176173594100625338271004983878080991192423308212596496121757968650842346323084847067898155180709110682823323051902371846608218087898468344788104246243602190825140028934075161481043404582954299522113756227414555353014914094441676086680860500574108552779337199098181658755146215774451873212715134075700513531202607465902520467804017354644816624026132156386542810308945035745538262998000476678603612601436910176208918026187853626793985816918624962986745603406148437934634537826228562940004793584007974647846158090056798028684395378308054792561356398622301779612520126475874293244780278969157438261436956358592855852870889725822698230339501005910111937570626879834936477681580263398770205760584563893394475717073846773059145179192738648792109847569773078658679960594056704384927594225993449551771769607033518392322244099326968987994830444618634069515336787109578091035882236564148448738828833831541826396967631153481952168047036903818124020658050819632383569117003646633986334175860320436192821230847063247284285010546235394883813338897959643979130208773800980983701182906285166469416336836681005132597063966493710950405060279101382486854881118606323946463656001738390562711437251179896706920766090243120256248917009253516783641813751951445227998219631259266852284283807297682724905582080238657685854153929262972693032827398760570722995783364053665768788734888145496939881919978788928771547305409352034464044906790013239457945827985488716616339015591989246298489683079016176352509040559348813363409602753250510916616884799997476781877796688137185724313795284729729154964665638270555128803442037130487893096402235530185639003970985852365643456297933210107997570970961850682021105562120171950736776086775365048749068083994814159443666392125927350510118463634415305048826552725339967933305789398275457729105187790946064744874909338962922908692852577466846358537979996726000394459279735959446326500763590826647423489843249159467078652748354859285055650729648732738264937305173582876353045451531761504925215619151782549759548526819194486960182889708059543194513689081110858328431406316113264906523832650123974761675525785060335309328167513912452688215426360660974765195604990861757061859827802511519966227737020815492835601519353773988003629044995407452217223313700376056899579803748217413328202269905909750415775062402528072003393962248721669836504049028207344197655493303847190445174689778508020764912660610427701686803204964024141928918691963872027008108755782692806793628580528966981082831946686797367984746472867359970658584608242138675177424258333955199733693943682615294643440859169623655421758390353311639673768850441736441900627532518885609744627035037879943153744707985706564574532204800509033203125000000000000000000000000000000000000000000000000000000000000000000000450439453125E-3022" + }, + "group_scans_above_kappa": { + "rational": "2044489211823595017948088000049336390315142153344351578509880241770138099114380987392010739451673733593876570332752228455431673034971099427746993490972064644824233482581643847084079813608990574920309138546381440698426629616508414649669182506169635795901137791823372316226460562392578898726922520134224752461903709119180657408605834332183543085701035485298395598802179991446096652075716297562055223959412472665784933473092193273590987255862747071501990538614511163018591652815023061905465050183349852090248826013271539346002851575060910131703692193169447154240639944473683354467057615362494433277880058275409987755556194751565929509027775483922059449966592183775740824423665854461775734213311310006363170306451197678668288028775819704377532951575412114737508213967989411740127203079358417914901683152288594780229225361500191180295917123158907625812173321420945806745421722140106638462628516339889454519023247123118742625197969427386350846284200095779302322051060166351294295827773752241058447406001665737864655610131350011444156570160352338544481029943123598203299356357616902348153309257693861158202094220168290392102877898499427374037954840151433914070769178132480013850821856341599186245449415686716340995262180600377521527900914607464615154030119384474552640405422467070944577486461449555210517159266013443264493292126128034427669963541830781589050085231726516886987705070020627048762005509256251032301653209687527161590473621885347577966994233744638942747218671515816509568955168001762160089063814583664570410784810692806179877393430796537641537001200725077549073099241962765591867378900529129647526608273516132087860459810733169610680093400099950955228434043347907125372307877991783972668328714622238485781474494450877718541649105985412150667622393470789314857020170271496745764878602908199007565616298381566985868936745794864530355384344230247813831418410549884927510789998649516434836731069791058610632389688004586881296689705878403975945167663808885445346579575833970311593558555180859929978261185168557084966315630259703821271726954848119440487056779064970449619959567567513891526220100905631615373252305781663678750303866857561781193619870997350886236569126563450208948918408696482173163658983068813960497478587699175976413103439626598044207252944357212980797326497542093973213318438203926396864290269467817856188401193889948857129025088374537771939169456002726172317567043272151205389438903046825131509573897634185068367955388135223952129430775864166272668318032305619372863277836149453419158380957110526089509956663333847343950887371023421422088853798594255969056229840149274199830766375503665640484681089550165416301075175763181500726535419168377336204839076848557715223950536293280574073599288325999339038955535443795549830715957485834736558832822549827180004971439509381598774368233582377576385819415774527795030458277344527401851241809372799050895346852727866147329823781615912019128944762661665958106182884300539462198529588002505560788525661001097886131536976320053349375954776011765760000000000000000000204800000000000000000000204799999999999999999999999999999959/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.99828574796073975485746484377409003433356550456267166919427746180182524370819384150000524387288756523138504410778917405050374659910698214245458666551370343985558275516681828470902334648876492916030719655585031284102862774243574934065878052059064247846735243741375601378245144648075141539400513678428942991303892046834993037529581754501149564731495873305585722597762694894828938089634584841897227732393187141884029954740829749687059924602673196850683131768286677881767170547608547944602785653483879496594180957679274382129045487063521002524594345369601911828156247288754070042336797625121798499896487220479003308376767321853805151807996849800881809080400008973424844942561809299891393272134341308904451675119687386653725001405069321502809226151143169664917393260155732995123398587859297749751058747670341542003380144604501522475386578279243536416610025460007119469991295026372394456183033024408664771436681988433532354745994600946599162416220707801723746193899422185121791788465515246145432002246175084856672637213444824777546707527360954030492237790191581943520476384649262809968423303598333064365336631844154804301898334887667352247947013679269234085486776276000000676309660954179647765891084750327946337659286162127808668354536846067608161817876923070046515644796018899948465697581125466563013533167285812659399086529596095431038572438565956132277836192955396332372446536622100930115332300256652882436604160629273787187034844818620487205419640319562448376329036695108228006296639062586042973098819071467996602089102084609676751825851113112189528173886754154177200834923923963163665399360377398908570635169605279887102561514195955547396488935551755417735763381022847027606069720605067576790445738018663988563548559299359263600666460253193952669317499681190884514502938001537927039300713032626904666289858319412450481881677040764869646259001183117569034737227077631099976112792902808419669762259267141533722284652734598968813314927044843944137947639834418234636063455851268081620779226327190426268469784432058451414370880383774600648033542717193332055032069290281760235349588260132514234678715864532793719397085243245296813979680998904383847344720263542523742019976882980967233833906674632918611506786282656931664915946664998826973296066388017482627307272673692040077994457887797557285806564365426093596889173313858293759199277045407659039503178143287977145467258593883113882693703284773008075656196437833258374490912970419192791404071686290232037569862102742493782632716421172820940589738093235030232342820171412406714353352701848014841351922413252999125432314384485154739073722663538779288611639428889923851791068825691670717825936316561596715162862264080924619376908049245982188669459779945340530937465250292936476511500754091579581577927611613024246036758913565780273680246069794023377654698905389530096963838660865614991721595573463252043517666473281203656999358043352839225089051836714454059030505989339158110653461147487278427662577539184841835377229541069232721266453921877604949997791797449500000000000000000000010000000000000000000000009999999999999999999999999999999997998046875" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "20480000000000000000000020479999999999999999999999999999997948485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "1.000000000000000000000000999999999999999999999999999999999899828407388648266477431783678558816913271937712572115324622499838561608867275262454834509274385718199430631856492568691578744166414517255470307747280424416587106672270116088069018450210057036366144030905248688541216244476171547175212426761094278177776273071127841788488966087172145527419810084492568033755943837253911980335417794236683279593603303974744360708654987072526562169474487743616156892993850602363702276077743506341239488694060292994894482627014154145340636083800096446917204936811348609847665073712520758048517843383046981472253622269535001913695175931123996993938862517154052581506244042383780252335045104008691553008401559346724515482722080087107187955142701029816785818460876660001588928678708671456367254029726753959512089313286056395416543289152011353828126448781792754095209800015978613359915492820526966855993428947984594360182641871187995407672598708400421586247644149267596563858127538123187861976186176236299086075660767798336686367039791902089599449788258938600877995900685868615212977981585723579489243530483930642462162640366158565910262195599868646855681283091980753311498505905898690111727974407480331089896626649434815395446898384455957031926970119607455213828162462762779438472754656558770511606507226823456346060413402193502732107945230390012155446621113919534401453976070769490210824280950035154117982946044462993198813263767362579336603279003943020950554898054456122270017108656879888312369834683534263671274956182937062021079821545520005794635209038124170599655689735886967477067520829723364178389278806045839838150759994065437530889507614279357658942416351940267462192286180513097543242310109424662535235743319277880178885895962449627151656466273066595963095905157684697840114880149689300044131526486093284962388721130051973297487661632276930053921175030135197829377878032009177501703055389615999991589272925988960457285747712650949099097183215552127568517096011473457101626310321340785100618796679903286174552144854326444033693325236569872835606737018540400573169122586955917883495830226946649380531478887973753091168367061545448051016829421842417799893111019297994251525763683959303153549149583031129876409695642841924889487861793266655753334648197599119864821088335878636088824744966144163864890262175827849530950185502432162442460883124350578609587843484838439205016417385397172608499198495089397314956533942965693531810648378963603702861094771354387044216355079442167079915872251752616867784364427225046374842294051421202203249217318683302872523539532759341705066554092456736051642785338397845913293345430149984691507390744379001253522998599345827391377760674233019699168052583541341760240011313207495738899455013496760691147325518311012823968150582299261693402549708868701425672289344016546747139763062306546240090027029185942309355978761935096556603609439822289324559949154909557866568861948694140462250591414194446517332445646478942050982144802863898745518072527967844372132245896168139121473002091775062952032482090116792933143845815693285688548581774016001696777343750000000000000000000000000000000000000000000000000000000000000000000002001953125E-3022" + }, + "sparse_union_movement_above_kappa": { + "rational": "83200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020480000000000000000000020479999999999999999999999999999997948485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.40625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000009999999999999999999999999999999998998284073886482664774317836785588169132719377125721153246224998385616088672752624548345092743857181994306318564925686916" + }, + "polynomial_products_above_kappa": { + "rational": "4088978423647190035896176000098672780630284306688703157019760483540276198228761974784021478903347467187753140665504456910863346069942198855493986981944129289648466965163287694168159627217981149840618277092762881396853259233016829299338365012339271591802275583646744632452921124785157797453845040268449504923807418238361314817211668664367086171402070970596791197604359982892193304151432595124110447918824945331569866946184386547181974511725494143003981077229022326037183305630046123810930100366699704180497652026543078692005703150121820263407384386338894308481279888947366708934115230724988866555760116550819975511112389503131859018055550967844118899933184367551481648847331708923551468426622620012726340612902395357336576057551639408755065903150824229475016427935978823480254406158716835829803366304577189560458450723000382360591834246317815251624346642841891613490843444280213276925257032679778909038046494246237485250395938854772701692568400191558604644102120332702588591655547504482116894812003331475729311220262700022888313140320704677088962059886247196406598712715233804696306618515387722316404188440336580784205755796998854748075909680302867828141538356264960027701643712683198372490898831373432681990524361200755043055801829214929230308060238768949105280810844934141889154972922899110421034318532026886528986584252256068855339927083661563178100170463453033773975410140041254097524011018512502064603306419375054323180947243770695155933988467489277885494437343031633019137910336003524320178127629167329140821569621385612359754786861593075283074002401450155098146198483925531183734757801058259295053216547032264175720919621466339221360186800199901910456868086695814250744615755983567945336657429244476971562948988901755437083298211970824301335244786941578629714040340542993491529757205816398015131232596763133971737873491589729060710768688460495627662836821099769855021579997299032869673462139582117221264779376009173762593379411756807951890335327617770890693159151667940623187117110361719859956522370337114169932631260519407642543453909696238880974113558129940899239919135135027783052440201811263230746504611563327357500607733715123562387239741994701772473138253126900417897836817392964346327317966137627920994957175398351952826206879253196088414505888714425961594652995084187946426636876407852793728580538935635712376802387779897714258050176749075543878338912005452344635134086544302410778877806093650263019147795268370136735910776270447904258861551728332545336636064611238745726555672298906838316761914221052179019913326667694687901774742046842844177707597188511938112459680298548399661532751007331280969362179100330832602150351526363001453070838336754672409678153697115430447901072586561148147198576651998678077911070887591099661431914971669473117665645099654360009942879018763197548736467164755152771638831549055590060916554689054803702483618745598101790693705455732294659647563231824038257889525323331916212365768601078924397059176005011121577051322002195772263073952640106698751909552023531520000000000000000000409600000000000000000000409599999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.998285747960739754857464843774090034333565504562671669194277461801825243708193841500005243872887565231385044107789174050503746599106982142454586665513703439855582755166818284709023346488764929160307196555850312841028627742435749340658780520590642478467352437413756013782451446480751415394005136784289429913038920468349930375295817545011495647314958733055857225977626948948289380896345848418972277323931871418840299547408297496870599246026731968506831317682866778817671705476085479446027856534838794965941809576792743821290454870635210025245943453696019118281562472887540700423367976251217984998964872204790033083767673218538051518079968498008818090804000089734248449425618092998913932721343413089044516751196873866537250014050693215028092261511431696649173932601557329951233985878592977497510587476703415420033801446045015224753865782792435364166100254600071194699912950263723944561830330244086647714366819884335323547459946009465991624162207078017237461938994221851217917884655152461454320022461750848566726372134448247775467075273609540304922377901915819435204763846492628099684233035983330643653366318441548043018983348876673522479470136792692340854867762760000006763096609541796477658910847503279463376592861621278086683545368460676081618178769230700465156447960188999484656975811254665630135331672858126593990865295960954310385724385659561322778361929553963323724465366221009301153323002566528824366041606292737871870348448186204872054196403195624483763290366951082280062966390625860429730988190714679966020891020846096767518258511131121895281738867541541772008349239239631636653993603773989085706351696052798871025615141959555473964889355517554177357633810228470276060697206050675767904457380186639885635485592993592636006664602531939526693174996811908845145029380015379270393007130326269046662898583194124504818816770407648696462590011831175690347372270776310999761127929028084196697622592671415337222846527345989688133149270448439441379476398344182346360634558512680816207792263271904262684697844320584514143708803837746006480335427171933320550320692902817602353495882601325142346787158645327937193970852432452968139796809989043838473447202635425237420199768829809672338339066746329186115067862826569316649159466649988269732960663880174826273072726736920400779944578877975572858065643654260935968891733138582937591992770454076590395031781432879771454672585938831138826937032847730080756561964378332583744909129704191927914040716862902320375698621027424937826327164211728209405897380932350302323428201714124067143533527018480148413519224132529991254323143844851547390737226635387792886116394288899238517910688256916707178259363165615967151628622640809246193769080492459821886694597799453405309374652502929364765115007540915795815779276116130242460367589135657802736802460697940233776546989053895300969638386608656149917215955734632520435176664732812036569993580433528392250890518367144540590305059893391581106534611474872784276625775391848418353772295410692327212664539218776049499977917974495000000000000000000000100000000000000000000000099999999999999999999999999999999989990234375" + }, + "microbox_face_corrections_above_kappa": { + "rational": "78846244605911797508974044000024668195157571076672175789254940120885069049557190493696005369725836866796938285166376114227715836517485549713873496745486032322412116741290821923542039906804495287460154569273190720349213314808254207324834591253084817897950568895911686158113230281196289449363461260067112376230951854559590328704302917166091771542850517742649197799401089995723048326037858148781027611979706236332892466736546096636795493627931373535750995269307255581509295826407511530952732525091674926045124413006635769673001425787530455065851846096584723577120319972236841677233528807681247216638940029137704993877778097375782964754513887741961029724983296091887870412211832927230887867106655655003181585153225598839334144014387909852188766475787706057368754106983994705870063601539679208957450841576144297390114612680750095590147958561579453812906086660710472903372710861070053319231314258169944727259511623561559371312598984713693175423142100047889651161025530083175647147913886876120529223703000832868932327805065675005722078285080176169272240514971561799101649678178808451174076654628846930579101047110084145196051438949249713687018977420075716957035384589066240006925410928170799593122724707843358170497631090300188760763950457303732307577015059692237276320202711233535472288743230724777605258579633006721632246646063064017213834981770915390794525042615863258443493852535010313524381002754628125516150826604843763580795236810942673788983497116872319471373609335757908254784477584000881080044531907291832285205392405346403089938696715398268820768500600362538774536549620981382795933689450264564823763304136758066043930229905366584805340046700049975477614217021673953562686153938995891986334164357311119242890737247225438859270824552992706075333811196735394657428510085135748372882439301454099503782808149190783492934468372897432265177692172115123906915709205274942463755394999324758217418365534895529305316194844002293440648344852939201987972583831904442722673289787916985155796779277590429964989130592584278542483157815129851910635863477424059720243528389532485224809979783783756945763110050452815807686626152890831839375151933428780890596809935498675443118284563281725104474459204348241086581829491534406980248739293849587988206551719813299022103626472178606490398663248771046986606659219101963198432145134733908928094200596944974428564512544187268885969584728001363086158783521636075602694719451523412565754786948817092534183977694067611976064715387932083136334159016152809686431638918074726709579190478555263044754978331666923671975443685511710711044426899297127984528114920074637099915383187751832820242340544775082708150537587881590750363267709584188668102419538424278857611975268146640287036799644162999669519477767721897774915357978742917368279416411274913590002485719754690799387184116791188788192909707887263897515229138672263700925620904686399525447673426363933073664911890807956009564472381330832979053091442150269731099264794001252780394262830500548943065768488160026674687977388005882880000000000000000000102400000000000000000000102400000000000000000000000000000041/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "76.9982857479607397548574648437740900343335655045626716691942774618018252437081938415000052438728875652313850441077891740505037465991069821424545866655137034398555827551668182847090233464887649291603071965558503128410286277424357493406587805205906424784673524374137560137824514464807514153940051367842894299130389204683499303752958175450114956473149587330558572259776269489482893808963458484189722773239318714188402995474082974968705992460267319685068313176828667788176717054760854794460278565348387949659418095767927438212904548706352100252459434536960191182815624728875407004233679762512179849989648722047900330837676732185380515180799684980088180908040000897342484494256180929989139327213434130890445167511968738665372500140506932150280922615114316966491739326015573299512339858785929774975105874767034154200338014460450152247538657827924353641661002546000711946999129502637239445618303302440866477143668198843353235474599460094659916241622070780172374619389942218512179178846551524614543200224617508485667263721344482477754670752736095403049223779019158194352047638464926280996842330359833306436533663184415480430189833488766735224794701367926923408548677627600000067630966095417964776589108475032794633765928616212780866835453684606760816181787692307004651564479601889994846569758112546656301353316728581265939908652959609543103857243856595613227783619295539633237244653662210093011533230025665288243660416062927378718703484481862048720541964031956244837632903669510822800629663906258604297309881907146799660208910208460967675182585111311218952817388675415417720083492392396316366539936037739890857063516960527988710256151419595554739648893555175541773576338102284702760606972060506757679044573801866398856354855929935926360066646025319395266931749968119088451450293800153792703930071303262690466628985831941245048188167704076486964625900118311756903473722707763109997611279290280841966976225926714153372228465273459896881331492704484394413794763983441823463606345585126808162077922632719042626846978443205845141437088038377460064803354271719333205503206929028176023534958826013251423467871586453279371939708524324529681397968099890438384734472026354252374201997688298096723383390667463291861150678628265693166491594666499882697329606638801748262730727267369204007799445788779755728580656436542609359688917331385829375919927704540765903950317814328797714546725859388311388269370328477300807565619643783325837449091297041919279140407168629023203756986210274249378263271642117282094058973809323503023234282017141240671435335270184801484135192241325299912543231438448515473907372266353877928861163942888992385179106882569167071782593631656159671516286226408092461937690804924598218866945977994534053093746525029293647651150075409157958157792761161302424603675891356578027368024606979402337765469890538953009696383866086561499172159557346325204351766647328120365699935804335283922508905183671445405903050598933915811065346114748727842766257753918484183537722954106923272126645392187760494999779179744950000000000000000000001000000000000000000000001000000000000000000000000000000000400390625" + } + } + } + }, + "rejecting_controls": { + "struct_boundary_radix_union": { + "endpoint_equality": { + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-3081" + }, + "q_below_internal": { + "rational": "-1/200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5E-3081" + }, + "q_below_leaf": { + "rational": "-171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.71425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999E-3089" + }, + "lambda_above_tau": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_above_internal": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_prime_above_lambda": { + "rational": "-1/400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-2.5E-3081" + }, + "lambda_prime_above_leaf": { + "rational": "-171425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.71425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999999E-3089" + } + }, + "zero_layout_slack": { + "positive_layout_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "old_per_axis_scan_above_kappa": { + "rational": "-7021576352809964103823999901327219369715693311296842980239516459723801771238025215978521096652532812246859334495543089136653930057801144506013018055870710351533034836712305831840372782018850159381722907237118603146740766983170700661634987660728408197724416353255367547078875214842202546154959731550495076192581761638685182788331335632913828597929029403208802395640017107806695848567404875889552081175054668430133053815613452818025488274505856996018922770977673962816694369953876189069899633300295819502347973456921307994296849878179736592615613661105691518720111052633291065884769275011133444239883449180024488887610496868140981944449032155881100066815632448518351152668291076448531573377379987273659387097604642663423942448360591244934096849175770524983572064021176519745593841283164170196633695422810439541549276999617639408165753682184748375653357158108386509156555719786723074742967320221090961953505753762514749604061145227298307431599808441395355897879667297411408344452495517883105187996668524270688779737299977111686859679295322911037940113752803593401287284766195303693381484612277683595811559663419215794244203001145251924090319697132171858461643735039972298356287316801627509101168626567318009475638799244956944198170785070769691939761231050894719189155065858110845027077100889578965681467973113471013415747743931144660072916338436821899829536546966226024589859958745902475988981487497935396693580624945676819052756229304844066011532510722114505562656968366980862089663996475679821872370832670859178430378614387640245213138406924716925997598549844901853801516074468816265242198941740704946783452967735824279080378533660778639813199800098089543131913304185749255384244016432054663342570755523028437051011098244562916701788029175698664755213058421370285959659457006508470242794183601984868767403236866028262126508410270939289231311539504372337163178900230144978420002700967130326537860417882778735220623990826237406620588243192048109664672382229109306840848332059376812882889638280140043477629662885830067368739480592357456546090303761119025886441870059100760080864864972216947559798188736769253495388436672642499392266284876437612760258005298227526861746873099582102163182607035653672682033862372079005042824601648047173793120746803911585494111285574038405347004915812053573363123592147206271419461064364287623197612220102285741949823250924456121661087994547655364865913455697589221122193906349736980852204731629863264089223729552095741138448271667454663363935388761254273444327701093161683238085778947820980086673332305312098225257953157155822292402811488061887540319701451600338467248992668719030637820899669167397849648473636998546929161663245327590321846302884569552098927413438851852801423348001321922088929112408900338568085028330526882334354900345639990057120981236802451263532835244847228361168450944409939083445310945196297516381254401898209306294544267705340352436768175961742110474676668083787634231398921075602940823994988878422948677997804227736926047359893301248090447976468479999999999999999999590399999999999999999999590399999999999999999999999999999959/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.001714252039260245142535156225909965666434495437328330805722538198174756291806158499994756127112434768614955892210825949496253400893017857545413334486296560144417244833181715290976653511235070839692803444149687158971372257564250659341219479409357521532647562586243986217548553519248584605994863215710570086961079531650069624704182454988504352685041266944142774022373051051710619103654151581027722676068128581159700452591702503129400753973268031493168682317133221182328294523914520553972143465161205034058190423207256178709545129364789974754056546303980881718437527112459299576632023748782015001035127795209966916232326781461948481920031501991181909195999910265751550574381907001086067278656586910955483248803126133462749985949306784971907738488568303350826067398442670048766014121407022502489412523296584579966198553954984775246134217207564635833899745399928805300087049736276055438169669755913352285633180115664676452540053990534008375837792921982762538061005778148782082115344847538545679977538249151433273627865551752224532924726390459695077622098084180564795236153507371900315766964016669356346633681558451956981016651123326477520529863207307659145132237239999993236903390458203522341089152496720536623407138378721913316454631539323918381821230769299534843552039811000515343024188745334369864668327141873406009134704039045689614275614340438677221638070446036676275534633778990698846676997433471175633958393707262128129651551813795127945803596804375516236709633048917719937033609374139570269011809285320033979108979153903232481741488868878104718261132458458227991650760760368363346006396226010914293648303947201128974384858040444526035110644482445822642366189771529723939302793949324232095542619813360114364514407006407363993335397468060473306825003188091154854970619984620729606992869673730953337101416805875495181183229592351303537409988168824309652627729223689000238872070971915803302377407328584662777153472654010311866850729551560558620523601655817653639365441487319183792207736728095737315302155679415485856291196162253993519664572828066679449679307097182397646504117398674857653212841354672062806029147567547031860203190010956161526552797364574762579800231170190327661660933253670813884932137173430683350840533350011730267039336119825173726927273263079599220055421122024427141934356345739064031108266861417062408007229545923409604968218567120228545327414061168861173062967152269919243438035621667416255090870295808072085959283137097679624301378972575062173672835788271790594102619067649697676571798285875932856466472981519851586480775867470008745676856155148452609262773364612207113883605711100761482089311743083292821740636834384032848371377359190753806230919507540178113305402200546594690625347497070635234884992459084204184220723883869757539632410864342197263197539302059766223453010946104699030361613391343850082784044265367479564823335267187963430006419566471607749109481632855459409694940106608418893465388525127215723374224608151581646227704589307672787335460781223950500022082025504999999999999999999999899999999999999999999999899999999999999999999999999999999989990234375" + } + }, + "full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-204799999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999997949/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979970703125" + } + }, + "full_key_sort": { + "unnecessary_full_key_sort_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999997951514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.59374999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989999999999999999999999989999999999999999999999999999999998999762801113517335225682163214411830867280622874278846753775001614383911327247375451654907256142818005693681435074313084" + } + }, + "old_g_factor_union_row": { + "old_g_factor_union_row_above_kappa": { + "rational": "-121599999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999979519999999999999999999979519999999999999999999999999999995901514216680483502542197070263115429616190715646523078151731203306258250398202624924989250060580491275660659579032193196467319471830686607968097335696907948296055351908022516346502139698031895221370247060506858675891313128006713851649499932789182919141927503301800171745974534714459598442289469592206668678270213039882642730643574032726433923004334597235492686745864754656006769162491010741106831485939663591377385927812990131415271545645199464560995798750123103423773003774024767135642894103580470319819290367574875166354567515197819448245815919923160807522796930580541564132095648685003130752122011980180432178276269901996994387936064579081922913851799816044790678677482909352226437921246003167458740660046408573598637471196078909192410863901565021869193438166807473599970328948884396130103295672757998388930707035607718789254575145275507503459494478069854050865178451959365913648247822999622372185548019237112586727707110680594717170467475490064663203025061845205003268336456937454018643953953410760438210937124381092060292495689100442374909125301072570157830234114690112395647322276234172180510599047194826511811084134802819278917086219574980701247521086341999986135651950439317220799232762618277100077984633676379922298731994655614032682733523077064046429281681612551056453199586927935458222570070640840482318726143280043663709265009397899288304358044414375186364845999246930932635687844738615910049614707099887362665785681218280012288897373448969808285254747750281325870918899216986119051474209034906069657173407265501626587570052181200114672435321539839367382884059558755144859313112263322374301979023091762314397488958982911278371976821189013936416850689031635934075570727596114675795862370617388234447254534363135096186337564809523970278991256535586867452689770968472495694335382831148454341057904452044765121425620664320172251690475746089834787886844908562450489687745492427396769873685023598558693164618940721139327043995580699145172073383394426189960699155049004326774025860292596261496369419142801746005396952132620686715312374297536692871842579549223915175333440667283458189086324777077728752359752513471415313416539522460131129433234597378263288590473898890171706404913170025168464110881205532900869223093367524047047430639045641606140200910189313178401113613300150075640965430508765081263771947065904977936414820569142989690184848062596468517921198825396165404779082662153334449047973024418203322936284106406547776216530431050243229817826893778877456029313365957170717910369088681880236972186486045662355756269612115695752285590528313517928637555118054327848988685397455024583461391707756561038283089073320750284568305510487267339161323586341045302773384990457365132276074511120519115781962368994802231514234541122618577652483961933002956246442271901504389554955569222520758078672439514633012241307452254892669707290744003333107887837297735325031513160111266795885674437347353691789874627218547258731604046476510792232917160446710742374766794408080729214037694601509098525045268152285249999999999999999999999999999999999999999999999999999999999999999999999999999959/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.59374999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999989999999999999999999999989999999999999999999999999999999997998786238613517335225682163214411830867280622874278846753775001614383911327247375451654907256142818005693681435074313084" + } + }, + "old_theta_chirp_guard": { + "old_theta_chirp_guard": { + "rational": "-83551078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999994872485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/102400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.81592850407852049028507031245181993133286899087465666161144507639634951258361231699998951225422486953722991178442165189899250680178603571509082666897259312028883448966636343058195330702247014167938560688829937431794274451512850131868243895881871504306529512517248797243509710703849716921198972643142114017392215906330013924940836490997700870537008253388828554804474610210342123820730830316205544535213625716231940090518340500625880150794653606298633736463426644236465658904782904110794428693032241006811638084641451235741909025872957994950811309260796176343687505422491859915326404749756403000207025559041993383246465356292389696384006300398236381839199982053150310114876381400217213455731317382191096649760625226692549997189861356994381547697713660670165213479688534009753202824281404500497882504659316915993239710790996955049226843441512927166779949079985761060017409947255211087633933951182670457126636023132935290508010798106801675167558584396552507612201155629756416423068969507709135995507649830286654725573110350444906584945278091939015524419616836112959047230701474380063153392803333871269326736311690391396203330224665295504105972641461531829026447447999998647380678091640704468217830499344107324681427675744382663290926307864783676364246153859906968710407962200103068604837749066873972933665428374681201826940807809137922855122868087735444327614089207335255106926755798139769335399486694235126791678741452425625930310362759025589160719360875103247341926609783543987406721874827914053802361857064006795821795830780646496348297773775620943652226491691645598330152152073672669201279245202182858729660789440225794876971608088905207022128896489164528473237954305944787860558789864846419108523962672022872902881401281472798667079493612094661365000637618230970994123996924145921398573934746190667420283361175099036236645918470260707481997633764861930525545844737800047774414194383160660475481465716932555430694530802062373370145910312111724104720331163530727873088297463836758441547345619147463060431135883097171258239232450798703932914565613335889935861419436479529300823479734971530642568270934412561205829513509406372040638002191232305310559472914952515960046234038065532332186650734162776986427434686136670168106670002346053407867223965034745385454652615919844011084224404885428386871269147812806221653372283412481601445909184681920993643713424045709065482812233772234612593430453983848687607124333483251018174059161614417191856627419535924860275794515012434734567157654358118820523813529939535314359657175186571293294596303970317296155173494001749135371231029690521852554672922441422776721142220152296417862348616658564348127366876806569674275471838150761246183901508035622661080440109318938125069499414127046976998491816840836844144776773951507926482172868439452639507860411953244690602189220939806072322678268770016556808853073495912964667053437592686001283913294321549821896326571091881938988021321683778693077705025443144674844921630316329245540917861534557467092156244790100004416405100999999999999999999999999999999999999999999999999999999999999999999999999999999994992661897772965329548635673571176338265438754251442306492449996771232177345505249096690185487714363988612637129851373832" + } + }, + "old_linear_guard": { + "old_linear_guard": { + "rational": "-185951078817640498205191199995066360968485784665564842149011975822986190088561901260798926054832626640612342966724777154456832696502890057225300650902793535517576651741835615291592018639100942507969086145361855930157337038349158535033081749383036420409886220817662768377353943760742110127307747986577524753809629088081934259139416566781645691429896451470160440119782000855390334792428370243794477604058752733421506652690780672640901274413725292849800946138548883698140834718497693809453494981665014790975117398672846065399714842493908986829630780683055284575936005552631664553294238463750556672211994172459001224444380524843407049097222451607794055003340781622425917557633414553822426578668868999363682969354880232133171197122418029562246704842458788526249178603201058825987279692064158208509831684771140521977077463849980881970408287684109237418782667857905419325457827785989336153737148366011054548097675287688125737480203057261364915371579990422069767794893983364870570417222624775894155259399833426213534438986864998855584342983964766145551897005687640179670064364238309765184669074230613884179790577983170960789712210150057262596204515984856608592923082186751998614917814365840081375455058431328365900473781939962247847209908539253538484596988061552544735959457753292905542251353855044478948284073398655673550670787387196557233003645816921841094991476827348311301229492997937295123799449074374896769834679031247283840952637811465242203300576625536105725278132848418349043104483199823783991093618541633542958921518930719382012260656920346235846299879927492245092690075803723440813262109947087035247339172648386791213954018926683038931990659990004904477156595665209287462769212200821602733167128537776151421852550554912228145835089401458784933237760652921068514297982972850325423512139709180099243438370161843301413106325420513546964461565576975218616858158945011507248921000135048356516326893020894138936761031199541311870331029412159602405483233619111455465342042416602968840644144481914007002173881483144291503368436974029617872827304515188055951294322093502955038004043243248610847377989909436838462674769421833632124969613314243821880638012900264911376343087343654979105108159130351782683634101693118603950252141230082402358689656037340195579274705564278701920267350245790602678668156179607360313570973053218214381159880611005114287097491162546222806083054399727382768243295672784879461056109695317486849042610236581493163204461186477604787056922413583372733168196769438062713672216385054658084161904288947391049004333666615265604911262897657857791114620140574403094377015985072580016923362449633435951531891044983458369892482423681849927346458083162266379516092315144228477604946370671942592640071167400066096104446455620445016928404251416526344116717745017281999502856049061840122563176641762242361418058422547220496954172265547259814875819062720094910465314727213385267017621838408798087105523733833404189381711569946053780147041199749443921147433899890211386846302367994665062404522398823423999999999999999999999999999999999999999999999999999999999999999999999999999991796485783319516497457802929736884570383809284353476921848268796693741749601797375075010749939419508724339340420967806803532680528169313392031902664303092051703944648091977483653497860301968104778629752939493141324108686871993286148350500067210817080858072496698199828254025465285540401557710530407793331321729786960117357269356425967273566076995665402764507313254135245343993230837508989258893168514060336408622614072187009868584728454354800535439004201249876896576226996225975232864357105896419529680180709632425124833645432484802180551754184080076839192477203069419458435867904351314996869247877988019819567821723730098003005612063935420918077086148200183955209321322517090647773562078753996832541259339953591426401362528803921090807589136098434978130806561833192526400029671051115603869896704327242001611069292964392281210745424854724492496540505521930145949134821548040634086351752177000377627814451980762887413272292889319405282829532524509935336796974938154794996731663543062545981356046046589239561789062875618907939707504310899557625090874698927429842169765885309887604352677723765827819489400952805173488188915865197180721082913780425019298752478913658000013864348049560682779200767237381722899922015366323620077701268005344385967317266476922935953570718318387448943546800413072064541777429929359159517681273856719956336290734990602100711695641955585624813635154000753069067364312155261384089950385292900112637334214318781719987711102626551030191714745252249718674129081100783013880948525790965093930342826592734498373412429947818799885327564678460160632617115940441244855140686887736677625698020976908237685602511041017088721628023178810986063583149310968364065924429272403885324204137629382611765552745465636864903813662435190476029721008743464413132547310229031527504305664617168851545658942095547955234878574379335679827748309524253910165212113155091437549510312254507572603230126314976401441306835381059278860672956004419300854827926616605573810039300844950995673225974139707403738503630580857198253994603047867379313284687625702463307128157420450776084824666559332716541810913675222922271247640247486528584686583460477539868870566765402621736711409526101109828293595086829974831535889118794467099130776906632475952952569360954358393859799089810686821598886386699849924359034569491234918736228052934095022063585179430857010309815151937403531482078801174603834595220917337846665550952026975581796677063715893593452223783469568949756770182173106221122543970686634042829282089630911318119763027813513954337644243730387884304247714409471686482071362444881945672151011314602544975416538608292243438961716910926679249715431694489512732660838676413658954697226615009542634867723925488879480884218037631005197768485765458877381422347516038066997043753557728098495610445044430777479241921327560485366987758692547745107330292709255996666892112162702264674968486839888733204114325562652646308210125372781452741268395953523489207767082839553289257625233205591919270785962305398490901474954731847714750000000000000000000000000000000000000000000000000000000000000000000000000000041/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.90796425203926024514253515622590996566643449543732833080572253819817475629180615849999475612711243476861495589221082594949625340089301785754541333448629656014441724483318171529097665351123507083969280344414968715897137225756425065934121947940935752153264756258624398621754855351924858460599486321571057008696107953165006962470418245498850435268504126694414277402237305105171061910365415158102772267606812858115970045259170250312940075397326803149316868231713322118232829452391452055397214346516120503405819042320725617870954512936478997475405654630398088171843752711245929957663202374878201500103512779520996691623232678146194848192003150199118190919599991026575155057438190700108606727865658691095548324880312613346274998594930678497190773848856830335082606739844267004876601412140702250248941252329658457996619855395498477524613421720756463583389974539992880530008704973627605543816966975591335228563318011566467645254005399053400837583779292198276253806100577814878208211534484753854567997753824915143327362786555175222453292472639045969507762209808418056479523615350737190031576696401666935634663368155845195698101665112332647752052986320730765914513223723999999323690339045820352234108915249672053662340713837872191331645463153932391838182123076929953484355203981100051534302418874533436986466832714187340600913470403904568961427561434043867722163807044603667627553463377899069884667699743347117563395839370726212812965155181379512794580359680437551623670963304891771993703360937413957026901180928532003397910897915390323248174148886887810471826113245845822799165076076036836334600639622601091429364830394720112897438485804044452603511064448244582264236618977152972393930279394932423209554261981336011436451440700640736399333539746806047330682500318809115485497061998462072960699286967373095333710141680587549518118322959235130353740998816882430965262772922368900023887207097191580330237740732858466277715347265401031186685072955156055862052360165581765363936544148731918379220773672809573731530215567941548585629119616225399351966457282806667944967930709718239764650411739867485765321284135467206280602914756754703186020319001095616152655279736457476257980023117019032766166093325367081388493213717343068335084053335001173026703933611982517372692727326307959922005542112202442714193435634573906403110826686141706240800722954592340960496821856712022854532741406116886117306296715226991924343803562166741625509087029580807208595928313709767962430137897257506217367283578827179059410261906764969767657179828587593285646647298151985158648077586747000874567685615514845260926277336461220711388360571110076148208931174308329282174063683438403284837137735919075380623091950754017811330540220054659469062534749707063523488499245908420418422072388386975753963241086434219726319753930205976622345301094610469903036161339134385008278404426536747956482333526718796343000641956647160774910948163285545940969494010660841889346538852512721572337422460815158164622770458930767278733546078122395050002208202550499999999999999999999999999999999999999999999999999999999999999999999999999999995994377823886482664774317836785588169132719377125721153246224998385616088672752624548345092743857181994306318564925686916" + } + }, + "old_union_tag_2beta": { + "old_union_tag_2beta": { + "rational": "-2047999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/2048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999993994140625" + } + }, + "matrix_below_strassen": { + "strassen_integer_power_gap": { + "rational": "-423", + "decimal": "-423" + } + }, + "halo_too_short": { + "halo_covers_generic_inverse_radius": { + "rational": "-3", + "decimal": "-3" + } + }, + "core_too_small": { + "microbox_halo_volume": { + "rational": "-4095999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999877/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999969970703125" + }, + "microbox_face_corrections_above_kappa": { + "rational": "-3073755394088202491025955999975331804842428923327824210745059879114930950442809506303994630274163133203061714833623885772284163482514450286126503254513967677587883258709178076457960093195504712539845430726809279650786685191745792675165408746915182102049431104088313841886769718803710550636538739932887623769048145440409671295697082833908228457149482257350802200598910004276951673962141851218972388020293763667107533263453903363204506372068626464249004730692744418490704173592488469047267474908325073954875586993364230326998574212469544934148153903415276422879680027763158322766471192318752783361059970862295006122221902624217035245486112258038970275016703908112129587788167072769112132893344344996818414846774401160665855985612090147811233524212293942631245893016005294129936398460320791042549158423855702609885387319249904409852041438420546187093913339289527096627289138929946680768685741830055272740488376438440628687401015286306824576857899952110348838974469916824352852086113123879470776296999167131067672194934324994277921714919823830727759485028438200898350321821191548825923345371153069420898952889915854803948561050750286312981022579924283042964615410933759993074589071829200406877275292156641829502368909699811239236049542696267692422984940307762723679797288766464527711256769275222394741420366993278367753353936935982786165018229084609205474957384136741556506147464989686475618997245371874483849173395156236419204763189057326211016502883127680528626390664242091745215522415999118919955468092708167714794607594653596910061303284601731179231499399637461225463450379018617204066310549735435176236695863241933956069770094633415194659953299950024522385782978326046437313846061004108013665835642688880757109262752774561140729175447007293924666188803264605342571489914864251627117560698545900496217191850809216507065531627102567734822307827884876093084290794725057536244605000675241782581634465104470694683805155997706559351655147060798012027416168095557277326710212083014844203220722409570035010869407415721457516842184870148089364136522575940279756471610467514775190020216216243054236889949547184192313373847109168160624848066571219109403190064501324556881715436718274895525540795651758913418170508465593019751260706150412011793448280186700977896373527821393509601336751228953013393340780898036801567854865266091071905799403055025571435487455812731114030415271998636913841216478363924397305280548476587434245213051182907465816022305932388023935284612067916863665840983847190313568361081925273290420809521444736955245021668333076328024556314488289288955573100702872015471885079925362900084616812248167179757659455224917291849462412118409249636732290415811331897580461575721142388024731853359712963200355837000330480522232278102225084642021257082631720583588725086409997514280245309200612815883208811211807090292112736102484770861327736299074379095313600474552326573636066926335088109192043990435527618669167020946908557849730268900735205998747219605737169499451056934231511839973325312022611994117119999999999999999999897599999999999999999999897599999999999999999999999999999959/1024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-3.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999998999999999999999999999999999999999599609375" + } + }, + "group_equals_dimension": { + "group_below_dimension": { + "rational": "0", + "decimal": "0" + }, + "group_key_fits_record": { + "rational": "0", + "decimal": "0" + }, + "membership_arithmetic_fits_record": { + "rational": "-41/4096000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.0009765625E-3080" + } + }, + "epsilon_equals_one": { + "epsilon_below_one": { + "rational": "0", + "decimal": "0" + }, + "global_gamma_power_slack": { + "rational": "-1/100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1E-3080" + }, + "actual_logarithmic_gamma_guard": { + "rational": "0", + "decimal": "0" + }, + "source_axis_superpolynomial": { + "rational": "0", + "decimal": "0" + }, + "gaussian_above_main": { + "rational": "-10542650041450507626591210789346288848572146939569234455193609918774751194607874774967750181741473826981978737096579589401958415492059823904292007090723844888166055724067549039506419094095685664110741181520576027673939384020141554948499798367548757425782509905400515237923604143378795326868408776620006034810639119647928191930722098179301769013003791706478060237594263968020307487473032223320494457818990774132157783438970394245814636935598393682987396250369310271319011322074301406928682310741410959457871102724625499063702545593458344737447759769482422568390791741624692396286946055009392256366035940541296534828809705990983163808193737245768741555399448134372036032448728056679313763738009502376221980139225720795912413588236727577232591704695065607580314500422420799910986846653188390309887018273995166792121106823156367763725435826522510378483434209562152595535355878097740944743468998867116556644057711337760183121332041784151511402426470193989609075185535615009805009370812362055931861860232281314632811373143276180877487067301327124727375903217710473490702344070337186941966828702516541531797141584479535433252404408457836751258658724942103742563259025999958406955851317951662397698287854831300233953901029139766896195983966842098048200569231192139287845044837653169359598760783806374667710211922521446956178429840130991127795028193697864913074133243125559094537997740792797907063534215847730148844121299662087997357043654840036866692120346909424855764243250843977612756697650958357154422627104718208971520221796504879762710156543600344017305964619518102148652178676265434577939336789967122905937069275286943192466876948733835115930463567041809250552067094907802226712182788344027387587111852164703341763603089405288559012694428571910836973769606760602358069312905417487083006148493445363023173713356134295364276861992960516755071427238269504363660534725687351469063236477282190309621055070795676079493856822163417981131986742097435516220150183278569882097465147012980322077580877788784489108257428405238016190856397862060145937122892610078615527738647671745526000322001850374567258974331233186257079257540414245940249618567380393388299703792134789865771421696670515119214739510075505392332643616598702607669280102572141142291917136924818420602730567939535203340839900450226922896291526295243791315841197714933809244461707428969070554544187789405553763596476188496214337247986460003347143919073254609968808852319219643328649591293150729689453480681336632368087940097871512153731107266045640710916559458136987067268808836347087256856771584940553785912665354162983546966056192365073750384175123269683114849267219962250853704916531461802017483970759023135908320154971372095396828223533361557347345887106984406694542703623367855732957451885799008868739326815704513168664866707667562274236017318543899036723922356764678009121872232009999323663511893205975094539480333800387657023312042061075369623881655641776194812139429532376698751481340132227124300383224242187642113083804527295575135804456855749999999999999999999999999999999999999999999999999999999999999999999999999999877/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-5.14777834055200567704648964323549260184186862283654026132500484315173398174212635496472176842845401708104430522293925263767500756448233589076758158726750238679983189651735792944649369828890901567907284253934376351266571485358474362719716717165466671180786616474634533101738483563417740569746522295898732168488238264058993746617289950161219190088075766917874035038782420313491576536769151529321018448192908893171766769480976281533917819121015316552118957537563978091748599710659248385189565954170457004778862437725854446469850859055583239133191394994258914472206628009018183412448537842255481267872848659242994864687973925340974795321959826453551833759738678436134571896910549642544617370019995233213963873985630898237910819738121463732060141830813750370132543965938515620653654621737714370599952064159920253521538419099432019713156046216919452074386436013776982203874798735241257067552197210308425617385630436414071441471291102741773017696604989940898880624293731201650635223184197366012297942394154361066055242829261532269408548208072613512078901524302269213413200394059432956150724057740065504482282303929664816076777559006730310120051695553813659304846632128904219089641177634358515512611711661684581736030323688465180478319529630961818759793419491803676164308829963533660136658241396795638071787691529367527157149894537646051161866611020403560208697912261990190162988170937148335305836631633189948674029360335062890495949397208986175131451188813936760535363439982616094372885627488201032930792339097568797437510829907464832163581862480485547720017803687407331477157161927023172750944179197613423141458460707370273069671726012394292770042166359463342312112651118545030601180800212110712284526945906479655359550932099867605420541720145112833836609844080107537015103169209838236474909594406511866365903972467494890833831152000025232181222033118628142756862047152702708450353343617294448711965579628695121069035977644698143609960290141476343565437020667898920024290290381493179788944378798280492632239132246349512509319160051858405563336078740726494898815363655846949511734472746600320666942106017245422708948122090539352551250906610370770913071474225331536414620200032739996055407202640405536734992364091733525765101567508405329213472516451407149443492703512672617350626948264171236469545484682384950747843808482174502404514731808055130398171102919404568054863109188891416715685936838867350934761673498760252383244742149396646906718324860875473117845736393390252348043950091382429381401721974884800337722629791845071643984806462260119963709550045925477827766862996239431004201962517825866717977300940902495842249375974719279966060377512783301634959509717926558023445066961528095548253102214919792350873393895722983131967950359758580710813080361279729918912442173071932063714194710330189171680533132026320152535271326400293414153917578613248225757416660448002663060563173847053565591408303763445782416096466883603262311495582635580993724674811143902553729649621200568462552920142934354254677951994909667968749999999999999999999999999999999999999999999999999999999999999999999993994140625E-3083" + } + }, + "epsilon_not_above_r0_slack": { + "global_gamma_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "beta_below_gaussian_window": { + "gaussian_above_main": { + "rational": "-406437459657968276995752113917685301717310236919631628060111111074517028343634822567485792345763401686801045743503044330656310809649938969700037652138655858942690983707738926204995648924294759737802695294294214448027876476692982303000453019638860480207324807958320050436199765407259311160339244952461406110878914877967268719858248875777312180029883467609388035359463504548731644581216508033675208671824850372792763541280101859274810405994425728136063326336049293217329638043312227814382978402748753553683966934837741281842693123275794323825328026289404458435054475798553328334858430817188395733286374146122092615112661495899077167309140778264116782408071415308684395560553637206280106950956214053659721372439592945447592366059157525495193867193950286566213278598424046379259935270192894942203675257840873862564217889795433688948026547579744918186640170827981554759737919596773640125228276736038157698065446741698122667270365735707302156765367555199578914518229798297284567183399280359032123813434121546309445049942383350144454486681209220061478585449726540323333646168388564557478271087686354176908733989183731755947810227170675963043267482911510172017239353057990308820713357082737338663701070175692954511258939789565686813664264274208845230732630867768454067895447173188460786511262626885297576479377947497140789574152750520932776241569131602524746273045648255269027353473604721912345803472292521124680680262821266503384191171577728589939264040829895991393068677446646783772310552673297216980472115399342690364211678585636984711466474658880156032289756347717800635957631569846256659865472062339637083337141141857763844782329054983582011798011120741555378631633113517918823938589684158381307797061554375878630919519831432234249957801857255225014888318375220349430149906962274490340432598972769584399475211979290819876508844359800403931642546516794516732904591085152892291734099206750342141705831495392526522068639564076389603752910908702475279294992703906782528709379254024415044076344524786785962223980818420457772469540701860014003349633978148317417963104907516707558075026431137274171341019177332397899467006916519304078161126199631659473830983567406038724741255324230022777034305847592756413505962667497707586942263899308886154016692903482692000436222329911702378415696804902873034835925626791803376590999067579577553959577830949793439208795754931494026917978951919617940578780845180779884533144068324122732462590378176895575354771304120017642660998751435341764490042804062331819347992988634285643558353745917986673632458868871330847627779291149032117651027519975166443091092821062183839512803721836165759879262251204448913245551830599870073765186852390666638596108329698227460976083273242861931591695927366759828449944244710385779086289391169066416263148059151568298913942886542009896992035220728475556673909126169976125396230058329842413598271116992197027698917775490324086431705800230561122364425764533853391228487081043770809095152250808919961989291248429720612348526454859869006642438447389749999999999999999999999999999999999999999999999999999999999999999999999999971341/204800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "-1.9845579084861732275183208687386977622915538912091388088872612845435401774591544070678017204382978597988332311694484586457827676252438426254884650983332805612436083188854439756103303170131580065322397231166709689845111156088524526513693995099553734385123281638589846212705066670276333552750939694944404595257759515525745542961828558387564071290521653691864650164036303933043537333067212306331797298428947772109021657289067473597402851855196568756643717106252406895377423732583604873749168867321716482113474947990124086027475250159950894718033595033662327072024144326101236735100509317245527135414373737603617803472297924604447127310016639563677577266019112075619355251980158066712895847214658889338853582638651999289433220998982301049570013046579603836240882744063674139612301526864887448349788830949261419070518451650167660593165358768542232333332039591210036853502828105311212896739661950001863168850851891684478645862810826938833113123308962656229439185460439369984598007001917986280865420577837966128390871579217937018772191732480918948314384055162428726725275691815847878783118705453435262544371776815611902145889171248568162257972045064038582618029265286034683047886394388805534114438528817172507544495065419412387051448450404014103771031866741590256546283957381503342811841370245453383670726532126342633827615925427271529920714920367754029528626613557043714307976243828355562126259935170533258041048840958069653485556209549693778805628126993647265204739681515949549988882351204750840672874615009733529802940023368439305894114573957953132618764148259165908234177618728996399250969993753043927591959821344817273625233512160887870215419824761754958758722247710620992130075126449421795962294778396209759698775367179269152062986220793811290283930093670665056124519038425892309098653935496717264863255625584926309564282658416005879098224733716640357262348856986579731068932329062829606549887980053485963209085382791214667461120747602963988050746825815620448365659637658887910890824040259999354783311717813399436414671364292083008496257306346589273311423979731812339236234132149957874715397510702018183491184912447095669144441461240216389622745653494502247984606506607628419080909878215214490059253220833373911503268665229458441706739096333177865820333799918452719842696078945551898097404097930995693524247607376346659060251932511276845382773866980221264356783104441011700094754823283456092767799469925211138805296024920809418729265369692583985236458056579659928797094240371292106045866601220148158478689372741499901693048459905706607951544325160700636333869679078123787423979057266653426945288711119230281531244104602109592232092067960478509280945565764276888019462700602036046262742972816076311617753500777703455069748532433823749305619447724178177071106599026325760170845407367506934077001564219762132595540718219051268365497862795816886836601478081884384620493111219506363480782798134776882867302950476783879560118578470754090371537849230996529295019008361739732451774830393303704541339962814813952636718749999999999999999999999999999999999999999999999999999999999999999998600634765625E-3081" + } + }, + "beta_above_membership_window": { + "membership_arithmetic_fits_record": { + "rational": "0", + "decimal": "0" + } + } + } + }, + "pr1673_kappa": { + "rational": "1677160151714381/1000000000000000000", + "decimal": "0.001677160151714381" + }, + "improvement_over_pr1673": { + "rational": "370918875458641425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "decimal": "0.0000370918875458641425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999" + }, + "source_sha256": { + "new/SPEC.json": "cf5a50a5b9a47cc59e2a0fde303ba740fe50aeb13ce7066bc93c977e4a6c9424", + "CLAIM.json": "37ca7cddddb264e31f3fc963eff80171bfc764c3db7396cd11dd8592a3043c1f" + } +} diff --git a/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json b/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json new file mode 100644 index 0000000000..434a282e65 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/OUTER-CLAIM.json @@ -0,0 +1,10 @@ +{ + "kappa": "0.0017142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999", + "kappa_rational": "17142520392602451425351562259099656664344954373283308057225381981747562918061584999947561271124347686149558922108259494962534008930178575454133344862965601444172448331817152909766535112350708396928034441496871589713722575642506593412194794093575215326475625862439862175485535192485846059948632157105700869610795316500696247041824549885043526850412669441427740223730510517106191036541515810277226760681285811597004525917025031294007539732680314931686823171332211823282945239145205539721434651612050340581904232072561787095451293647899747540565463039808817184375271124592995766320237487820150010351277952099669162323267814619484819200315019911819091959999102657515505743819070010860672786565869109554832488031261334627499859493067849719077384885683033508260673984426700487660141214070225024894125232965845799661985539549847752461342172075646358338997453999288053000870497362760554381696697559133522856331801156646764525400539905340083758377929219827625380610057781487820821153448475385456799775382491514332736278655517522245329247263904596950776220980841805647952361535073719003157669640166693563466336815584519569810166511233264775205298632073076591451322372399999932369033904582035223410891524967205366234071383787219133164546315393239183818212307692995348435520398110005153430241887453343698646683271418734060091347040390456896142756143404386772216380704460366762755346337789906988466769974334711756339583937072621281296515518137951279458035968043755162367096330489177199370336093741395702690118092853200339791089791539032324817414888688781047182611324584582279916507607603683633460063962260109142936483039472011289743848580404445260351106444824458226423661897715297239393027939493242320955426198133601143645144070064073639933353974680604733068250031880911548549706199846207296069928696737309533371014168058754951811832295923513035374099881688243096526277292236890002388720709719158033023774073285846627771534726540103118668507295515605586205236016558176536393654414873191837922077367280957373153021556794154858562911961622539935196645728280666794496793070971823976465041173986748576532128413546720628060291475675470318602031900109561615265527973645747625798002311701903276616609332536708138849321371734306833508405333500117302670393361198251737269272732630795992200554211220244271419343563457390640311082668614170624080072295459234096049682185671202285453274140611688611730629671522699192434380356216674162550908702958080720859592831370976796243013789725750621736728357882717905941026190676496976765717982858759328564664729815198515864807758674700087456768561551484526092627733646122071138836057111007614820893117430832928217406368343840328483713773591907538062309195075401781133054022005465946906253474970706352348849924590842041842207238838697575396324108643421972631975393020597662234530109461046990303616133913438500827840442653674795648233352671879634300064195664716077491094816328554594096949401066084188934653885251272157233742246081515816462277045893076727873354607812239505000220820255049999999999999999999998999999999999999999999999/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "branch": "fine source-prime padding (PR1786, chafreaky; Trudgian's prime theorem; vendor/pr1786) with the gauge-free interiors (PR1758), the radix-distributed union schedule with per-visit tag work and the explicit Strassen boundary (tau=45/16); epsilon=1-1.0009765625e-3080 is a free parameter (outer/FINE-PADDING-COMPOSITION.md): kappa = C - 1/F - B, the fixed-grid maximum (epsilon q is 1.70e-3083 below q); the structured boundary of the previous package is not used; omega_C<=9/4 not used; recertified endpoint: the supplier native endpoint is certified to 1e-3000 (accept at the endpoint, reject at endpoint + 1e-3000, repaired fine engines in integer fixed point), and all free slacks are 1e-3080 or below", + "b": "certified complex_lower - 1e-3080 (see outer/B.json)", + "outer": "PR1673 capped phase-cell fusion (Vlado Vojdanovski)", + "supplier": "PR1661 T74 pivot-566 stack with PR2226 anticipatory dirty borrowing, the PR2312 width exchange, frame refit and kernels, the PR2322 handoffs, the PR2435/PR2447 entrance raise, the PR2436 lifted-target aliases, and the PR2530 (zxv) eight source-partner aliases with an owner fill evacuated by the PR2559 (philippeVV) method", + "retuned_slacks": "b = certified complex endpoint - 1e-3080, q = b - 1e-3080, r0=1e-3080, zeta=1e-3082, layout slack=1e-3080, stop=1e-3086, epsilon = 1 - (1025/1024)e-3080, floor grid 1e-3046, backoff 1e-3022; kappa = C - 1/F - B is the fixed-grid maximum (outer/RETUNED-SLACKS.md, outer/PROOF-GRID-MAX.md)", + "fixed_grid_maximum": "kappa = C - 1/F - B exactly (F = 1e3046, B = 1e-3022, C the certified complex endpoint); PR2180 / PR2161 (dataisfire) point re-derived at this endpoint; main-binding guard gaussian_above_main is the 63rd strict row" +} diff --git a/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md b/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md new file mode 100644 index 0000000000..76ab77537a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/PROOF-GRID-MAX.md @@ -0,0 +1,15 @@ +# Maximum on the declared fixed kappa grid + +Credit: this argument and its parameter point are PR2180 / PR2161 (dataisfire, with OpenAI Codex assistance) on this series' PR2044; the ledger formulas are PR1786 (chafreaky / Chafik Boukhalfa), PR1673 (Vlado Vojdanovski), PR1758 and the Kothe lineage. Re-derived here at this package's own endpoint. + +Let C be the certified complex supplier endpoint, F = 10^3046 the floor denominator and B = 10^-3022 the positive backoff of `outer/check_ledger.py`. Every point of the free-gap family uses 0 < epsilon < 1 and 0 < q < b < C and reports K = floor(F epsilon q)/F - B. Since C F is an integer (asserted exactly) and epsilon q < C, integer ordering gives + + K <= C - 1/F - B. + +This bounds the declared grid/backoff family, not arbitrary suppliers, other backoffs or finer grids. + +Choose r0 = 10^-3080, zeta = r0/100, layout slack = gap = r0, stop = r0/10^6, b = C - r0, q = C - 2 r0, delta = (1025/1024) r0, epsilon = 1 - delta, beta = 1 - 3 delta. Then 0 < C - epsilon q < 1/F, checked exactly, so the reported K equals the bound C - 1/F - B (asserted in `outer/check_ledger.py`, `outer/independent_check.py`). + +All 62 strict inequalities of the earlier ledger and all 17 rejecting controls are retained. The main-binding family condition is now an explicit 63rd strict row, `gaussian_above_main`: Gaussian saving minus main saving = delta (1 - 2q) > 0. It was previously implicit in the checked beta window; it matters for rejection controls because the kappa floor/backoff (1e-3046, 1e-3022) is coarser than the free gaps (1e-3080), so a beta outside the main-binding window could still exceed the rounded kappa. The gamma spare power is r0/1024 > 0. All eventual cutoffs remain asymptotic; no practical cutoff is claimed. + +The supplier, native words, owners, invoice, endpoint and fine engines are unchanged (this package's own verify.py re-admits them in full). The ledger re-encloses the native moment sum at the new b = C - r0 (moment(b) < 1) and at the test endpoint C + 1e-3000 (moment > 1). diff --git a/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md new file mode 100644 index 0000000000..c49777f8be --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/RECT-BOUNDARY.md @@ -0,0 +1,72 @@ +> **Superseded in this package (pkg7) by outer/STRUCTURED-BOUNDARY.md; kept as the documented fallback (pkg6: k = 5, tau_eff = 2.1567081) if the structured-solve argument is not accepted.** + +# Rectangular boundary batching, k = 5 (new in this package) + +**Status.** This construction is a new contribution of this package. The capped phase-cell fusion outer, its boundary algebra and the batching of right-hand sides are Vlado Vojdanovski's +PR1673 (PHASE-LAYOUT-AUDIT.md, "Batched right-hand sides"); the specialisation of the matrix boundary to an established published exponent is Chafik Boukhalfa's PR1699; the +radix-distributed sparse-union schedule is new in pkg4 (outer/UNION-SCHEDULE.md). The change here: the boundary solves are batched with **W^k right-hand-side columns per factor page with k = 5** +(pkg5 used k = 2), so that rectangular matrix multiplication is used. The published input is the bound **omega(1,1,5) = omega(1,5,1) = omega(5) < 6.156708** of Francois Le Gall, +"Faster Rectangular Matrix Multiplication by Combination Loss Analysis", SODA 2024, arXiv 2307.06535 (v2, revised 27 Dec 2023), Section 1.2, Table 3 ("Our new upper bounds on omega(kappa)"), kappa = 5.00 -> 6.156708 +(same table: kappa = 3.00 -> 4.199095, kappa = 2.00 -> 3.250563, kappa = 1.00 -> 2.372537). Convention (Section 1.1): omega(kappa) is the smallest exponent such that the product of an n x ceil(n^kappa) matrix by a +ceil(n^kappa) x n matrix is computable in O(n^(omega(kappa)+eps)), i.e. the exponent of the tensor ; footnote 1 there (citing [8, 9]) states that the arithmetic complexity of n x n times n x m, n x m times m x n and m x n times n x n are the same: +the matrix multiplication tensors , , are cyclic rotations of each other, so and (a W x W factor page against W x W^5 right-hand sides) have the same rank and omega(1,5,1) = omega(1,1,5). +The theorem is used as a cited input and is not re-proved here. All inherited all-size hypotheses of PR1673 remain. (The k = 2 value of ADVWXXZ 2024, omega(1,1,2) < 3.250035, is the pkg5 fallback; for k = 5 only Le Gall's table gives a bound.) + +## 1. Batch width and the per-column cost + +In the audit, all inner coordinates and following tensor axes are independent right-hand sides; their number R is superpolynomial. The audit batches them in a dyadic width between W and 2W. Here a batch has width between W^5 and n^5 W^5, +where n is the fixed base of the rectangular format of section 3 (a constant; the width is a power n^(5j) matching the padded row dimension n^j). +Batching more columns is allowed for the same reason as before: the number of right-hand sides in an axis substream is superpolynomial, so padding the last incomplete batch costs a polynomial amount per axis substream +(at most n^5 W^5 lines of |E_f| records; at most g axes and g rounds per window), negligible against the superpolynomial volume. The batch matrix of |E_f| x n^5 W^5 consecutive lines (each line |E_f| long) is +rearranged so that W-row slices times all batch columns are contiguous by another small-field transpose with O(log(n^5 W^5)) = O(log p) riffle passes, so moving it costs O(log p) times the boundary volume, exactly as in the audit. +**Working set and record count per batch:** one batch is the W x n^5W^5 matrix of a block (and its W x n^5W^5 result) of p-bit records: n^5 W^6 = poly(p) records (about p^3 polylog p), so P-bit entries fit in polynomially many tape cells; +the whole batch matrix |E_f| x n^5 W^5 is |E_f| n^5 W^5 records, polynomial in p. **Superpolynomial supply per factor page (premise used explicitly):** every prefix block of an axis substream contains +L^(g-f) times the spectators lines, which is superpolynomial in p (the spectator payload and the L^(g-f) suffixes), hence >> n^5 W^5 lines: there are enough independent right-hand sides per factor page. For the last axis f = g the suffix is empty and the lines of a block are only the spectator lines: the d - g spectator axes (d = p^epsilon axes in total, g = p^beta in the group) each have length L = p^8, so there are L^(d-g) = p^(8(d-g)) of them, superpolynomial because d - g = p^epsilon - p^beta grows; W^5 = p^2.5 polylog p is far below it. The factor pages depend only on the axis f, the block index along the line and the axis-f coarse label, not on the other coordinates, so lines of every prefix block of the tag-f substream share the same pages. Each W x W factor page is scanned once per batch (page cost W^2 per block-batch versus product W^sigma). + +Cost bookkeeping per axis: a band of boundary rows has V W / B right-hand-side entries per axis. A batch handles W * W^5 = W^6 entries with one product of shape costing W^(omega(1,1,5)+eps). +So per axis the boundary arithmetic is (V W / B) / W^6 * W^(omega(1,1,5)) = (V/B) W^(omega(1,1,5) - 5), i.e. the old form (V/B) W^(tau - 1) with +**tau_eff = omega(1,1,5) - 5 + 1 = omega(1,1,5) - 4** (in general tau_eff = omega(1,1,k) - k + 1; k = 1 is the square case tau = omega). With the published bound, tau_eff < 2.156708. +The boundary row exponent is epsilon - xi + (tau_eff - 1)/2 and its saving is c + xi - epsilon with c = (3 - tau_eff)/2. + +## 2. Blocked triangular solve against W^5 columns, geometric ratio + +The no-pivot band solve of the audit is the block recursion X_j = L_jj^-1 (Y_j - L_{j,j-1} X_{j-1}) on W x W blocks along an axis line, with R = batch width columns: Y_j, X_j are W x R. Each step is two products of a W x W factor +block with a W x R matrix: shape with R = n^(5j), W = n^j padded. The precomputed diagonal inverses L_jj^-1 are part of the factor page. +The product is computed by recursion on the fixed format (n x n by n x n^5 matrices, rank R_f): T(W) <= R_f T(W/n) + A(W), where the additions (linear combinations of blocks and accumulations) at the top level touch +O(W^6) entries (the output W x W^5 and the inputs are of size at most W^6): A(W) = O(W^6). The output size of the format is n * n^5 = n^6 entries, so necessarily R_f >= n^6; the format exponent sigma > 6 satisfies R_f < n^sigma. The level-i additions cost +R_f^i (W/n^i)^6 = W^6 (R_f/n^6)^i, a geometric series with ratio R_f/n^6 > 1 that is dominated by its last term, the leaves (R_f^(log_n W) = W^(log_n R_f) = O(W^sigma)); precisely T(W) = O(W^(log_n R_f)) = O(W^sigma) because the per-level cost +increases geometrically toward the leaves (ledger check `rect_leaf_domination`: sigma - (k+1) = sigma - 6 > 0; if R_f = n^6 exactly there is only a logarithmic factor, absorbed by the strict slack). Equivalently the ratio of the additions' cost +at the top, W^6, to the leaf cost W^sigma is W^(6-sigma) < 1. Per step of the band solve two such products are needed, working set W * n^5 W^5 * P bits (polynomial). The additions are complete block scans: O(W^6) entries per level, +O(W^6) per node up to logarithms, as in the square-case tape accounting of PR1673/PR1699 (depth-first scheduling, fixed block permutations, tape repositioning). + +## 3. Existence of an exact rectangular format and precision + +Let omega(1,1,5) < sigma0 := 6.156708 (cited). By definition of omega(1,1,5) (the exponent of the arithmetic complexity of ; arithmetic complexity and tensor rank have the same exponent up to the constant bilinearisation factor +that is absorbed by the strict slack), for every sigma > sigma0 there are fixed integers n >= 2 and R_f with an exact bilinear formula of rank R_f for and R_f < n^sigma: choose s with sigma0 < s < sigma, a constant C with +rank <= C n^s for all n, and n large (the cited analysis defines omega through the asymptotic rank, and the infimum is over exact formulas for tensor powers). This uses strict slack and never asserts that the infimum is attained by a finite formula. +The rank equations are finitely many polynomial equations over Z. A complex solution can be replaced by one over the algebraic closure of Q: otherwise, by the weak Nullstellensatz over Qbar, 1 would lie in the ideal, giving the same contradiction over C. +Enumerate finite algebraic tuples with isolating descriptions, test the equations exactly, dovetailing over (n, R_f); the search halts by the existence statement and its cost and description are fixed independently of the growing input +(the argument of PR1699/PR1673's matrix lemma with the format in place of ; no finite scheme is claimed as generated here). +Recursion: T(W) <= R_f T(W/n) + O(W^6), with W padded to the next power of n (a constant-factor change of the dimension; the batch width is the padded W^5, so both W and R are powers of n and no axis of the tensor is padded). +Precision: approximate each fixed algebraic coefficient once by precision-doubling Newton iteration, O(M(P')) bit operations for P' bits. The absolute roundoff envelope of the fixed bilinear recursion obeys E_j <= K E_{j-1} + K n^(6(j-1)) +with K fixed by the chosen formula (maximum L1 column sums of the encoders and decoder times the base-case size), hence E_j <= K^j (...) = W^(log_n K) poly(W), polynomial in W. Input magnitudes at most 2^h need fractional precision +P + 2h + O(log W) for absolute error 2^-P; intermediate magnitudes are W^O(1) max(1, 2^(2h)); the total record width is O(P + h + log W) = O(p) at the retained boundary interface (P, h = O(p)), and a larger fixed guard constant absorbs the formula-dependent K. +The bound is absolute, including cancellation. + +## 4. Choice of sigma, controls + +sigma = 6.1567081 is strictly above the published bound 6.156708 (margin 1e-7, costs about 1.4e-13 in kappa), so tau_eff = 6.1567081 - 4 = 2.1567081. Ledger checks: `rect_exponent_above_published_bound` (sigma - 6.156708 > 0), +`rect_leaf_domination` (sigma > k + 1 = 6), `rect_effective_exponent_above_two` (tau_eff > 2, the trivial output-size bound) and `rect_effective_exponent_below_five_halves`. Rejecting controls: sigma = 6.1567079 (below the published bound) +and sigma = 6.156708 (equal to it) must fail `rect_exponent_above_published_bound`; both are asserted to fail. + +## 5. Consequence for the ledger + +c = (3 - tau_eff)/2 = 0.42164595. The boundary row still binds with main = fused Gaussian (xi = epsilon - c + kappa); kappa = 0.0016781238306..., +1.312e-7 over the k = 2 package (pkg5) and +3.04e-7 over the square tau = 2.372864 package (pkg4). +At the new balance epsilon = 0.99903, xi = 0.5791, beta = 0.4209; cap xi > 1/2 holds with margin 0.0791; union saving xi + 1/2 - epsilon = 0.080 (the old g-factor union row would be -0.341); +group scans 0.422; support/key/membership rows about 0.579; union tag work 1 - 2 beta = 0.158. The unproven omega_C <= 9/4 premise is not used. + +## 6. What is not proved + +The rectangular exponent is a published theorem used as a cited input. The existence of the exact format and the stability constants rest on the arguments above and on PR1673's inherited all-size hypotheses +(compiler, precision/tape, exact recovery, analytic transfer); a reviewer should in particular check the claim that the number of right-hand sides in an axis substream is superpolynomial in the regime used +(spectator payload L^g) and the per-column normalisation in section 1. diff --git a/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md b/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md new file mode 100644 index 0000000000..75ad18dd4c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/RETUNED-SLACKS.md @@ -0,0 +1,27 @@ +# Strict slacks of the PR1673 capped phase-cell fusion outer in this package + +Construction, proof and every formula are Vlado Vojdanovski's PR1673 (vendored verbatim under `vendor/pr1673`); the classical-matrix boundary +constant c = 3/10 is Chafik Boukhalfa's PR1699 specialisation of Francois Le Gall's published exponent (`CLASSICAL-BOUNDARY.md`). The following +constants are free in PR1673's own text and audits (each only has to be strictly positive) and are set as follows: + +| constant | PR1673 | PR1699 | here | why free | +|---|---|---|---|---| +| b (complex saving) | 17-decimal truncation | endpoint (22 digits) - 1e-30 | certified endpoint - 1e-3080 | must lie strictly inside the certified supplier endpoint | +| q gap (q = b - gap) | 1e-10 | 1e-30 | 1e-3080 | q < a_eff < b strictly | +| backoff after truncation | 1e-11 | 1e-42 | 1e-3022 | strict gap absorbs polylog factors | +| layout slack s0 | 1e-5 | 1e-30 | 1e-3080 | positive layout slack (carried by the boundary row in pkg4) | +| r0 | 1e-6 | 1e-30 | 1e-3080 | only eventual u = alpha^2 <= p^r0 | +| zeta | 1e-8 | 1e-32 | 1e-3082 | r + zeta > 0 gives g a B = o(p) | +| stop exponent | 1e-9 | 1e-36 | 1e-3086 | any t_stop > 0 with (1-t)b > a_eff, q < (1-t)b | +| decimal floor | 1e-18 | 1e-48 | 1e-3046 | rounding grid only | + +The exact enclosure of the native moment sum uses a 2^-10413 grid (directed-rounding integer fixed point, atanh/exponential term counts derived from the grid in check_ledger.py) so that moment(b) < 1 and +moment(endpoint + 1e-3000) > 1 are certified (the supplier endpoint is certified to 1e-3000 by the repaired fine engines). kappa = 0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702 +(exact rational in `LEDGER.json`), above PR1699's exact kappa by 6.69e-25. + + +**Fine-prime package.** epsilon = 1 - DELTA_E with DELTA_E = 1.0009765625e-3080 (any DELTA_E > r0 = 1e-3080 is admissible, outer/FINE-PADDING-COMPOSITION.md), beta = 1 - 3 DELTA_E; all other slacks unchanged. + +**Fixed-grid maximum.** The free gaps above are the point of PR2180 / PR2161 (dataisfire; stacking on this series' PR2044, PR1786 chafreaky / Chafik Boukhalfa and PR1673 Vlado Vojdanovski): r0 = 1e-3080, zeta = r0/100, layout slack = gap = r0, +stop = r0/10^6, b = C - r0, q = C - 2 r0, epsilon = 1 - (1025/1024) r0, beta = 1 - 3 (1025/1024) r0; the certified endpoint C, the floor grid F = 10^3046 and the backoff B = 10^-3022 are unchanged. +The ledger kappa is then exactly C - 1/F - B, the maximum of the declared floor-grid/backoff family (`outer/PROOF-GRID-MAX.md`). This is a statement about this grid and backoff only, not about other suppliers, backoffs or finer grids. diff --git a/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md b/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md new file mode 100644 index 0000000000..6395bac193 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/STRUCTURED-BOUNDARY.md @@ -0,0 +1,103 @@ +# Structured boundary solves (new in this package) + +> **Package note.** This construction is retained as an alternative but is **not used** by this package's kappa: with fine source-prime padding the boundary row is not binding (xi = 0.908 < epsilon), and the explicit Strassen boundary of PR1786 is used (outer/FINE-PADDING-COMPOSITION.md). The numbers in sec. 7 below belong to the earlier package. + +**Status.** This construction is a new contribution of this package. It builds on Vlado Vojdanovski's PR1673 (capped phase-cell fusion: the interior/boundary factorisation, the no-pivot boundary solver, the audited +conditioning bounds BILATERAL-LDU.md, FORWARD-SMALL-A-AUDIT.md, LOG-A-PHASE-SCHUR-AUDIT.md, PHASE-LAYOUT-AUDIT.md), on the radix-distributed union schedule (pkg4, outer/UNION-SCHEDULE.md) and on the classical structured-matrix +theory of Gohberg and Semencul (inversion of Toeplitz matrices, 1972), Kailath, Kung and Morf (displacement rank, 1979), Bitmead and Anderson (1980) and Pan (structured matrices and polynomial computations). It replaces the dense/fast-rectangular +products of the boundary algebra (pkg1 to pkg6: W x W blocks against W..W^k right-hand sides at cost W^tau) by applications of generator representations of the blocks: O(r W log W) ring operations per right-hand-side column, i.e. polylog(p) per entry. +The boundary row then has exponent epsilon - xi + 1/2 + o(1) (tau_eff = 2 + delta for every fixed delta > 0; tau_eff = 2 itself is not claimed). All inherited all-size hypotheses of PR1673 remain. The package pkg6 (rectangular k = 5, tau_eff = 2.1567081) is the fallback. + +## 1. Where the structure comes from + +Within one phase cell, with the notation of the note and of BILATERAL-LDU.md (rho = 1 + theta, q_i = floor(rho i + 1/2) = i + k on the cell's stretch of constant offset k, beta_j = rho j - q_j = theta j - k), +G_ij = exp(-a[(rho j - q_i)^2 - beta_j^2]). Expanding with rho j - q_i = (j - i) + beta_j gives the exponent (j-i)^2 + 2(j-i) beta_j = rho (j-i)^2 + theta (j^2 - i^2) - 2k(j - i), hence **exactly** + + G = D_r T D_c, T_ij = exp(-a rho (j-i)^2) (Toeplitz), (D_r)_i = exp(a theta i^2 - 2 a k i), (D_c)_j = exp(-a theta j^2 + 2 a k j). + +(The same factorisation, with a, rho and the offsets of the forward map, holds for the broad forward operator H of FORWARD-SMALL-A-AUDIT.md, which is itself a symmetric Toeplitz matrix after the anchored diagonal gauge, and for the augmented Haug = E H C + (I - E C), +which is permutation-similar to H (+) I.) The truncation to bandwidth W (rows farther than W are below 2^-P and are zero in the retained rounded matrix) keeps T banded Toeplitz. Cells are separated by physical cuts, which the note already makes boundary coordinates, so no block of the +boundary system couples two cells; the cell-wise offset k only enters D_r, D_c. + +**Diagonal cancellation.** In the interior/boundary decomposition the Schur complement S = D - C A^-1 B and every step of the block LU are built from products K_{ab} K_{bb}^-1 K_{bc} with K = D_r T D_c; +D_c(b) D_c(b)^-1 and D_r(b)^-1 D_r(b) cancel, so in the coordinates Y = D_r^-1 X D_c^-1 *every block of S, every LU pivot and every inverse pivot is the corresponding block of the Schur complement of the plain Toeplitz matrix T* (checked exactly in struct_check.py). The diagonals are only applied at +the input and output of a boundary solve, as the same anchored ratios (relative to the block anchor) as the capped gauge of CAPPED-GAUGE-AUDIT.md: their range over a block of the line, including consecutive boundary segments, is O(aB) with the linear (old) gauge of CAPPED-GAUGE-AUDIT.md, and O(a theta B'^2) = O(a B^2/d) (B' <= B + 2W) in the fractional-shift representation of GAUGEFREE-INTERIORS.md (chirp only), inside the group guard g a B^2/d = o(p) used by this package (beta + 2 xi - eps < 1). No new gauge is introduced. In the shifted representation the pivot bounds are those of GAUGEFREE-INTERIORS.md Corollary 4.3 (P_j^-1 is a principal block of the inverse of the accretive contiguous section T[J]); the displacement-rank statements are unchanged (they hold for any Toeplitz T). + +## 2. Displacement ranks (the algebraic statement) + +Let W x W be the segment size and Z the W x W down-shift. The displacement of a matrix M with row and column index sets that are intervals (shifts Z of the corresponding sizes) is Delta(M) = Z M - M Z (Sylvester) or M - Z M Z^T (Stein); the two ranks differ by at most 2 (Kailath-Sayed). +Facts for a banded Toeplitz T and interval index sets: +(a) every rectangular block of T has displacement rank <= 2 (the displacement lives in the first row and last column); +(b) for invertible Toeplitz A, Delta(A^-1) = -A^-1 Delta(A) A^-1 has rank <= 2 (Gohberg-Semencul); principal and corner blocks of such a matrix have rank <= 2 + 2; +(c) Delta(XY) = Delta(X) Y + X Delta(Y) with the middle shift matched, so ranks add under products; ranks do not increase under sums beyond the sum; Delta(M^-1) = -M^-1 Delta(M) M^-1, so M and M^-1 have equal rank; +(d) (Kailath) the Schur complement of a leading block of a matrix with displacement rank r has displacement rank <= r (w.r.t. the shift of the remaining indices). +Consequences for the boundary J = G separated W-segments with interiors I_j between them (all interiors eliminated): +* coupling S_{j,j+1} = - T_{j,I_j} A_{I_j}^-1 T_{I_j,j+1}: rank <= 2 + 2 + 2 = 6 (a, b, c); S_{j+1,j} likewise; +* diagonal block S_{jj} = T_{jj} - T_{j,I_{j-1}} A^-1 T_{I_{j-1},j} - T_{j,I_j} A^-1 T_{I_j,j}: rank <= 2 + 6 + 6 = 14; +* the LU pivot P_j = S_{jj} - S_{j,j-1} P_{j-1}^-1 S_{j-1,j} is the Schur complement of T onto segment j after eliminating all indices to its left (a leading block of T: rank <= 2 by (d)) minus the single right-interior correction T_{j,I_j} A^-1 T_{I_j,j} + (rank <= 6; indices farther to the right do not couple to segment j, in T or in its left Schur complement, because the band is W and the separators have length >= W): **rank(P_j) <= 8 uniformly in j and G**, and rank(P_j^-1) = rank(P_j). +A *global* displacement operator on the concatenated J has rank growing like 2G (IdeaLiterature's screen); the claim here is block-wise, with one shift per segment, which is exactly what a block-tridiagonal LU needs. The constants 14 and 8 are proved bounds; the observed ranks are <= 4 (struct_check.py, +and IdeaLiterature's 70-110-digit screens of the real chirp-weighted blocks: coupling 2, diagonal and pivot 2-4, flat in W and in G). + +## 3. Generator representation + +A block M with Stein displacement M - Z M Z^T = sum_{k<=r} g_k h_k^T is represented by (g_k, h_k) and recovered by the Kailath-Kung-Morf formula **M = sum_k L(g_k) L(h_k)^T**, L(g) lower-triangular Toeplitz with first column g +(rectangular off-diagonal blocks use the same formula with the matched shifts). Generators are computed **offline, from generators, never from the dense blocks**: the leading Schur complements of the banded Toeplitz T are propagated by the generalised Schur algorithm (r = 2 generators, +O(r W) work per eliminated index, or the superfast O(r W log^2 W) variant of Bitmead-Anderson and Pan per segment); the interior corner blocks T_{j,I} A_I^-1 T_{I,j'} come from the Gohberg-Semencul generators of A_I^-1 (first and last columns of the inverse of the interior Toeplitz block); +the pivot and inverse-pivot generators are then obtained by the rank-<= 8 recompression of the sum (generators of the Schur piece and of the correction), an exact operation on ranks (QR/SVD at working precision P + poly bits). This is the page regeneration the audit already charges +(polynomial in p per complete microbox and axis, amortised by the superpolynomial payload); the generator pages replace the dense W x W factor pages. Balanced generators from the SVD of the displacement (g_k = sqrt(sigma_k) u_k, h_k = sqrt(sigma_k) v_k) satisfy |g_k||h_k| = sigma_k <= ||Delta(M)|| <= 2||M||, +so each term of the KKM sum has norm <= W ||Delta(M)|| (|L(g)|_2 <= |g|_1 <= sqrt(W)|g|_2) and the sum has norm <= 2 r W ||M|| = poly(W) ||M||: no hidden cancellation beyond a polynomial factor. + +## 4. The solve on the tape + +For one boundary band the block-tridiagonal system S x = y (stage diag(I, S^-1) of the audit; the C and B stages are products with the banded Toeplitz coupling blocks T_{J,E}, themselves rank-2 Toeplitz blocks) is solved by block forward and backward substitution with the audited no-pivot LU: + z_j = P_j^-1 (y_j - S_{j,j-1} z_{j-1}), x_j = z_j - P_j^-1 S_{j,j+1} x_{j+1}. +Each operator application (S_{j,j±1}, P_j^-1 and the Toeplitz couplings) is r pairs of triangular-Toeplitz products L(g) (L(h)^T v), each a convolution of length W computed by FFT of length 2W at working precision: O(r W log W) ring operations of p-bit numbers per right-hand-side column. +Layout: the right-hand sides of an axis substream (the lines of the union schedule, UNION-SCHEDULE.md) are batched in the dyadic width of the audit; the batch matrix |E_f| x batch width is arranged so that the W-axis of every column is contiguous by the small-field transpose (O(log p) riffle passes), the FFT is a sequence of O(log W) butterfly +passes, each a scan with a bit-reversal permutation realised by O(log W) riffle passes: O(log^2 W) scans of the batch data, polylog p overhead. The generator page of a block (r W numbers) is scanned once per batch; with the batch width >= W this is a 1/W fraction of the batch data (as for the dense pages in the audit). +Cost: per band and per column O(r W log^2 W M(p)) bit operations, i.e. per entry O(r log^2 W M(p)) = (M(p)/p) polylog p * p; with the retained short multiplier M(p)/p = polylog p, the boundary arithmetic is **O(V (d/B) W polylog p)**, so the boundary exponent is epsilon - xi + 1/2 + o(1), i.e. tau_eff = 2 + delta (any fixed delta > 0 absorbs the polylog factors since W = p^(1/2) polylog p). +(The ledger uses delta = 1e-3080, the same convention as the other strict slacks.) + +## 5. Precision and stability at Cp bits (the regime: row gap about 1/(16p), poly(p) conditioning) + +The argument reuses the audited bounds and adds the factors introduced by the structured representation. +1. *Pivots and couplings.* By PR1673's no-pivot theorem (BILATERAL-LDU.md Sections 1-2: unit L and U with all entries and all inverse entries bounded by constants times exp(-a rho theta |i-j|), c = prod(1 - r^-m) > 0, ||N^-1||_inf < 16 theta^-2; and the narrow/broad row-gap bounds of LOG-A-PHASE-SCHUR-AUDIT.md and FORWARD-SMALL-A-AUDIT.md: + Schur row gap >= 1/(16 p) survives elimination), every P_j^-1 is a principal block of the inverse of a partially eliminated matrix and satisfies ||P_j^-1||, ||S_{j,j±1}||, ||P_j|| <= poly(p) uniformly in j, with the unit L^-1 / U^-1 bounded independently of G (this is the audited no-factor-equal-to-the-number-of-windows property). In the SPD (broad, Saug/4) case the principal-submatrix inverse has norm <= lambda_min(H)^-1 <= poly(p). +2. *Generators.* From section 3, balanced generators have norm <= sqrt(2 ||M||) = poly(p)^(1/2) and the KKM reconstruction has norm <= 2 r W ||M|| = poly(p). +3. *One application.* An FFT convolution of length 2W in fixed point with Cp-bit coefficients and a precomputed table of 2W roots of unity (computed once, offline, to P + poly bits by Newton iteration in O(M(P'))) has absolute error <= O(log W) 2^-P' times the product of the l1/l2 norms of its operands. So one application of an operator M to a vector v has + absolute error <= poly(p) ||v|| 2^-P' + (the error of the stored generators, <= 2^-P' poly(p)). The diagonal gauges D_r, D_c enter only through the anchored ratios of range O(aB) (section 1), which cost O(aB) = o(p) extra bits: the same guard as the interiors (chirp-only O(a B^2/d) per axis in this package; O(aB) in the earlier linear-gauge version); no exponential growth beyond it. +4. *Accumulation.* The forward and backward substitutions are the unit L^-1 and U^-1 of the audited LU followed by diagonal factors P_j^-1; errors of different steps enter linearly through the unit factors whose inverse is bounded independently of G, so the total absolute error is <= poly(p) 2^-P' (a sum over at most poly(p) = L/B segments of poly(p) terms, with the audited exponential decay of the L^-1, U^-1 entries + making the dependence on G at most polynomial). Hence P' = P + O(log p) + o(p) (the guard), i.e. O(p) bits suffice, the same record width as for the dense algorithm. +5. *Offline generator accuracy.* Generators are generated at working precision P + poly(p) bits in polynomial time; their conditioning is that of the blocks themselves (the generalised Schur algorithm is applied to the banded Toeplitz T with strictly diagonally dominant / SPD structure whose leading Schur complements are bounded below by the row gap), so no loss beyond poly(p) factors occurs. +The one point where structured algorithms are known to be unstable in general (indefinite or nearly singular leading minors) is excluded here by the audited uniform lower bounds on the pivots (item 1); this is where an independent reviewer should look first. + +## 5b. Cleaner conditioning argument, rounding convention, anchors and pages (added after independent review) + +* **Conditioning without the no-pivot theorem.** In the coordinates Y = D_r^-1 X D_c^-1 every block, pivot and inverse pivot is a block or a Schur complement of the plain symmetric positive definite Toeplitz matrix T (a Gaussian symbol is positive for every a; the narrow case has cond(T) = 1 + O(e^-a)). + By interlacing and monotonicity of Schur complements, every principal submatrix and every Schur complement of T has its spectrum inside [lambda_min(T), lambda_max(T)], hence every leading minor and every pivot P_j (and P_j^-1) has condition number at most cond(T), and cond(T) <= (1 + sqrt(pi/gamma))/(sqrt(pi/gamma) e^(-pi^2/(4 gamma))) = O(e^(a/4)) = O(p) + with the eigenvalue bounds of FORWARD-SMALL-A-AUDIT.md (the same constants as the broad forward audit). The Bunch-type danger of structured solvers (indefinite or nearly singular leading minors) cannot occur for SPD T; the Schur/Levinson recursion and the Gohberg-Semencul application on an SPD Toeplitz matrix are weakly stable, losing O(log cond) = O(log p) bits. + (This replaces the appeal to the row gap 1/(16 p) in section 5 item 1 for the SPD blocks; the row-gap bounds remain the justification for the non-symmetric narrow blocks. Independent numerical evidence, LeverRank, 80-160 digits, alpha = 4, a = 50.3, rho = 1 + 1/6000: pivot condition numbers saturate at cond(T) ~ 1.4e5 for W = 16, 32, 64; balanced-generator norm ratio sigma_1(grad L^-1)/||L^-1|| 0.14-0.27 (no growth); generator-to-inverse rounding amplification <= 1; + Levinson/Gohberg-Semencul error about 2^9.5 u flat in n; a perturbation of the first pivot is damped along the chain, so accumulation is independent of G.) +* **Rounding convention (required).** The retained rounded matrix must be rounded *factorwise*: K^ = D^_r T^ D^_c with T^ exactly Toeplitz (symmetric rounding of exp(-a rho x^2) by |i-j|) and D^_r, D^_c the rounded gauge weights. This is the structure-preserving rounding of FORWARD-SMALL-A-AUDIT.md and the Toeplitz-similar cell matrix of LOG-A-PHASE-SCHUR-AUDIT.md. Entrywise rounding of K would destroy the Toeplitz structure (this is the dense non-Toeplitz control of section 6: the displacement rank jumps to W). +* **Anchors.** The diagonal conversions between X and Y coordinates use segment-local anchors. The inter-segment constant ratios D_r(m_j)/D_c(m_{j-1}) (about e^{O(aB)}) are stored inside the coupling pages and cost O(aB) = o(p) guard bits per page; no range over the whole line is ever formed. +* **Pages.** In the interior of a line the pivots are identical (observed), so each cell needs O(1) distinct generator pages (only the cell-end blocks differ): page regeneration is cheap. A batch width W suffices (no W^k batching is needed in this package). + +## 6. Executable check (`outer/struct_check.py`) + +On the exact rational model K = D_r T D_c with a random (non-symmetric) banded Toeplitz T, W = 3..5, G = 3..6 segments, interiors of length 3W: (1) the exact diagonal cancellation S_Y = Schur(T); (2) the Stein displacement ranks of every segment block, coupling block, LU pivot and inverse pivot (all <= 4, flat in the segment index and in G); +(3) exact reconstruction of every block from its rank factorisation by the KKM formula; (4) the block forward/back substitution performed only with generator representations equals the dense solve exactly; (5) controls: a dense non-Toeplitz perturbation of the band raises the pivot and diagonal ranks to the full W (here 6 > 4), and a perturbed pivot is not reproduced by the original generators. +This checks the algebra exactly at small W; it does not check the analytic stability argument of section 5, which is an argument, nor does it replace a check on the real chirp-weighted blocks at 70-110 digits (IdeaLiterature's screens: scratch/IdeaLit/real.py, real2.py). + +Scope of the real-matrix screen (IdeaLiterature, disclosed): block ranks 2-4 were observed for W <= 16 and G <= 8 segments only. In that toy the pivot condition number grows with W (about 3.5 at W = 8 and 1.2e3 at W = 16) because the toy takes a proportional to 1/W^2. +In the regime of the note a = pi alpha^2 >= 1 is fixed independently of W (alpha = ceil(sqrt((4/pi) log 16p))), theta >= 1/(4d), and BILATERAL-LDU.md bounds the periodic inverse by ||N^-1||_inf < 16 theta^-2 and the pivots/factors uniformly (items of section 5), so the conditioning is polynomial in p; the toy's growth with W is therefore not the real regime, but it is exactly the point that is *not* verified numerically here. + +## 7. Ledger consequence + +tau_eff = 2 + delta (delta = 1e-3080): c = (3 - tau_eff)/2 = 1/2 - delta/2. Balance: main = fused Gaussian = boundary - slack with xi = epsilon - c + kappa; the union row xi + 1/2 - epsilon has the same exponent as the boundary row (both epsilon + 1/2 - xi), so both bind at kappa + 1e-3080 together with main and the Gaussian row; +(pkg8-era numbers, superseded by outer/FINE-PADDING-COMPOSITION.md) with the chirp-only guard of GAUGEFREE-INTERIORS.md: xi = 0.50167, xi - 1/2 = 0.00167 > 0 (cap holds), beta = 0.99665, union tag work per visit 1 - beta = 0.00335 > 0. kappa = 0.00167974550880...; +1.40e-6 over the structured-boundary balance with the linear guard (kappa 0.0016783441717...; that was +2.20e-7 over k = 5, tau_eff = 2.1567081). + +## 8. What is not proved + +* The constants c0 = 14, 8 follow from the displacement calculus (a)-(d) above; (d) and the Gohberg-Semencul statement (b) are classical theorems used as inputs; the corner-block increment (+2) and the application to the real chirp-weighted blocks (Haug, Saug, narrow and broad pairs) rest on the exact factorisation of section 1. +* Section 5 is an error argument built from the audited bounds, not a verified stability theorem for structured solvers. The real-regime numerical check (row gap 1/(16 p), p large) has not been run. +* Everything inherited from PR1673 (all-size compiler, precision/tape, exact recovery, analytic transfer) remains an assumption. diff --git a/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md b/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md new file mode 100644 index 0000000000..a1ee00a8de --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/UNION-SCHEDULE.md @@ -0,0 +1,132 @@ +# Radix-distributed sparse-union schedule (new in this package) + +**Status.** This schedule is a new contribution of this package. It is not part of PR1673 (Vlado Vojdanovski, whose capped phase-cell fusion +construction and PHASE-LAYOUT-AUDIT.md this document modifies and relies on), nor of PR1699 (Chafik Boukhalfa, Le Gall's exponent). It replaces +one step of PR1673's sparse-union window, the per-axis scan of U, and is conditional on every other hypothesis of PR1673. Its executable finite +check is `outer/sched_test.py`; the arithmetic consequence is `outer/check_ledger.py`. An independent review is required before release. + +## 0. Model and what is replaced + +Machine model: PR1673's fixed-tape model, i.e. a multitape Turing machine with a fixed number of tapes; the cost of an operation is the total head +travel; a record is a p-bit coefficient record with a header of O(g log L) bits (g=p^beta, L=poly(p) the microbox side, beta<1, so the header is o(p) +and moving it multiplies the cost by 1+o(1)). V is the number of records of the microbox (including spectators). All notation (E_i, J_i, T_i, mu, +W, B, d, g, L, the windows) is that of PHASE-LAYOUT-AUDIT.md and the capped interiors of CAPPED-INTERIORS.md; mu = max_i |E_i|/L = O((W/B) polylog p). + +A sparse window applies the Kronecker product `Theta = (x)_{i=1..g} T_i` to the microbox tensor, where `T_i = I_{E_i^c} (+) T_i|E_i` (for the window +containing the C and S^-1 stages, T_i is the product of the two sparse factors of axis i; each is block diagonal in the same way). +The audit's implementation scans the union U = {x : some x_i in E_i} once per axis to copy U_i = E_i x [L]^(g-1): cost O(|U|) per axis, hence +`O(V [g^2 mu + g mu polylog p])` per window and the union row `eps + beta + 1/2 - xi`. Here the g-fold scan of U is removed. + +## 1. Flag sets and class decomposition + +For a record x put `F(x) = {i : x_i in E_i}` (the g membership flags the audit already computes in the single scan that forms U; stored as a g-bit vector +in the header). + +**(F1) invariance.** `T_i` changes a coordinate x_i only inside E_i and fixes E_i^c, and maps E_i to E_i. Hence `F(Theta x) = F(x)`: every T_j preserves every class +`C_F = {x : F(x) = F}`. + +**(F2) commutation.** Each T_i depends only on the axis-i coordinate (and on axis i's own coarse label/page, fixed per microbox), so T_i acts on tensor factor i alone; the T_i act on different tensor factors, hence commute, and on class C_F the operator Theta equals `(x)_{i in F} T_i|E_i` on the coordinates in F +(range E_i) tensored with the identity on the coordinates not in F (the T_j, j not in F, are the identity on E_j^c). + +**(F3) complete lines.** Fix F, f in F and the other coordinates z (all coordinates except x_f). The *E_f-line* of z is {x : x_f in E_f, other coordinates z}. Every point +of it has the flag set `F(z) union {f}` (flags of z-coordinates plus f), so the whole E_f-line lies in one class, and contains exactly |E_f| points. + +## 2. The schedule + +Let `f_r(F)` be the r-th smallest element of F. Define `S_r = {x : |F(x)| >= r}`, kept as a stream in lexicographic order of x (S_1 = U; S_{r+1} is S_r with +the records |F|=r deleted, so lexicographic order is inherited). + +Round r (r = 1,2,...,R, where R = max |F| <= g) applies to every record x of S_r the operator T_{f_r(F(x))} along axis f_r(F(x)), to complete E_f-lines (F3). +After the rounds, every record of class C_F has received T_i exactly once for each i in F (the f_r(F) enumerate F), in increasing axis order; +by (F2) this equals the action of Theta. Since lines of the same round and class are disjoint and independent (F2), applying T_f to each line separately equals +the action of `T_f|E_f (x) identity` on the class. Rounds use the values written by earlier rounds because records carry their current values in the stream. + +### 2.1 One round (cost accounting per step; N = |S_r|) + +1. **Tag.** For each record compute `t = f_r(F(x))` from its header bits: O(g) bit operations (scan for the r-th set bit). Worst case a record has |F| = g and takes g rounds, + so tag work per visit is O(g) bit operations, paid by the Theta(p) cost of that visit (Section 3, header and tag work): g log L = o(p) since beta < 1 (ledger check `union_tag_work_per_visit_fits_record`). +2. **Stable binary LSD radix distribution by tag.** For k = 0..ceil(log2 g)-1: scan the stream; records whose bit k of the tag is 0 go to output tape Z, bits 1 to tape O + (one input tape, two output tapes), then Z is copied followed by O back onto the work tape. Each pass costs <= 2N record moves; the bits of the pass are written (N bits) + to a bit tape together with the count n0 of zeros. *Stability* by induction on k: after pass k the stream is ordered by (bits k..0 of tag) with ties in the original order. + After all passes: ordered by tag, ties in lexicographic order; the stream splits into contiguous axis substreams, one per tag value f. + Inversion (used in step 5): replay the passes in reverse: copy the stream onto Z/O at the stored split point n0 (one pass), then read the bit tape and take the next record from Z or O accordingly. + Cost 3N per pass. Total O(N log g) = O(N log p). +3. **Structure of an axis substream (the key lemma).** Axis f substream = {x in S_r : f_r(F(x)) = f}. Membership depends on F(x) only, and F(x) = F(z) union {f} for x with x_f in E_f (all substream records + have x_f in E_f, because f is in F(x)); so it depends on z only, not on x_f. Therefore for each fixed prefix x_f} is the same for every x_f in E_f. In the stream (lexicographic order of (prefix, x_f, suffix)) the prefix block is the concatenation of + a = |E_f| rows (one per x_f in E_f, in increasing order), each row listing the same b = |Z'(prefix)| suffixes in the same order. No coordinate is invented: every needed point is present. + Block boundaries are detected by comparing the prefix fields of consecutive records (O(g log L) bits per comparison, o(p)); rows by the ordinal of x_f in E_f stored in the header + (computed with the flags: the rank of x_f in E_f costs O(polylog p) with the carving description) -- no counter of unknown length is needed. +4. **Variable-length lockstep transpose of every prefix block** (brings x_f to the line suffix). Let `a = |E_f| <= L = poly(p)`. All rows of a prefix block have the same length b within a tag (point 3), b unknown to the routine. Recursively halve the row index range into the upper part of ceil(a/2) rows and the lower part of floor(a/2) rows (the implementation uses chunk sizes h = floor(a/2) for the first child and a-h = ceil(a/2) for the second; either order works, the tree must be the same for every block and its inverse). + Level structure: a balanced binary tree of row ranges of depth ceil(log2 a) = O(log p), the same tree for every block. *Merge of a node*: its children's outputs `TA` (rows 0..h-1 in suffix-major order, + i.e. for each suffix the h records of A's rows) and `TB` (the a-h rows of B) are read in lockstep from two tapes, taking h records from TA, then a-h records from TB, alternately, until both end markers + coincide; the output is the node's suffix-major order `[row_0[j], ..., row_{a-1}[j]]_j`. The routine never needs the row length b: the chunk sizes h and a-h depend on a alone, and the end of the node's data is + the end marker (prefix-block boundary, or the stream end). A level is realised by two passes over the whole substream. Every record carries in its header the ordinal k of its source row x_f. The data of a node (a range [lo, lo+n) of ordinals) is a contiguous run of records of one prefix block whose ordinals lie in the range; its child A (ordinals [lo, lo+h)) comes first, immediately followed by child B (ordinals [lo+h, lo+n)), so the junction is the first record whose ordinal is >= lo+h, and the end of the node is the first following record whose ordinal is >= lo+n or whose prefix field differs (both read from headers; the tree is the same for every block and nodes appear in row order). Pass 1 copies the A-parts to tape M1 and the B-parts to tape M2, node by node. Pass 2 reads M1 and M2 in lockstep, h records from M1 then n-h from M2, node by node (a node's A- and B-parts end at the same node marker), writing the parent level. So a level costs O(N) record moves and the whole transpose O(N log a). After the transpose, each line (fixed prefix and suffix) occupies a consecutive group of a records with increasing x_f ordinal. +5. **Apply T_f on lines and batch.** Each consecutive group of a records is a complete E_f-line; T_f|E_f is applied exactly as in the audit's step 4: consecutive lines form right-hand sides, batched in dyadic width between W and 2W, + factor pages (regenerated once per microbox and axis from its coarse origins, polynomial in p, amortised by the superpolynomial payload) scanned once per batch, only the polynomial-width row field moved + (O(log p) times the boundary volume). This arithmetic is the *boundary-algebra row*, unchanged and not part of the union movement. +6. **Undo** the transpose (unzip levels), then undo the radix distribution (step 2 inverse): the processed records are back in lexicographic order of S_r. +7. **Split.** One scan: records with |F| = r are final for this window; push them (with the |S_r|-bit indicator keep_r = [|F| > r]) on the LIFO tape; the rest, S_{r+1}, is written to the alternate work tape. + +### 2.2 Wrap-up + +After the last round, pop the LIFO tape: for r = R,...,1 interleave `rest_r` with the already final stream S_{r+1} by keep_r (the audit's merge by indicator), producing the final S_1. +Finally merge S_1 into the microbox using the indicator bits of the single scan that formed U; identity records (F = empty) are never moved. +The two dense-stage scatters/regathers, the one scan forming U and the final merge are the audit's group scans: O(V polylog p) per window, in the group-scan row. + +### 2.3 Tape-head accounting (per round, and why rounds do not multiply the cost) + +Tapes: W1, W2 (alternating work tapes carrying S_r), Z, O (radix outputs), Tb (bit tape), STACK (LIFO), M1, M2 (merge/zip tapes), small header/counter tapes: a fixed number. +* W1 holds S_r written from cell 0; before round r the head is at cell 0 (rewind over the written length |S_r| only; cells beyond are stale and never read). +* S_{r+1} is written to W2 from cell 0, then the roles swap. Rewinding costs the written length, at most |S_r|. +* STACK is only appended to at its end and, in the wrap-up, read backwards from its end; the rest_r are consecutive, so popping costs the sum of |rest_r| <= sum |S_r|. No head ever travels over the whole of + the stack or of U per round. +* Z, O, Tb, M1, M2 are written from cell 0 and rewound over their written length (<= |S_r| records or bits). +Hence the head travel of round r is O(|S_r| p (log g + log a + 1)) and the total is O(p (log g + log L + 1) * sum_r |S_r|). The rounds are sequential, but their *number* does not multiply the cost: |S_r| shrinks and +nothing in round r touches data outside S_r. + +### 2.4 Volume identity + +`sum_r |S_r| = sum_x |F(x)| = sum_i |U_i| = sum_i |E_i| L^(g-1) * (spectators) <= g mu V.` (Each record is counted once per flag; the first equality is exchanging the order of summation.) + +## 3. New cost and row + +Per window: `O(V g mu polylog p)`; no factor g^2 and no per-axis scan of U. Per group, then over d/g groups: + +`O(V (d/g) g mu polylog p) = O(V d W polylog p / B)`, + +i.e. union-movement exponent `eps + 1/2 - xi` (saving `xi + 1/2 - eps`). Old audit row: `eps + beta + 1/2 - xi`. +The identity `sum|F| <= g|U|` shows the new cost is never larger than the old one. + +*Sparsity is not used.* In the regime of this package the expected number of flags g*mu = p^(beta+1/2-xi) is larger than 1 (xi - beta - 1/2 < 0), so U is essentially the whole microbox, and the audit's ledger check +`sparse_union_fraction_decays` is not used. The cost is the total number of record-flag incidences, not |U|. +Header and tag work: the flag header has g bits and g log L bits of coordinates (o(p) since beta < 1); tag work is at most O(g) per visit and a record is visited at most |F| <= g times: each visit costs Theta(p polylog p) anyway, so the total over the sum_r |S_r| <= g mu V visits is O(g mu V (p polylog p + g log L)) = O(g mu V p polylog p) as soon as g log L = o(p), i.e. beta < 1. (An earlier version of this note charged O(g^2) per record against o(p) and required 2 beta < 1; that per-record total is not needed, see outer/GAUGEFREE-INTERIORS.md section 7.) + +## 4. Consequence for the ledger + +Rows: main `eps q`; fused Gaussian `1 - eps + q beta`; boundary `c + xi - eps` with `c = (3 - tau)/2`, `tau` = the explicit Strassen exponent 45/16, c = 3/32, in the ledger (the structured-boundary solves of outer/STRUCTURED-BOUNDARY.md, tau_eff = 2 + 1e-3080, are historical and not used for kappa; this document's schedule is independent of the boundary exponent); +union `xi + 1/2 - eps`; guard `beta = 1 - xi - r - zeta` (linear gauge; in this package the guard is the chirp-only `beta = 1 - (2 xi - eps) - r - zeta`, see Section 5b); `xi > 1/2`. Balance set: main = fused Gaussian = boundary - slack, which gives +`eps = (1 + q + q (c - s - r - zeta))/(1 + q)^2`, `xi = eps (1 + q) - c + s`. The union row is far above kappa at this point (saving about 0.080 here). +Rejecting controls in the ledger: reinstating the old row `1 - eps - beta - 1/2 + xi` at the new point fails (it is about -0.125); the full-key sort row fails; the four inherited controls fail. + +## 5. Executable check (`outer/sched_test.py`, and the independently coded `outer/sched_review.py` by LeverRank) + +The script runs the schedule above on exact integer tensors (g = 3..6 axes, L = 5..8, random E_i and random integer T_i|E_i): tagging, the stable LSD radix distribution with its inversion, per-prefix-block variable-length lockstep zip +transposes with a check that every extracted group of a records is a complete E_f-line with consecutive ordinals and one common z, application of T_f, unzip, undo, the keep/rest split, the LIFO pop and the merge by indicator bits, +and compares with the full tensor product `(x) T_i` computed by tensor contraction: exact equality. It also checks the volume identity `streamed = sum|F| = sum_i |U_i|`, `sum|F| <= g|U|` (), +that the number of record moves is within `3 * sum|F| * (ceil(log2 g) + 2 ceil(log2 a) + 4)`, and a tamper control (skipping the second round) fails. + +## 5b. Rows that depend on beta, re-verified at the balance of this package + +At the fine-prime-padding point (outer/FINE-PADDING-COMPOSITION.md; Strassen boundary c = 3/32, theta ~ p^-2): epsilon = 1 - 1.0009765625e-3080, beta = 1 - 3.0029296875e-3080, xi = 0.90794631...; every row is regenerated exactly by `check_ledger.py` and re-derived by `independent_check.py` (all strictly above kappa or strictly positive): +group scans 1-eps+beta = 1 - 2.001953125e-3080 (saving far above kappa); union xi+1/2-eps = 0.4079 (boundary = main + 1e-3080 binds; the union is no longer binding; the old row 1-eps-beta-1/2+xi = -0.5921 fails: rejecting control, so the radix schedule is still essential); +cap xi-1/2 = 0.4079 > 0 and eps-xi > 0.092; group positive and below dimension (eps-beta = 2.001953125e-3080 > 0); support router span 1-beta = 3.0029296875e-3080 > 0 (the supplier's total moved support O(g polylog p) = o(p) holds eventually, with exponent margin 3.0029296875e-3080); +gauge/guard 1-(2xi-2)-r-beta = 0.184 (fine theta; the linear guard 1-xi-r-beta is negative: rejecting control); group key fits the record (eps-beta = 2.001953125e-3080); membership arithmetic 1-beta-2(1-eps) = 1.0009765625e-3080; union tag work per visit 1-beta = 3.0029296875e-3080 (the old test 1-2beta is negative and not used); union header 1-beta; core-face corrections eps+beta+48-128+2 < 0. +The ledger row `sparse_union_fraction_decays` (xi-beta-1/2 > 0) stays deleted: it is false (g mu = p^(beta+1/2-xi) > 1) and the schedule does not use it. + +## 6. What this does and does not establish + +Established here: the data-movement schedule, its correctness (class invariance, commutation, complete lines, stability of the radix passes, the lockstep transpose, LIFO interleave) and its tape-head cost O(V g mu polylog p) per window, assuming +the audit's carving (|E_i| and mu), the retained polynomial-width row-field movement for batched boundary arithmetic, and the retained dense/gauge/precision lemmas of PR1673. +Not established: nothing in this document changes the arithmetic, the Gaussian conditioning, the supplier, the boundary matrix exponent or the all-size hypotheses of PR1673; those remain inherited assumptions. +The step "variable block length" of the transpose (item 4) and the head accounting (2.3) are the places that most need an independent review. diff --git a/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py b/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py new file mode 100644 index 0000000000..f182f822fd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_fine_padding.py @@ -0,0 +1,124 @@ +"""Finite prime witnesses (PR1786, chafreaky, unchanged), a real underflow control and exact power checks. + +The small prime fixtures are not a verification of the asymptotic prime +theorem or its enormous eventual cutoff at the headline epsilon. +""" +import argparse +import json +import math +from fractions import Fraction as F +from pathlib import Path + +if not __debug__: + raise RuntimeError('Assertions must be enabled') +ap = argparse.ArgumentParser() +ap.add_argument('--out', type=Path, required=True) +args = ap.parse_args() + +def prime(n): + if n < 2 or (n % 2 == 0 and n != 2): + return False + return all(n % d for d in range(3, math.isqrt(n)+1, 2)) + +def interval(p, t): + return F((2*p*p-1)*t, 2*p*p), F((4*p*p-1)*t, 4*p*p) + +def valid(p, targets, primes): + if len(primes) != len(targets) or len(set(primes)) != len(primes): + return False + if any(t < 2 or t & (t-1) for t in targets): + return False + for t, q in zip(targets, primes): + lo, hi = interval(p, t) + if not (prime(q) and lo < q <= hi and math.gcd(q, t) == 1): + return False + theta = F(t, q)-1 + if not F(1, 4*p*p) < theta <= F(1, 2*p*p-1): + return False + return F(1, 2) < F(math.prod(primes), math.prod(targets)) < 1 + +fixtures = [] +for p in (16, 32, 64, 128, 256): + targets = [2**27]*3+[2**28]*3 + chosen = [] + for t in targets: + lo, hi = interval(p, t) + q = lo.__floor__()+1 + while q <= hi and (q in chosen or not prime(q)): + q += 1 + assert q <= hi + chosen.append(q) + assert valid(p, targets, chosen) + duplicate = chosen[:] + duplicate[1] = duplicate[0] + even = chosen[:] + even[0] = targets[0] + outside = chosen[:] + q = interval(p, targets[0])[1].__floor__()+1 + while not prime(q): + q += 1 + outside[0] = q + non_dyadic = targets[:] + non_dyadic[0] = 2*chosen[0] + controls = { + 'duplicate_source_prime': not valid(p, targets, duplicate), + 'dyadic_number_used_as_prime': not valid(p, targets, even), + 'prime_outside_requested_interval': not valid(p, targets, outside), + 'non_dyadic_target': not valid(p, non_dyadic, chosen), + } + assert all(controls.values()) + fixtures.append(dict(p=p, targets=targets, primes=chosen, + theta=[str(F(t, q)-1) for t, q in zip(targets, chosen)], + source_to_target_ratio=str(F(math.prod(chosen), math.prod(targets))), + rejected_controls=controls)) + +# Real counterexample to keeping the old Cp-bit absolute weight precision. +# w_min=exp(-a/(4 theta)). Since log(2)<1, E>P implies w_min<2^-P. +p = 32 +example = next(x for x in fixtures if x['p'] == p) +theta = F(example['theta'][0]) +# Here log(16p)=9 log 2. Bounds 2/3 4 +assert F(4*9)*F(7, 10)/3 < 9 +assert sum(F(7, 10)**j/math.factorial(j) for j in range(5)) > 2 +alpha = 3 +low_a, high_a = F(27), F(198, 7) +low_exponent, high_exponent = low_a/(4*theta), high_a/(4*theta) +online = 128*p +L = (p-1).bit_length() +setup = online+64*p*p*L +assert low_exponent > online +assert F(setup-online, 2) > high_exponent +underflow = dict(p=p, alpha=alpha, a_lower=str(low_a), a_upper=str(high_a), + theta=str(theta), source_prime=example['primes'][0], target=example['targets'][0], + negative_log_weight_lower=str(low_exponent), online_precision=online, + old_precision_rounds_weight_to_zero=True, setup_precision=setup, + relative_error_exponent_margin=str(F(setup-online, 2)-high_exponent)) + +# Universal power relationships used by the written generic locality lemma. +norm_power = inverse_power = 10 +scale_power = 2*norm_power +gap_power = 2*(norm_power+inverse_power) +iteration_power = gap_power+2 +band_power = 1 +radius_power = iteration_power+band_power +halo_power, core_power = 48, 128 +assert (scale_power, gap_power, iteration_power, radius_power) == (20, 40, 42, 43) +assert halo_power > radius_power and core_power > halo_power+1 +assert 40 < radius_power # A=p^40 is not covered by this conservative witness. +assert 7**16 < 2**45 +assert 7**5 > 2**14 # tau=14/5 is unsupported by the chosen Strassen format. + +report = dict(status='PASS_FINE_PADDING_FINITE_CONTROLS', + prime_fixtures=fixtures, prime_witness_count=sum(len(x['primes']) for x in fixtures), + primality_method='Deterministic trial division through integer square root', + weight_underflow_control=underflow, + generic_locality=dict(norm_power=norm_power, inverse_power=inverse_power, + scale_power=scale_power, contraction_gap_power=gap_power, + iteration_power=iteration_power, radius_power=radius_power, + halo_power=halo_power, core_power=core_power), + strassen_power_gap=2**45-7**16, + scope='Finite arithmetic fixtures and failure witnesses only. The cited prime theorem, analytic conditioning and circuit/halo lemmas remain written mathematical inputs; no finite cutoff or full multiplication implementation is verified here.') +args.out.write_text(json.dumps(report, sort_keys=True, indent=2)+'\n') +print(report['status'], 'prime witnesses', report['prime_witness_count']) diff --git a/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py b/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py new file mode 100644 index 0000000000..bef0739d19 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_gaugefree.py @@ -0,0 +1,135 @@ +#!/usr/bin/env python3 +"""Executable checks for IdeaOuter-gaugefree.md (gauge <-> fractional-shift identities, accretive symbol bound, circuit replay). +Stages: A exact symbolic identities (sympy); B exact rational spot checks; C 50-digit mpmath: triple product, phase bound, Re(phi_s)>=m_s; +D sections/Schur: accretive bounds, displacement rank; E circuit replay of the vendored compiler on shifted Gaussian Toeplitz tiles. +Run: python -B outer/check_gaugefree.py (single process; nothing is written to the package).""" +import sys, json, itertools, random +sys.dont_write_bytecode=True +from fractions import Fraction as Fr +try: + import psutil; psutil.Process().nice(psutil.IDLE_PRIORITY_CLASS) +except Exception: pass +import sympy as sp, mpmath as mp, numpy as np +OUT={} +# ---------------- A. exact symbolic identities ---------------- +x,y,b0,lam,dl,s,a,th,ti,tj,be0,rho=sp.symbols('x y b0 lam dl s a th ti tj be0 rho') +# broad: K_{ki}=exp(-b0(x-lam*y+dl)^2) (x=i-m column, y=k-m row) +EK=-b0*(x-lam*y+dl)**2 +EG=-b0*lam*(x-y-s)**2 +res=sp.expand(EK-EG) +claim=-b0*((1-lam)*x**2-lam*(1-lam)*y**2+dl**2-lam*s**2+2*(dl+lam*s)*x-2*lam*(dl+s)*y) +assert sp.simplify(res-claim)==0 +sub=sp.expand(claim.subs(s,-dl/lam)) +lin_x=sp.simplify(sp.diff(sub,x).subs({x:0,y:0})); lin_y=sp.simplify(sp.diff(sub,y).subs({x:0,y:0})) +assert sp.simplify(lin_x)==0 and sp.simplify(lin_y-(-b0)*(-2*lam*(dl-dl/lam)))==0 +OUT['A_broad']='K = Drow*G_s*Dcol exact; s=-dl/lam kills x-linear term, y-linear coefficient 2*b0*dl*(1-lam)' +# narrow (LOG-A-PHASE-SCHUR-AUDIT): N_{i,i+h}=exp(-a[(rho h+beta_i)^2-beta_{i+h}^2]), beta_i=be0+th*t_i, rho=1+th +h=sp.symbols('h') +bi=be0+th*ti; bj=be0+th*(ti+h) +EN=-a*((rho*h+bi)**2-bj**2) +EN=EN.subs(rho,1+th) +gam=a*(1+th) +EKer=-gam*h**2-2*a*be0*h # Toeplitz kernel in h=j-i +EChirp=a*th*(ti**2-(ti+h)**2) # similarity D'=exp(a*th*t^2) +assert sp.simplify(sp.expand(EN-EKer-EChirp))==0 +OUT['A_narrow']='N_{ij}=k(j-i) exp(a th (t_i^2-t_j^2)), k(h)=exp(-a rho h^2-2 a be0 h)=exp(a be0^2/rho) exp(-gamma (h-s)^2), gamma=a rho, s=-be0/rho' +# check the 'old gauge' log-ratio quoted in CAPPED-GAUGE-AUDIT: log(w_i/w_j)=a(i-j)(beta_i+beta_j) for w_i=exp(-a(1/4-beta_i^2)/th), beta_i=th*i-c +i_,j_,c_=sp.symbols('i j c') +b_i=th*i_-c_; b_j=th*j_-c_ +assert sp.simplify((-a*(sp.Rational(1,4)-b_i**2)/th)-(-a*(sp.Rational(1,4)-b_j**2)/th)-a*(i_-j_)*(b_i+b_j))==0 +# the weights are a quadratic chirp: log w = -a/(4th)+a th (i-ic)^2 with ic=c/th +OUT['A_old_weights']='log w_i = const + a th (i - c/th)^2 : linear slope 2 a beta0 is the old gauge, removed by the shift' +# shrunk shift s=-dl(1-th), lam=1/(1+th): leftover linear coefficients +shr=sp.expand(claim.subs(s,-dl*(1-th)).subs(lam,1/(1+th))) +cx=sp.simplify(sp.diff(shr,x).subs({x:0,y:0})/(-b0)); cy=sp.simplify(sp.diff(shr,y).subs({x:0,y:0})/(-b0)) +assert sp.simplify(cx-2*dl*2*th/(1+th))==0 and sp.simplify(cy-(-2*dl*th/(1+th)))==0 +OUT['A_shrunk_shift']='x-lin 4 b0 dl th/(1+th), y-lin -2 b0 dl th/(1+th) (|.|<=2 b0 th, b0 th for |dl|<=1/2)' +# ---------------- B. exact rational spot checks (separability of residual) ---------------- +rng=random.Random(7) +def rnd(lo,hi): return Fr(rng.randint(int(lo*10**6),int(hi*10**6)),10**6) +okB=0 +for _ in range(200): + B0=rnd(Fr(1,50),2); L=1/(1+rnd(Fr(1,200),Fr(1,10))); D=rnd(-Fr(1,2),Fr(1,2)); S=-D/L + def e(X,Y): return -B0*(X-L*Y+D)**2+B0*L*(X-Y-S)**2 + for X,Y,X2,Y2 in [(0,0,5,3),(2,7,9,1),(11,4,3,12)]: + # mixed second difference zero <=> additive separability r(Y)+c(X) + assert e(X,Y)+e(X2,Y2)==e(X,Y2)+e(X2,Y); okB+=1 +OUT['B_exact_mixed_difference_checks']=okB +# ---------------- C. 50-digit: triple product, phase bound, Re phi >= m_s ---------------- +mp.mp.dps=50 +def phi_direct(g,s,w,U=None): + U=U or int(mp.sqrt(130/g))+6 + return mp.fsum(mp.e**(-g*(u-s)**2)*mp.e**(-1j*u*w) for u in range(-U,U+1)) +def parts(g,s): + q=mp.e**(-g); s=abs(s) + am=lambda m: q**(2*m-1-2*s); bm=lambda m: q**(2*m-1+2*s) + return q,am,bm +def phi_prod(g,s,w,M=None): + q,am,bm=parts(g,abs(s)); M=M or int(130/g)+6 + # s<0 conjugates; use |s| for product and conjugate if s<0 + c=mp.e**(-g*s*s)*mp.fprod([1-q**(2*m) for m in range(1,M)]) + v=c*mp.fprod([(1+am(m)*mp.e**(-1j*w))*(1+bm(m)*mp.e**(1j*w)) for m in range(1,M)]) + return v if s>=0 else mp.conj(v) +def m_s(g,s,M=None): + q,am,bm=parts(g,abs(s)); M=M or int(130/g)+6 + c=mp.e**(-g*s*s)*mp.fprod([1-q**(2*m) for m in range(1,M)]) + return c*(1-am(1))*mp.fprod([1-am(m) for m in range(2,M)])*mp.fprod([1-bm(m) for m in range(1,M)]) +worst_prod=0; worst_ratio=mp.inf; nchk=0; worst_phase=0 +for g in [mp.mpf(x) for x in ['0.3','0.5','1','2.5','8']]: + for s in [mp.mpf(x) for x in ['0','0.2','-0.37','0.499','0.4999999']]: + ms=m_s(g,s) + q,am,bm=parts(g,s) + for k in range(0,41): + w=mp.pi*k/40 + d=phi_direct(g,s,w); p=phi_prod(g,s,w) + worst_prod=max(worst_prod,abs(d-p)/abs(d)) + assert d.real>=ms*(1-mp.mpf(10)**-40), (g,s,w,d.real,ms) + worst_ratio=min(worst_ratio,d.real/ms) + # phase bound |arg phi| <= f(a_1) = atan(a1 sin w/(1+a1 cos w)) + a1=am(1); f=mp.atan(a1*mp.sin(w)/(1+a1*mp.cos(w))) + ph=abs(mp.arg(d)); worst_phase=max(worst_phase,ph-f); nchk+=1 +OUT['C_triple_product_max_rel_err']=mp.nstr(worst_prod,5) +OUT['C_min_RePhi_over_ms']=mp.nstr(worst_ratio,8) +OUT['C_max(|arg|-f(a1))']=mp.nstr(worst_phase,5) +OUT['C_points']=nchk +assert worst_prod=ms*(1-1e-9)-1e-13,(g,s,n,worst_Re,ms) + # Schur complements T_b/T_a: inverse norm <= ||T_b^-1|| + Ainv=np.linalg.inv(A) + for a_ in range(1,n,max(1,n//4)): + S_=A[a_:,a_:]-A[a_:,:a_]@np.linalg.solve(A[:a_,:a_],A[:a_,a_:]) + worst_inv=max(worst_inv,np.linalg.norm(np.linalg.inv(S_),2)/np.linalg.norm(Ainv[a_:,a_:],2)); worst_schur=max(worst_schur,np.linalg.norm(S_,2)) + rowsD.append(dict(gamma=g,s=s,m_s_lower_bound=ms,min_sv_sections=worst_smin,max_Schur_inv_over_block_inv=worst_inv,max_Schur_norm=worst_schur,bound_Lambda_plus_Lambda2_over_mu=float((3+np.sqrt(2*np.pi/g))*(1+(3+np.sqrt(2*np.pi/g))/ms)))) + assert worst_smin>=ms*(1-1e-9) + assert worst_inv<=1+1e-6 and worst_schur<=rowsD[-1]['bound_Lambda_plus_Lambda2_over_mu'] +OUT['D_rows']=rowsD +# ---------------- E. circuit replay (vendored PR1673 compiler) ---------------- +import importlib.util, pathlib +cc=pathlib.Path(__file__).resolve().parent.parent/'vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_circuits.py' +spec=importlib.util.spec_from_file_location('check_circuits',cc); M=importlib.util.module_from_spec(spec); spec.loader.exec_module(M) +rowsE=[] +for (g,s) in [(0.5,0.45),(0.5,0.499),(2.0,0.49),(20.0,0.49)]: + for n in [8,16,32]: + M.STATS.update({"max_displacement_rank":0,"max_generator_entry":0.0,"max_triangle_coefficient":0.0}) + A=Tsec(n,g,s).astype(complex) + plan=M.full_plan(list(range(n)),A) + act,peak=M.replay(plan,n,track=(n<=16)) + rowsE.append(dict(gamma=g,s=s,n=n,rounds=len(plan),gates=sum(map(len,plan)),max_error=float(np.max(np.abs(act-A))), + peak_prefix_norm=peak if n<=16 else None,max_displacement_rank=M.STATS['max_displacement_rank'], + max_generator_entry=M.STATS['max_generator_entry'],max_triangle_coeff=M.STATS['max_triangle_coefficient'], + cond=float(np.linalg.cond(A)))) +OUT['E_circuit_replay']=rowsE +print(json.dumps({k:v for k,v in OUT.items() if k not in ('D_rows','E_circuit_replay')},indent=1,default=str)) +print('ALL STAGES PASS') diff --git a/research/gmx-t74-borrow43-handoff/outer/check_ledger.py b/research/gmx-t74-borrow43-handoff/outer/check_ledger.py new file mode 100644 index 0000000000..b64077b84b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/check_ledger.py @@ -0,0 +1,258 @@ +#!/usr/bin/env python3 +"""Exact ledger for fine-prime padding (PR1786, chafreaky / Chafik Boukhalfa, with Tim Trudgian's prime theorem) at the free point epsilon = 1 - (1025/1024)*10^-(DIG+80), explicit Strassen boundary, retuned to the fixed-grid maximum kappa = C - 1/FLOOR - BACKOFF. + +Adapted from PR1786's ledger, itself adapted from PR1731's cost ledger, credited to Jeremy Kothe et al. and +Vlado Vojdanovski (PR1673); uses PR1758's gauge-free chirp and per-visit tag +accounting. New source-prime, coefficient-setup and halo lemmas are in +FINE-PRIME-PADDING.md. Finite arithmetic does not prove the all-size theorem. +""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +from math import factorial +import hashlib, json, sys +sys.set_int_max_str_digits(0) + +if not __debug__: raise RuntimeError('Assertions must be enabled') +HERE=Path(__file__).resolve().parent +WORK=HERE.parent +SPEC=WORK/'new/SPEC.json' +CLAIM=WORK/'CLAIM.json' +BJ=json.loads((HERE/'B.json').read_text()) +spec=json.loads(SPEC.read_text()) +# Free strict slacks of the PR1673 proof (retuned in this package, see RETUNED-SLACKS.md); every one only needs to be > 0. +DIG=spec['outer_refinement']['endpoint_digits'] # the supplier endpoint is certified to 10^-DIG (accept at the endpoint, reject at endpoint + 10^-DIG); every slack sits 10 digits below +# Fixed-grid maximum (PR2180 / PR2161, dataisfire; proof PROOF-GRID-MAX.md): the free gaps shrink together to R0 = 10^-(DIG+80); grid, backoff and certified endpoint are unchanged. +R0=Q(1,10**(DIG+80)); ZETA=R0/100; SLACK=R0; GAP=R0; STOP=R0/10**6 +FLOOR=10**(DIG+46); BACKOFF=Q(1,10**(DIG+22)); B_GAP=R0 +# Fine prime padding: theta is between 1/(4p^2) and 1/(2p^2-1). +# Online chirp guard beta+2*xi-2<1; coefficient setup uses O(p^2 log p) bits. +# epsilon = 1 - DELTA_E is a FREE parameter (outer/FINE-PADDING-COMPOSITION.md sec. 2): every row is strictly satisfied for every DELTA_E > r0 = 10^-(DIG+80); beta = 1 - 3 DELTA_E lies in the admissible window +# [1 - DELTA_E (1 + 1/q), 1 - 2 DELTA_E). DELTA_E = (1025/1024) r0 keeps the gamma spare power 1-eps-r0 = r0/1024 > 0 and puts C - eps*q below 1/FLOOR (PROOF-GRID-MAX.md). +DELTA_E=Q(1025,1024)*R0 +EPS=1-DELTA_E +BETA=1-3*DELTA_E +THETA_POWER=Q(2) +HALO_POWER=48 +CORE_POWER=128 +STRASSEN_TAU=Q(45,16) +KAPPA_1828=Q('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # exact kappa of rohanarun's PR1828 (slack refinement of PR1800 at 1e-96), from its body +KAPPA_1839=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # exact kappa of PR1839 (previous package: 1e-90 endpoint) +KAPPA_1875=Q('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # exact kappa of rohanarun's PR1875 (1e-300 endpoint), from its body +KAPPA_1876=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # exact kappa of rohanarun's PR1876 (1e-400 endpoint), from its body +KAPPA_1897=Q('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # exact kappa of M6LI's PR1897 (1e-500 grid), from its body +KAPPA_1786=Q('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # exact kappa of chafreaky's PR1786 ledger (EXPECTED-BALANCE.json), headline 0.001679754788150048 +KAPPA_PKG5=Q('0.001677992607205282520732088774830808372222877897034109604209719298829805473412451530867883424937597') # previous package (rectangular k=2, tau_eff=2.2500351) +KAPPA_PKG4=Q('0.0016778199023144364336310551358776001013829401215770658599799349282716974076737897457922714197448847') # previous package (radix union schedule, square boundary tau=2.372864) +KAPPA_1712=Q('0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702') # pkg of PR1712 (Le Gall tau=12/5, old union row) +KAPPA_1699=Q('0.001677641731343354564251058287063644749065568493') # exact kappa of PR1699's ledger (Chafik Boukhalfa), same supplier profile +certified_complex=Q(spec['expected']['complex_lower']) +bit=Q('0.001733427039589844234749') +# Keep short independently checkable decimals strictly inside both endpoints. +b=certified_complex-B_GAP # strictly inside the certified supplier endpoint; B.json carries the same exact value +assert b==Q(BJ['b']) +q=b-GAP +a=(q+b)/2 +online=Q(spec['expected']['kappa']) +old=Q('0.001673360105405778') +assert b=2:x/=2;k+=1 + lo,hi=unit_log(x) + return down(lo+k*ln2[0]),up(hi+k*ln2[1]) +def exp(x): + assert 0<=x>GB)//j;th=_cd(-((-th*xu)>>GB),j);sl+=tl;sh+=th + tn=_cd(-((-th*xu)>>GB),EN) # x^EN/EN! (rounded up); the tail is at most twice this + return Q(int(sl),ONE),Q(int(sh+2*tn+2),ONE) +def moment(endpoint): + lo=hi=Q(0) + for r,n in profile.items(): + l,h=log(Q(m,r)); weight=Q(n*r,m*W) + lo+=weight*exp(endpoint*l)[0] + hi+=weight*exp(endpoint*h)[1] + return down(lo),up(hi) + +native=moment(b) +assert native[1]<1 +b_up=Q(BJ['b_above_endpoint']) +assert b_up>certified_complex and moment(b_up)[0]>1 # a larger test endpoint is rejected + +def ledger(kind, *, q_=q, zeta=ZETA, slack=SLACK, + old_scan=False, full_gauge=False, full_key=False, old_union=False, old_theta=False, old_linear=False, old_tag=False, + eps_=EPS, beta_=BETA, tau_eff=STRASSEN_TAU, halo_power=HALO_POWER, core_power=CORE_POWER): + r=R0; stop=STOP + # Existing explicit Strassen format, 7^16<2^45; c=3/32. + # Union: radix-distributed schedule (outer/UNION-SCHEDULE.md, new in this package): row exponent eps+1/2-xi. The boundary row binds with main; the Gaussian row has slack at this explicit point. + c=(3-tau_eff)/2 + eps=eps_; beta=beta_ + xi=eps*(1+q_)-c+slack + saving=eps*q_ + # Deliberate strict gap (BACKOFF) after decimal truncation to the FLOOR grid. + kappa=Q((saving*FLOOR).__floor__(),FLOOR)-BACKOFF + # kappa is derived, not silently asserted to equal an expected decimal. + tau=1-a; sigma=1-b + internal=tau+(1-stop)*max(sigma-tau,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q_+a)/2 + key=beta+1-eps + margins={ + 'main_transform':saving, + 'global_coordinate_router':a, + 'fused_gaussian':1-eps+q_*beta, + 'group_bit_router':1-eps+a*beta, + 'group_scans':1-eps+beta, + 'boundary_algebraic_matrix':c+xi-eps, + 'sparse_union_movement':xi+Q(1,2)-eps, + 'polynomial_products':eps, + 'microbox_face_corrections':1-(eps+beta+halo_power-core_power+2), + } + if old_union:margins['old_g_factor_union_row']=1-eps-beta-Q(1,2)+xi + if old_scan:margins['old_per_axis_scan']=1-eps + if full_key:margins['unnecessary_full_key_sort']=margins['sparse_union_movement']-key + checks={ + 'actual_bit_above_effective':bit-a, + 'complex_above_effective':b-a, + 'q_positive':q_, 'complex_endpoint':b-q_, + 'q_below_effective':a-q_, 'stop_positive':stop, + 'stop_below_one':1-stop, + 'leaf_saving_above_effective':(1-stop)*b-a, + 'q_below_internal':1-internal-q_, 'q_below_leaf':1-leaf-q_, + 'lambda_above_tau':lam-tau, 'lambda_above_sigma':lam-sigma, + 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':1-q_-lam, + 'lambda_prime_above_leaf':1-q_-leaf, + 'epsilon_positive':eps,'epsilon_below_one':1-eps, + 'cap_above_band':xi-Q(1,2),'cap_below_cell':eps-xi, + 'group_positive':beta,'group_below_dimension':eps-beta, + 'support_router_span':1-beta, + 'group_gauge_power_slack':1-(2*xi-THETA_POWER)-r-beta, + 'actual_logarithmic_group_guard':1-(2*xi-THETA_POWER)-beta, + 'global_gamma_power_slack':1-eps-r, + 'actual_logarithmic_gamma_guard':1-eps, + 'alpha_logarithm_absorption':r, + 'group_key_fits_record':1-key, + 'membership_arithmetic_fits_record':1-beta-2*(1-eps), + 'microbox_halo_volume':core_power-halo_power-beta, + 'positive_layout_slack':slack, + 'short_record_fallback':eps-a, + 'improvement_over_online_final':kappa-online, + 'improvement_over_previous_local_final':kappa-old, + 'complex_below_one_over_32':Q(1,32)-b, + } + checks['strassen_integer_power_gap']=Q(2**tau_eff.numerator-7**tau_eff.denominator) + checks['theta_positive_polynomial_power']=THETA_POWER + checks['cap_below_phase_cell_power']=THETA_POWER-xi + checks['halo_covers_generic_inverse_radius']=Q(halo_power-43) + checks['union_tag_work_per_visit_fits_record']=1-beta + checks['union_header_fits_record']=1-beta + checks['source_axis_superpolynomial']=1-eps + checks['improvement_over_pr1786']=kappa-KAPPA_1786 + checks['improvement_over_pr1828']=kappa-KAPPA_1828 + checks['improvement_over_pr1839']=kappa-KAPPA_1839 + checks['improvement_over_pr1875']=kappa-KAPPA_1875 + checks['improvement_over_pr1876']=kappa-KAPPA_1876 + checks['improvement_over_pr1897']=kappa-KAPPA_1897 + checks['improvement_over_pr1758']=kappa-Q('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') + checks['improvement_over_pr1699']=kappa-KAPPA_1699 + checks['improvement_over_pr1712']=kappa-KAPPA_1712 + checks['improvement_over_previous_package']=kappa-KAPPA_PKG4 + checks['improvement_over_pkg_k2']=kappa-KAPPA_PKG5 + if full_gauge:checks['unrecentered_group_gauge']=1-THETA_POWER-r-beta + if old_theta:checks['old_theta_chirp_guard']=1-(2*xi-eps)-r-beta + if old_linear:checks['old_linear_guard']=1-xi-r-beta + if old_tag:checks['old_union_tag_2beta']=1-2*beta + # Main-binding family invariant (PR2180): the Gaussian saving stays above the main saving. The fixed kappa grid (FLOOR) is coarser than the free gaps, + # so the *_above_kappa rows alone would no longer exclude a beta outside the main-binding window; this row is delta*(1-2q) > 0. + checks['gaussian_above_main']=margins['fused_gaussian']-saving + checks.update({n+'_above_kappa':v-kappa for n,v in margins.items()}) + assert margins['boundary_algebraic_matrix']==saving+slack + assert margins['sparse_union_movement']==saving+slack+(tau_eff-2)/2 + return {'kind':kind,'kappa':kappa,'epsilon':eps,'xi':xi,'beta':beta, + 'q':q_,'a':a,'r0':r,'zeta':zeta,'slack':slack, + 'margins':margins,'strict_checks':checks} + +def encode(x): + if isinstance(x,Q): + with localcontext() as c: + c.prec=DIG+200 + return {'rational':str(x),'decimal':str(Decimal(x.numerator)/Decimal(x.denominator))} + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +rows={};controls={} +for kind in ['struct_boundary_radix_union']: + row=ledger(kind) + assert all(v>0 for v in row['strict_checks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + # fixed-grid maximum: C*FLOOR is an integer and 0 < C - eps*q < 1/FLOOR, so floor(FLOOR*eps*q)/FLOOR = C - 1/FLOOR exactly and kappa attains the grid/backoff ceiling + assert (certified_complex*FLOOR).denominator==1 and 0= 1/(4 p^THETA_POWER)), an exponential factor <= p^2 eventually, +# alpha^5 polylogarithmic; a further half power is allowed for the polylogarithmic and bounded-constant factors of the augmented matrices. The umbrella must exceed that budget. +UMBRELLA_POWER=10 +def umbrella_margin(theta_power):return UMBRELLA_POWER-(2*theta_power+2+Q(1,2)) +assert umbrella_margin(THETA_POWER)>0 and umbrella_margin(Q(15,4))<=0 # control: the umbrella would fail silently for THETA_POWER >= 3.75 +HALO_UMBRELLA={'umbrella_power':UMBRELLA_POWER,'theta_power':THETA_POWER,'exponent_budget':2*THETA_POWER+2+Q(1,2),'margin':umbrella_margin(THETA_POWER),'fails_from_theta_power':Q(15,4)} +out={'status':'PASS_FINE_PRIME_PADDING_EXACT_ARITHMETIC', + 'scope':'Conditional fine-prime padding composition. Fresh native admission is required by verify.py. The cited prime theorem, written gauge-free theorem and inherited all-size interfaces are not proved by this arithmetic. No independent human review is claimed.', + 'geometry_changes':{'theta_power':THETA_POWER,'halo_power':HALO_POWER,'core_power':CORE_POWER,'matrix_exponent':STRASSEN_TAU}, + 'halo_umbrella':HALO_UMBRELLA,'complex_lower_short':b,'complex_lower_pinned':certified_complex, + 'native_moment':native,'profile':profile,'m':m,'W':W, + 'online_final_kappa':online,'rows':rows,'rejecting_controls':controls, + 'pr1673_kappa':Q('0.001677160151714381'),'improvement_over_pr1673':rows['struct_boundary_radix_union']['kappa']-Q('0.001677160151714381'), + 'source_sha256':{p.relative_to(WORK).as_posix():hashlib.sha256(p.read_bytes()).hexdigest() for p in [SPEC,CLAIM]}} +(HERE/'LEDGER.json').write_text(json.dumps(encode(out),indent=2)+'\n') +print(out['status']) +for name,row in rows.items(): + print(name,'FINAL KAPPA',encode(row['kappa'])['decimal'], + 'positive checks',len(row['strict_checks']), + 'gain over online',encode(row['kappa']-online)['decimal']) diff --git a/research/gmx-t74-borrow43-handoff/outer/independent_check.py b/research/gmx-t74-borrow43-handoff/outer/independent_check.py new file mode 100644 index 0000000000..b838c430ef --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/independent_check.py @@ -0,0 +1,60 @@ +"""Independent balance-equation check (PR1673, adapted: this package's supplier b and SPEC), not an execution of the ledger in check_ledger.py.""" +from fractions import Fraction as F +from pathlib import Path +from decimal import Decimal,localcontext +import json,hashlib,sys +sys.set_int_max_str_digits(0) +D=Path(__file__).resolve().parent;W=D.parent +src=W/'new/SPEC.json' +BJ=json.loads((D/'B.json').read_text()) +spec=json.loads(src.read_text());pinned=F(spec['expected']['complex_lower']) +DIG=spec['outer_refinement']['endpoint_digits'];T=10**(DIG+80) # all free slacks are 10^-(DIG+80) or below (fixed-grid-maximum point, PR2180 / PR2161 dataisfire) +b=F(BJ['b']);q=b-F(1,T);eff=(q+b)/2;actual_bit=F('0.001733427039589844234749') +r=F(1,T);z=F(1,T*100);s=F(1,T) +assert 0eff +rows={} +# FINE-PRIME PADDING (outer/FINE-PADDING-COMPOSITION.md): explicit point epsilon=1-delta, beta=1-3 delta, delta=(1025/1024)*10^-(DIG+80), Strassen boundary tau=45/16 (7^16<2^45), c=3/32, +# theta in (1/(4p^2),1/(2p^2-1)], chirp guard beta+2xi-2<1, halo power 48, core power 128. Derived here WITHOUT the ledger code; the structured boundary is not used. +delta=F(1025,1024*T);E=1-delta;B=1-3*delta +assert 7**16<2**45;tau=F(45,16);c=(3-tau)/2;assert c==F(3,32) +nu=2;halo=48;core=128 +X=E+E*q+s-c # boundary saving c+X-E = E q + s +assert c+X-E==E*q+s +# the Gaussian row has slack: 1-E+qB-Eq = delta(1-2q) +assert 1-E+q*B-E*q==delta*(1-2*q)>0 +# admissible beta window for this epsilon: Gaussian row needs beta >= 1-delta(1+1/q); membership needs beta < 1-2 delta +assert 1-delta*(1+1/q)<=B<1-2*delta +assert F(1,2)z>0 and 1-E-r>0 and core-halo-B>0 and halo>43 +assert 1-B>0 and 1-B-2*(1-E)==delta>0 +costs={'transform':1-E*q,'global_router':1-eff,'gaussian':E-q*B,'group_router':E-eff*B,'group_scans':E-B,'boundary':E-X+(tau-1)/2,'sparse_union':E+F(1,2)-X,'polynomials':1-E,'microfaces':E+B+halo-core+2} +K=F((E*q*10**(DIG+46)).__floor__(),10**(DIG+46))-F(1,10**(DIG+22)) +assert max(costs.values())==costs['transform'] and all(v<1-K for v in costs.values()) +# earlier packages' guards fail at this point (they are rejecting controls in the ledger): linear guard 1-X-r-B<0, old theta chirp guard 1-(2X-E)-r-B<0, 2B<1 test fails +assert 1-X-r-B<0 and 1-(2*X-E)-r-B<0 and 1-2*B<0 +assert K>F('0.0016797547881500489087805478664999999999999999999999999999999998000000199999') # PR1786 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585') # PR1828 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594') # PR1839 exact kappa +assert K>F('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594') # PR1875 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846') # PR1876 exact kappa +assert K>F('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533') # PR1897 exact kappa +assert K>F('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983') # PR1758 +assert K r0 (beta = 1-3 delta); only kappa moves, kappa = (1-delta) q - O(1e-76) +# fixed-grid maximum: saving < C and C*FLOOR integral give K <= C-1/FLOOR-BACKOFF; this point attains it (0 < C-E*q < 1/FLOOR) +FL=10**(DIG+46);assert (pinned*FL).denominator==1 and 00 and 1-dd*(1+1/q)<=Bd<1-2*dd and 1-Ed+q*Bd-Ed*q>0 and Ed-Bd>0 and 1-Bd-2*(1-Ed)>0 + assert F(1,2)0 and core-halo-Bd>0 + assert 1-Ed+eff*Bd>Ed*q and eff>Ed*q and 1-Ed+Bd>Ed*q and Ed>Ed*q and 1-(Ed+Bd+halo-core+2)>Ed*q + sweep.append((str(dd),str(float(q-Ed*q)))) +assert 1-F(1,T)<=1-r # delta=r0 itself is rejected by 1-eps-r0>0 +assert not (1-(1-r)-r>0) +rows['struct_boundary_radix_union']={'epsilon':str(E),'cap':str(X),'beta':str(B),'kappa':str(K),'margin_above_kappa':str(E*q-K),'checked_cost_powers':len(costs),'gap_to_q':str(q-K),'epsilon_free_sweep_delta_gap_to_q':sweep} +report={'status':'PASS_INDEPENDENT_BALANCE_DERIVATION','source_sha256':hashlib.sha256(src.read_bytes()).hexdigest(),'b':str(b),'rows':rows,'scope':'Independent balance derivation and margin comparisons for this package\'s supplier endpoint; the supplier native admission is bound by verify_release.py; inherited all-size assumptions remain.'} +(D/'INDEPENDENT.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps(report,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py b/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py new file mode 100644 index 0000000000..da3a159d09 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/replay_evidence.py @@ -0,0 +1,47 @@ +"""Replays PR1673's supplier-independent exact evidence checks (unmodified scripts) in a temporary copy and compares each regenerated +artifact with the vendored one, exactly as PR1673's verify.py fast mode does (same CHECKS list, same normalisation; the two +supplier-specific frontier_fusion checks are replaced by check_ledger.py / independent_check.py of this package). +""" +import concurrent.futures, json, os, re, shutil, subprocess, sys, tempfile +from pathlib import Path +HERE = Path(__file__).resolve().parent +SRC = HERE.parent / 'vendor/pr1673/capped-phase-fusion' +CHECKS = re.findall(r"\('([^']+\.py)','([^']+\.json)'\)", (SRC / 'verify.py').read_text(encoding='utf-8')) +CHECKS = [c for c in CHECKS if not c[0].startswith('frontier_fusion/')] +assert len(CHECKS) == 19, len(CHECKS) + + +def norm(x): + if isinstance(x, dict): + return {k: norm(v) for k, v in x.items() if k not in {'seconds', 'native_required_output'}} + if isinstance(x, list): + return [norm(v) for v in x] + return x + + +def main(): + assert __debug__ + import sympy + assert sympy.__version__ == '1.14.0', 'PR1673 evidence is registered against sympy==1.14.0, found ' + sympy.__version__ + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1', PYTHONHASHSEED='0', PYTHONINTMAXSTRDIGITS='500000') + env.pop('PYTHONOPTIMIZE', None) + with tempfile.TemporaryDirectory(prefix='phase-fusion-replay-') as td: + root = Path(td) / 'p' + shutil.copytree(SRC, root, ignore=shutil.ignore_patterns('__pycache__')) + for script, artifact in CHECKS: + (root / artifact).unlink() + + def run(c): + script, artifact = c + cp = subprocess.run([sys.executable, '-B', str(root / script)], cwd=root, env=env, capture_output=True, text=True, timeout=300) + if cp.returncode: + raise SystemExit(script + ' failed\n' + cp.stdout[-2000:] + cp.stderr[-2000:]) + if norm(json.loads((root / artifact).read_text(encoding='utf-8'))) != norm(json.loads((SRC / artifact).read_text(encoding='utf-8'))): + raise SystemExit('proof-relevant JSON changed: ' + artifact) + return script + with concurrent.futures.ThreadPoolExecutor(3) as ex: + done = list(ex.map(run, CHECKS)) + print('PASS_EXACT_REPLAY', len(done)) + + +main() diff --git a/research/gmx-t74-borrow43-handoff/outer/run_outer.py b/research/gmx-t74-borrow43-handoff/outer/run_outer.py new file mode 100644 index 0000000000..7e1a3e720f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/run_outer.py @@ -0,0 +1,23 @@ +"""Regenerates the two ledger artifacts in a temporary copy (the package stays immutable), compares them with the committed ones and +replays PR1673's supplier-independent evidence. Usage: run_outer.py TMPDIR""" +import json, shutil, subprocess, sys +from pathlib import Path +P = Path(__file__).resolve().parent.parent +tmp = Path(sys.argv[1]); (tmp / 'new').mkdir(parents=True) +shutil.copytree(P / 'outer', tmp / 'outer', ignore=shutil.ignore_patterns('__pycache__')) +shutil.copy2(P / 'new/SPEC.json', tmp / 'new/SPEC.json'); shutil.copy2(P / 'CLAIM.json', tmp / 'CLAIM.json') +for art in ('LEDGER.json', 'INDEPENDENT.json'): + (tmp / 'outer' / art).unlink() +for script in ('check_ledger.py', 'independent_check.py'): + subprocess.run([sys.executable, '-B', str(tmp / 'outer' / script)], check=True, stdout=subprocess.DEVNULL) +for art in ('LEDGER.json', 'INDEPENDENT.json'): + # line-ending-insensitive: a CRLF checkout of the committed artifact is the same artifact (PR2559 / philippeVV portability fix) + if (tmp / 'outer' / art).read_bytes().replace(b'\r\n', b'\n') != (P / 'outer' / art).read_bytes().replace(b'\r\n', b'\n'): + raise SystemExit('regenerated artifact differs from committed: ' + art) +subprocess.run([sys.executable, '-B', str(P / 'outer/sched_test.py')], check=True) +subprocess.run([sys.executable, '-B', str(P / 'outer/sched_review.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/struct_check.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/check_gaugefree.py')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/check_fine_padding.py'), '--out', str(tmp / 'fine-padding.json')], check=True, stdout=subprocess.DEVNULL) +subprocess.run([sys.executable, '-B', str(P / 'outer/replay_evidence.py')], check=True) +print('PASS_OUTER') diff --git a/research/gmx-t74-borrow43-handoff/outer/sched_review.py b/research/gmx-t74-borrow43-handoff/outer/sched_review.py new file mode 100644 index 0000000000..e0931c2a21 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/sched_review.py @@ -0,0 +1,104 @@ +"""Independent review stage written by LeverRank (second, independently coded simulation; included unmodified apart from the final assert). Independent tape-style simulation of the radix-distributed sparse-union schedule (OuterLever_union_schedule.md). +Implements: flags F, rounds with S_r, stable LSD binary radix by tag with stored bits, per-prefix-block small-field transpose by recursive riffle +(arbitrary |E_f|, not power of 2), line application, inverse transpose, inverse radix by replaying bits, LIFO rest stack + indicator merge. +Counts record-moves per pass; checks (1) exact equality with the full tensor product, (2) block completeness/constant block length per tag, +(3) order preservation, (4) cost <= C * sum|S_r| * (log g + log Emax + 1) with no |U|-per-round factor.""" +import numpy as np, itertools, random, math, sys +def run(g,L,Esizes,spect,seed): + rng=np.random.default_rng(seed); random.seed(seed) + E=[sorted(random.sample(range(L),Esizes[i])) for i in range(g)] + T=[] + for i in range(g): + M=np.eye(L); sub=rng.integers(-3,4,(len(E[i]),len(E[i]))).astype(float) + for a,x in enumerate(E[i]): + for b,y in enumerate(E[i]): M[x,y]=sub[a,b] + T.append(M) + X=rng.integers(-5,6,(L,)*g+(spect,)).astype(float) + ref=X.copy() + for i in range(g): ref=np.moveaxis(np.tensordot(T[i],ref,axes=([1],[i])),0,i) + pts=list(itertools.product(*([range(L)]*g+[range(spect)]))) # lexicographic, spectator last + flags=lambda x: tuple(i for i in range(g) if x[i] in E[i]) + F={x:flags(x) for x in pts} + val={x:X[x] for x in pts} + moves=[0]; passes_info=[] + def riffle(rows): # rows: list of lists (row-major block as R rows of C items) -> column-major list ; returns (list, passes) + R=len(rows) + if R==1: return rows[0][:],0 + r1=(R+1)//2; top,pt=riffle(rows[:r1]); bot,pb=riffle(rows[r1:]); r2=R-r1; C=len(rows[0]); out=[] + for c in range(C): + out.extend(top[c*r1:(c+1)*r1]); out.extend(bot[c*r2:(c+1)*r2]) + return out,1+max(pt,pb) + def unriffle(col,R,C): # inverse of riffle on column-major list -> rows + if R==1: return [col[:]] + r1=(R+1)//2; r2=R-r1; top=[];bot=[] + for c in range(C): + blk=col[c*R:(c+1)*R]; top.extend(blk[:r1]); bot.extend(blk[r1:]) + return unriffle(top,r1,C)+unriffle(bot,r2,C) + S=[x for x in pts if F[x]]; r=0; stack=[]; total=0; costs=[]; okorder=True + while S: + total+=len(S); cost=0 + tag={x:F[x][r] for x in S} + # stable LSD radix by tag, stored bits + nb=max(1,math.ceil(math.log2(g))) if g>1 else 1 + cur=S[:]; bits=[] + for b in range(nb): + zero=[x for x in cur if not (tag[x]>>b)&1]; one=[x for x in cur if (tag[x]>>b)&1] + bits.append([(tag[x]>>b)&1 for x in cur]); cur=zero+one; cost+=2*len(cur) # split + concat + # substreams + i=0; out_vals={} + while ir+1]; fin=[x for x in S if len(F[x])==r+1] + ind=[len(F[x])>r+1 for x in S]; stack.append((fin,ind)); cost+=len(S) + costs.append((len(S),cost)); S=nxt; r+=1 + # merge back LIFO + merged=[]; + for (fin,ind) in reversed(stack): + it_f=iter(fin); it_m=iter(merged); new=[] + for flag in ind: new.append(next(it_m) if flag else next(it_f)) + merged=new; total+=0 + okorder=(merged==[x for x in pts if F[x]]) + res=np.zeros_like(X) + for x,v in val.items(): res[x]=v + match=np.allclose(res,ref) + tot_cost=sum(c for _,c in costs); sumS=sum(s for s,_ in costs) + U=sum(1 for x in pts if F[x]); sumF=sum(len(F[x]) for x in pts) + return match,okorder,sumS,sumF,g*U,tot_cost,tot_cost/max(1,sumS),math.log2(g)+math.log2(max(Esizes))+1 +ok=True +for (g,L,Es,sp,seed) in [(4,6,[2,3,5,4],1,1),(5,6,[3,2,4,3,5],2,2),(3,9,[6,7,5],3,3),(6,5,[2,3,2,4,3,2],1,4),(5,7,[2,3,2,3,2],1,5),(2,12,[7,11],2,6),(7,4,[2,3,2,3,2,3,2],1,7)]: + m,o,sS,sF,gU,tc,per,lg=run(g,L,Es,sp,seed) + print('g',g,'L',L,'E',Es,'spect',sp,'| match',m,'order',o,'sum|S_r|',sS,'=sum|F|',sF,'(g|U|=%d)'%gU,'cost/sum|S_r|=%.2f vs (log g+log E+1)=%.2f'%(per,lg),flush=True) + ok&=m and o and sS==sF +print('ALL OK',ok) +assert ok +print('PASS_UNION_SCHEDULE_REVIEW') diff --git a/research/gmx-t74-borrow43-handoff/outer/sched_test.py b/research/gmx-t74-borrow43-handoff/outer/sched_test.py new file mode 100644 index 0000000000..deead8f7a9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/sched_test.py @@ -0,0 +1,192 @@ +#!/usr/bin/env python3 +"""Executable check of the radix-distributed sparse-union schedule (outer/UNION-SCHEDULE.md). + +Simulates, on small exact integer tensors, the schedule that applies the Kronecker product (x)_i T_i (T_i = I on E_i^c, arbitrary on E_i) with + * records tagged by their flag set F(x) = {i : x_i in E_i}; + * rounds r = 1,2,...: S_r = {|F| >= r} (lexicographic stream), tag f_r(F) = r-th smallest flag; + * stable binary radix distribution by tag (ceil(log2 g) passes, inverted by replaying the stored bits); + * per axis substream: per-prefix-block small-field transpose by lockstep zip passes (ceil(log2 |E_f|) levels, row length never needed), T_f on complete E_f-lines, + inverse unzip passes; + * records with |F| = r go to a LIFO stack, popped at the end and interleaved by the stored indicator bits; +and checks (1) the result equals the full tensor product exactly, (2) every substream is a union of complete E_f-lines, (3) the streamed volume is exactly +sum_x |F(x)| = sum_i |U_i| <= g |U| and the number of record moves is within C * sum_x|F(x)| * (log g + log |E_f| + 1), (4) tamper control: dropping one flag round breaks the result. +Prints PASS_UNION_SCHEDULE.""" +import itertools, math, random +import numpy as np + + +def ceil_log2(n): + return max(1, (n - 1).bit_length()) + + +class Moves: + n = 0 + + +def radix_distribute(recs, tags, nbits): + """stable LSD binary radix by tag; returns (stream, per-pass bit lists). Each pass = one scan splitting onto two output tapes + concatenation.""" + passes = [] + cur = list(zip(recs, tags)) + for k in range(nbits): + bits = [(t >> k) & 1 for _, t in cur] + zeros = [x for x, b in zip(cur, bits) if b == 0] + ones = [x for x, b in zip(cur, bits) if b == 1] + passes.append(bits) + cur = zeros + ones + Moves.n += len(cur) + return cur, passes + + +def radix_undo(cur, passes): + for bits in reversed(passes): + nz = len(bits) - sum(bits) + zeros, ones = iter(cur[:nz]), iter(cur[nz:]) + cur = [next(ones) if b else next(zeros) for b in bits] + Moves.n += len(cur) + return cur + + +def zip_transpose(rows): + """rows: a lists of equal length b (unknown to the routine). Returns the suffix-major order [row0_j, row1_j, ..., row(a-1)_j for j=0..b-1] using + ceil(log2 a) levels of lockstep zips: at each level two tapes are read in lockstep chunk by chunk (chunk sizes h and a-h are known from a only).""" + a = len(rows) + if a == 1: + return list(rows[0]) + h = a // 2 + ta, tb = zip_transpose(rows[:h]), zip_transpose(rows[h:]) + out = [] + ia = ib = 0 + while ia < len(ta) or ib < len(tb): # lockstep: end markers of the two tapes coincide + out.extend(ta[ia:ia + h]); ia += h + out.extend(tb[ib:ib + a - h]); ib += a - h + Moves.n += len(out) + return out + + +def zip_untranspose(seq, a): + if a == 1: + return [list(seq)] + h = a // 2 + ta, tb = [], [] + i = 0 + while i < len(seq): + ta.extend(seq[i:i + h]); i += h + tb.extend(seq[i:i + a - h]); i += a - h + Moves.n += len(seq) + return zip_untranspose(ta, h) + zip_untranspose(tb, a - h) + + +def run(g, L, esizes, seed, drop_round=None): + rnd = random.Random(seed) + rng = np.random.default_rng(seed) + E = [sorted(rnd.sample(range(L), esizes[i])) for i in range(g)] + Tm = [] + for i in range(g): + sub = rng.integers(-2, 3, (len(E[i]), len(E[i]))).astype(np.int64) + M = np.eye(L, dtype=np.int64) + M[np.ix_(E[i], E[i])] = sub + Tm.append(M) + X = rng.integers(-3, 4, (L,) * g).astype(np.int64) + ref = X.copy() + for i in range(g): + ref = np.moveaxis(np.tensordot(Tm[i], ref, axes=([1], [i])), 0, i) + assert int(np.abs(ref).max()) < 2 ** 62 + pts = list(itertools.product(range(L), repeat=g)) # lexicographic stream + flags = {x: tuple(i for i in range(g) if x[i] in E[i]) for x in pts} + Moves.n = 0 + sumF = sum(len(f) for f in flags.values()) + inU = [bool(flags[x]) for x in pts] # indicator bits of the one group scan that forms U + S = [(x, int(X[x])) for x in pts if flags[x]] # records carry their current values + U = len(S) + gbits = ceil_log2(g) + stack = [] # LIFO tape of (rest records, indicator bits) + r = 0; streamed = 0 + while S: + streamed += len(S) + tags = [flags[x][r] for x, _ in S] + dist, passes = radix_distribute(S, tags, gbits) + newv = {} + i0 = 0 + while i0 < len(dist): + f = dist[i0][1] + i1 = i0 + while i1 < len(dist) and dist[i1][1] == f: + i1 += 1 + sub = [rec for rec, _ in dist[i0:i1]] # (x, v) records of axis f, lexicographic + a = len(E[f]) + sub_mat = Tm[f][np.ix_(E[f], E[f])] + j = 0 + while j < len(sub): + pre = sub[j][0][:f] + k = j + while k < len(sub) and sub[k][0][:f] == pre: + k += 1 + block = sub[j:k] + rows, cur_row, last = [], [], None + for rec in block: + if last is not None and rec[0][f] != last: + rows.append(cur_row); cur_row = [] + cur_row.append(rec); last = rec[0][f] + rows.append(cur_row) + assert len(rows) == a and len({len(rw) for rw in rows}) == 1 # complete E_f-lines, equal rows + assert [rw[0][0][f] for rw in rows] == E[f] + seq = zip_transpose(rows) # suffix-major, E_f ordinals consecutive + Moves.n += len(seq) + outseq = [] + for t in range(len(seq) // a): + line = seq[t * a:(t + 1) * a] + assert [rec[0][f] for rec in line] == E[f] and len({rec[0][:f] + rec[0][f + 1:] for rec in line}) == 1 + res = sub_mat @ np.array([rec[1] for rec in line], dtype=np.int64) + if drop_round is not None and r == drop_round: + outseq.extend(line) + else: + outseq.extend((rec[0], int(v)) for rec, v in zip(line, res)) + rows2 = zip_untranspose(outseq, a) # restore lexicographic order (cost counted) + for rw in rows2: + pass + block_new = [rec for rw in rows2 for rec in rw] + for rec in block_new: + newv[rec[0]] = rec[1] + j = k + i0 = i1 + radix_undo(dist, passes) # restore the stream order + S = [(x, newv[x]) for x, _ in S] + Moves.n += len(S) + keep = [len(flags[x]) > r + 1 for x, _ in S] + stack.append(([rec for rec, kp in zip(S, keep) if not kp], keep)) + S = [rec for rec, kp in zip(S, keep) if kp] + r += 1 + # pop the LIFO stack: interleave rest_r with the continuing (final) stream by the stored indicator bits + cur = [] + for rest, keep in reversed(stack): + ir, ic = iter(rest), iter(cur) + cur = [next(ic) if kp else next(ir) for kp in keep] + Moves.n += len(keep) + final = iter(cur) + res = np.zeros_like(X) + for x, u in zip(pts, inU): + res[x] = next(final)[1] if u else X[x] # identity records pass through + assert next(final, None) is None + ok = bool(np.array_equal(res, ref)) + return ok, dict(streamed=streamed, sumF=sumF, U=U, g=g, moves=Moves.n, amax=max(len(e) for e in E), rounds=r) + + +def main(): + cases = [(5, 7, [2, 3, 2, 3, 2], 5), (4, 6, [2, 2, 3, 2], 11), (6, 5, [2, 2, 2, 3, 2, 2], 3), (3, 8, [3, 2, 3], 21)] + for g, L, es, seed in cases: + ok, st = run(g, L, es, seed) + assert ok, (g, L, seed) + assert st['streamed'] == st['sumF'] # streamed volume = sum|F| = sum_i |U_i| + assert st['sumF'] == sum(es[i] * L ** (g - 1) for i in range(g)) + assert st['sumF'] <= g * st['U'] + bound = 3 * st['sumF'] * (ceil_log2(g) + 2 * ceil_log2(st['amax']) + 4) + assert st['moves'] <= bound, (st, bound) + print('case g=%d L=%d: exact tensor product reproduced; sum|F|=%d = sum|U_i|; g|U|=%d (x%.2f); moves=%d <= %d; rounds=%d' % + (g, L, st['sumF'], g * st['U'], g * st['U'] / st['sumF'], st['moves'], bound, st['rounds'])) + ok, _ = run(5, 7, [2, 3, 2, 3, 2], 5, drop_round=1) # tamper: skip the second round's application + assert not ok + print('PASS_UNION_SCHEDULE') + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/outer/struct_check.py b/research/gmx-t74-borrow43-handoff/outer/struct_check.py new file mode 100644 index 0000000000..16ed027f31 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/outer/struct_check.py @@ -0,0 +1,207 @@ +#!/usr/bin/env python3 +"""Exact check of the structured boundary-solve claims (outer/STRUCTURED-BOUNDARY.md). + +Model (exactly the reduction of the note's phase-cell matrices): within a phase cell the Gaussian matrix is K = D_r T D_c with T a banded Toeplitz matrix +(half-bandwidth W) and D_r, D_c diagonal. Boundary J = G separated W-segments, interiors of length I eliminated. The Schur complement of K onto J in coordinates +Y = D_r^-1 X D_c^-1 is the Schur complement of the plain Toeplitz T (the diagonals cancel in every Schur step; checked here exactly with rational diagonals). +Checks in exact rational arithmetic: + 1. S_Y = Schur(T onto J) equals D_r^-1 Schur(K onto J) D_c^-1 (diagonal cancellation); + 2. Stein displacement ranks rank(M - Z M Z^T) (Z = W x W down-shift) of every block of the block-tridiagonal S_Y, of every LU pivot + P_j = S_jj - S_{j,j-1} P_{j-1}^-1 S_{j-1,j} and of every P_j^-1 are bounded by a constant independent of G and of j; + 3. every such block is reconstructed EXACTLY from a rank factorisation of its displacement by the Kailath-Kung-Morf formula M = sum_k L(g_k) L(h_k)^T; + 4. the block-tridiagonal forward/back substitution performed only with these generator representations equals the dense solve (exact). +Prints PASS_STRUCTURED_BOUNDARY.""" +from fractions import Fraction as F +import random, itertools + + +def rank(M): + M = [row[:] for row in M]; r = 0 + rows, cols = len(M), len(M[0]) if M else 0 + for c in range(cols): + p = next((i for i in range(r, rows) if M[i][c] != 0), None) + if p is None: continue + M[r], M[p] = M[p], M[r] + inv = 1 / M[r][c] + for i in range(r + 1, rows): + if M[i][c] != 0: + f = M[i][c] * inv + M[i] = [a - f * b for a, b in zip(M[i], M[r])] + r += 1 + if r == rows: break + return r + + +def matmul(A, B): + Bt = list(zip(*B)) + return [[sum(a * b for a, b in zip(row, col)) for col in Bt] for row in A] + + +def inv(M): + n = len(M) + A = [row[:] + [F(int(i == j)) for j in range(n)] for i, row in enumerate(M)] + for c in range(n): + p = next(i for i in range(c, n) if A[i][c] != 0) + A[c], A[p] = A[p], A[c] + d = 1 / A[c][c] + A[c] = [x * d for x in A[c]] + for i in range(n): + if i != c and A[i][c] != 0: + f = A[i][c] + A[i] = [x - f * y for x, y in zip(A[i], A[c])] + return [row[n:] for row in A] + + +def sub(A, B): return [[a - b for a, b in zip(r1, r2)] for r1, r2 in zip(A, B)] +def add(A, B): return [[a + b for a, b in zip(r1, r2)] for r1, r2 in zip(A, B)] +def T_(A): return [list(r) for r in zip(*A)] + + +def shift_mat(W): + return [[F(int(i == j + 1)) for j in range(W)] for i in range(W)] + + +def stein(M, Z): + return sub(M, matmul(matmul(Z, M), T_(Z))) + + +def rank_factor(D): + """exact factorisation D = sum_k g_k h_k^T (columns g_k, h_k) by Gaussian elimination.""" + W = len(D); R = [row[:] for row in D]; gs, hs = [], [] + for _ in range(W): + piv = next(((i, j) for i in range(W) for j in range(W) if R[i][j] != 0), None) + if piv is None: break + i, j = piv + g = [R[a][j] / R[i][j] for a in range(W)] # column j scaled + h = R[i][:] # row i + gs.append(g); hs.append(h) + R = [[R[a][b] - g[a] * h[b] for b in range(W)] for a in range(W)] + return gs, hs + + +def lower_toeplitz(g): + W = len(g) + return [[g[i - j] if i >= j else F(0) for j in range(W)] for i in range(W)] + + +def kkm_reconstruct(gs, hs): + W = len(gs[0]) if gs else 0 + M = [[F(0)] * W for _ in range(W)] + for g, h in zip(gs, hs): + M = add(M, matmul(lower_toeplitz(g), T_(lower_toeplitz(h)))) + return M + + +def run(W, G, I, seed, perturb=False): + rnd = random.Random(seed) + N = G * (W + I) + t = {m: F(rnd.randint(1, 9), rnd.randint(2, 9)) * (F(1, 3) ** m) for m in range(W + 1)} + tn = {m: F(rnd.randint(1, 9), rnd.randint(2, 9)) * (F(1, 3) ** m) for m in range(W + 1)} # nonsymmetric lower part + t[0] = F(5) + T = [[(t[k - i] if k >= i else tn[i - k]) if abs(i - k) <= W else F(0) for k in range(N)] for i in range(N)] + if perturb: # control: destroy the Toeplitz structure with independent dense band entries + T = [[T[i][k] + (F(rnd.randint(1, 9), rnd.randint(5, 13)) * F(1, 3) ** abs(i - k) if abs(i - k) <= W else 0) for k in range(N)] for i in range(N)] + # diagonal scalings (rational) + al, be = F(3, 2), F(5, 4) + Dr = [al ** (i * i % 7) * be ** i for i in range(N)] + Dc = [(1 / al) ** ((i * i) % 5) * (F(7, 6)) ** i for i in range(N)] + K = [[Dr[i] * T[i][k] * Dc[k] for k in range(N)] for i in range(N)] + segs = [list(range(j * (W + I), j * (W + I) + W)) for j in range(G)] + J = [i for s in segs for i in s] + Iset = [i for i in range(N) if i not in set(J)] + def schur(M): + MJJ = [[M[a][b] for b in J] for a in J] + MJI = [[M[a][b] for b in Iset] for a in J] + MIJ = [[M[a][b] for b in J] for a in Iset] + MII = [[M[a][b] for b in Iset] for a in Iset] + return sub(MJJ, matmul(matmul(MJI, inv(MII)), MIJ)) + SK, ST = schur(K), schur(T) + # 1. diagonal cancellation: S_Y = Dr^-1 SK Dc^-1 = ST + for a, ia in enumerate(J): + for b, ib in enumerate(J): + assert SK[a][b] / (Dr[ia] * Dc[ib]) == ST[a][b] + blk = lambda M, p, q: [[M[p * W + a][q * W + b] for b in range(W)] for a in range(W)] + Z = shift_mat(W) + ranks = {'diag': [], 'sub': [], 'sup': [], 'pivot': [], 'pivot_inv': []} + S = {(p, q): blk(ST, p, q) for p in range(G) for q in range(G)} + gens = {} + def represent(name, M): + D = stein(M, Z); gs, hs = rank_factor(D) + assert kkm_reconstruct(gs, hs) == M if gs else all(x == 0 for r in M for x in r), name + ranks[name].append(len(gs)); return (gs, hs) + P = [] + for j in range(G): + represent('diag', S[(j, j)]) + if j: + represent('sub', S[(j, j - 1)]); represent('sup', S[(j - 1, j)]) + Pj = S[(j, j)] if j == 0 else sub(S[(j, j)], matmul(matmul(S[(j, j - 1)], inv(P[j - 1])), S[(j - 1, j)])) + P.append(Pj) + represent('pivot', Pj); represent('pivot_inv', inv(Pj)) + return ranks, S, P, G, W + + +def structured_solve_equals_dense(W, G, I, seed): + """Block-tridiagonal Schur complement S of a banded Toeplitz with separators W has zero blocks beyond the first off-diagonal + only if interiors are eliminated; here all interior eliminations are exact, so tridiagonality is a consequence checked by the solve.""" + ranks, S, P, G, W = run(W, G, I, seed) + # assemble block-tridiagonal part and compare with the full S on tridiagonal support + n = G * W + rnd = random.Random(seed + 1) + y = [F(rnd.randint(-9, 9)) for _ in range(n)] + # structured forward/back substitution using generator representations only + def apply(M, v): # M v via KKM generators (two lower-triangular Toeplitz products per generator) + D = stein(M, shift_mat(W)); gs, hs = rank_factor(D) + out = [F(0)] * W + for g, h in zip(gs, hs): + w = matmul(T_(lower_toeplitz(h)), [[x] for x in v]) # L(h)^T v (a Toeplitz convolution) + u = matmul(lower_toeplitz(g), w) # L(g) (L(h)^T v) + out = [a + b[0] for a, b in zip(out, u)] + return out + ys = [y[j * W:(j + 1) * W] for j in range(G)] + z = [] + for j in range(G): + rhs = ys[j] if j == 0 else [a - b for a, b in zip(ys[j], apply(S[(j, j - 1)], z[j - 1]))] + z.append(apply(inv(P[j]), rhs)) + x = [None] * G + x[G - 1] = z[G - 1] + for j in range(G - 2, -1, -1): + x[j] = [a - b for a, b in zip(z[j], apply(inv(P[j]), apply(S[(j, j + 1)], x[j + 1])))] + # dense solve of the block tridiagonal matrix + Tm = [[F(0)] * n for _ in range(n)] + for p in range(G): + for q in range(max(0, p - 1), min(G, p + 2)): + for a in range(W): + for b in range(W): + Tm[p * W + a][q * W + b] = S[(p, q)][a][b] + xd = matmul(inv(Tm), [[v] for v in y]) + assert [v for blk in x for v in blk] == [r[0] for r in xd] + return ranks + + +def main(): + worst = 0 + flat = {} + for (W, G, I, seed) in [(3, 3, 9, 1), (3, 5, 9, 2), (4, 4, 12, 3), (3, 6, 9, 4), (5, 3, 15, 5)]: + r = structured_solve_equals_dense(W, G, I, seed) + mx = {k: max(v) for k, v in r.items()} + worst = max(worst, max(mx.values())) + flat[(W, G)] = mx + print('W=%d G=%d I=%d: max Stein displacement ranks %s -- structured solve == dense solve (exact)' % (W, G, I, mx)) + assert worst <= 4, worst # observed bound; the proved constant (STRUCTURED-BOUNDARY.md) is c0 = 14 + # independence of G: ranks at G=3 and G=6 for W=3 do not grow + assert max(flat[(3, 6)].values()) <= max(flat[(3, 3)].values()) + 1 + # control: a dense non-Toeplitz perturbation of the band must raise the displacement ranks above the Toeplitz bound + pr, _, _, _, _ = run(6, 3, 12, 7, perturb=True) + tr, _, _, _, _ = run(6, 3, 12, 7) + assert max(max(v) for v in tr.values()) <= 4 and max(pr['pivot']) >= 6 and max(pr['diag']) >= 6, (tr, pr) + print('control: Toeplitz W=6 max rank %d; non-Toeplitz perturbation raises pivot/diag rank to %d/%d (full)' % (max(max(v) for v in tr.values()), max(pr['pivot']), max(pr['diag']))) + # tamper control: perturb one pivot entry, KKM reconstruction from the original generators must fail + ranks, S, P, G, W = run(3, 3, 9, 1) + M = P[1]; gs, hs = rank_factor(stein(M, shift_mat(W))) + M2 = [row[:] for row in M]; M2[0][0] += F(1, 7) + assert kkm_reconstruct(gs, hs) != M2 + print('PASS_STRUCTURED_BOUNDARY (max rank %d)' % worst) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/reconstruct.py b/research/gmx-t74-borrow43-handoff/reconstruct.py new file mode 100644 index 0000000000..186fb5ef8d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/reconstruct.py @@ -0,0 +1,59 @@ +"""Borrow-word owner witness: literal verification of the shipped exact fill (new/borrow-fill/FILL.json.gz) and emission of +OWNERS/ORDER/DISPATCH/PROFILE/RESULT for lift_parent.py. The helper count per call is R' = 480-k and the per-call widths come from +new/BORROW-PROVIDERS.json; the same windows, bins and distinct-family rules as the pinned PR1297 owner construction are checked +literally (no window, bin, helper or family rule is relaxed). Idle remainders are whatever the exact bins leave (ranks priced +exactly by the profile). The fill itself is found offline by new/borrow-fill/solve_fill.py (not rerun here) and only verified. +""" +import argparse,collections,gzip,importlib.util,json +from pathlib import Path +assert __debug__, 'Assertions are required' +F=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);args=ap.parse_args();P=args.out.resolve();P.mkdir(parents=True,exist_ok=False) +def read(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def dump(p,x): + b=json.dumps(x,sort_keys=True,separators=(',',':')).encode();z=bytearray(gzip.compress(b,mtime=0));z[9]=255;p.write_bytes(bytes(z) if p.suffix=='.gz' else b) +plan=read(F/'inputs/PLAN.json');parent=read(F/'inputs/GLOBAL-TEMPLATE.json.gz');T=plan['T'] +OF=F/'new/borrow-fill/ORDER.json' +if OF.exists(): # a free complete invocation order (666 calls; windows are recomputed from it below) with its explicit dispatch + order=read(OF);dispatch={(s,r):pid for s,r,pid in read(F/'new/borrow-fill/DISPATCH.json')} + assert sorted(map(tuple,order))==sorted((s,r+T*g) for s,r in plan['order'] for g in range(2)),'order must be a permutation of the pinned complete calls' +else: + order=[[s,r+T*g] for s,r in plan['order'] for g in range(2)] + dispatch={(s,r+T*g):pid for s,r,pid in read(F/'inputs/DISPATCH.json') for g in range(2)} +source=F/'vendor/build_parent.py';sp=importlib.util.spec_from_file_location('windows',source);mod=importlib.util.module_from_spec(sp);sp.loader.exec_module(mod);windows,schedule=mod.actual_windows(parent,order) +prov=read(F/'new/BORROW-PROVIDERS.json');widths={p:d['widths'] for p,d in prov.items()};paid={p:{int(k):v for k,v in d['actual_paid_profile'].items()} for p,d in prov.items()} +R=len(next(iter(widths.values())));assert all(len(w)==R for w in widths.values()) and set(widths)==set(dispatch.values()) +fill=read(F/'new/borrow-fill/FILL.json.gz');assert fill['columns']==['time','helper','owner_replica','child','port','offset'] +for s_,r_,p_ in fill['dispatch_overrides']:dispatch[s_,r_]=p_ # the single gauge44->extra provider upgrade of the pinned fill +pairs,sides=plan['pairs'],plan['sides'] +at={tuple(x):i for i,x in enumerate(order)} +roles=[] +for time,helper,rep,child,port,offset in fill['rows']: + stage,replica=order[time];w=widths[dispatch[stage,replica]][helper] + roles.append(dict(stage=stage,replica=replica,time=time,helper=helper,width=w,owner_replica=rep,child=child,port=port,offset=offset,copy=112*rep+port,family=rep*896+(2*pairs[str(child)]+sides[str(child)])*112+port)) +assert len(roles)==len(order)*R,(len(roles),len(order)*R) +helpers=collections.defaultdict(set);fams=collections.defaultdict(set);used=collections.defaultdict(set) +for z in roles: + call=(z['stage'],z['replica']);rep,child,port=z['owner_replica'],z['child'],z['port'] + cap,allowed=windows[f'{rep},{child}'] + assert z['time'] in allowed and 0<=port<112 and 0<=z['helper']=0 and z['offset']+z['width']<=cap and not used[rep,child,port]&cells + used[rep,child,port]|=cells +assert set(helpers)==set(map(tuple,order)) and all(s==set(range(R)) for s in helpers.values()) +idle=collections.Counter() +for key,(cap,times) in windows.items(): + r,ch=map(int,key.split(',')) + for port in range(112): + c=used[r,ch,port];assert c==set(range(len(c))),'gap in pending prefix' + if cap-len(c):idle[cap-len(c)]+=1 +H=collections.Counter(idle) +for sr in order: + for r,n in paid[dispatch[tuple(sr)]].items():H[int(r)]+=n +assert 73*plan['live']*2-sum(r*n for r,n in H.items())==2*plan['deficit'],'rank-mass deficit' +roles.sort(key=lambda r:(r['time'],r['helper'])) +dump(P/'OWNERS.json.gz',roles);dump(P/'ORDER.json',order);dump(P/'DISPATCH.json',[[s,r,dispatch[s,r]] for s,r in order]);dump(P/'PROFILE.json',dict(sorted(H.items()))) +dump(P/'RESULT.json',dict(status='PASS_EXACT_BORROW_WORD_T74_OWNER_FILL',roles=len(roles),helpers_per_call=R,dispatch=dict(collections.Counter(dispatch.values())),idle=dict(sorted(idle.items())),scope='Literal strict windows, bin capacities, per-call helper widths and distinct physical families verified for the shipped fill; local programs are the borrow words; full parent binding, finite invoice and global admission run separately.')) +print('PASS_OWNER_VERIFY',dict(idle),dict(sorted(H.items())),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/replay.py b/research/gmx-t74-borrow43-handoff/replay.py new file mode 100644 index 0000000000..1805c18403 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/replay.py @@ -0,0 +1,32 @@ +import argparse,json,hashlib,os,shutil,subprocess,sys,time,collections +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent;R=F/'owner37-round44';S=R/'source/research/r480-owner-optimum';N=F/'joint1148-round45';B=F/'demotions1148-round43/baseline-replay';ROOT=N/'source' +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +ap=argparse.ArgumentParser();ap.add_argument('--data',type=Path,required=True);ap.add_argument('--work',type=Path,required=True);ap.add_argument('--discover',action='store_true');ap.add_argument('--local',type=Path);a=ap.parse_args();data=a.data.resolve();work=a.work.resolve();assert not work.exists();work.mkdir();local=a.local.resolve() if a.local else B/'native/local';code=P/'code';upstream=ROOT/'research/complex-k492-owner-repair/vendor/multicold' +for rel,h in rd(S/'vendor/pr1074/UPSTREAM-PINS.json').items():assert sha(ROOT/rel)==h,rel +assert rd(B/'RESULT.json')['status']=='PASS_THREE_DEMOTIONS_COMPLETE_ADMISSION' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(upstream),GAIN_PR564_SOURCE=str(upstream)) +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +runtime=work/'runtime';(runtime/'data').mkdir(parents=True);shutil.copytree(S/'vendor/pr1074/construction',runtime/'construction');shutil.copy2(data/'SPEC.json',runtime/'data/SPEC.json');spec=runtime/'data/SPEC.json';env['WITNESS_SPEC']=str(spec) +if a.discover:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +parent=work/'parent';shutil.copytree(B/'parent/t16/parent558',parent);shutil.copy2(data/'GLOBAL-TEMPLATE.json.gz',parent/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz');stages=[] +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(upstream/'code/run_portable.py'),str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,seconds=time.monotonic()-t,exit_code=r.returncode,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +g=work/'global' +run('bind',code/'bind_providers_portable.py','--baseline',parent,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--plan',data/'PLAN.json','--out',g) +run('emit',P/'audit_fast.py',code/'emit_allcold.py','--base',g/'base','--owners',data/'OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') +run('audit',P/'audit_fast.py',code/'audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('invoice',code/'invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',upstream/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly',code/'assemble.py',upstream,g,work/'ASSEMBLY.json') +if a.discover: + run('freeze',P/'freeze_spec.py','--spec',spec,'--discovery',work);shutil.copy2(spec,data/'SPEC.json') +else: + for name,script,filename in [('admission','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit','bit_supplier_controls.py','BIT-CONTROLS.json')]:run(name,code/script,'--source-package',upstream,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',work/filename) +plan=rd(data/'PLAN.json') +run('independent',P/'audit_mixed.py','--parent',B/'parent/t16/global8/base/split-centres/GLOBAL-TEMPLATE.json.gz','--data',data,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--out',work/'INDEPENDENT.json') +asm=rd(work/'ASSEMBLY.json');ind=rd(work/'INDEPENDENT.json');inv=rd(g/'audit/PREFIX-AND-INVOICE.json');assert ind['profile']==asm['complex_profile']==plan['profile'];assert ind['prefix_bits']==inv['global_prefix_bits'], with substantial +OpenAI Codex assistance. New work is under Apache-2.0. + +The fixed local supplier is Jeremy Kothe's seven-slot k8 word in PR1074, +commit `052afc128954f7b6a2b3c409eb4d72248e4020f2`. The seven-slot step comes +from PR1018 and credits Rohan Arun's PR987 search. The earlier local word and +its scalar, frame, phase, and source-access construction retain all notices +in `vendor/pr1074/NOTICE.md` and `vendor/pr1074/UPSTREAM-NOTICE.md`. +This package does not claim authorship of those local changes. + +The signed bin prices come from Chafik Boukhalfa's PR795. The proof method +builds on the PR890/PR942 owner bounds and the prior all-replica T37 theorem. +The new right-hand side, exact attaining flow, and complete R480 owner map +are specific to the changed seven-slot inventory. The old theorem did not +cover this word. + +The T16 source-event routines are by Hao Yan (@FanPUYen). Their source notice +is kept in `vendor/pr1074/t16/NOTICE.md` and their source headers. The derived +independent owner checker comes from `research/complex-t21-owners` at the +exact repository base. `INDEPENDENT-DERIVATION.patch` records its changes. + +The global admission code comes from the exact PR1074 package. Its sources +and notices are retained. `CODE-DERIVATION.patch` records all changes needed +for 37 replicas and the 1024-bit complex prefix allowance. The arithmetic +engines and full PR589 bit supplier are unchanged and source-pinned. + +PR1034 proved a mixed bound for 71 older catalogue entries and excluded +R480. PR1069 independently checked the rank-mass identity for recent claims. +These contributions informed the scope and cost audit. Neither admits the +new physical owner map by itself. + +The concurrent mutable-leaver sprint worker rebuilt the unchanged local k8 +and seven-slot chains, including their scalar and phase checks. This package +retains that source-bound evidence. It does not use the worker's new local +word experiments. No predecessor notice, license, or AI disclosure is replaced +by this notice. + +Josie Elliston's PR1091 independently checked fifteen T16 owner maps and +made the disjoint-pending-axis obligation explicit. The independent T37 +audit includes that check and a targeted negative control. Rohan Arun's +PR1094 gives a later same-word T16 repack. Jeremy Kothe's PR1117 changes +the local word; it is a concurrent comparison outside the proved inventory. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json new file mode 100644 index 0000000000..66b55be3b9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/VALIDATION.json @@ -0,0 +1,118 @@ +{ + "status": "PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION", + "kappa": "13414839829209/8000000000000000", + "kappa_decimal": "0.001676854978651125", + "parent_geometry_reuse": true, + "base_native_reuse": true, + "extra_native_reuse": true, + "kernel_controls": 24, + "inherited_kernel543_controls": 12, + "flow_controls": 8, + "fusion_controls": 20, + "x54_controls": 8, + "leaver_premise_words": 2, + "admission_controls": 114, + "bit_controls": 12, + "controller_controls": 15, + "independent_owner_controls": 8, + "outer_inequalities": 47, + "stages": [ + { + "name": "literal-word-base", + "exit_code": 0, + "seconds": 0.07573141597094946, + "log_sha256": "83fec10f50d9b15386b8ed790bfeeeb720eb53a971f2f521b388a930f5ebd0ee" + }, + { + "name": "literal-word-extra", + "exit_code": 0, + "seconds": 0.07530799999949522, + "log_sha256": "83fec10f50d9b15386b8ed790bfeeeb720eb53a971f2f521b388a930f5ebd0ee" + }, + { + "name": "independent-local-base", + "exit_code": 0, + "seconds": 0.6283237079915125, + "log_sha256": "71d540d9eea2b17c76572e2958ce6578d3d647528fae2054bd8795fbc7af41ef" + }, + { + "name": "fusion-controls-base", + "exit_code": 0, + "seconds": 4.117706749995705, + "log_sha256": "79355b0e2f6aa7b320be93fc31ac08ac649ea542b41b18164e168f4aca8b76e1" + }, + { + "name": "x54-controls-base", + "exit_code": 0, + "seconds": 1.8414449999982025, + "log_sha256": "9158bf0939624705fe7b7812143f92f38c0a099208c996fe82c45396227d741b" + }, + { + "name": "kernel543-controls-base", + "exit_code": 0, + "seconds": 2.167166457977146, + "log_sha256": "9fc045b637a62407475f14d8bc208de5991764461b62455ca5820d9b9955139f" + }, + { + "name": "kernel-controls-base", + "exit_code": 0, + "seconds": 3.571463207976194, + "log_sha256": "3f4dca57215aed078ee412568d007e3d13427a35fd7759ffc7c6d331734affd0" + }, + { + "name": "leaver-premise-base", + "exit_code": 0, + "seconds": 0.5805924579908606, + "log_sha256": "f8f2158eebacaa7ce92069edd23aa2e77408b74a1959ece4e617b6eb5bbf710c" + }, + { + "name": "independent-local-extra", + "exit_code": 0, + "seconds": 0.6337401250202674, + "log_sha256": "d13345ee637d8da1b6e04cb4282a12d23e3089227536a05ecc6a6d21f452ee64" + }, + { + "name": "fusion-controls-extra", + "exit_code": 0, + "seconds": 4.050313125015236, + "log_sha256": "79355b0e2f6aa7b320be93fc31ac08ac649ea542b41b18164e168f4aca8b76e1" + }, + { + "name": "x54-controls-extra", + "exit_code": 0, + "seconds": 1.7692360829969402, + "log_sha256": "9158bf0939624705fe7b7812143f92f38c0a099208c996fe82c45396227d741b" + }, + { + "name": "kernel543-controls-extra", + "exit_code": 0, + "seconds": 2.1309113340103067, + "log_sha256": "9fc045b637a62407475f14d8bc208de5991764461b62455ca5820d9b9955139f" + }, + { + "name": "kernel-controls-extra", + "exit_code": 0, + "seconds": 3.6643420000036713, + "log_sha256": "3f4dca57215aed078ee412568d007e3d13427a35fd7759ffc7c6d331734affd0" + }, + { + "name": "leaver-premise-extra", + "exit_code": 0, + "seconds": 0.5979399170028046, + "log_sha256": "2f035786ef08573510a5cbe1a0d3797ee1293561ef569b676570d9e5a78609df" + }, + { + "name": "literal-construct", + "exit_code": 0, + "seconds": 4.632878667005571, + "log_sha256": "67815b900cd62e4080ce2544f99c8140ff97b580c8c1016b1ed8362d21079291" + }, + { + "name": "strict-global", + "exit_code": 0, + "seconds": 55.639729917020304, + "log_sha256": "108e274bee1bbece6a6f10edd28a7fb1360aed956baa294375dc21656eeae5bb" + } + ], + "scope": "Conditional finite construction only. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape, exact recovery, analytic transfer, PR559 recurrence correction and PR589 bit H1-H5 assumptions remain. No unconditional theorem, full Lean certification, or global packing claim." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py new file mode 100644 index 0000000000..5a39945459 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/audit_mixed.py @@ -0,0 +1,17 @@ +import argparse,collections,json,copy +from pathlib import Path +import independent_core as A +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--data',type=Path,required=True);ap.add_argument('--provider',action='append',required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();dirs={p:Path(d) for p,d in (x.split('=',1) for x in a.provider)};plan=A.read(a.data/'PLAN.json');dispatch={(s,r):p for s,r,p in A.read(a.data/'DISPATCH.json')};roles=A.read(a.data/'OWNERS.json.gz');parent=A.read(a.parent);phases=A.read(a.parent.parent.parent/'work/complex-nine-native/DATA-PHASES.json');canonical=A.read(a.parent.parent/'CANONICAL-WORD.json.gz');inventories={};words={};replays={};profiles={};prefix=[] +A.require(len(dispatch)==len(plan['order']) and set(dispatch.values())==set(dirs),'complete provider dispatch') +A.require({(c['stage'],c['replica']):c['provider'] for c in plan['provider_calls']}==dispatch,'plan dispatch binding') +for pid,d in dirs.items(): + w,r=A.read(d/'CANONICAL-WORD.json.gz'),A.read(d/'INDEPENDENT-LOCAL-REPLAY.json');A.require(r['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY','native status');A.require(r['canonical_word_sha256']==A.filehash(d/'CANONICAL-WORD.json.gz'),'word binding');A.require(set(r['local'])=={'forward','backward'},'both orientations');A.require(w['ports']==canonical['ports'],'common ports');A.require([A.basis(w['frames'][f]) for f in w['center_frames']]==[A.basis(canonical['frames'][f]) for f in canonical['center_frames']],'common ordered center frames');A.EXPECTED_WIDTHS=collections.Counter(plan['provider_registry'][pid]['widths']);ws,paid=A.local_inventory(w,r);A.require(ws==plan['provider_registry'][pid]['widths'],'ordered provider widths');inventories[pid]=ws;profiles[pid]=paid;words[pid]=w;replays[pid]=r;prefix.extend(x['prefix_bits_upper'] for x in r['local'].values()) +pid=next(iter(dirs));A.EXPECTED_WIDTHS=collections.Counter(inventories[pid]);A.T=plan['T'];A.EXPECTED_IDLE={int(k):v for k,v in A.read(a.data/'CONSTRUCTION.json')['idle'].items()};ctx=A.make_context(parent,phases,canonical['ports'],words[pid],replays[pid],roles);A.require(set(ctx['order'])==set(dispatch),'complete dispatch calls');ctx['call_widths']={c:inventories[p] for c,p in dispatch.items()};ctx['aggregate_paid']=collections.Counter() +for p in dispatch.values():ctx['aggregate_paid'].update(profiles[p]) +ctx.update(max_local_prefix=max(prefix),local_profiles=profiles,width_inventories={p:dict(collections.Counter(ws)) for p,ws in inventories.items()});pending=A.check_pending_axes(ctx);receipt=A.check_roles(ctx,roles);A.require(receipt['profile']=={int(k):v for k,v in plan['profile'].items()},'aggregate profile binding');receipt['controls_rejected']=A.controls(ctx,roles) +# A wrong provider at one changed call must fail the literal width predicate. +call=next(c for c,p in dispatch.items() if p=='extra');bad=dict(ctx,call_widths=dict(ctx['call_widths']));bad['call_widths'][call]=inventories['gauge44'] +try:A.check_roles(bad,roles) +except ValueError as e:A.require(str(e)=='whole-helper residual width','wrong provider control predicate');receipt['controls_rejected'].append(dict(name='wrong_provider_at_changed_call',reason=str(e))) +else:raise ValueError('accepted incorrect provider') +receipt.update(disjoint_pending_child_axis_checks=pending,provider_counts=dict(collections.Counter(dispatch.values())),input_sha256={str(p):A.filehash(p) for p in [a.data/'PLAN.json',a.data/'DISPATCH.json',a.data/'OWNERS.json.gz',a.parent]+[d/'CANONICAL-WORD.json.gz' for d in dirs.values()]});a.out.write_text(json.dumps(receipt,indent=2)+'\n');print('PASS_INDEPENDENT_MIXED_OWNER',len(receipt['controls_rejected']),flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py new file mode 100644 index 0000000000..537d4cee50 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/build_word.py @@ -0,0 +1,6 @@ +"""Apply the frozen joint frame refit to the pinned PR1195 fusion word; native replay validates it.""" +import argparse,gzip,json +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--base',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w=json.loads(gzip.decompress(a.base.read_bytes()));rc=json.loads(gzip.decompress(a.recipe.read_bytes()) if a.recipe.suffix=='.gz' else a.recipe.read_bytes()) +for k,v in rc.items():assert w[k]==v['old'],k;w[k]=v['new'] +a.out.write_bytes(gzip.compress(json.dumps(w,sort_keys=True,separators=(',',':')).encode(),mtime=0));print('REBUILT_MIXED_FUSION_WORD') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py new file mode 100644 index 0000000000..7da1ab25df --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/construct.py @@ -0,0 +1,23 @@ +"""Replay PR1193's pinned integer-flow constructor against the final native interfaces. +Only filesystem configuration is supplied; all mathematical construction code is unchanged. +""" +import argparse,importlib.util,sys,json,gzip +from collections import Counter +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--parent',type=Path,required=True);ap.add_argument('--word3',type=Path,required=True);ap.add_argument('--word4',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();source=P/'vendor/pr1193';sys.path.insert(0,str(source));import construct as C +C.ROOT=P/'original-main' +parent=C.read(a.parent);mix=C.read(source/'data/MIX.json');order=C.read(source/'data/ORDER.json');roles,receipt=C.construct(parent,{'demote3':C.read(a.word3),'demote4':C.read(a.word4)},C.read(source/'data/FLOW.json.gz'),order,mix) +assert roles==C.read(source/'data/OWNERS.json.gz'),'frozen owner reconstruction' +m=C.load(C.ROOT/'research/complex-t21-owners/vendor/pr870/t16/build_parent.py','windows_again');windows,_=m.actual_windows(parent,order);used=Counter() +for z in roles:used[z['owner_replica'],z['child'],z['port']]+=z['width'] +idle=Counter() +for k,(cap,ts) in windows.items(): + r,ch=map(int,k.split(',')) + for port in range(112): + rem=cap-used[r,ch,port];assert rem>=0 + if rem:idle[rem]+=1 +receipt['idle']=dict(idle);assert not a.out.exists();a.out.mkdir(parents=True);C.dump(a.out/'OWNERS.json.gz',roles);C.dump(a.out/'DISPATCH.json',[[s,r,{'demote3':'gauge44','demote4':'extra'}[pid]] for pid,s,r in mix]);C.dump(a.out/'CONSTRUCTION.json',receipt);print(receipt['status'],dict(idle),flush=True) + +import controls +flow_controls=controls.check(parent,{'demote3':C.read(a.word3),'demote4':C.read(a.word4)},a.out/'FLOW-CONTROLS.json');assert len(flow_controls['rejected'])==8;print(flow_controls['status'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py new file mode 100644 index 0000000000..78a47a5ba0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/controls.py @@ -0,0 +1,39 @@ +"""Negative controls for the two source-holder fusions, judged by the unchanged #645 audit_local.py. + +For each site the word is mutated five ways: drop the FULL-cleanup restore, drop the donation, flip the donation sign, +keep the fused target read, and drop both donation and restore. Every mutant must be rejected and the honest word must +pass. Sites (gate positions and contents) are pinned in CONTROL-SITES.json. +usage: python -B controls.py --word FULL-WORD.json.gz --out FUSION-CONTROLS.json""" +import argparse, copy, gzip, hashlib, json, subprocess, sys, tempfile +from pathlib import Path +P = Path(__file__).resolve().parent; ROOT = P.parents[1]; AUD = ROOT / 'research/gauge44-slots/independent/audit_local.py' +def audit(w, d): + p = Path(d) / 'W.json.gz'; p.write_bytes(gzip.compress(json.dumps(w, separators=(',', ':')).encode(), mtime=0)) + r = subprocess.run([sys.executable, '-B', str(AUD), '--word', str(p), '--output', str(Path(d) / 'A.json')], capture_output=True, text=True) + lines = (r.stdout + r.stderr).strip().splitlines(); return r.returncode == 0, (lines[-1] if lines else '')[-160:] +def drop_cleanup(w, ci): + w['cleanup'] = w['cleanup'][:ci] + w['cleanup'][ci + 1:]; w['early_cleanup'] = [[i - 1 if i > ci else i, U] for i, U in w['early_cleanup']] +def main(): + global AUD + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument('--word', type=Path, required=True); ap.add_argument('--out', type=Path, required=True); ap.add_argument('--main', type=Path, required=True); ap.add_argument('--sites', type=Path, required=True); a = ap.parse_args(); AUD = a.main/'research/gauge44-slots/independent/audit_local.py' + raw = gzip.decompress(a.word.read_bytes()); spec = json.loads(a.sites.read_text()) + assert hashlib.sha256(raw).hexdigest() == spec['word_content_sha256'], 'word pin' + w0 = json.loads(raw); d = tempfile.mkdtemp(prefix='fusion-controls-'); ok, msg = audit(w0, d); assert ok, ('honest word rejected', msg) + rejected, accepted = [], [] + for s in spec['sites']: + di, ci = s['donation_B_index'], s['restore_cleanup_index'] + assert w0['B'][di][:5] == s['donation'] and w0['cleanup'][ci][:5] == s['restore'], ('site pin', s['t']) + muts = {} + w = copy.deepcopy(w0); drop_cleanup(w, ci); muts['drop_restore'] = w + w = copy.deepcopy(w0); del w['B'][di]; muts['drop_donation'] = w + w = copy.deepcopy(w0); g = w['B'][di]; w['B'][di] = g[:3] + [-g[3]] + g[4:]; muts['flip_donation_sign'] = w + w = copy.deepcopy(w0); w['B'].insert(s['fused_read_B_position'], list(s['fused_read'])); muts['keep_fused_read'] = w + w = copy.deepcopy(w0); drop_cleanup(w, ci); del w['B'][di]; muts['drop_donation_and_restore'] = w + for name, w in muts.items(): + ok, msg = audit(w, d); (accepted if ok else rejected).append(dict(control=f"{name}@{s['t']}", reason=msg)); print(('ACCEPTED ' if ok else 'rejected ') + f"{name}@{s['t']}", msg[-90:], flush=True) + a.out.write_text(json.dumps(dict(status='PASS_FUSION_NEGATIVE_CONTROLS' if not accepted else 'FAIL', honest='PASS', rejected=rejected, accepted=accepted), indent=2) + '\n') + assert not accepted and len(rejected) == 10, 'every mutant must be rejected' + print('PASS controls: honest word accepted,', len(rejected), 'mutants rejected') +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz new file mode 100644 index 0000000000..4d464f55a2 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/extra-word.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py new file mode 100644 index 0000000000..e73c2a95c1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/freeze_spec.py @@ -0,0 +1,31 @@ +"""Freeze independently recomputed discovery values before strict replay.""" +import argparse +import json +from pathlib import Path + +ap = argparse.ArgumentParser(description=__doc__) +ap.add_argument('--spec', type=Path, required=True) +ap.add_argument('--discovery', type=Path, required=True) +a = ap.parse_args() +spec = json.loads(a.spec.read_text()) +for line in (a.discovery/'WITNESS-RECORD.jsonl').read_text().splitlines(): + key, value = json.loads(line) + parts = key.split('.') + if len(parts)>3 and parts[0]=='providers' and parts[2]=='artifacts': + parts = parts[:3] + ['.'.join(parts[3:])] + target = spec + for part in parts[:-1]: + target = target.setdefault(part, {}) + if parts[-1] in target: + assert target[parts[-1]]==value, 'Conflicting independent recomputations: '+key + target[parts[-1]] = value +assembly = json.loads((a.discovery/'ASSEMBLY.json').read_text()) +for key in ('complex_lower','conservative_complex_lower','kappa','kappa_decimal','conservative_kappa_decimal'): + spec['expected'][key] = assembly[key] +# 32 shared controls plus 17 provider controls, two controls per pair of distinct widths, and four spot checks per provider. +spec['expected']['assembly_controls_rejected'] = 32 + sum(17 + len(p['inventory'])*(len(p['inventory'])-1) + len(spec['width_spot_helpers']) for p in spec['providers'].values()) +from collections import Counter +spec['expected']['provider_counts'] = dict(Counter(p for s,r,p in spec['dispatch'])) +spec['expected']['mutations_rejected'] = 15 +a.spec.write_text(json.dumps(spec, indent=2)+'\n') +print('Frozen exact witness for strict replay:', assembly['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz new file mode 100644 index 0000000000..eacf8c773c Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/gauge44-word.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py new file mode 100644 index 0000000000..956b52eb1a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/independent_core.py @@ -0,0 +1,345 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared for haoyan with substantial OpenAI Codex assistance. +"""Independent source-event, owner, chart, and finite-reserve audit. + +This derivative fixes the R480 seven-slot k8 word and 37 replicas. It charges +1024 complex prefix bits and checks disjoint pending children on each family. +The source is Hao Yan's variable-replica checker at the pinned repository base. +SOURCES.json and INDEPENDENT-DERIVATION.patch identify that source and all edits. + +Inputs are read-only. No owner constructor or controller auditor is imported. +--word is the canonical local supplier JSON.gz, with a hash-bound native +INDEPENDENT-LOCAL-REPLAY.json beside it (override with --local-replay). +--baseline-parent is the original eight-replica GLOBAL-TEMPLATE.json.gz. +Its sibling CANONICAL-WORD.json.gz supplies the ports and centre frames. +DATA-PHASES.json defaults to ../work/complex-nine-native/DATA-PHASES.json +(override with --phases). The checker recounts local widths and paid ranks. +--out names a JSON receipt. Checks remain enabled under python -O. +""" +import argparse +import copy +from collections import Counter, defaultdict +import gzip +import hashlib +import json +from pathlib import Path + +V, H, M, T, R = 112, 9, 73, 37, 480 +EXPECTED_IDLE = None + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def read(path): + data = path.read_bytes() + return json.loads(gzip.decompress(data) if path.suffix == '.gz' else data) + + +def filehash(path): + return hashlib.sha256(path.read_bytes()).hexdigest() + + +def basis(vectors): + pivots = {} + for x in vectors: + require(type(x) is int and 0 <= x < 1 << H, 'invalid local frame vector') + while x: + bit = x.bit_length() - 1 + if bit in pivots: + x ^= pivots[bit] + else: + pivots[bit] = x + break + for bit in sorted(pivots): + for upper in pivots: + if upper > bit and pivots[upper] >> bit & 1: + pivots[upper] ^= pivots[bit] + return tuple(pivots[bit] for bit in sorted(pivots, reverse=True)) + + +def local_inventory(word, replay): + require((word['v'], word['h'], word['R']) == (V, H, R), 'local supplier dimensions') + frames = [basis(frame) for frame in word['frames']] + n = 2 * V + R + require(len(word['start']) == len(word['final']) == n, 'local frame vector lengths') + current = [frames[f] for f in word['start']] + paid = Counter() + + def climb(register, frame): + require(basis(current[register] + frame) == frame, 'nonmonotone local frame') + jump = len(frame) - len(current[register]) + if jump: + paid[jump] += 1 + current[register] = frame + + require(not word['target_levels'], 'this audit requires the current zero-level centre interface') + for section in ('A', 'B', 'tail'): + if section == 'B': + require(all(current[t] == () for t in range(V, 2 * V)), 'target centre level') + for q, frame_id in zip(word['centers'], word['center_frames']): + require(current[q] == frames[frame_id], 'centre carrier frame') + paid[len(frames[frame_id])] += 1 + for gate in word[section]: + registers = gate[1:3] if gate[0] == 'add' else gate[1:2] + require(gate[0] in ('add', 'scale'), 'unknown scalar gate') + for register in registers: + climb(register, frames[gate[-1]]) + for register, frame_id in enumerate(word['final']): + climb(register, frames[frame_id]) + require(dict(paid) == {int(r): count for r, count in word['local_profile'].items()}, 'local paid-profile recount') + for orientation in ('forward', 'backward'): + require(dict(paid) == {int(r): count for r, count in replay['paid_profiles'][orientation].items()}, 'local replay profile binding') + widths = [len(frames[word['final'][q]]) - len(frames[word['start'][q]]) for q in range(2 * V, n)] + require(Counter(widths) == EXPECTED_WIDTHS, 'current supplier width inventory') + return widths, paid + + +def make_context(parent, phases, ports, word, replay, roles): + widths, paid = local_inventory(word, replay) + require(len(parent['calls']) == 72 and {(c['stage'], c['replica']) for c in parent['calls']} == {(s, r) for s in range(9) for r in range(8)}, 'original eight-replica baseline calls') + require(len(roles) == 9 * T * R, 'complete helper role count') + address = {} + for role in roles: + key = (role['stage'], role['replica']) + time = role['time'] + require(time not in address or address[time] == key, 'inconsistent invocation time address') + address[time] = key + require(set(address) == set(range(9 * T)), 'contiguous invocation times') + order = [address[t] for t in range(9 * T)] + require(set(order) == {(s, r) for s in range(9) for r in range(T)}, 'stage/replica inventory') + # Arbitrary interleaving: the exact per-replica projection is checked below. + rank = {child['child']: child['rank'] for child in parent['idle_children']} + source = parent['execution_schedule'] + blocks, stage = {}, None + for index, event in enumerate(source): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'source event before first invocation') + blocks[stage].append((index, event)) + require(set(blocks) == set(range(9)), 'source stage inventory') + events = [(index, event, replica, time) for time, (stage, replica) in enumerate(order) for index, event in blocks[stage]] + projections = defaultdict(list) + for index, event, replica, time in events: + projections[replica].append(index) + require(set(projections) == set(range(T)) and all(p == list(range(30)) for p in projections.values()), 'per-replica source-event projection') + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, windows, callpos, child_pair, side = {}, {}, {}, {}, {} + bridges = 0 + for position, (_, event, replica, _) in enumerate(events): + kind = event['kind'] + if kind == 'local_cover_sweep': + stage = event['stage'] + callpos[stage, replica] = position + last[replica, stage_pair[stage]] = position + elif kind == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = position + bridges += 1 + elif kind == 'idle_cover_sweep': + for sd, child in enumerate(event['child_indices']): + if child in rank: + windows[replica, child] = (last.get((replica, event['pair']), -1), position) + child_pair[child], side[child] = event['pair'], sd + require(len(windows) == T * len(rank), 'actual window inventory') + require(len(ports) == V, 'port count') + bases = [] + for q in ports: + zero = next(i for i in range(H) if not (q >> i & 1)) + correction = q ^ (1 << zero) + axes = list(range(H)) + axes[0], axes[zero] = axes[zero], axes[0] + frame = [(1 << i) ^ (correction if correction >> i & 1 else 0) for i in axes] + [1 << i for i in range(H, M)] + require(all((x & y).bit_count() % 2 == int(i == j) for i, x in enumerate(frame) for j, y in enumerate(frame)), 'nonorthogonal owner basis') + bases.append(frame) + return dict(widths=widths, paid=paid, order=order, at={key:t for t,key in enumerate(order)}, rank=rank, + windows=windows, callpos=callpos, child_pair=child_pair, side=side, stage_pair=stage_pair, + bases=bases, phases=phases, bridges=bridges, event_count=len(events), replay=replay) + + +def check_pending_axes(context): + checked = 0 + for port, frame in enumerate(context['bases']): + used = defaultdict(set) + for child, rank in context['rank'].items(): + axes = list(map(int, context['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(axes) == rank and len(set(axes)) == rank and set(axes) <= set(frame), + 'pending child orthogonal basis') + family = context['child_pair'][child], context['side'][child] + require(not used[family] & set(axes), 'overlapping pending children on one family') + used[family].update(axes) + checked += 1 + return checked + + +def check_roles(context, roles): + c = context + live, physical = T * 8 * V, T * 8 * V + 8 + R + 2 + require(len(roles) == 9 * T * R, 'complete helper role count') + helpers, families, used = defaultdict(set), defaultdict(set), defaultdict(set) + charts, chart_cache = set(), {} + for z in roles: + s, r, helper = z['stage'], z['replica'], z['helper'] + owner, child, port = z['owner_replica'], z['child'], z['port'] + offset, width, family = z['offset'], z['width'], z['family'] + call = (s, r) + require(call in c['at'] and 0 <= helper < R and 0 <= owner < T and 0 <= port < V, 'role coordinates') + require(z['time'] == c['at'][call], 'role invocation time') + require(width == c['call_widths'][call][helper], 'whole-helper residual width') + require(0 <= family < live, 'private-namespace collision') + require(child in c['rank'], 'unknown idle child') + require(z['copy'] == V * owner + port and family == owner * 896 + (2 * c['child_pair'][child] + c['side'][child]) * V + port, 'physical family identity') + lo, hi = c['windows'][owner, child] + require(lo < c['callpos'][call] < hi, 'strict bridge-aware idle window') + require(family // 224 != r * 4 + c['stage_pair'][s], 'helper aliases active data pair') + require(helper not in helpers[call] and family not in families[call], 'duplicate helper or family within whole invocation') + helpers[call].add(helper) + families[call].add(family) + cells = set(range(offset, offset + width)) + bin_key = (owner, child, port) + require(offset >= 0 and offset + width <= c['rank'][child] and not used[bin_key] & cells, 'overlapping or out-of-capacity slice') + used[bin_key].update(cells) + chart_key = (port, child, offset, width) + if chart_key not in chart_cache: + frame = c['bases'][port] + pending = list(map(int, c['phases']['recipes'][port]['idle_children'][child]['orthogonal_axes'])) + require(len(pending) == c['rank'][child], 'phase child rank') + occupied = [frame.index(x) for x in pending[offset:offset + width]] + spectators = [i for i in range(M) if i not in occupied][:H - width] + permutation = occupied + spectators + [i for i in range(M) if i not in occupied and i not in spectators] + require(len(occupied) == width and len(set(occupied + spectators)) == H and sorted(permutation) == list(range(M)), 'residual/spectator permutation') + require([frame[i] for i in permutation[:width]] == pending[offset:offset + width], 'pending-axis binding') + chart_cache[chart_key] = tuple(frame[i] for i in permutation) + charts.add(chart_cache[chart_key]) + require(set(helpers) == set(c['order']) and all(h == set(range(R)) for h in helpers.values()), 'complete per-call helper inventory') + idle = Counter() + for owner, child in c['windows']: + for port in range(V): + cells = used[owner, child, port] + require(cells == set(range(len(cells))), 'gap in pending prefix') + left = c['rank'][child] - len(cells) + if left: + idle[left] += 1 + require(dict(idle) == EXPECTED_IDLE, 'nominated idle profile') + profile = Counter(c['aggregate_paid']) + profile.update(idle) + mass = sum(rank * count for rank, count in profile.items()) + require(M * live - mass == 320*T, 'replica-scaled rank deficit') + require(c['bridges'] == 9*T, 'actual bridge count') + localbits = c['max_local_prefix'] + prefix = localbits + (M + 1) // 2 + len(c['order']) + c['bridges'] + 4 + group = 2 ** (36 * 36) + for i in range(1, 37): + group *= 2 ** (2 * i) - 1 + stock = group * physical + row = 2 * stock.bit_length() + 9909 + 252 + 2 * 1024 + require(prefix < 1024, 'prefix reserve') + require(row < 20161 and M * M > 2 * max(profile) ** 2, 'row or halving reserve') + return dict(status='PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW', roles=len(roles), calls=len(c['order']), + source_events_per_replica=30, expanded_replica_events=c['event_count'], bridge_events=c['bridges'], + literal_windows=len(c['windows']), checked_whole_helper_widths=len(roles), checked_busy_family_windows=len(roles), + orthogonal_port_bases=len(c['bases']), actual_73_axis_charts=len(charts), checked_slice_prefixes=len(c['windows']) * V, + local_profiles=c['local_profiles'], width_inventories=c['width_inventories'], + idle=dict(sorted(idle.items())), profile=dict(sorted(profile.items())), live=live, physical=physical, + rank_mass=mass, deficit=320*T, namespace={'data':[0,live], 'centres':[live,live+8], 'tableau':[live+8,live+8+R], 'coefficient':[live+8+R,physical]}, + local_prefix_bits=localbits, local_prefix_from_native_receipt=True, local_profile_recounted=True, + prefix_formula=dict(local_scalar=localbits, input_l2=(M + 1) // 2, invocations=len(c['order']), bridges=c['bridges'], margin=4), + prefix_bits=prefix, charged_prefix_bits=1024, physical_stock_bits=stock.bit_length(), + physical_row_coefficient=row, row_limit=20161, + scope='Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.') + + +def controls(context, roles): + candidates = [] + first = roles[0] + bad = dict(first, family=896*T) + candidates.append(('private_namespace_collision', [bad] + roles[1:], 'private-namespace collision')) + index = next(i for i, z in enumerate(roles) if z['replica'] >= 1) + bad = dict(roles[index], replica=roles[index]['replica'] - 1) + candidates.append(('copy_replica_alias', [bad] + roles[:index] + roles[index+1:], 'role invocation time')) + candidates.append(('missing_whole_helper', roles[1:], 'complete helper role count')) + split = dict(first, width=first['width'] - 1) + fragment = dict(first, offset=first['offset'] + first['width'] - 1, width=1) + candidates.append(('split_whole_helper', [split, fragment] + roles[1:], 'complete helper role count')) + candidates.append(('truncated_helper_width', [split] + roles[1:], 'whole-helper residual width')) + # Keep the family and chart valid, but move one complete role past its + # actual idle event. Freeze the original invocation order for controls. + crossing = None + for index, z in enumerate(roles): + lo, hi = context['windows'][z['owner_replica'], z['child']] + later = next((key for key in context['order'] if context['callpos'][key] >= hi), None) + if later is not None: + crossing = [dict(z, stage=later[0], replica=later[1], time=context['at'][later])] + roles[:index] + roles[index+1:] + break + require(crossing is not None, 'no idle-boundary control could be constructed') + candidates.append(('cross_idle_boundary', crossing, 'strict bridge-aware idle window')) + rejected = [] + for name, bad, expected in candidates: + try: + check_roles(context, bad) + except ValueError as exc: + require(str(exc) == expected, 'control rejected at unexpected predicate: ' + name) + rejected.append(dict(name=name, reason=str(exc))) + else: + raise ValueError('accepted negative control: ' + name) + bad = dict(context, phases=copy.deepcopy(context['phases'])) + pair = next((a, b) for a in context['rank'] for b in context['rank'] + if a < b and (context['child_pair'][a], context['side'][a]) == + (context['child_pair'][b], context['side'][b])) + children = bad['phases']['recipes'][0]['idle_children'] + children[pair[1]]['orthogonal_axes'][0] = children[pair[0]]['orthogonal_axes'][0] + try: + check_pending_axes(bad) + except ValueError as exc: + require(str(exc) == 'overlapping pending children on one family', + 'pending-axis control rejected at unexpected predicate') + rejected.append(dict(name='cross_child_pending_axis_alias', reason=str(exc))) + else: + raise ValueError('accepted negative control: cross_child_pending_axis_alias') + return rejected + + +def main(): + global T, EXPECTED_IDLE, EXPECTED_WIDTHS + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--baseline-parent', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--word', type=Path, required=True) + parser.add_argument('--phases', type=Path) + parser.add_argument('--local-replay', type=Path) + parser.add_argument('--out', type=Path, required=True) + parser.add_argument("--replicas", type=int, required=True) + parser.add_argument("--expected-idle", required=True) + parser.add_argument("--expected-widths", required=True) + args = parser.parse_args() + EXPECTED_WIDTHS = {int(k):v for k,v in json.loads(args.expected_widths).items()} + T = args.replicas + require(T == 37, "replica range") + EXPECTED_IDLE = {int(k): v for k,v in json.loads(args.expected_idle).items()} + phases_path = args.phases or args.baseline_parent.parent.parent / 'work/complex-nine-native/DATA-PHASES.json' + canonical_path = args.baseline_parent.parent / 'CANONICAL-WORD.json.gz' + replay_path = args.local_replay or args.word.parent / 'INDEPENDENT-LOCAL-REPLAY.json' + parent, phases, canonical, word, replay, roles = map(read, (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)) + require(replay['status'] == 'PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY', 'local replay status') + require(replay['canonical_word_sha256'] == filehash(args.word), 'local word/replay hash binding') + require(set(replay['local']) == {'forward', 'backward'}, 'both native prefix orientations') + require(word['ports'] == canonical['ports'], 'local/controller port interface') + require(len(word['center_frames']) == len(canonical['center_frames']) == 8, 'eight centre interfaces') + require([basis(word['frames'][f]) for f in word['center_frames']] == [basis(canonical['frames'][f]) for f in canonical['center_frames']], 'ordered centre-frame interface') + context = make_context(parent, phases, canonical['ports'], word, replay, roles) + pending = check_pending_axes(context) + receipt = check_roles(context, roles) + receipt['disjoint_pending_child_axis_checks'] = pending + receipt['controls_rejected'] = controls(context, roles) + receipt['input_sha256'] = {str(path): filehash(path) for path in (args.baseline_parent, phases_path, canonical_path, args.word, replay_path, args.owners)} + args.out.write_text(json.dumps(receipt, indent=2) + '\n', encoding='utf-8') + print(receipt['status'], 'roles=' + str(receipt['roles']), 'controls=' + str(len(receipt['controls_rejected']))) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz new file mode 100644 index 0000000000..ed6248e6b7 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/base.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz new file mode 100644 index 0000000000..fd2456fb30 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/inputs/extra.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py new file mode 100644 index 0000000000..43c88b86c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel543_controls.py @@ -0,0 +1,20 @@ +"""Perturb the new pivot-543 donor segment and restoration, using the pinned independent rational auditor.""" +import argparse,copy,gzip,json,subprocess,sys,tempfile,hashlib +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));aud=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(seq,gate): + ids=[i for i,g in enumerate(seq) if g[:5]==gate];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'word.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(aud),'--word',str(p),'--main',str(a.main),'--output',str(d/'audit.json')],capture_output=True,text=True);return r.returncode,r.stdout+r.stderr +mutants={} +for name,gate in [('donor',['add',641,543,4,1]),('undo',['add',641,543,-4,1]),('partner',['add',367,543,-1,1])]: + i=locate(w0['B'],gate);w=copy.deepcopy(w0);del w['B'][i];mutants['drop_'+name]=w +w=copy.deepcopy(w0);i=locate(w['B'],['add',641,543,4,1]);w['B'][i][3]*=-1;mutants['flip_donor_sign']=w +ci=locate(w0['cleanup'],['add',367,543,1,1]);assert sum(i==ci for i,U in w0['early_cleanup'])==1 +w=copy.deepcopy(w0);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup'] if i!=ci];mutants['drop_restore']=w +w=copy.deepcopy(w0);w['cleanup'][ci][3]*=-1;mutants['flip_restore_sign']=w +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='kernel-controls-') as tmp: + d=Path(tmp);rc,msg=check(w0,d);assert rc==0,('honest',msg[-2000:]);rejected=[] + for name,w in mutants.items(): + rc,msg=check(w,d);assert rc!=0 and ('endpoint' in msg or 'entrance response' in msg),(name,rc,msg[-2000:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_KERNEL543_MUTATION_CONTROLS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),honest='PASS',rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py new file mode 100644 index 0000000000..a5ab27352d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/kernel_controls.py @@ -0,0 +1,23 @@ +"""Perturb each new donor, cancellation and restoration; reject with the retained full rational auditor.""" +import argparse,copy,gzip,json,subprocess,sys,tempfile,hashlib +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));aud=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(seq,gate): + ids=[i for i,g in enumerate(seq) if g[:5]==gate[:5]];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'word.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(aud),'--word',str(p),'--main',str(a.main),'--output',str(d/'audit.json')],capture_output=True,text=True);return r.returncode,r.stdout+r.stderr +mutants={} +for c in json.loads((P/'COMPOSITION.json').read_text())['chosen']: + q=c['pivot'];ed=c['ed'];gates=[g for i,g in ed['insert']];assert len(gates)==3 + for name,gate in zip(['donor','undo','partner'],gates): + i=locate(w0['B'],gate);w=copy.deepcopy(w0);del w['B'][i];mutants[f'drop_{name}@{q}']=w + w=copy.deepcopy(w0);i=locate(w['B'],gates[0]);w['B'][i][3]*=-1;mutants[f'flip_donor_sign@{q}']=w + ci=locate(w0['cleanup'],ed['tail'][0][1]);assert sum(i==ci for i,U in w0['early_cleanup'])==1 + w=copy.deepcopy(w0);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup'] if i!=ci];mutants[f'drop_restore@{q}']=w + w=copy.deepcopy(w0);w['cleanup'][ci][3]*=-1;mutants[f'flip_restore_sign@{q}']=w +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='kernel-controls-') as tmp: + d=Path(tmp);rc,msg=check(w0,d);assert rc==0,('honest',msg[-2000:]);rejected=[] + for name,w in mutants.items(): + rc,msg=check(w,d);assert rc!=0 and ('endpoint' in msg or 'entrance response' in msg),(name,rc,msg[-2000:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_NEW_COLD_KERNEL_MUTATION_CONTROLS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),honest='PASS',rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py new file mode 100644 index 0000000000..bd9e28bd2d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/original-main/research/complex-t21-owners/vendor/pr870/t16/build_parent.py @@ -0,0 +1,281 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Copyright (c) 2026 Hao Yan (@FanPUYen) +"""Lift the PR741 controller and PR799 provider plan to sixteen replicas. + +Authored with OpenAI Codex assistance. Precursor credit: the PR514/PR484/PR507 +controller lineage, PR558/PR589 admission, Chafik Boukhalfa's PR741 frames +and owner map, and Jeremy Kothe's PR799 paired-read-exchange provider. +This script changes only the global replica namespace and the nominated owner +map; it reuses the exact local programs and exact data-phase recipes. +""" +import argparse +import copy +import gzip +import hashlib +import json +from collections import Counter +from pathlib import Path + +SOURCE_PLAN_SHA256 = '5f40e7ccfca61f298539b4f41286d2a9d62caf947057f9cec82aa53f73f707fd' +SOURCE_OWNERS_SHA256 = '99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082' + + +def require(condition, reason): + if not condition: + raise ValueError(reason) + + +def read(path): + raw = Path(path).read_bytes() + return json.loads(gzip.decompress(raw) if str(path).endswith('.gz') else raw) + + +def canonical(value): + return json.dumps(value, sort_keys=True, separators=(',', ':')).encode() + + +def portable_gzip(raw): + compressed = bytearray(gzip.compress(raw, mtime=0)) + compressed[9] = 255 # RFC1952 OS=unknown, independent of zlib/Python platform. + return bytes(compressed) + + +def sha(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def content_sha(value): + return hashlib.sha256(canonical(value)).hexdigest() + + +def lift_parent(source, copies=2): + """A direct sum of bank/data stocks; erased private streams are shared. + + copies=1 is deliberately the identity, byte-for-byte after canonicalization. + The helper routes retain replica lanes 0..7 in each *separate* bank group. + No axis index is inferred from the new global replica label 8..15. + """ + require(type(copies) is int and copies in (1, 2), 'only identity or T16 lift') + t = copy.deepcopy(source) + if copies == 1: + return t + require(source['m'] == 73, 'source dimension') + require(len(source['calls']) == 72, 'source calls') + data = 8*8*112 + bank_stock = source['live'] - data + private_stock = source['physical'] - source['live'] + require((bank_stock, private_stock) == (9*504, 504+8+2), 'source namespace') + require({(c['stage'], c['replica']) for c in source['calls']} == + {(s, r) for s in range(9) for r in range(8)}, 'source coverage') + new_data = copies*data + new_live = copies*source['live'] + new_physical = new_live + private_stock + t['calls'] = [] + for c in source['calls']: + for group in range(copies): + new = copy.deepcopy(c) + new['replica'] = c['replica'] + 8*group + owners = [] + for family, route in c['owners']: + require(0 <= family < source['live'], 'owner outside live stock') + mapped = (family + data*group if family < data else + new_data + group*bank_stock + family - data) + owners.append([mapped, copy.deepcopy(route)]) + new['owners'] = owners + t['calls'].append(new) + # Every data/idle recipe is a portwise direct sum, hence only multiplicity + # changes. Its local axis labels and exact phase words stay unchanged. + for child in t['idle_children']: + require(child['replicas'] == 8, 'source idle multiplicity') + child['replicas'] *= copies + for event in t['execution_schedule']: + if 'replicas' in event: + require(event['replicas'] == list(range(8)), 'source sweep replicas') + event['replicas'] = list(range(8*copies)) + if event['kind'] == 'bank_padding_cover_sweep': + event['families'] = [new_data, new_live] + elif event['kind'] == 'translate_every_live_family': + event['families'] = [0, new_live] + event['charged_calls_per_cover'] = new_live + t['bank_padding']['families'] = [] + t['bank_padding']['children'] = [] + for group in range(copies): + for family in source['bank_padding']['families']: + t['bank_padding']['families'].append(new_data + group*bank_stock + family - data) + for child in source['bank_padding']['children']: + new = copy.deepcopy(child) + new['family'] = new_data + group*bank_stock + child['family'] - data + t['bank_padding']['children'].append(new) + t['cover_final_correction'].update(families=[0, new_live], charged_calls_per_cover=new_live) + t['private_namespace'] = { + key: [new_live + x - source['live'] for x in interval] + for key, interval in source['private_namespace'].items() + } + t.update(live=new_live, physical=new_physical, + version='t16-direct-sum-two-bank-groups-parent-v1') + t['route_semantics']['helper'] = ( + 'Two independent groups of nine dedicated banks. Group floor(replica/8) ' + 'selects the bank namespace; the stored original helper route retains ' + 'lane replica%8. All original residual/spectator axes are unchanged.') + t['loop_order'] = ( + 'For each recipe phase: the explicit calls order, then every cover class d; ' + 'each local invocation completes before the next. Each original replica ' + 'has a disjoint data and bank namespace in its group; private erased ' + 'streams are reused between completed calls.') + t['replica_lift'] = dict( + source_template_content_sha256=content_sha(source), groups=copies, + source_replicas=8, replicas=8*copies, data_stock=new_data, + bank_stock=copies*bank_stock, banks_per_stage=copies*504, + private_helpers=504, local_programs_content_sha256=content_sha(source['local_programs']), + construction='direct sum of data and dedicated banks; share only restored private streams', + phase_recipe_unchanged=True) + # Source data and helper owner routes are preserved literally in each copy. + for c in t['calls']: + group, replica = divmod(c['replica'], 8) + old = next(z for z in source['calls'] if (z['stage'], z['replica']) == (c['stage'], replica)) + require([r for f, r in c['owners']] == [r for f, r in old['owners']], 'route changed') + require(c['window'] == old['window'], 'local window changed') + require(len({f for f, r in c['owners']}) == len(c['owners']), 'per-call owner alias') + require(t['local_programs'] == source['local_programs'], 'program changed') + require(t['recipe'] == source['recipe'], 'data recipe changed') + require(len(t['bank_padding']['children']) == copies*bank_stock, 'bank padding count') + require(t['physical'] == t['live']+514, 'private namespace size') + return t + + +def expanded_schedule(parent, order): + blocks = {} + globals_ = [] + stage = None + for index, event in enumerate(parent['execution_schedule']): + if event['kind'] in ('bank_padding_cover_sweep', 'translate_every_live_family'): + globals_.append((index, event)) + continue + if event['kind'] == 'local_cover_sweep': + stage = event['stage'] + blocks[stage] = [] + require(stage is not None, 'event precedes first stage') + blocks[stage].append((index, event)) + schedule = [] + for time, (stage, replica) in enumerate(order): + for index, event in blocks[stage]: + new = copy.deepcopy(event) + new.update(source_event=index, replica=replica, replicas=[replica], time=time) + schedule.append(new) + for index, event in globals_: + schedule.append(dict(event, source_event=index)) + return schedule + + +def actual_windows(parent, order): + ranks = {c['child']: c['rank'] for c in parent['idle_children']} + stage_pair = {e['stage']: e['pair'] for e in parent['recipe'] if e['kind'] == 'local'} + last, intervals, callpos, perrep = {}, {}, {}, {} + schedule = expanded_schedule(parent, order) + for pos, event in enumerate(schedule): + if 'replica' not in event: + continue + replica = event['replica'] + perrep.setdefault(replica, []).append(event['source_event']) + if event['kind'] == 'local_cover_sweep': + last[replica, stage_pair[event['stage']]] = pos + callpos[event['time']] = pos + elif event['kind'] == 'bridge': + last[replica, event['src']] = last[replica, event['dst']] = pos + elif event['kind'] == 'idle_cover_sweep': + for child in event['child_indices']: + if child in ranks: + intervals[replica, child] = (last.get((replica, event['pair']), -1), pos) + require(all(events == list(range(30)) for events in perrep.values()), 'per-replica projection') + require([e['source_event'] for e in schedule if 'replica' not in e] == [30, 31], 'global tail') + require(set(callpos) == set(range(len(order))), 'complete schedule') + windows = {f'{replica},{child}': [ranks[child], [time for time, pos in sorted(callpos.items()) if start < pos < stop]] + for (replica, child), (start, stop) in intervals.items()} + return windows, schedule + + +def lift_plan(source, parent, owners, source_plan_sha, source_owners_sha, owners_sha): + p = copy.deepcopy(source) + require(source['T'] == 8 and len(source['order']) == 72, 'source plan dimensions') + order = [[stage, replica + 8*group] for stage, replica in source['order'] for group in range(2)] + windows, schedule = actual_windows(parent, order) + # These windows are recomputed from actual source-event touches, not copied + # from the old nomination. Their T8 restriction must recover the old plan. + rank = Counter({int(k): 2*v for k, v in source['profile'].items()}) + rank.update({48: 1, 44: -1, 3: -2, 2: 1}) + rank = +rank + p.update(status='FROZEN_EXPLICIT_T16_TWO_BANK_DIRECT_SUM_OWNER_NOMINATION', + mode='gauge44-all144-t16-idle-concentration', T=16, live=14336, + deficit=5120, profile=dict(sorted(rank.items())), order=order, windows=windows, + solver_status='explicit two-role augmenting path and two-bin recombination', gap=None, + source_plan_sha256=source_plan_sha, source_owners_sha256=source_owners_sha, + assignment_sha256=owners_sha, assignment_content_sha256=content_sha(owners)) + for field in ('provider_calls', 'per_call_widths'): + p[field] = [] + for old in source[field]: + for group in range(2): + new = copy.deepcopy(old) + new['replica'] += 8*group + if 'time' in new: + new['time'] = 2*old['time']+group + p[field].append(new) + at = {tuple(x): i for i, x in enumerate(order)} + for field in ('provider_calls', 'per_call_widths'): + p[field].sort(key=lambda c: at[c['stage'], c['replica']]) + p['replica_lift'] = dict(groups=2, source_replicas=8, replicas=16, + parent_template_content_sha256=content_sha(parent), owners_file_sha256=owners_sha, + window_semantics='strict physical source-event touch intervals, including bridges', + schedule_content_sha256=content_sha(schedule)) + require(len(owners) == 144*504, 'owner role count') + for role in owners: + require(role['time'] == at[role['stage'], role['replica']], 'role call time') + require(role['time'] in windows[f"{role['owner_replica']},{role['child']}"][1], + 'owner outside actual source-event window') + require(sum(int(k)*v for k,v in p['profile'].items()) == 73*p['live']-p['deficit'], 'rank mass') + return p, schedule + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--base', type=Path, required=True) + parser.add_argument('--source-plan', type=Path, required=True) + parser.add_argument('--source-owners', type=Path, required=True) + parser.add_argument('--owners', type=Path, required=True) + parser.add_argument('--out', type=Path, required=True) + args = parser.parse_args() + require(not args.out.exists(), 'output directory already exists') + require(sha(args.source_plan) == SOURCE_PLAN_SHA256, 'source plan byte pin') + require(sha(args.source_owners) == SOURCE_OWNERS_SHA256, 'source owners byte pin') + source_path = args.base/'split-centres/GLOBAL-TEMPLATE.json.gz' + source = read(source_path) + original_plan = read(args.source_plan) + require(lift_parent(source, 1) == source, 'T8 identity control') + require(actual_windows(source, original_plan['order'])[0] == original_plan['windows'], 'T8 source-window replay') + require(source['exact_data_phase_recipe_sha256'] == sha(args.base/'work/complex-nine-native/DATA-PHASES.json'), 'source exact data-phase binding') + parent = lift_parent(source) + owners = read(args.owners) + plan, schedule = lift_plan(original_plan, parent, owners, sha(args.source_plan), sha(args.source_owners), sha(args.owners)) + args.out.mkdir(parents=True) + (args.out/'GLOBAL-TEMPLATE.json.gz').write_bytes(portable_gzip(canonical(parent))) + (args.out/'PLAN.json').write_bytes((json.dumps(plan, indent=2)+'\n').encode('utf-8')) + receipt = dict(status='PASS_T16_DIRECT_SUM_PARENT_AND_LITERAL_SOURCE_WINDOWS', + source_template_file_sha256=sha(source_path), source_template_content_sha256=content_sha(source), + source_plan_sha256=sha(args.source_plan), source_owners_sha256=sha(args.source_owners), + owners_sha256=sha(args.owners), + parent_template_file_sha256=sha(args.out/'GLOBAL-TEMPLATE.json.gz'), + parent_template_content_sha256=content_sha(parent), plan_sha256=sha(args.out/'PLAN.json'), + T8_identity_control=True, T8_source_window_identity=True, + local_programs_identical=True, exact_data_phases_identical=True, + parent_live=parent['live'], parent_physical=parent['physical'], + bank_stock=9072, banks_per_stage=1008, private_helpers=504, + source_idle_children_charged=sum(c['replicas'] for c in parent['idle_children']), + events=len(schedule), replica_source_events=30, global_source_events=[30,31], + calls=len(plan['order']), roles=len(owners), actual_window_membership_checked=len(owners), + scope='Legal direct-sum parent namespace and actual source-event windows; full global emitter, geometry, finite invoice, and recurrence admission remain separate checks.') + (args.out/'PARENT-LIFT-RECEIPT.json').write_bytes((json.dumps(receipt, indent=2)+'\n').encode('utf-8')) + print(json.dumps(receipt, indent=2)) + + +if __name__ == '__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json new file mode 100644 index 0000000000..cd23561e0b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/CODED-CELLS-k8.json @@ -0,0 +1,2826 @@ +[ + { + "cell": "01+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 65 + ], + "y1": [ + "target", + 64 + ], + "y2": [ + "target", + 33 + ], + "y3": [ + "target", + 32 + ], + "y4": [ + "target", + 25 + ], + "y5": [ + "target", + 24 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "-1/2" + ], + [ + "y0", + "x1", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "-1/2" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 71 + ], + "y1": [ + "target", + 67 + ], + "y2": [ + "target", + 97 + ], + "y3": [ + "target", + 96 + ], + "y4": [ + "target", + 89 + ], + "y5": [ + "target", + 88 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "-1/2" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 1 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + "y0": [ + "target", + 39 + ], + "y1": [ + "target", + 35 + ], + "y2": [ + "target", + 103 + ], + "y3": [ + "target", + 99 + ], + "y4": [ + "target", + 57 + ], + "y5": [ + "target", + 56 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "-1/2" + ], + [ + "x4", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "-1/2" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + }, + { + "cell": "67+", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 23 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + "y0": [ + "target", + 31 + ], + "y1": [ + "target", + 27 + ], + "y2": [ + "target", + 95 + ], + "y3": [ + "target", + 91 + ], + "y4": [ + "target", + 63 + ], + "y5": [ + "target", + 59 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "67-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 2 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + "y0": [ + "target", + 26 + ], + "y1": [ + "target", + 30 + ], + "y2": [ + "target", + 90 + ], + "y3": [ + "target", + 94 + ], + "y4": [ + "target", + 58 + ], + "y5": [ + "target", + 62 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x5", + "1" + ], + [ + "y3", + "x4", + "1" + ], + [ + "y4", + "x3", + "1" + ], + [ + "y5", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x5", + "1" + ], + [ + "x4", + "x3", + "1" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y5", + "x4", + "1" + ], + [ + "y0", + "y5", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y4", + "y1", + "1" + ], + [ + "y1", + "x4", + "1" + ], + [ + "y0", + "x5", + "1" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y4", + "x1", + "1" + ], + [ + "y5", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x5", + 1 + ], + [ + "x4", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y5", + "x4", + 1 + ], + [ + "y0", + "y5", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y4", + "y1", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y4", + "x1", + 1 + ], + [ + "y5", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "1", + "1" + ], + [ + "1", + "0", + "1", + "1", + "1", + "1" + ], + [ + "1", + "1", + "0", + "1", + "1", + "1" + ], + [ + "1", + "1", + "1", + "0", + "1", + "1" + ], + [ + "1", + "1", + "1", + "1", + "0", + "1" + ], + [ + "1", + "1", + "1", + "1", + "1", + "0" + ] + ] + }, + { + "cell": "01-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + "x2": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 69 + ], + "y1": [ + "target", + 68 + ], + "y2": [ + "target", + 37 + ], + "y3": [ + "target", + 36 + ], + "y4": [ + "target", + 29 + ], + "y5": [ + "target", + 28 + ] + }, + "scaled": [ + [ + "y0", + "x1", + "-1/2" + ], + [ + "y1", + "x0", + "-1/2" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x1", + "x0", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y0", + "x3", + "-1/2" + ], + [ + "y2", + "x1", + "-1/2" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y1", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y0", + "1" + ], + [ + "y0", + "x5", + "-1/2" + ], + [ + "y1", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x0", + "-1/2" + ], + [ + "y4", + "x1", + "-1/2" + ] + ], + "unit": [ + [ + "y0", + "x1", + 1 + ], + [ + "y1", + "x0", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x1", + "x0", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y0", + "x3", + 1 + ], + [ + "y2", + "x1", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y1", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y0", + 1 + ], + [ + "y0", + "x5", + 1 + ], + [ + "y1", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x0", + 1 + ], + [ + "y4", + "x1", + 1 + ] + ], + "coefficients": [ + [ + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "23-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + "x4": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 66 + ], + "y1": [ + "target", + 70 + ], + "y2": [ + "target", + 101 + ], + "y3": [ + "target", + 100 + ], + "y4": [ + "target", + 93 + ], + "y5": [ + "target", + 92 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y3", + "x4", + "-1/2" + ], + [ + "y2", + "x5", + "-1/2" + ], + [ + "y5", + "x2", + "-1/2" + ], + [ + "y4", + "x3", + "-1/2" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x3", + "x4", + "1" + ], + [ + "x5", + "x2", + "1" + ], + [ + "y1", + "x3", + "-1/2" + ], + [ + "y2", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y3", + "y2", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y3", + "x2", + "-1/2" + ], + [ + "y2", + "x3", + "-1/2" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y3", + "x4", + 1 + ], + [ + "y2", + "x5", + 1 + ], + [ + "y5", + "x2", + 1 + ], + [ + "y4", + "x3", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x3", + "x4", + 1 + ], + [ + "x5", + "x2", + 1 + ], + [ + "y1", + "x3", + 1 + ], + [ + "y2", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y3", + "y2", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "-1/2", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "-1/2", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "0", + "-1/2" + ], + [ + "1", + "1", + "-1/2", + "-1/2", + "-1/2", + "0" + ] + ] + }, + { + "cell": "45-", + "bindings": { + "x0": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + "x1": [ + "source", + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + "x2": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + "x3": [ + "source", + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + "x4": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 19 + ], + "x5": [ + "source", + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + "y0": [ + "target", + 34 + ], + "y1": [ + "target", + 38 + ], + "y2": [ + "target", + 98 + ], + "y3": [ + "target", + 102 + ], + "y4": [ + "target", + 61 + ], + "y5": [ + "target", + 60 + ] + }, + "scaled": [ + [ + "y1", + "x0", + "1" + ], + [ + "y0", + "x1", + "1" + ], + [ + "y2", + "x4", + "-1/2" + ], + [ + "y3", + "x5", + "-1/2" + ], + [ + "y5", + "x3", + "1" + ], + [ + "y4", + "x2", + "1" + ], + [ + "x0", + "x1", + "1" + ], + [ + "x2", + "x4", + "-1/2" + ], + [ + "x5", + "x3", + "-2" + ], + [ + "y1", + "x2", + "1" + ], + [ + "y3", + "x0", + "1" + ], + [ + "y4", + "x5", + "-1/2" + ], + [ + "y0", + "y4", + "1" + ], + [ + "y2", + "y3", + "1" + ], + [ + "y5", + "y1", + "1" + ], + [ + "y1", + "x5", + "-1/2" + ], + [ + "y0", + "x4", + "-1/2" + ], + [ + "y2", + "x3", + "1" + ], + [ + "y3", + "x2", + "1" + ], + [ + "y5", + "x1", + "1" + ], + [ + "y4", + "x0", + "1" + ] + ], + "unit": [ + [ + "y1", + "x0", + 1 + ], + [ + "y0", + "x1", + 1 + ], + [ + "y2", + "x4", + 1 + ], + [ + "y3", + "x5", + 1 + ], + [ + "y5", + "x3", + 1 + ], + [ + "y4", + "x2", + 1 + ], + [ + "x0", + "x1", + 1 + ], + [ + "x2", + "x4", + 1 + ], + [ + "x5", + "x3", + 1 + ], + [ + "y1", + "x2", + 1 + ], + [ + "y3", + "x0", + 1 + ], + [ + "y4", + "x5", + 1 + ], + [ + "y0", + "y4", + 1 + ], + [ + "y2", + "y3", + 1 + ], + [ + "y5", + "y1", + 1 + ], + [ + "y1", + "x5", + 1 + ], + [ + "y0", + "x4", + 1 + ], + [ + "y2", + "x3", + 1 + ], + [ + "y3", + "x2", + 1 + ], + [ + "y5", + "x1", + 1 + ], + [ + "y4", + "x0", + 1 + ] + ], + "coefficients": [ + [ + "0", + "1", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "0", + "1", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "0", + "1", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "0", + "-1/2", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "0", + "-1/2" + ], + [ + "1", + "1", + "1", + "1", + "-1/2", + "0" + ] + ] + } +] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json new file mode 100644 index 0000000000..e3bb24cc49 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/inputs/TRI-LEAVER-k8.json @@ -0,0 +1,590 @@ +{ + "full_pairs": [ + [ + 0, + 1 + ], + [ + 2, + 3 + ], + [ + 4, + 5 + ], + [ + 6, + 7 + ] + ], + "triangles": [ + { + "p": [ + 0, + 1 + ], + "e": 1, + "reads": [ + [ + 57, + [ + 0, + 1, + 2, + 3 + ], + 0 + ], + [ + 56, + [ + 0, + 1, + 2, + 3 + ], + 1 + ], + [ + 25, + [ + 0, + 1, + 4, + 5 + ], + 0 + ], + [ + 24, + [ + 0, + 1, + 4, + 5 + ], + 1 + ], + [ + 17, + [ + 0, + 1, + 6, + 7 + ], + 0 + ], + [ + 16, + [ + 0, + 1, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 0 + }, + { + "p": [ + 2, + 3 + ], + "e": 1, + "reads": [ + [ + 63, + [ + 0, + 1, + 2, + 3 + ], + 3 + ], + [ + 59, + [ + 0, + 1, + 2, + 3 + ], + 23 + ], + [ + 89, + [ + 2, + 3, + 4, + 5 + ], + 0 + ], + [ + 88, + [ + 2, + 3, + 4, + 5 + ], + 1 + ], + [ + 81, + [ + 2, + 3, + 6, + 7 + ], + 0 + ], + [ + 80, + [ + 2, + 3, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 1 + }, + { + "p": [ + 4, + 5 + ], + "e": 1, + "reads": [ + [ + 31, + [ + 0, + 1, + 4, + 5 + ], + 3 + ], + [ + 27, + [ + 0, + 1, + 4, + 5 + ], + 23 + ], + [ + 95, + [ + 2, + 3, + 4, + 5 + ], + 3 + ], + [ + 91, + [ + 2, + 3, + 4, + 5 + ], + 23 + ], + [ + 49, + [ + 4, + 5, + 6, + 7 + ], + 0 + ], + [ + 48, + [ + 4, + 5, + 6, + 7 + ], + 1 + ] + ], + "coded": true, + "cell": 2 + }, + { + "p": [ + 6, + 7 + ], + "e": 1, + "reads": [ + [ + 23, + [ + 0, + 1, + 6, + 7 + ], + 3 + ], + [ + 19, + [ + 0, + 1, + 6, + 7 + ], + 23 + ], + [ + 87, + [ + 2, + 3, + 6, + 7 + ], + 3 + ], + [ + 83, + [ + 2, + 3, + 6, + 7 + ], + 23 + ], + [ + 55, + [ + 4, + 5, + 6, + 7 + ], + 3 + ], + [ + 51, + [ + 4, + 5, + 6, + 7 + ], + 23 + ] + ], + "coded": true, + "cell": 3 + }, + { + "p": [ + 6, + 7 + ], + "e": -1, + "reads": [ + [ + 18, + [ + 0, + 1, + 6, + 7 + ], + 21 + ], + [ + 22, + [ + 0, + 1, + 6, + 7 + ], + 2 + ], + [ + 82, + [ + 2, + 3, + 6, + 7 + ], + 21 + ], + [ + 86, + [ + 2, + 3, + 6, + 7 + ], + 2 + ], + [ + 50, + [ + 4, + 5, + 6, + 7 + ], + 21 + ], + [ + 54, + [ + 4, + 5, + 6, + 7 + ], + 2 + ] + ], + "coded": true, + "cell": 4 + }, + { + "p": [ + 0, + 1 + ], + "e": -1, + "reads": [ + [ + 61, + [ + 0, + 1, + 2, + 3 + ], + 17 + ], + [ + 60, + [ + 0, + 1, + 2, + 3 + ], + 19 + ], + [ + 29, + [ + 0, + 1, + 4, + 5 + ], + 17 + ], + [ + 28, + [ + 0, + 1, + 4, + 5 + ], + 19 + ], + [ + 21, + [ + 0, + 1, + 6, + 7 + ], + 17 + ], + [ + 20, + [ + 0, + 1, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 5 + }, + { + "p": [ + 2, + 3 + ], + "e": -1, + "reads": [ + [ + 58, + [ + 0, + 1, + 2, + 3 + ], + 21 + ], + [ + 62, + [ + 0, + 1, + 2, + 3 + ], + 2 + ], + [ + 93, + [ + 2, + 3, + 4, + 5 + ], + 17 + ], + [ + 92, + [ + 2, + 3, + 4, + 5 + ], + 19 + ], + [ + 85, + [ + 2, + 3, + 6, + 7 + ], + 17 + ], + [ + 84, + [ + 2, + 3, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 6 + }, + { + "p": [ + 4, + 5 + ], + "e": -1, + "reads": [ + [ + 26, + [ + 0, + 1, + 4, + 5 + ], + 21 + ], + [ + 30, + [ + 0, + 1, + 4, + 5 + ], + 2 + ], + [ + 90, + [ + 2, + 3, + 4, + 5 + ], + 21 + ], + [ + 94, + [ + 2, + 3, + 4, + 5 + ], + 2 + ], + [ + 53, + [ + 4, + 5, + 6, + 7 + ], + 17 + ], + [ + 52, + [ + 4, + 5, + 6, + 7 + ], + 19 + ] + ], + "coded": true, + "cell": 7 + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py new file mode 100644 index 0000000000..98efec187d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/premise_check.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 +"""premise_check.py WORD : PR1049's independent checks on a NEW word -- literal location of all eight coded cells, the leaver +premise (no post-cell touch, no early-tail touch, FULL-cleanup restoration, not a centre/entering/low-ended register), +the exact all-column endpoint, and the frame/profile recount. verify_1049.py is PR1049's verify.py, unchanged; its two +coded-cell inputs are copied byte-for-byte (sha256-pinned inside it).""" +import gzip, json, sys +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parent)) +import verify_1049 as V +w = json.loads(gzip.decompress(Path(sys.argv[1]).read_bytes())) +cells = V.read_pinned('CODED-CELLS-k8.json'); tri = V.read_pinned('TRI-LEAVER-k8.json') +cells = cells['cells'] if isinstance(cells, dict) and 'cells' in cells else cells +found, rep = V.audit_word(w, cells, V.cell_targets(cells, tri)) +print(json.dumps(dict(status='PASS_LEAVER_PREMISE', cells=len(found), leavers=len(rep['leavers']), + paid_profile=rep['paid_profile']))) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py new file mode 100644 index 0000000000..3e34e2c5a6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/premise/verify_1049.py @@ -0,0 +1,430 @@ +#!/usr/bin/env python3 +# SPDX-License-Identifier: Apache-2.0 +# Prepared by Sagar Thakrar with substantial Anthropic Claude assistance. +"""Independent audit of the mutable-leaver all-K cells of PR1005, and of the same cells in PR1018's word. + +Standard library only. No code from the audited packages is imported; their words are read as data +(see SOURCES.json for how each pinned input was produced). The checks follow the documented +scalar/frame semantics of the gauge44 local words: + +E Endpoint. Each data column is replayed forward through precondition + A + cut + B + tail + + cleanup and must give x_t -> x_t + y_t-coordinate, i.e. x -> x, y_t -> y_t + x_t. Each helper + column is replayed through the inverse of the post-precondition program; the result must be + the unit vector plus a target-only residue. That is exactly the condition under which a + pre-main compensation y -= a*h exists. The residue must vanish for entering helpers. +F Frames. Monotone climbs over A, the centre paths, B, the early-cleanup tail and the terminal + ends. The FULL cleanup may touch only registers that end at FULL. The paid histogram must equal + the word's recorded local profile. +L Leaver cells. Each coded cell's 21 scaled gates are located literally (contiguous, in order) + in A + cut + B by unification. Each name binds to one register, the y-names bind to the cell's + six targets (TRI read indices; the coded index is t8 + 8), and the x-names bind to non-targets. + For every mutated leaver: it is not a centre, entering helper or low-ended helper. It is never + touched again in A/cut/B or the tail after its cell, and it is written later in the FULL + cleanup. Its value at the end of B differs from its input, so the restoration is real work. +D Profile deltas. The raw-stage paid profiles of the no-triangle, k5 and k8 words are recomputed + with F and differenced. +Every check raises AuditError directly (no assert), so it also runs under python -O. +""" +import argparse, copy, gzip, hashlib, json, sys +from collections import Counter +from fractions import Fraction as Q +from pathlib import Path + +HERE = Path(__file__).resolve().parent +IN = HERE / 'inputs' +PINS = { # sha256 of the decompressed JSON (of the file itself for .json) + 'k8-cell-word.json.gz': '58e14a02f2c1d4dcfeb363ebd5fa2e713064b5c724d90f6721419a8cfa67729b', + 'k8-final-word.json.gz': 'db2c7cfb3f8eee2b76c2e0154fc530520fb4d90cd9511a002cab527b16033b83', + 'k8-seven-slot-word.json.gz': 'c2b294300760e1fd6eeab8c22c4d13e4633dca40e52cac8da0d68163a76e3ca8', + 'notri-cold44-word.json.gz': '3e99ba778ab8a97853f50912776247802b529439937176363f6c42786163b1f9', + 'raw-notri.json.gz': '5a55ea28628e3d76ed31393505f4605d7a8d5b002716a44115fea60cdc3477e3', + 'raw-k5.json.gz': 'c9114254533c7e272504016764c93370e18734469587a86fb07652b85f8ae209', + 'raw-k8.json.gz': '85c0e64718a9ceafe094e7152ea27ec9d7f804e514b5efaab085a94b7ef1841f', + 'CODED-CELLS-k8.json': '7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563', + 'TRI-LEAVER-k8.json': 'b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30', +} + + +class AuditError(Exception): + pass + + +def need(ok, msg): + if not ok: + raise AuditError(msg) + + +def read_pinned(name): + data = (IN / name).read_bytes() + raw = gzip.decompress(data) if name.endswith('.gz') else data + need(hashlib.sha256(raw).hexdigest() == PINS[name], 'input pin mismatch: ' + name) + return json.loads(raw) + + +# ------------------------------------------------------------------ scalar semantics + +def regs(g): + return (g[1], g[2]) if g[0] == 'add' else (g[1],) + + +def coef(g): + return Q(g[3], g[4]) if g[0] == 'add' else Q(g[2], g[3]) + + +def forward(gates, col): + for g in gates: + if g[0] == 'add': + x = col.get(g[2]) + if x: + y = col.get(g[1], 0) + coef(g) * x + if y: + col[g[1]] = y + else: + col.pop(g[1], None) + elif g[0] == 'scale': + if g[1] in col: + col[g[1]] *= coef(g) + else: + raise AuditError('unknown gate ' + str(g[0])) + return col + + +def inverse(gates, col): + for g in reversed(gates): + if g[0] == 'add': + x = col.get(g[2]) + if x: + y = col.get(g[1], 0) - coef(g) * x + if y: + col[g[1]] = y + else: + col.pop(g[1], None) + elif g[1] in col: + col[g[1]] /= coef(g) + return col + + +def parts(w): + early = w.get('early_cleanup', []) + ids = [i for i, _ in early] + need(len(ids) == len(set(ids)), 'duplicate early-cleanup index') + tail = [list(w['cleanup'][i][:-1]) + [U] for i, U in early] + cleanup = [g for i, g in enumerate(w['cleanup']) if i not in set(ids)] + return w['precondition'], w['A'] + w['cut'] + w['B'], tail, cleanup + + +def endpoint(w): + v, R = w['report']['v'], w['report']['R'] + n = 2 * v + R + pre, main, tail, cleanup = parts(w) + for g in pre + main + tail + cleanup: + need(all(0 <= r < n for r in regs(g)), 'register out of range') + need(g[0] != 'add' or g[1] != g[2], 'self add') + q = coef(g) + need(q != 0 and q.denominator & (q.denominator - 1) == 0, 'non-dyadic or zero scalar') + need(all(v <= r < 2 * v for g in pre for r in regs(g)), 'precondition touches a non-target') + full, post = pre + main + tail + cleanup, main + tail + cleanup + entering = {int(k) for k in w.get('start_extra', {})} + bad, residue = [], 0 + for c in range(2 * v): + want = {c: Q(1)} + if c < v: + want[v + c] = Q(1) + if forward(full, {c: Q(1)}) != want: + bad.append(('data', c)) + for k in range(2 * v, n): + out = inverse(post, {k: Q(1)}) + rest = {r: x for r, x in out.items() if r != k} + if out.get(k) != 1 or any(not v <= r < 2 * v for r in rest): + bad.append(('helper', k)) + elif rest and k in entering: + bad.append(('entering-response', k)) + residue += len(rest) + need(not bad, 'endpoint failures %s' % bad[:6]) + return dict(columns=n, data_columns=2 * v, helper_columns=R, target_residue_entries=residue) + + +# ------------------------------------------------------------------ frames + +def span(vectors): + piv = {} + for x in vectors: + need(type(x) is int and x >= 0, 'bad frame vector') + while x: + b = x.bit_length() - 1 + if b in piv: + x ^= piv[b] + else: + piv[b] = x + break + for b in sorted(piv): + for u in piv: + if u > b and piv[u] >> b & 1: + piv[u] ^= piv[b] + return frozenset(piv.values()) + + +def frames(w): + v, h, R = w['report']['v'], w['report']['h'], w['report']['R'] + n = 2 * v + R + FULL = span([1 << i for i in range(h)]) + hyper = lambda p: span([x for x in range(1, 1 << h) if bin(x & p).count('1') % 2 == 0]) + cur = [span([p]) for p in w['ports']] + [span([])] * (v + R) + for q, U in w.get('start_extra', {}).items(): + need(2 * v <= int(q) < n, 'entrance on a non-helper') + cur[int(q)] = span(U) + start = list(cur) + end = [FULL] * v + [hyper(p) for p in w['ports']] + [FULL] * R + for q, U in w.get('helper_final', {}).items(): + end[int(q)] = span(U) + paid = Counter() + + def climb(r, U, where): + U = U if isinstance(U, frozenset) else span(U) + need(span(list(cur[r]) + list(U)) == U, 'non-monotone climb in %s, register %d' % (where, r)) + if len(U) > len(cur[r]): + paid[len(U) - len(cur[r])] += 1 + cur[r] = U + + pre, main, tail, cleanup = parts(w) + for g in w['A']: + for r in regs(g): + climb(r, g[-1], 'A') + need(not w.get('target_levels'), 'nonzero target levels are outside this audit') + need(all(cur[v + t] == span([]) for t in range(v)), 'targets not at level zero before B') + for q, U in zip(w['centers'], w['center_frames']): + need(cur[q] == span(U), 'centre carrier frame') + paid[len(span(U))] += 1 + for g in w['B']: + for r in regs(g): + climb(r, g[-1], 'B') + for g in tail: + for r in regs(g): + climb(r, g[-1], 'tail') + for r in range(n): + climb(r, end[r], 'end') + need(all(end[r] == FULL for g in cleanup for r in regs(g)), 'FULL cleanup touches a low end') + paid = {k: paid[k] for k in sorted(paid)} + need(paid == {int(k): x for k, x in w['report']['local_profile'].items()}, 'paid profile differs from the recorded profile') + return paid + + +# ------------------------------------------------------------------ leaver cells + +def cell_targets(cells, tri): + out = {} + for tr in tri['triangles']: + if tr.get('coded'): + c = cells[tr['cell']] + t8 = {r[0] for r in tr['reads']} + need({b[1] - 8 for b in c['bindings'].values() if b[0] == 'target'} == t8, 'TRI/coded index mismatch ' + c['cell']) + out[c['cell']] = t8 + need(len(out) == len(cells), 'a coded cell lacks a TRI entry') + return out + + +def locate(w, cells, targets): + v = w['report']['v'] + main = w['A'] + w['cut'] + w['B'] + found = [] + for cell in cells: + pat = [(t, s, Q(q)) for t, s, q in cell['scaled']] + T = {v + t for t in targets[cell['cell']]} + hits = [] + for i in range(len(main) - len(pat) + 1): + bind, ok = {}, True + for k, (tn, sn, q) in enumerate(pat): + g = main[i + k] + if g[0] != 'add' or Q(g[3], g[4]) != q: + ok = False + break + for name, reg in ((tn, g[1]), (sn, g[2])): + if bind.setdefault(name, reg) != reg or (name[0] == 'y') != (reg in T): + ok = False + if not ok: + break + if ok and len(set(bind.values())) == len(bind): + hits.append((i, bind)) + need(len(hits) == 1, 'cell %s located %d times' % (cell['cell'], len(hits))) + i, bind = hits[0] + need({bind[x] for x in bind if x[0] == 'y'} == T, 'cell %s target set' % cell['cell']) + found.append(dict(cell=cell['cell'], start=i, stop=i + len(pat), bind=bind, + leavers=sorted({bind[t] for t, s, q in pat if t[0] == 'x'}))) + ivals = sorted((c['start'], c['stop']) for c in found) + need(all(a[1] <= b[0] for a, b in zip(ivals, ivals[1:])), 'overlapping cells') + return found + + +def premise(w, found): + v, R = w['report']['v'], w['report']['R'] + pre, main, tail, cleanup = parts(w) + special = set(w['centers']) | {int(k) for k in w.get('start_extra', {})} | {int(k) for k in w.get('helper_final', {})} + tail_regs = {r for g in tail for r in regs(g)} + rows = [] + for c in found: + for r in c['leavers']: + need(r not in special, 'leaver %d is a centre, entering or low-ended register' % r) + later = [j for j in range(c['stop'], len(main)) if r in regs(main[j])] + need(not later, 'leaver %d touched in main after its cell (index %d)' % (r, later[0] if later else -1)) + need(r not in tail_regs, 'leaver %d touched in the early-cleanup tail' % r) + writes = [j for j, g in enumerate(cleanup) if g[1] == r] + need(writes, 'leaver %d is never written in the FULL cleanup' % r) + rows.append(dict(cell=c['cell'], register=r, kind='data' if r < v else 'helper', + first_full_cleanup_write=writes[0], full_cleanup_writes=len(writes))) + # value after precondition + main, as a linear form in the inputs + want = {row['register'] for row in rows} + form = {r: {r: Q(1)} for r in range(2 * v + R)} + for g in pre + main: + if g[0] == 'add': + dst, q = form[g[1]], coef(g) + for k, x in form[g[2]].items(): + y = dst.get(k, 0) + q * x + if y: + dst[k] = y + else: + dst.pop(k, None) + else: + form[g[1]] = {k: x * coef(g) for k, x in form[g[1]].items()} + need(all(form[r] != {r: Q(1)} for r in want), 'a leaver holds its input value at the end of B') + return rows + + +def audit_word(w, cells, targets): + found = locate(w, cells, targets) + rows = premise(w, found) + return found, dict(R=w['report']['R'], paid_profile=frames(w), endpoint=endpoint(w), + cells=[dict(cell=c['cell'], main_index=c['start'], leavers=c['leavers']) for c in found], + leavers=rows) + + +# ------------------------------------------------------------------ negative controls + +def controls(w, found, cells, targets): + by = {c['cell']: c for c in cells} + nA, nC = len(w['A']), len(w['cut']) + c0 = found[0] + pat = by[c0['cell']]['scaled'] + r0 = c0['leavers'][0] + + def at(i): + return ('A', i) if i < nA else (('cut', i - nA) if i < nA + nC else ('B', i - nA - nC)) + + def outcome(name, m, expect): + for check, fn in (('endpoint', lambda: endpoint(m)), ('frames', lambda: frames(m)), + ('premise', lambda: premise(m, found))): + try: + fn() + except AuditError as e: + need(check == expect, 'control %s rejected by %s, expected %s: %s' % (name, check, expect, e)) + return name, '%s: %s' % (check, str(e)[:70]) + raise SystemExit('CONTROL ACCEPTED: ' + name) + + out = [] + h = w['report']['h'] + FULLF = [1 << j for j in range(h)] + kx = next(k for k, (t, s, q) in enumerate(pat) if t[0] == 'x') + m = copy.deepcopy(w); sec, i = at(c0['start'] + kx); del m[sec][i] + out.append(outcome('N1_drop_leaver_write', m, 'endpoint')) + early = {i for i, _ in w.get('early_cleanup', [])} + k = next(i for i, g in enumerate(w['cleanup']) if i not in early and g[1] == r0) + m = copy.deepcopy(w); del m['cleanup'][k] + m['early_cleanup'] = [[i - (i > k), U] for i, U in w.get('early_cleanup', [])] + out.append(outcome('N2_drop_full_cleanup_restore', m, 'endpoint')) + # A semantically neutral pair at FULL: only the premise check can see it. + pre, main, tail, cleanup = parts(w) + busy = {r for g in tail for r in regs(g)} | set(w['centers']) | {int(q) for q in w.get('helper_final', {})} + v, R = w['report']['v'], w['report']['R'] + hh = max(r for r in range(2 * v, 2 * v + R) if r not in busy) + m = copy.deepcopy(w); m['B'] += [['add', hh, r0, 1, 2, FULLF], ['add', hh, r0, -1, 2, FULLF]] + out.append(outcome('N3_neutral_touch_of_leaver_after_cell', m, 'premise')) + m = copy.deepcopy(w); sec, i = at(c0['start']); m[sec][i][3] *= 3 + out.append(outcome('N4_wrong_cell_coefficient', m, 'endpoint')) + xn = pat[kx][0] + kr = next(k for k, (t, s, q) in enumerate(pat) if k > kx and s == xn) + m = copy.deepcopy(w); a, b = at(c0['start'] + kx), at(c0['start'] + kr) + need(a[0] == b[0], 'control N5 spans sections') + m[a[0]][a[1]], m[b[0]][b[1]] = m[b[0]][b[1]], m[a[0]][a[1]] + out.append(outcome('N5_leaver_write_after_its_read', m, 'endpoint')) + y = next(b for nm, b in c0['bind'].items() if nm[0] == 'y') + e = min(int(q) for q in w['start_extra']) + m = copy.deepcopy(w); m['B'].insert(0, ['add', y, e, 1, 1, FULLF]) + out.append(outcome('N6_entering_dirt_into_cell_target', m, 'endpoint')) + m = copy.deepcopy(w); sec, i = at(c0['start'] + kx); m[sec][i][-1] = [] + out.append(outcome('N7_leaver_gate_below_current_frame', m, 'frames')) + return dict(out) + + +# ------------------------------------------------------------------ driver + +def delta(a, b): + return {r: a.get(r, 0) - b.get(r, 0) for r in sorted(set(a) | set(b)) if a.get(r, 0) != b.get(r, 0)} + + +def scale(u, s): + return {r: s * x for r, x in u.items()} + + +def run(): + cells = read_pinned('CODED-CELLS-k8.json') + targets = cell_targets(cells, read_pinned('TRI-LEAVER-k8.json')) + words = {name: read_pinned(f) for name, f in [('cell', 'k8-cell-word.json.gz'), ('final', 'k8-final-word.json.gz'), + ('seven_slot', 'k8-seven-slot-word.json.gz')]} + res = dict(status=None, audited={}, controls={}) + keep = {} + for name, w in words.items(): + found, res['audited'][name] = audit_word(w, cells, targets) + res['audited'][name]['content_sha256'] = PINS[{'cell': 'k8-cell-word.json.gz', 'final': 'k8-final-word.json.gz', 'seven_slot': 'k8-seven-slot-word.json.gz'}[name]] + keep[name] = found + print('PASS', name, res['audited'][name]['paid_profile'], flush=True) + for name in ('final', 'seven_slot'): + res['controls'][name] = controls(words[name], keep[name], cells, targets) + print('PASS controls', name, len(res['controls'][name]), flush=True) + # Face events: data-register leavers receive one B-section write in both the base and the cell word. + base = read_pinned('notri-cold44-word.json.gz') + v = base['report']['v'] + data_leavers = sorted(r for c in keep['cell'] for r in c['leavers'] if r < v) + def bwrites(w): + return {x: [[g[2], str(coef(g))] for g in w['B'] if g[0] == 'add' and g[1] == x] for x in data_leavers} + wb, wc = bwrites(base), bwrites(words['cell']) + need(all(len(wb[x]) == 1 and len(wc[x]) == 1 for x in data_leavers), 'a data leaver lacks exactly one B write') + awrites = lambda w: [[g[1], g[2], str(coef(g))] for g in w['A'] if g[0] == 'add' and g[1] in data_leavers] + need(awrites(base) == awrites(words['cell']), 'A-section writes to data leavers changed') + res['face_events'] = dict(data_leavers=data_leavers, base_B_write=wb, cell_B_write=wc, + repaired=[x for x in data_leavers if wb[x] != wc[x]]) + # Profile deltas. + raw = {k: read_pinned(f) for k, f in [('notri', 'raw-notri.json.gz'), ('k5', 'raw-k5.json.gz'), ('k8', 'raw-k8.json.gz')]} + P = {k: frames(w) for k, w in raw.items()} + d5, d3 = delta(P['k5'], P['notri']), delta(P['k8'], P['k5']) + unit = {r: x // 5 for r, x in d5.items()} + need(scale(unit, 5) == d5 and scale(unit, 3) == d3, 'raw per-cell deltas are not additive') + need(raw['notri']['report']['R'] - raw['k5']['report']['R'] == 15 and raw['k5']['report']['R'] - raw['k8']['report']['R'] == 9, 'helper counts') + claimed = {1: -30, 2: 6, 3: 6} + slot = delta(res['audited']['seven_slot']['paid_profile'], res['audited']['final']['paid_profile']) + need(slot == scale({3: 2, 4: -4, 5: 2}, 7), 'seven-slot delta is not 7 x {3:+2,4:-4,5:+2}') + res['profile_deltas'] = dict(raw_profiles={k: P[k] for k in P}, k5_minus_notri=d5, k8_minus_k5=d3, + per_cell_raw=unit, helpers_removed_per_cell=3, + pr_description_per_cell=claimed, matches_pr_description=unit == claimed, + rank_mass_per_cell_raw=sum(r * x for r, x in unit.items()), + seven_slot_minus_final=slot) + res['status'] = 'PASS_INDEPENDENT_MUTABLE_LEAVER_AUDIT' + return res + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--write', action='store_true', help='write RESULT.json instead of comparing with it') + a = ap.parse_args() + try: + res = run() + except AuditError as e: + print('FAIL', e) + sys.exit(1) + text = json.dumps(res, indent=1, sort_keys=True) + '\n' + if a.write: + (HERE / 'RESULT.json').write_text(text) + else: + need((HERE / 'RESULT.json').read_text() == text, 'result differs from committed RESULT.json') + d = res['profile_deltas'] + print('%s cells=8 leavers=%d columns=%d controls=%d per_cell_raw=%s claimed_match=%s' % ( + res['status'], len(res['audited']['final']['leavers']), res['audited']['final']['endpoint']['columns'], + sum(map(len, res['controls'].values())), d['per_cell_raw'], d['matches_pr_description'])) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py new file mode 100644 index 0000000000..0343c8c1ab --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/replay.py @@ -0,0 +1,32 @@ +import argparse,json,hashlib,os,shutil,subprocess,sys,time,collections +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent;R=F/'owner37-round44';S=R/'source/research/r480-owner-optimum';N=F/'joint1148-round45';B=F/'demotions1148-round43/baseline-replay';ROOT=N/'source' +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +ap=argparse.ArgumentParser();ap.add_argument('--data',type=Path,required=True);ap.add_argument('--work',type=Path,required=True);ap.add_argument('--discover',action='store_true');ap.add_argument('--local',type=Path);a=ap.parse_args();data=a.data.resolve();work=a.work.resolve();assert not work.exists();work.mkdir();local=a.local.resolve() if a.local else B/'native/local';code=S/'code';upstream=ROOT/'research/complex-k492-owner-repair/vendor/multicold' +for rel,h in rd(S/'vendor/pr1074/UPSTREAM-PINS.json').items():assert sha(ROOT/rel)==h,rel +assert rd(B/'RESULT.json')['status']=='PASS_THREE_DEMOTIONS_COMPLETE_ADMISSION' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(upstream),GAIN_PR564_SOURCE=str(upstream)) +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +runtime=work/'runtime';(runtime/'data').mkdir(parents=True);shutil.copytree(S/'vendor/pr1074/construction',runtime/'construction');shutil.copy2(data/'SPEC.json',runtime/'data/SPEC.json');spec=runtime/'data/SPEC.json';env['WITNESS_SPEC']=str(spec) +if a.discover:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(work/'WITNESS-RECORD.jsonl')) +parent=work/'parent';shutil.copytree(B/'parent/t16/parent558',parent);shutil.copy2(data/'GLOBAL-TEMPLATE.json.gz',parent/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz');stages=[] +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(upstream/'code/run_portable.py'),str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,seconds=time.monotonic()-t,exit_code=r.returncode,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +g=work/'global' +run('bind',code/'bind_providers_portable.py','--baseline',parent,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--plan',data/'PLAN.json','--out',g) +run('emit',code/'emit_allcold.py','--base',g/'base','--owners',data/'OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') +run('audit',code/'audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') +run('invoice',code/'invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',upstream/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') +run('assembly',code/'assemble.py',upstream,g,work/'ASSEMBLY.json') +if a.discover: + run('freeze',P/'freeze_spec.py','--spec',spec,'--discovery',work);shutil.copy2(spec,data/'SPEC.json') +else: + for name,script,filename in [('admission','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit','bit_supplier_controls.py','BIT-CONTROLS.json')]:run(name,code/script,'--source-package',upstream,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',work/filename) +plan=rd(data/'PLAN.json') +run('independent',P/'audit_mixed.py','--parent',B/'parent/t16/global8/base/split-centres/GLOBAL-TEMPLATE.json.gz','--data',data,'--provider','gauge44='+str(local),'--provider','extra='+str(P/'native-extra/local'),'--out',work/'INDEPENDENT.json') +asm=rd(work/'ASSEMBLY.json');ind=rd(work/'INDEPENDENT.json');inv=rd(g/'audit/PREFIX-AND-INVOICE.json');assert ind['profile']==asm['complex_profile']==plan['profile'];assert ind['prefix_bits']==inv['global_prefix_bits']<1024;assert ind['physical_row_coefficient']==inv['finite']['physical_row_coefficient']<20161;assert len(ind['controls_rejected'])==8 +if not a.discover:assert len(rd(work/'ADMISSION-CONTROLS.json')['rejected_controls'])==114 and len(rd(work/'BIT-CONTROLS.json')['rejected_controls'])==12 +receipt=dict(status='DISCOVERY' if a.discover else 'PASS_STRICT_MIXED_T37_ENTRANCES',kappa=asm['kappa'],kappa_decimal=asm['kappa_decimal'],steps=stages,independent=ind,scope='Conditional finite construction only; two freshly replayed source-holder fusion providers; all inherited theorem obligations retained.');(work/'RESULT.json').write_text(json.dumps(receipt,indent=2));print(receipt['status'],receipt['kappa_decimal'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py new file mode 100644 index 0000000000..5959c3e39e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/search_relations.py @@ -0,0 +1,61 @@ +"""Exact rational two-shock relations, retaining suffix effects on every register.""" +import argparse,gzip,json,collections,sys,time +from fractions import Fraction as Q +from pathlib import Path +P=Path(__file__).resolve().parent;F=P.parent +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,default=P/'inputs/base.json.gz');ap.add_argument('--pivots',nargs='+',type=int,default=[555,567]);ap.add_argument('--out',type=Path,required=True);args=ap.parse_args() +w=json.loads(gzip.decompress(args.word.read_bytes()));B=w['B'];R=max(max(g[1:3]) if g[0]=='add' else g[1] for g in B)+1 +coef=lambda g:Q(g[3],g[4]) if g[0]=='add' else Q(g[2],g[3]) +def add(a,b,c): + d=dict(a) + for k,v in b.items(): + d[k]=d.get(k,Q(0))+c*v + if not d[k]:del d[k] + return d +def col(seq,q): + r={q:Q(1)} + for g in seq: + t=g[1] + if g[0]=='add':r[t]=r.get(t,Q(0))+coef(g)*r.get(g[2],Q(0)) + else:r[t]=r.get(t,Q(0))*coef(g) + if not r[t]:r.pop(t,None) + return r +def solve(u,v,d): + keys=set(u)|set(v)|set(d) + if not keys:return None + i=next(iter(keys));ui,vi,di=u.get(i,0),v.get(i,0),d.get(i,0) + for j in keys: + uj,vj,dj=u.get(j,0),v.get(j,0),d.get(j,0);det=ui*vj-uj*vi + if det: + a=(di*vj-dj*vi)/det;b=(ui*dj-uj*di)/det + if not a or not b:return None + a,b=Q(a),Q(b) + if any(c.denominator&(c.denominator-1) for c in [a,b]):return None + if all(a*u.get(k,0)+b*v.get(k,0)==d.get(k,0) for k in keys):return a,b + return None + return None +out=[] +for q in args.pivots: + first=next(i for i,g in enumerate(B) if g[1]==q);dele=[i for i,g in enumerate(B[:first]) if g[0]=='add' and g[2]==q];tail=[w['cleanup'][i] for i,U in w['early_cleanup']];seq=B+tail;new=[g for i,g in enumerate(B) if i not in dele]+tail;d=add(col(seq,q),col(new,q),-1) + cols={j:{j:Q(1)} for j in range(R)};hs=[];ts=[] + for i in range(len(seq)-1,-1,-1): + g=seq[i] + if i=224 and g[2]!=q and i not in dele: + h=g[2];effect=add(cols[h],{h:Q(1)},-1) + if effect:hs.append((i+1,h,effect)) + ts.append((i,g,dict(cols[g[1]]))) + if i in dele:continue + if g[0]=='add':t,s=g[1:3];cols[s]=add(cols[s],cols[t],coef(g)) + else:cols[g[1]]={k:v*coef(g) for k,v in cols[g[1]].items()} + start=time.monotonic();matches=[] + for cut,h,u in hs: + for i,g,v in ts: + if h==g[2]:continue + sol=solve(u,v,d) + if sol: + a,b=sol;c=b/coef(g) + if c.denominator&(c.denominator-1):continue + ed=dict(delete=dele,insert=[[i,['add',g[2],q,c.numerator,c.denominator,[]]],[i+1,['add',g[2],q,-c.numerator,c.denominator,[]]],[cut,['add',h,q,a.numerator,a.denominator,[]]]],tail=[[len(w['early_cleanup']),['add',h,q,-a.numerator,a.denominator,[]]]],prepend=[]) + matches.append(dict(pivot=q,helper=h,cut=cut,output=g[1],hook=i,donor=g[2],amount=str(a),correction=str(b),ed=ed)) + print('PIVOT',q,'pairs',len(hs)*len(ts),'matches',len(matches),'seconds',time.monotonic()-start,flush=True);print(matches[:3],flush=True);out+=matches +args.out.write_text(json.dumps(out,indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz new file mode 100644 index 0000000000..d627d37862 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/upstream-layout.tar.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json new file mode 100644 index 0000000000..b67172862c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/CLAIM.json @@ -0,0 +1 @@ +{"T":37,"bit_lower":"1733427039589844234749/1000000000000000000000000","calls":333,"charged_prefix_bits":1024,"comparison":{"independently_replayed_pr1050":"0.001672241870811633","joint_entrances_t37":"0.001675568675201533","selected_pr1042":"0.001672188119205421","selected_pr942":"0.001661960547713947","seven_slot_t37_predecessor":"0.001674097969905390","uniform_three_demotions_t37":"0.001675129371412064"},"complex_lower":"167848528779417184507/100000000000000000000000","complex_profile":{"1":785550,"2":167498,"3":138028,"4":42458,"48":11374,"5":27306,"8":2664},"deficit":11840,"idle":{"1":2,"48":11374},"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","live":33152,"physical":33642,"physical_row_coefficient":17495,"prefix_bits":775,"provider_calls":{"demote3":125,"demote4":208},"rank_mass":2408256,"roles":159840,"scope":"Finite conditional construction under the retained compiler, whole-call hosting, common-label/mutable-source realization, precision/tape, analytic-transfer and bitH1-H5 hypotheses. No unconditional theorem or kappa=1 claim.","status":"UNADMITTED_TARGET_ONLY"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json new file mode 100644 index 0000000000..515f2998da --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/DEPENDENCY-PINS.json @@ -0,0 +1,1904 @@ +{ + "research/community-frontier1042-audit/ASSEMBLY.json": "093f35445812ea96fe1bfe6a3af7d769cb7f274e08f4fb30f71a17ed1161e54e", + "research/community-frontier1042-audit/BASELINE-BINDING.json": "22575ff21833fdfcfc7d67d7d9b3b433cf13a3165628ebcb9aaae239b8145472", + "research/community-frontier1042-audit/INDEPENDENT-T16.json": "f647dcc7b051c2766af08033afcb1427d1177b4d3ca9a467b3d9846ab2dc30fd", + "research/community-frontier1042-audit/RESULT.json": "bf12c6ed3b412539638b76addb40591a631609b2ab9e5ee0db1f6bbe067d0ec0", + "research/community-frontier1042-audit/SELECTED-SOURCE.json": "f2c1594a39facf5d634d02e8a684677831e97f41ab2e609e8c35b52c1fec814b", + "research/community-frontier1042-audit/STAGES.json": "ff52f110df600616b51aa657e0c1107f3c57f8fd2e89b13bb74448eb7a52984a", + "research/community-frontier1042-audit/T16-REPLAY.json": "1f9fd180e28b714f9c4734182db101591e1a9784748a4b54a82f1f6df9a54b56", + "research/community-frontier1042-audit/selected-replay.tar.gz": "22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754", + "research/community-k492-audit/pr622/replay/baseline558/ASSEMBLY-CONTROLS.json": "aca6ddbcd8049e98c2ce36108488f756b08506ca558fa94e64b811774ea96d79", + "research/community-k492-audit/pr622/replay/baseline558/ASSEMBLY.json": "4782793661bf92c9f8281ca7b9ae92f79573a3623af49661fc445147d455dbdb", + "research/community-k492-audit/pr622/replay/baseline558/RECEIPT.json": "dee320a71985660f1ea7715f652fda110fe172a51a1194ac433734ccdce1e14c", + "research/community-k492-audit/pr622/replay/baseline558/RESULT.json": "a979ea3fce856e0826a61dc7fdfebea067f5a97bf118f9f186175c686a22c717", + "research/community-k492-audit/pr622/replay/baseline558/STAGES.json": "820727a3e743fc7aea400e8157b69e3f07af359bf38a763ee6fd77b73172d765", + "research/community-k492-audit/pr622/replay/baseline558/all-columns-native-frames.log": "1dcd4d21c10ec05f273f42334bfa158e1480bcaaa08a9a16873b371806e47fb1", + "research/community-k492-audit/pr622/replay/baseline558/all-phase-recipes.log": "c71de931024cd4f3421547ff3042126302cd62be7b9d0bfb92b66bd4e1eb2dac", + "research/community-k492-audit/pr622/replay/baseline558/assembly-admission-controls.log": "9cc0577eb648247a02f4352eaf5187000a8378657f388e8ffa8cbeb55a43b9ec", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/01-bind.log": "1ba8f0d5a08f617e637347d9c0c3761781b759af38df847306cca392913b01f4", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/02-emit.log": "e628c73c0caa87c49a67a9286a8c8339e5aebc1c2b78b98a8f9099f2a75fa817", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/03-physical.log": "177cfc604cd7085019b615945f33c04197eee181e8c30ec13831cf253c138e23", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/04-invoice.log": "680deb0f83fbc968b5436044dcea693782c6e8519fb49de59fa2ff8124c9a850", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/05-moments.log": "0abfdd96bd6a797c6aa5f6cd358a7e1276820e94de037d0c0a6054883d485953", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/RESULT.json": "847097e0a7e0bcf66245e40481aaa25bad3d8d17232e0ff3a7f3b8a38b269011", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/STAGES.json": "37b5f9f3f47147851af0a0cd8cdd8d14d22a80fa7bdecffe6ea2fc499afdea6b", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/ASYNC-AUDIT.json": "177cfc604cd7085019b615945f33c04197eee181e8c30ec13831cf253c138e23", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/EXACT-ASSEMBLY.json": "a72a55cc90ca9f85a056f6fd62de6b788269ae459f73fb60fb7f486b7945e4d4", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/GLOBAL-PREFIX.json": "bff8fb45c83550daf817dce92815b22adb21384591699813353b8e2a4e1aa60e", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/IDLE-REMAINDER-FRAMES.json": "a142992c82237ef08852af7105f7d466bcccfa9e5da890e8d82559e433a4dda7", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/OWNERS-AND-PROFILE.json": "050da7f024d6db1736315ed1b62772559febf2c71acc7bf17eb9339ffa055d3f", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/audit/PREFIX-AND-INVOICE.json": "680deb0f83fbc968b5436044dcea693782c6e8519fb49de59fa2ff8124c9a850", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/community-k492-audit/pr622/replay/baseline558/complex-global/hosted/HOSTED.json": "e628c73c0caa87c49a67a9286a8c8339e5aebc1c2b78b98a8f9099f2a75fa817", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/community-k492-audit/pr622/replay/baseline558/complex-local/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/community-k492-audit/pr622/replay/baseline558/emit-both-reflected-ledgers.log": "f382385a67f705b446978a73fc6492ce127cb2ae76011e87e36fdbe9977f4347", + "research/community-k492-audit/pr622/replay/baseline558/independent-local-and-controls.log": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee", + "research/community-k492-audit/pr622/replay/baseline558/literal-owners-full-invoice.log": "61522ff431dfca96293b7f6e13924f11f9004b0eefa1456308a600d053608964", + "research/community-k492-audit/pr622/replay/baseline558/normalized-wrappers.log": "284cce3149354d057b4e2f04163535c0d8b0a924898e5b771ba8af2740314154", + "research/community-k492-audit/pr622/replay/baseline558/reconstruct552-and-promote8.log": "b7b035547780f64e33ea2432fd2cc79ed5795bf88c9791cbb913d9ec2a7c6a2b", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/lifted/PORT.json": "873fe7e8a338738b545f3f34388a4f29f1939b48275f406022212f9ef5ef2b86", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/CONSTRUCTION.json": "208ea9f6669778a2326357171ca8b2088cb3c1f165c408fd5ee374469f5ddca5", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/PROMOTED8-SCALAR-AUDIT.json": "4275fc9a309f0ba27562858e434f3fc3bdf501a3625f8ff1a8d8ccf29d72d10f", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/promoted/STATIC44-SCALAR-AUDIT.json": "05458940a7e12e90507403c5fb819dcf84ef328a524ecd6ceaf928e0ebd620b2", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/REPLAY.json": "be018b79f66ef3814c2159ba174531ff4ea17762ab104715fe7177246d345322", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/SCALAR-AUDIT.json": "9436f9b92196015e357e4974011cf1d0f960abb7f26b95eedac339a02c919624", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/static44/SELECTION.json": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/syndrome/SYNDROME-CERTIFICATE.json": "56961ff2c99816751e051f8fe12ce01fc2be017a074917ed58b7004b13d08cf8", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/wave/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/community-k492-audit/pr622/replay/baseline558/reconstruction/weighted/WEIGHTED-COSET-REPLAY.json": "1661a17a2a7f717fb27bb943f500756edaeff392787d20838264e4aa6d035454", + "research/community-k492-audit/pr622/replay/baseline558/two-engine-exact-assembly.log": "b50e71a1c084e221ca32b43001f5383c8cffb09d72e66b1436f22aa240795a9c", + "research/complex-k492-owner-repair/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/MANIFEST.json": "c9d1bcb0c65de86a7554711212d4bb5e7490b3bc69d918f957b99a68a832144b", + "research/complex-k492-owner-repair/NOTICE.md": "e7e934433919b73f6088a68a444eed4cea029638ae7b0df3fde15099d5369fd1", + "research/complex-k492-owner-repair/PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", + "research/complex-k492-owner-repair/PROOF-NOTE-R.md": "22312bb347bdf159e6a01a45c47675e6170d33b258e2fd9ed52aee88fb92c0ed", + "research/complex-k492-owner-repair/PROOF-NOTE.md": "337d70fe7abd9afca1d90954c23bde87f4dc27888cc1a6b4bb80506fd6fbf8c5", + "research/complex-k492-owner-repair/README.md": "ee5a1ace4828f7a073be97e95c2d931988774dd3a29a877e65abdf429aeec902", + "research/complex-k492-owner-repair/code/assemble.py": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "research/complex-k492-owner-repair/code/assembly_controls.py": "8a365b95c412d75d10db5bb59309d47cd56c5f8a77566f940a05977795130ce8", + "research/complex-k492-owner-repair/code/audit_allcold.py": "cea021ae79658ca7ca4d07f1e1a70bdb4947afaf95b362114c11032c0fef889a", + "research/complex-k492-owner-repair/code/bind_providers_portable.py": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "research/complex-k492-owner-repair/code/build_cold_end.py": "27d5f540cb7f7e57b12f041196743761a5ecefaa2e04fd808abfffed25027f6e", + "research/complex-k492-owner-repair/code/build_frame_regroup.py": "e2549ccc7a90008831be3b59aeb37b47db696640f5f5c2b72dd888b2f1e7e5c9", + "research/complex-k492-owner-repair/code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "research/complex-k492-owner-repair/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-k492-owner-repair/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-k492-owner-repair/code/cold_end_controls.py": "f8b770eb3bfe387c9b878a954b0dcb0efd81bc4adb0c97b450b3ab7a66c78585", + "research/complex-k492-owner-repair/code/construct_k_triangle.py": "66fc460df8eb8067efe3d8a3f9e97a7244aacd7bf11650a6ce656e868ce053da", + "research/complex-k492-owner-repair/code/emit_allcold.py": "fe26f10fe5d30ed407a37540a45ef94f44576dd241d09e19aef5db1efb072746", + "research/complex-k492-owner-repair/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-k492-owner-repair/code/generated_identity_controls.py": "a7b93207a673575d1fddc3e579153349c145c8f08d4575ae0a5d1e3cffec01de", + "research/complex-k492-owner-repair/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-k492-owner-repair/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-k492-owner-repair/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-k492-owner-repair/code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "research/complex-k492-owner-repair/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-k492-owner-repair/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-k492-owner-repair/code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "research/complex-k492-owner-repair/code/witness.py": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "research/complex-k492-owner-repair/comparison/PR622-NATIVE-HASHES.json": "28479a183387bcb608bd9ee0572f617c17f316b79ce4a6fa1277ed8689fb3431", + "research/complex-k492-owner-repair/comparison/PR622-PLAN.json": "442d71a0a41e42503c645892f9fddd5b4d8fa722659974cedc27ae41b60319ac", + "research/complex-k492-owner-repair/comparison/PR622-README.md": "ea231e3836e8a0bc19815b66e2552a6daa452781e871ea4dd7280d3ad15bc9c3", + "research/complex-k492-owner-repair/comparison/PR622-SPEC.json": "a0efd32e51a98809e4312d529ad65e8ecd2f446a82c5eab5166b102b03244989", + "research/complex-k492-owner-repair/comparison/PR623-PLAN.json": "c919c366ef1d3528f1884e47dfce858ab3164b099740e4c17cde6f697b3ec458", + "research/complex-k492-owner-repair/comparison/PR623-README.md": "ccd9783f0557bb9c80f65a31c74914df11531106de8a840e1e1f2da62176cd2c", + "research/complex-k492-owner-repair/comparison/PR623-SPEC.json": "436d3df54e6ce2433d56435afd569708e5fb22bc638571f5134ab12a9f9099f5", + "research/complex-k492-owner-repair/data/EXPECTED.json": "7647bdbebfd33551fdf1a56eae16c9227fa79f7595ccd351d2d8492c2a65a680", + "research/complex-k492-owner-repair/data/OWNERS.json.gz": "251e82cec1f40e6c1289703667f403104b957f1254dc4f6baa6df9a3d0c751de", + "research/complex-k492-owner-repair/data/PLAN.json": "8c48ef6ce079916314126c5c3ff0003b32f24cf0fbfb2a033fc93e1e1949b5d5", + "research/complex-k492-owner-repair/data/SPEC.json": "2a2577ac526535826fed9d5f7f83f6e2e0ec058a146c64f7286720b995fa2323", + "research/complex-k492-owner-repair/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-k492-owner-repair/data/WITNESS.json": "63fb94a452ac8a3485daa3cb52ab4890944afc07e94d1c89db0763f8cc311496", + "research/complex-k492-owner-repair/data/cand.json": "f210d4e4a208de6f110ea756c9c735354e1a8e80ecae4395792df98dd6ef685f", + "research/complex-k492-owner-repair/data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "research/complex-k492-owner-repair/data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "research/complex-k492-owner-repair/data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "research/complex-k492-owner-repair/data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "research/complex-k492-owner-repair/data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "research/complex-k492-owner-repair/data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "research/complex-k492-owner-repair/data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-cold_end.json.gz": "a25ccab0c024aa9512df822032fca11683def03d0886b58f375c42834264c47c", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-frame_regroup.json": "8d880d3d8e795575a3a3428e0031b2c45831eea512dc32cb99f7eae9e6e49e5e", + "research/complex-k492-owner-repair/data/recipes/k492-atm3-hyperplane_end.json": "30504ae76a2387677f05450d23413c7373c08ae2d9d171b2f4597bb63e294631", + "research/complex-k492-owner-repair/data/recipes/k492-ck-cold_end.json.gz": "d438123ecca120799a0b9835d0e7231ec12f61f10caff3ef466ad9f7c96e51a2", + "research/complex-k492-owner-repair/data/recipes/k492-ck-frame_regroup.json": "9894f9c93e931b61cf34b337c4b257a72bb1d06fbdc4e8b02368e6e29ab2b644", + "research/complex-k492-owner-repair/data/recipes/k492-ck-hyperplane_end.json": "c71c2b05550544c29ebb4696e63cffc44d6daa76f1bc25e9c7c97e994b2c7657", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-cold_end.json.gz": "660d2438c5fd4dd4cc49eefff071ac53f50adb65f292005f182082d27555a6a9", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-k492-owner-repair/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1", + "research/complex-k492-owner-repair/data/search/DISPATCH.json": "b5f8f5779ebd972665ff7a4e1a454b940610305a867dd28ff61df8124e234dc9", + "research/complex-k492-owner-repair/data/search/LP-PATTERNS-AGG.json": "7e8f162a5d949cb1461c8c3b3bfa0a160b42c27a03bfeb6f09b9aa3c116aa953", + "research/complex-k492-owner-repair/data/search/LP-PATTERNS-EX.json": "1d345febd910eeedaa2dbde4d5856d4a3fe8825a16748374ba76655ff6cb6fdb", + "research/complex-k492-owner-repair/data/search/TEMPLATE-PLAN.json": "1879679a44b373006907cbca8261a9cd187c7b868472afab04e002bf95331d9e", + "research/complex-k492-owner-repair/extras/check_declarations.py": "34122816e616e4de6a0524f7feef9a3ece4be1f9d07e477f319404e08374216d", + "research/complex-k492-owner-repair/extras/check_owner_map.py": "d240458ad39a08c242d136c0f1edbda0cb0b93977897f6543c9f430576c9c7dd", + "research/complex-k492-owner-repair/extras/exact_intervals.py": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "research/complex-k492-owner-repair/vendor/direct_delivery/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/complex-k492-owner-repair/vendor/direct_delivery/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-k492-owner-repair/vendor/frame_coalescing/MANIFEST.json": "f336fd702c54422d79c1b9ba7d8699ae6c99518f66a5b5bbc5f3be331fa1fadd", + "research/complex-k492-owner-repair/vendor/frame_coalescing/NOTICE.md": "2285f8489d1588ea4deaf07a1ceb36fdc56dde5cecf228b82438284aea072050", + "research/complex-k492-owner-repair/vendor/frame_coalescing/README.md": "32b64f7638e6cb9bcd1d0e41779808ac1d5d6897152a00194e82e8c3754fd7b0", + "research/complex-k492-owner-repair/vendor/frame_coalescing/code/build_frames.py": "59f486c52293c76f1f6140c5f12f7a555a956b455e853c79136fc227deefbc3d", + "research/complex-k492-owner-repair/vendor/joint_prefix/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/joint_prefix/MANIFEST.json": "fd30701bd9bd652985db18fa95bee08a34615ef417a2feb2f55efd60a0b5d665", + "research/complex-k492-owner-repair/vendor/joint_prefix/NOTICE.md": "ba2267f17bb2cad9dc706565c359fec98d6ec0feb3b32dcfb8c3277c59cbf8fe", + "research/complex-k492-owner-repair/vendor/joint_prefix/README.md": "1b2679bed02b9563e6f3a9951eef2cc5057444a78bf4aa7ab89d1ad83330e3e4", + "research/complex-k492-owner-repair/vendor/joint_prefix/SOURCE-PINS.json": "240e8ee75336e921663a0057f450b346bac305d2af4ffacef68dec1798d9bb85", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_joint_prefix.py": "c01836709f3650a39c46418ac1771980b4b96288e60b51032b5d31419e484c37", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/EIGHTCOLD-JOINT-KERNELS.json": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-k492-owner-repair/vendor/larger_gain/MANIFEST.json": "54d67f45ad520f4a134e069336bd0ff639aaeada28d13539298e4f2655c9692d", + "research/complex-k492-owner-repair/vendor/larger_gain/README.md": "545f0138139ec1c5410128678818dfb13fbf374d4063de4f425f11e6a1b74eca", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/build_entrance_promotions.py": "50737e20553b5d44381c58e5b35b5031a6797dfdda1c67a1656069f1f6203cd2", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/coupled_frames_base.py": "b6033cd2959297a624b557f3d04665c8fbb680a4c0987daf0704ef93711700bd", + "research/complex-k492-owner-repair/vendor/larger_gain/providers/search_suffix_kernels.py": "0523c90f036ff01cac9299fe4e47dc40dd04f264f09415985d2c98b4da43371c", + "research/complex-k492-owner-repair/vendor/multicold/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/complex-k492-owner-repair/vendor/multicold/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/complex-k492-owner-repair/vendor/multicold/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/complex-k492-owner-repair/vendor/multicold/SOURCE-PINS.json": "503764cd70c99a9652ec51a533c31ad7f2a615e6c230156d785daff2835cf028", + "research/complex-k492-owner-repair/vendor/multicold/code/assemble.py": "3fedbccb09d469f8ee366b4302e51448de6d25793a78a12c5f9a8d9667a755eb", + "research/complex-k492-owner-repair/vendor/multicold/code/assembly_controls.py": "a0f2349ba8fe8404b8b76c869f12dd7e250a775b2e05b3c9c00e6889ad4c8a45", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_allcold.py": "7950e5c01488a9146bdbaf19ab4fd0c33cd25a4d63fb56ef995ef2e45ac7ec1a", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_kernel_controls.py": "5100459211f43ba048bf82c3942bbedb8b224272b24722a14f0dcd808a38aafa", + "research/complex-k492-owner-repair/vendor/multicold/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-k492-owner-repair/vendor/multicold/code/bind_providers_portable.py": "01e62fee1f1dcf1b7b34338d555dacd5cd1d7d10d6b9a605d0913d959f8c7ecf", + "research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-k492-owner-repair/vendor/multicold/code/build_four_portable.py": "417b1dc4dca485dfbbaa820e552cae9bf3932bbace6ea16ce93aa0590c3c184e", + "research/complex-k492-owner-repair/vendor/multicold/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/complex-k492-owner-repair/vendor/multicold/code/emit_allcold.py": "9d6c75af63fa8f53973734ccb1eef983511f4337ce644436a693fd8fb9ef8fe2", + "research/complex-k492-owner-repair/vendor/multicold/code/invoice_allcold.py": "ff8fee775ad97926454f3ad1183f8e05de654e276150e579ce612f3eb2f98d44", + "research/complex-k492-owner-repair/vendor/multicold/code/phase_timing_controls.py": "dcc4adfd139d6f65a88bdc6d183ea3777d4e4f688d2169dd41b54964f05591bb", + "research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/complex-k492-owner-repair/vendor/multicold/data/FOUR-COLD.json": "643e07c25dac93ce1fe67532e377f9f1cf8c7bb83835abb3fad63c9c51514736", + "research/complex-k492-owner-repair/vendor/multicold/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/complex-k492-owner-repair/vendor/multicold/data/FROZEN-FOUR-PROMOTION.json": "90417f8d54ea9272bb5041ed9144a58dcbc194a22dd0845e7de89d4b717f1b74", + "research/complex-k492-owner-repair/vendor/multicold/data/OWNERS.json.gz": "93349ec85f21811b5b247980f9fc4d8161100d5ee37bce7fda5ef65d0370240b", + "research/complex-k492-owner-repair/vendor/multicold/data/PLAN.json": "35a95fd9b5e46fdaf8a3929d516fa8c14dd4e3bd9a20eb546e0541a8ef85ff51", + "research/complex-k492-owner-repair/vendor/multicold/data/ZERO-COLD.json": "ea1cda1578464399077bb96e5c3c3d01e88ba5eeaa6c22d3b66ef4380bc3b820", + "research/complex-k492-owner-repair/vendor/multicold/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-EXACT-FRONTIER.json": "55050dbdc1ffa18b3cc1f9b8b94f7de7a04a39f65efbbb890de2e73db837ee38", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-OWNER-RECEIPT.json": "cf9992773c9ae4523dbc7f71753d7ecfa515618d7c2ab414b60d53887f518a30", + "research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-PROVIDERS.json": "59196e2c93f4fb8fdbe74bd16d60242a3534eb5bb8c810fc29635ab0e65bd08f", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR561-NOTICE.md": "180802791d3547d511a7af8bc4f800640abd72636d50631d2e61b35cfa17627d", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NATIVE-TRANSFER.txt": "f4ceeb2a412c9ec3f3bc06a78cf865e5fdb7c1080421ec5285ba02d04418eb37", + "research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NOTICE.md": "a427502077fceaaffc7d44bb8520562160d0d76e4cb08c2b10337e62d8987fae", + "research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-ALLCOLD-NATIVE.txt": "ca7a8b3f3fa6d3610ef9518c71d5186427ccf2b2bdf3511be84a6b2d7bbb1e25", + "research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-REVIEW.txt": "0a807ea2c5fec29cbf994f94bd5a388914fb31de02dba03d18265040044c0dc6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/MANIFEST.json": "f28c04eecbea7599fa9e0867dd8d0311a463af12cab79f90a43733b162527164", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/NOTICE.md": "fa76079e2566b8d644c4aa36cb1034aa2363d2e97978b26203f122d826918fce", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/README.md": "02181c5ff31cd1c2899608e5ab598b405df92ad5814df35f329d117956f7ee10", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/SOURCE-PINS.json": "b09437400a7f6f0dc86eee0f800aae91cd35a7e5e80eb3d348f87113a0bd0d76", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assemble.py": "5d4946dcad7636bf2119bb7bc3a52ceb41454c1514d12cb77def2c2e02b17338", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assembly_controls.py": "f3d703a63404bd655e66a520b3840a4ab72529751664eb634a52736b4bc95a29", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/audit_promoted_scalar.py": "1994e7116065636b53bf740000ff78dce8ea62390e597d293d183f33c67eaa6d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/promote.py": "b69a27d53ec3f64ccbdbbd79f9632419f273b3eb4429f6cdec1315fd8798750c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/reconstruct.py": "e56d57d39cf787b8325de5a97dbc283f89d51c24169efae9ad2227277a6f8243", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/OWNERS.json.gz": "c72892f5b3b36e75ec4db7742b046bd9194f638ff32be9cc8843914af950e6dc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/ASSEMBLY-PROVENANCE.json": "cf1710faaf5d4aa32e6a8a24b0087cdc24e5b680d974e5dd4e0cb4ef4787e395", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/CONSTRUCTION.md": "9b0617dee9c044488b2f72b50059dd8d768f6ee0a29c35fe2cfdde85d25cdbd1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/EXPLORATORY-SCALAR-8-CONTROLS.json": "c0465364067e6392fa0d7e4cd0481a82afebe3e271b486a4984e7b2826025146", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/RANK5-CAPS.json": "461ebc6c8816a0132c89a54c2ae56b07f31500bcb2c2bebfce783eb41bc29441", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/MANIFEST.json": "b0f5773b3ffa2c5305dade20ce6159cb8b5961285d2f7bc767c6353838bac4d3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/README.md": "79cc63fc45ea52c04f32555676704a1664a3eafdd917b25689b1acd390a4636d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-avalanche80.cpp": "0215152bd3ddf0282c8088843c4e8a89e821e747f884e03100fe79238b3061db", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-flags.cpp": "0bd6ac192357ca71f6b84baf50efdc43fccc8394296c35a298b35306db7d88a3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/assemble.py": "bf878beb64edc6bae4c321d7c964088c4d9aa0ae477597ac1adbe2b1078e3904", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/build_wave.py": "249669d046db49011b84345a14ec05a93270829e5e21f6046576972038da377e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/README.md": "bd82df5b39c6ff26b93f41ad76471ac50131050a3cc0f84dbc6c57703a721353", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/RESOURCE-TRANSFERS.md": "6fd2bc82714060290f29b218c235c171395cf9be99bea01f8a7fa770dadd68c7", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT-OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT534-PLAN.json": "221a38f18504e00da31a72a7b3a3f0d248e8f886d2b8fa7cae2d73e7ec86905e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SCREEN-RECEIPT.json": "ed60f7e6b0b86f4401ada159c0d37ee283836a0b5d1967f7b0a236685f64daa3", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCE-TRANSFERS.json": "e49fbbaa4533b6f15b56098c9d16ea3e1bc0cc98b19a2e990c51baad047e7839", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCES.json": "85448ef4fb1d124ef8bd2f0b14451ef522465b14510bba4e53fdd24da0968643", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/TWO-RESOURCE-TECHNIQUES.md": "8cc6b582680ae8565444abc01f1dba729c94a827f1f8e89192190229e52183f4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/WAVE-MAJORISATION.json": "c445afc50e594c46932d8d799b446edc22717e664d828d4afd7810c643576475", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/replay.py": "2e1f11b5702b831622cea8b386bb82043ef9e58b2a0aab56b09c00f30ac73046", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_complex44.py": "5533e9e29c66b11f8feb22a2d3d37551787200ea69eb3d04a984c0b1d22c49bc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/NOTICE.md": "b47da4b840ca9c8d1e2816359a603304ebd7ca442c82b94c049b00f142643f73", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/SOURCES.json": "c265f58b1ab29f9b662e9c5f943147ccc0527fb1f4803b06b48f71d96fa9bc60", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/PR523-ANCESTRY.json": "76025ad06d8ac96fc6693092d674729fea2f04b9c1c89ec50dba7488b8e6657a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/NOTICE.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/code/assemble_combined.py": "41216e8da3b647fe6eead9079858f25b2592cab090154aca43f3cc73ff36dc9b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/README.md": "f69ac71a8df62a5d0bf7ed45ad16642e1102faa9e7b95c03f08cdf264a608948", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/SOURCE-MANIFEST.json": "b91c0d923affac87ce0bad7083d4640758930f82628f042bed7aaccf528973cc", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/SEARCH-RECORD.md": "7b09479215c407e4258ef6af64c34dc865e3b9a60c845040258413a2a960f5b8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-RECIPES.json": "577a1be13f5140d9c3997637784b2f812f46b24c61877699430b02de4f662102", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-REVIEW.json": "cd48fe6882a39c57021c4614747cc5c2c88ec07e806cebb914cf533997b73d9b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/run_local.py": "8326e67400e5ff87580e93e4518efe397f1b29fffbb6d757a37e5f97c14c3695", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/DAG-STRUCTURES.json": "5461d7832386b2f7f3234b6786e148a7c49461d8527be5e76c8fe977783d9053", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-AVALANCHE-INDEPENDENT-REVIEW.json": "f084eaa33ea10fb0fe4d575f2abd503ad5dbdb2c03d2c8b6dd62fc5f387ae31c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-CODIM2.json": "2422fa6db50ca4b2e8226113aa30d608e7c6525990eb1faf370f9fee7718e698", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-ELIMINATION-AND-PATH-TRANSFER.md": "481001470bd22345a0baf652261351e015a2634b2572b0d4f78fa9e147edd0f9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SCREEN-REVIEW.json": "555024b7a90f8dbbb3f13623d504d36b3bc92dcf118f6f9ecaeff285ee13f2e5", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SOURCES.json": "69a578efa22c12688ef442498f8b1d901c7056f5f1948ac921e1dca0d2be305b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-SOURCES.json": "e01063a60b24b3b21f9c1d472d890bb387e61d66ab8847cbdab4b92f06e0f91d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-TRANSFERS.md": "1756461714ea55bd748d7245af14adf0a6a4e13a9bb7f498a381ec4282a30387", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PR-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PUBLIC-PINS.json": "273e48abf63a49123f11fb4e56f000c648aaa6d17987378b413469a5976e5ebd", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/COMPLEX-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/EXACT-ASSEMBLY.json": "4e7e5831683a1af861580a96db1fd717dc2a6fd01a29b220223868fb57d46e83", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/FINAL-RESOURCE.json": "b1463e5f7fe3663080e6021fea5424375538fabef942c7560cfed610f4242ef7", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/WAVES.json": "262d0fccc6e8ffb1198436034a26c467ad28b3251823ac25c966f773afc3c3cf", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-APPLICATION.md": "56eba06ba109c39ab9ce9eb9769c724f532c06d8ffbb2b53706b8294cb4f9711", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-REVIEW.json": "39e813d3c0f48a1a6317edac9ffb9ba5b534a62948708595e43fc2e790eda168", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-SOURCE-BINDING.json": "b7531fb284ee11e16b875d5f82237e025cfcd95593f3e3eca23cb5d3249eedf2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/audit_coset_paths.cpp": "47999863b7c5037754bf73cc94757095f45f6da510d7ce96fb7699e9188d89f2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/coset-path-input.txt": "779b497d52b6896a04f41d6c55424e65030a939945ca80858c369a3a3320a341", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/export_coset_paths.py": "f36c06ecff72e4a2fd83ed44467d528c976d52da3d5bd6e8043084b1568a7fd9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/CROSS-FIELD-PROOFS.md": "3d0a1b9ac989283400e7c1e3a025080a8f6837755baccdd55f5e51599ac0921e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/README.md": "cfd349a83f5ab3d5bb4268ef93b46b1e4542038fb76fe5e7123b8e5fae977de1", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCE-MANIFEST.json": "946e3fb8bbd4efbc771dda183de01a2bd9bc5aacc28dbb86a88edcdec960af2a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCES.json": "905c5860d9c920e41138e582c03010b2b03ee8bf071983ad737d2e57868f6857", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/WEIGHTED-COSET-SELECTION.json": "87c15240aaf48810d103ab3234689bb3ad58024d1b1c0b9106719fc18c5d1945", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/build_weighted_coset.py": "5face855c7e4fb8b6b3954bb20f6c0a662550ca7c6263a1a73c40c857816dd6c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/verify.py": "eb4bb8d1c6eaf5327c7d13fc20ebcf2ae2ecebff5b008d44fc1713a7b162084d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/verify.py": "66a20adaaac6850d3c8649f7ccc959cae19ba5bb17ee88a2b41fb1ceff68e431", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED.json": "a79dc7eec1301a69560a2e7fd6ed69634463272696ee96f09e15db1aad8ab0b0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED558.json": "1e922eef350748956f4cd785d7fc5f73297b0ed6f53b130aca2da29d26777c34", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/MANIFEST.json": "32d31fe49c9a4977b1fe83c72320940bff2dececbd8313787fbd81e188b5166a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/NOTICE.md": "02e74770785e31234d863b36ad2291e04267eaf32a4ba82f67cb1c804da1de44", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF-REVIEW-STATUS.json": "f54fcf048c5e24f5d3ccf308259b4b1b291b736e014fee81b4518980d358786c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF.md": "d5d498edc56fdef8c5798af7f5ec66948bd2f66c553b9efe366cdaab01bd3453", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/README.md": "74f5cd377861bdff57a2825b19ac6c2b0bb6aa62f3b0354c7ceec0a76866c61c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/REVIEW.json": "518fd773b1287c9be19563316f55acfa443667946d1f5bc7cc7b884bb9005094", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/SOURCES.json": "32e1466dd29be472e63e11e8ad76b228c0a1e3ec33596ce4319a64b89bd6d912", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-INDEPENDENT-REPLAY.json": "6db0dfeedce73cf9a6eb31bea0a499f06dc4961da40a60d91059bb9ab48fd73c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-PUBLISHED-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged311.json": "8a06db71ab002a9e080f0d60d22ee32a3a6a848a0cc633f37fc8fde22d21694b", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged314.json": "53142566b590fdde9258e36e6fe62991c2f39331fc2822bf0105f812e52d6aa6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-regression-final.json": "0c8bb51c2234a3190fab3e0e33187dee1bd4f2aab32483a69452366abb3b2567", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-COMPILER-LINEAGE.json": "db1e3390ade85f2299fc1ff0652e12fe1384c35bdcaf5c49e5403e4eb6b255b9", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-RECEIPT.json": "c121cb83baeeb950a42eac4bec73676119dd836386b822e03bf7820fa1bf5262", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-REPLAY.json": "b32113b56745cd5c142c982426ce31f0fe8d4f1a4ba219541e8c8befc69f017c", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged311.json": "fed5ee89ea9f6b3c3ffb150898fc95f9a057a0c598b18de6df59e66908342b2e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged314.json": "71251eee88024f14982a4e7328377f50eb9d04314f692b891b53b5911498e3c2", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXACT-ASSEMBLY.json": "c7495a6787f48a9c5184a00daa841f4a972e37c580c6ff3dacc07bd947914f99", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-INVOICE.json": "4ac060dbf2ea2624dd1f4bda23bdb81c0a3013dfe49b77c092b631885529947f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-OWNERS.json": "ecac65c65418641abf598db74d588ba8f53b3f358505bd31e215f09562922e3f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-BASELINE-ASSEMBLY.json": "9f5e050486c3c337793d09e4ce96769336a3653de0a3a84a77c39431cf062f16", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-EXPECTED.json": "6c16d41d9c10bc04c65b548ff34422ee2d90d63c37e9bdea4adbdf06fa959f44", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-INVOICE.json": "4b6977a049663ab958bd9a48c2864f7a7bddb26aef03e14f3068aede020ef76f", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-OWNERS.json": "0bcaa62bf4723672113f2acdc3ae30c6faa18e5aefa3992e0ec7dc46b9cdd552", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-RESULT.json": "81618cefc1df42f827d0a7da838b13b9167d3500ca5cd598963c3e09e62ceb4e", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/UPSTREAM-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-assembly.tex": "ccf34a6d37c4af14bebeab15be50ab204eb1caebe546385520050ec30089441d", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-complex.tex": "1c5b638aa9b75365b8addec9c8eeee6bc5e499722901079b94c65fce033fde8a", + "research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/verify.py": "6b444c686891b20b3a92385d025818fc86d9a6ddd2f77504d9223afaa47acd21", + "research/complex-k492-owner-repair/vendor/multicold/verify.py": "1a0e92f610f96a5e642310a2823b152cf573c0d1630b9c174fcc8388d1ffd2a2", + "research/complex-k492-owner-repair/vendor/structural_gain/MANIFEST.json": "eb0499a927665a48a25355075dcb7dc76d0fc43c67ea6d311d9e0242b6d4a25d", + "research/complex-k492-owner-repair/vendor/structural_gain/README.md": "b9132c6bfa65a6a1187ace1f42b938dfeb1d1c7544bdb4c56b0a47409e2822d2", + "research/complex-k492-owner-repair/vendor/structural_gain/frontier-composition/combined-prefix-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/complex-k492-owner-repair/verify.py": "dc069c48d1dce31fef2e567fa3ed81780bf07e00b39ac1a0761536e4a5c0b377", + "research/complex-k492-owner-repair/verify.sh": "7fa796bba785a108b681c7c558974c61d5900fbb5e41f2853053faedfb9d3f1f", + "research/complex-sw4-frame8/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/MANIFEST.json": "b9b39c206fcd2613382b0dcbda23a371e8781d1bedaf8e2f8e7df1e79dc1fa89", + "research/complex-sw4-frame8/NOTICE.md": "61b1e1d42b9e589979091cb2d44af2f4e1d9f71075b7bfc9dd7b5b9fb68c2aa5", + "research/complex-sw4-frame8/PROOF.md": "21d8ef267f9ee4c837bcbab0f659e5a8bbf16e0ee1e79e7775342d39c8c8dd7b", + "research/complex-sw4-frame8/PROVENANCE.md": "c7648719b01dd93af2c3a2c6e951a54711d13892dc4bd4339d16edb4c37c9bf0", + "research/complex-sw4-frame8/README.md": "9ae02da50779761637e34b6bc16556de82e97610a339ee9be0eb2e886cf842e9", + "research/complex-sw4-frame8/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/code/assemble.py": "bb32035aefe575da3335da4e907553e2e6fdca0a0f997db569cab651c2ddb008", + "research/complex-sw4-frame8/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/complex-sw4-frame8/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/complex-sw4-frame8/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/complex-sw4-frame8/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/complex-sw4-frame8/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/complex-sw4-frame8/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/complex-sw4-frame8/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-sw4-frame8/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-sw4-frame8/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/complex-sw4-frame8/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/complex-sw4-frame8/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/complex-sw4-frame8/comparison/GEOMETRY.json": "2fbd5e24c217cc322fdda14ece627589be1fd6831444838db58901462938c090", + "research/complex-sw4-frame8/comparison/PR699-SPEC.json": "56eb544289c8bc4314bf1bb6cc00883f132f5c46b92c61bcc84488943b48a615", + "research/complex-sw4-frame8/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/complex-sw4-frame8/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/complex-sw4-frame8/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/complex-sw4-frame8/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/complex-sw4-frame8/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/complex-sw4-frame8/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/complex-sw4-frame8/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/complex-sw4-frame8/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/complex-sw4-frame8/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/complex-sw4-frame8/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/complex-sw4-frame8/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/complex-sw4-frame8/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/complex-sw4-frame8/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/complex-sw4-frame8/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/complex-sw4-frame8/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/complex-sw4-frame8/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/complex-sw4-frame8/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/complex-sw4-frame8/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/complex-sw4-frame8/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/complex-sw4-frame8/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/complex-sw4-frame8/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/complex-sw4-frame8/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/complex-sw4-frame8/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/complex-sw4-frame8/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/complex-sw4-frame8/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/complex-sw4-frame8/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/complex-sw4-frame8/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/complex-sw4-frame8/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/complex-sw4-frame8/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/complex-sw4-frame8/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/complex-sw4-frame8/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/complex-sw4-frame8/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/complex-sw4-frame8/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/complex-sw4-frame8/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/complex-sw4-frame8/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/complex-sw4-frame8/data/EXPECTED-IDLE.json": "2d382c518e56daf26a41e28dcd169f4e7d3ce64a67bc281b395ce367ffb06e86", + "research/complex-sw4-frame8/data/FRAME-RECIPE.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/complex-sw4-frame8/data/FRONTIER.json": "70f211bb048cf19b7d50868fda830145d4073edb2eeedba89d77367129b3bb9f", + "research/complex-sw4-frame8/data/OWNER-CONSTRUCTION.json.gz": "bd3efa32765b30a2e18d113186d4ac94dfd3d080f6499731826f054246cd8f1e", + "research/complex-sw4-frame8/data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "research/complex-sw4-frame8/data/PLAN.json": "b94744674847a9f411a1072521754c605518971a6a96fead1eb3b479eb6455b2", + "research/complex-sw4-frame8/data/SPEC.json": "7fc2bd2e3c0ac13729c1fa1f0f327a4eb7c72373ba58e5ed3954b30e23c803be", + "research/complex-sw4-frame8/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/complex-sw4-frame8/extras/build_frames.py": "a1e6530849499a812d4be2b920f4afe60e55c4a1ecc08f62849d2a3eae882019", + "research/complex-sw4-frame8/extras/check_owner_map.py": "6be8d8bc9ca09a195b25f3ccdfb9ada0d129d4cc7900ad5a26832dd8ae7809a4", + "research/complex-sw4-frame8/extras/exact_intervals.py": "aa3c2327c5d3742248b720a87b2de0bbe2e34ed2af89a578e3c8d5bd2656a9cf", + "research/complex-sw4-frame8/extras/frame_controls.py": "47d2f85df2317290687ee44eeb27526649d17a6cc2dba365695647a3cbc42a98", + "research/complex-sw4-frame8/extras/replay_owner_map.py": "8cab5bb2650e3caf1036aed0197663bf26b41c2fa645f732c3c7bfe3f1e2b481", + "research/complex-sw4-frame8/independent/README.md": "5d7bb5bde9710aa266a581b8d2938202b9302a05b47252faf8b1ca9a1e3bdd6a", + "research/complex-sw4-frame8/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/complex-sw4-frame8/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/complex-sw4-frame8/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/complex-sw4-frame8/local/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-sw4-frame8/local/cold_end_controls.py": "6f8cfe711aea1d688c255a1f1c158d94aab8ce4adaa526113d58ca58db87078c", + "research/complex-sw4-frame8/local/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-sw4-frame8/local/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-sw4-frame8/local/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-sw4-frame8/local/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-sw4-frame8/provenance/ADMISSION-DIFF.json": "a16ae3d0757c085212b83600163c9ca2304dbb4c86f489b654d95a66af75509d", + "research/complex-sw4-frame8/provenance/SOURCE-FILES.json": "065a87bcc51c0926666abe981c3a65ddb593fe1e6e315787927523683982dcdd", + "research/complex-sw4-frame8/provenance/upstream-gauge44/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/complex-sw4-frame8/provenance/upstream-gauge44/NOTICE.md": "54305e39f346f658d49fe5a1e0938402ac0977a72f21c92557d887da592ec047", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-BIT.md": "1e2167a0cb69a7be7a5c98e6e5b270b4676d6c0ac209ff29e06e40507f2c9544", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/complex-sw4-frame8/provenance/upstream-gauge44/PROOF-NOTE-PROMO.md": "58bc7e022950dde32252d8dd2cbc90bb44f9b7af1f03551a24d2d3a210e0d39b", + "research/complex-sw4-frame8/provenance/upstream-gauge44/README.md": "51416917014fa57205a86f03aba38619ac10d54f5a07e5015bf13e1c1fc9ae07", + "research/complex-sw4-frame8/provenance/upstream-independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/complex-sw4-frame8/provenance/upstream-independent/GAUGE44-INDEPENDENT-PRICE.json": "f5d1a19acc6cc5f6676f68ba60378b4a01841e54f015a8d6c18f7439093da268", + "research/complex-sw4-frame8/provenance/upstream-independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/complex-sw4-frame8/provenance/upstream-independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/complex-sw4-frame8/provenance/upstream-pr699/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/complex-sw4-frame8/provenance/upstream-pr699/NOTICE.md": "93f803ee9ae9d2f02801cf79335ff1731b71bd82b6b6d0bfc9a1130c1543b63c", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/complex-sw4-frame8/provenance/upstream-pr699/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/complex-sw4-frame8/provenance/upstream-pr699/README.md": "f320dece84ea669dbe25f59ff14fa32b6c4d9c2cbddc0890a7fce9e5da16e2de", + "research/complex-sw4-frame8/provenance/upstream-pr699/SOURCES.json": "12eb983afb500a57c42e8f22f99d47453d39d1128a0b797e3d684fc7e544f5f5", + "research/complex-sw4-frame8/provenance/upstream-pr699/historical-FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/complex-sw4-frame8/provenance/upstream-pr699/historical-PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/INTEGRATION.json": "5c14538134dfffbc58fa4b4d2f26b270ec5f56d17d4bf23752c82964f45171db", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-sw4-frame8/vendor/main/research/community-k492-audit/pr622/replay/baseline558/complex-global/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/direct_delivery/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/MANIFEST.json": "fd30701bd9bd652985db18fa95bee08a34615ef417a2feb2f55efd60a0b5d665", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/NOTICE.md": "ba2267f17bb2cad9dc706565c359fec98d6ec0feb3b32dcfb8c3277c59cbf8fe", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/README.md": "1b2679bed02b9563e6f3a9951eef2cc5057444a78bf4aa7ab89d1ad83330e3e4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/SOURCE-PINS.json": "240e8ee75336e921663a0057f450b346bac305d2af4ffacef68dec1798d9bb85", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_joint_prefix.py": "c01836709f3650a39c46418ac1771980b4b96288e60b51032b5d31419e484c37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/code/build_joint_prefix.py": "d7804669e528b6fd8d80195a4a2e76efac9bc67440b82c73973f4bc9fe273783", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/data/EIGHTCOLD-JOINT-KERNELS.json": "0381935d8d162eb48044bdf7e36a42af761f6d4032509b9b397ca02d3134f585", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/joint_prefix/data/JOINT-PREFIX.json": "0fddbd3f482b72a5197eacd75abe192e1d92f83aa2cde33a76dbc7be1682bcf2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/SOURCE-PINS.json": "503764cd70c99a9652ec51a533c31ad7f2a615e6c230156d785daff2835cf028", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/assemble.py": "3fedbccb09d469f8ee366b4302e51448de6d25793a78a12c5f9a8d9667a755eb", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/assembly_controls.py": "a0f2349ba8fe8404b8b76c869f12dd7e250a775b2e05b3c9c00e6889ad4c8a45", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_allcold.py": "7950e5c01488a9146bdbaf19ab4fd0c33cd25a4d63fb56ef995ef2e45ac7ec1a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_kernel_controls.py": "5100459211f43ba048bf82c3942bbedb8b224272b24722a14f0dcd808a38aafa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/bind_providers_portable.py": "01e62fee1f1dcf1b7b34338d555dacd5cd1d7d10d6b9a605d0913d959f8c7ecf", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_cold_kernel.py": "aa556a1988f7d4c52bd82fd2a648769f7094bd75ba79582c15ec441d710e213b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_four_portable.py": "417b1dc4dca485dfbbaa820e552cae9bf3932bbace6ea16ce93aa0590c3c184e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/emit_allcold.py": "9d6c75af63fa8f53973734ccb1eef983511f4337ce644436a693fd8fb9ef8fe2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/invoice_allcold.py": "ff8fee775ad97926454f3ad1183f8e05de654e276150e579ce612f3eb2f98d44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/phase_timing_controls.py": "dcc4adfd139d6f65a88bdc6d183ea3777d4e4f688d2169dd41b54964f05591bb", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-COLD.json": "089617bdc33fd9f27b7fc8e9ae9e01c8e65a86a57c4b6f180f4f378f3f0e6160", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FOUR-COLD.json": "643e07c25dac93ce1fe67532e377f9f1cf8c7bb83835abb3fad63c9c51514736", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/FROZEN-FOUR-PROMOTION.json": "90417f8d54ea9272bb5041ed9144a58dcbc194a22dd0845e7de89d4b717f1b74", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/OWNERS.json.gz": "93349ec85f21811b5b247980f9fc4d8161100d5ee37bce7fda5ef65d0370240b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/PLAN.json": "35a95fd9b5e46fdaf8a3929d516fa8c14dd4e3bd9a20eb546e0541a8ef85ff51", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/ZERO-COLD.json": "ea1cda1578464399077bb96e5c3c3d01e88ba5eeaa6c22d3b66ef4380bc3b820", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-EXACT-FRONTIER.json": "55050dbdc1ffa18b3cc1f9b8b94f7de7a04a39f65efbbb890de2e73db837ee38", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-OWNER-RECEIPT.json": "cf9992773c9ae4523dbc7f71753d7ecfa515618d7c2ab414b60d53887f518a30", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/EXPLORATORY-PROVIDERS.json": "59196e2c93f4fb8fdbe74bd16d60242a3534eb5bb8c810fc29635ab0e65bd08f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR561-NOTICE.md": "180802791d3547d511a7af8bc4f800640abd72636d50631d2e61b35cfa17627d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NATIVE-TRANSFER.txt": "f4ceeb2a412c9ec3f3bc06a78cf865e5fdb7c1080421ec5285ba02d04418eb37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PR562-NOTICE.md": "a427502077fceaaffc7d44bb8520562160d0d76e4cb08c2b10337e62d8987fae", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-ALLCOLD-NATIVE.txt": "ca7a8b3f3fa6d3610ef9518c71d5186427ccf2b2bdf3511be84a6b2d7bbb1e25", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/proof/PROOF-REVIEW.txt": "0a807ea2c5fec29cbf994f94bd5a388914fb31de02dba03d18265040044c0dc6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/MANIFEST.json": "f28c04eecbea7599fa9e0867dd8d0311a463af12cab79f90a43733b162527164", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/NOTICE.md": "fa76079e2566b8d644c4aa36cb1034aa2363d2e97978b26203f122d826918fce", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/README.md": "02181c5ff31cd1c2899608e5ab598b405df92ad5814df35f329d117956f7ee10", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/SOURCE-PINS.json": "b09437400a7f6f0dc86eee0f800aae91cd35a7e5e80eb3d348f87113a0bd0d76", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assemble.py": "5d4946dcad7636bf2119bb7bc3a52ceb41454c1514d12cb77def2c2e02b17338", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/assembly_controls.py": "f3d703a63404bd655e66a520b3840a4ab72529751664eb634a52736b4bc95a29", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/audit_promoted_scalar.py": "1994e7116065636b53bf740000ff78dce8ea62390e597d293d183f33c67eaa6d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/promote.py": "b69a27d53ec3f64ccbdbbd79f9632419f273b3eb4429f6cdec1315fd8798750c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/reconstruct.py": "e56d57d39cf787b8325de5a97dbc283f89d51c24169efae9ad2227277a6f8243", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/OWNERS.json.gz": "c72892f5b3b36e75ec4db7742b046bd9194f638ff32be9cc8843914af950e6dc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PLAN.json": "8e64bb8a1a8f87998479316f4111801cb3eb1e64f898b7e577eebd72a460f844", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/data/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/ASSEMBLY-PROVENANCE.json": "cf1710faaf5d4aa32e6a8a24b0087cdc24e5b680d974e5dd4e0cb4ef4787e395", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/CONSTRUCTION.md": "9b0617dee9c044488b2f72b50059dd8d768f6ee0a29c35fe2cfdde85d25cdbd1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/EXPLORATORY-SCALAR-8-CONTROLS.json": "c0465364067e6392fa0d7e4cd0481a82afebe3e271b486a4984e7b2826025146", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/proof/RANK5-CAPS.json": "461ebc6c8816a0132c89a54c2ae56b07f31500bcb2c2bebfce783eb41bc29441", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/MANIFEST.json": "b0f5773b3ffa2c5305dade20ce6159cb8b5961285d2f7bc767c6353838bac4d3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/README.md": "79cc63fc45ea52c04f32555676704a1664a3eafdd917b25689b1acd390a4636d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-avalanche80.cpp": "0215152bd3ddf0282c8088843c4e8a89e821e747f884e03100fe79238b3061db", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/alien-flags.cpp": "0bd6ac192357ca71f6b84baf50efdc43fccc8394296c35a298b35306db7d88a3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/assemble.py": "bf878beb64edc6bae4c321d7c964088c4d9aa0ae477597ac1adbe2b1078e3904", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/code/build_wave.py": "249669d046db49011b84345a14ec05a93270829e5e21f6046576972038da377e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/README.md": "bd82df5b39c6ff26b93f41ad76471ac50131050a3cc0f84dbc6c57703a721353", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/RESOURCE-TRANSFERS.md": "6fd2bc82714060290f29b218c235c171395cf9be99bea01f8a7fa770dadd68c7", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT-OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SAT534-PLAN.json": "221a38f18504e00da31a72a7b3a3f0d248e8f886d2b8fa7cae2d73e7ec86905e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SCREEN-RECEIPT.json": "ed60f7e6b0b86f4401ada159c0d37ee283836a0b5d1967f7b0a236685f64daa3", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCE-TRANSFERS.json": "e49fbbaa4533b6f15b56098c9d16ea3e1bc0cc98b19a2e990c51baad047e7839", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/SOURCES.json": "85448ef4fb1d124ef8bd2f0b14451ef522465b14510bba4e53fdd24da0968643", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/TWO-RESOURCE-TECHNIQUES.md": "8cc6b582680ae8565444abc01f1dba729c94a827f1f8e89192190229e52183f4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/WAVE-MAJORISATION.json": "c445afc50e594c46932d8d799b446edc22717e664d828d4afd7810c643576475", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/replay.py": "2e1f11b5702b831622cea8b386bb82043ef9e58b2a0aab56b09c00f30ac73046", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_complex44.py": "5533e9e29c66b11f8feb22a2d3d37551787200ea69eb3d04a984c0b1d22c49bc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/NOTICE.md": "b47da4b840ca9c8d1e2816359a603304ebd7ca442c82b94c049b00f142643f73", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/SOURCES.json": "c265f58b1ab29f9b662e9c5f943147ccc0527fb1f4803b06b48f71d96fa9bc60", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/PR523-ANCESTRY.json": "76025ad06d8ac96fc6693092d674729fea2f04b9c1c89ec50dba7488b8e6657a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/NOTICE.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/code/assemble_combined.py": "41216e8da3b647fe6eead9079858f25b2592cab090154aca43f3cc73ff36dc9b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/PR510-EXPECTED.json": "19b861f69f7602e47b390d472b487d044bff4230b250520807537c213ad0249f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-global/vendor535/inputs/ROUND20-PARENT-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/README.md": "f69ac71a8df62a5d0bf7ed45ad16642e1102faa9e7b95c03f08cdf264a608948", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/SOURCE-MANIFEST.json": "b91c0d923affac87ce0bad7083d4640758930f82628f042bed7aaccf528973cc", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/apply_syndrome.py": "496a91b9da15ef56e6df28a0459ca8318a4575441c7921e113bf636f31e3c5d8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/port_frames.py": "8d25abc9c45c58a5b893e67f9abec3a660e8d7f743e86959f2d2fd62037e23d1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/OPENAI-SOURCES.json": "1a9c08d0c0190f0280c02e74c8a144f802efe2d7d8eb3a0b50b181d6dca686cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/SEARCH-RECORD.md": "7b09479215c407e4258ef6af64c34dc865e3b9a60c845040258413a2a960f5b8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/docs/TWO-SOURCE-PROOF.md": "4d6423f773ec47d2eea984e02f11f2d636e02ad3e6f3eb3e640a3768fa04fe75", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/PR534-WORD.json.gz": "a275792cb9f5729fac295cb04c556afbaa4513945c517190219fd0e44ab90095", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-RECIPES.json": "577a1be13f5140d9c3997637784b2f812f46b24c61877699430b02de4f662102", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/inputs/phase-baseline/CLIFFORD-REVIEW.json": "cd48fe6882a39c57021c4614747cc5c2c88ec07e806cebb914cf533997b73d9b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/run_local.py": "8326e67400e5ff87580e93e4518efe397f1b29fffbb6d757a37e5f97c14c3695", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/META-SOURCES.json": "c8aeb9313f2c671a9a8766c249ceb6cffa106dfdab3ab761da8e8c534b115090", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/PROOF.md": "abfa6548b223893866094631aed61174575dc1b17bdd60627b2c55e6b9477e4f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/README.md": "51d6ef7ad3e12e72daf29e0260a11cd985a0148fe1efa0574a533dae726c553c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/RECIPE.json": "8735ac9beadff3edcb4a4df8dae174415e0f83d9b4df8556c33ba7fd777505fa", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/SOURCE-MANIFEST.json": "4f5d92b4cd76eff0845a9f14d33131441535a232b5c91f00535aa076d44c45a8", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/build.py": "b15192ff50fd99f5ca3cb5857b5e129c98a212de60ae76aafb1614139743c35a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/BASE535.json.gz": "edfffb8e8735e0d1f07c81d818022b705ef0889c2bccc193a2f7a661b9f7d390", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/OLD-RECIPE.json": "7e5c179246261edd9e1019e81e6e979537f02559da773b993a318f771cb7d763", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/inputs/RAW504.json.gz": "1c6144791dbedf6427e3ee7b4c24fb05b5bf407f6346592f50f8dd8d9638108d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/complex-local/static44/replay.py": "fd1ce7d1f8974b473aef8c6cec1e0c590e01d0d215b073e5573a771ce42fc74d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/DAG-STRUCTURES.json": "5461d7832386b2f7f3234b6786e148a7c49461d8527be5e76c8fe977783d9053", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-AVALANCHE-INDEPENDENT-REVIEW.json": "f084eaa33ea10fb0fe4d575f2abd503ad5dbdb2c03d2c8b6dd62fc5f387ae31c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-CODIM2.json": "2422fa6db50ca4b2e8226113aa30d608e7c6525990eb1faf370f9fee7718e698", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-ELIMINATION-AND-PATH-TRANSFER.md": "481001470bd22345a0baf652261351e015a2634b2572b0d4f78fa9e147edd0f9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SCREEN-REVIEW.json": "555024b7a90f8dbbb3f13623d504d36b3bc92dcf118f6f9ecaeff285ee13f2e5", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/ELIMINATION-SOURCES.json": "69a578efa22c12688ef442498f8b1d901c7056f5f1948ac921e1dca0d2be305b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-SOURCES.json": "e01063a60b24b3b21f9c1d472d890bb387e61d66ab8847cbdab4b92f06e0f91d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/FRAME-TRANSFERS.md": "1756461714ea55bd748d7245af14adf0a6a4e13a9bb7f498a381ec4282a30387", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PR-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/docs/PUBLIC-PINS.json": "273e48abf63a49123f11fb4e56f000c648aaa6d17987378b413469a5976e5ebd", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/COMPLEX-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/EXACT-ASSEMBLY.json": "4e7e5831683a1af861580a96db1fd717dc2a6fd01a29b220223868fb57d46e83", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/FINAL-RESOURCE.json": "b1463e5f7fe3663080e6021fea5424375538fabef942c7560cfed610f4242ef7", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/evidence/WAVE-REVIEW.json": "ef97172e5020ce4158f7c8144a0b0b3d16b94d7c0415e2d33a81f02353d3d506", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/inputs/WAVES.json": "262d0fccc6e8ffb1198436034a26c467ad28b3251823ac25c966f773afc3c3cf", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-APPLICATION.md": "56eba06ba109c39ab9ce9eb9769c724f532c06d8ffbb2b53706b8294cb4f9711", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-PATH-REVIEW.json": "39e813d3c0f48a1a6317edac9ffb9ba5b534a62948708595e43fc2e790eda168", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/COSET-SOURCE-BINDING.json": "b7531fb284ee11e16b875d5f82237e025cfcd95593f3e3eca23cb5d3249eedf2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/audit_coset_paths.cpp": "47999863b7c5037754bf73cc94757095f45f6da510d7ce96fb7699e9188d89f2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/coset-path-input.txt": "779b497d52b6896a04f41d6c55424e65030a939945ca80858c369a3a3320a341", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/optional-audit/export_coset_paths.py": "f36c06ecff72e4a2fd83ed44467d528c976d52da3d5bd6e8043084b1568a7fd9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/CROSS-FIELD-PROOFS.md": "3d0a1b9ac989283400e7c1e3a025080a8f6837755baccdd55f5e51599ac0921e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/README.md": "cfd349a83f5ab3d5bb4268ef93b46b1e4542038fb76fe5e7123b8e5fae977de1", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCE-MANIFEST.json": "946e3fb8bbd4efbc771dda183de01a2bd9bc5aacc28dbb86a88edcdec960af2a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/SOURCES.json": "905c5860d9c920e41138e582c03010b2b03ee8bf071983ad737d2e57868f6857", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/WEIGHTED-COSET-SELECTION.json": "87c15240aaf48810d103ab3234689bb3ad58024d1b1c0b9106719fc18c5d1945", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/response/build_weighted_coset.py": "5face855c7e4fb8b6b3954bb20f6c0a662550ca7c6263a1a73c40c857816dd6c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/vendor/pr552/verify.py": "eb4bb8d1c6eaf5327c7d13fc20ebcf2ae2ecebff5b008d44fc1713a7b162084d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr558/verify.py": "66a20adaaac6850d3c8649f7ccc959cae19ba5bb17ee88a2b41fb1ceff68e431", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED.json": "a79dc7eec1301a69560a2e7fd6ed69634463272696ee96f09e15db1aad8ab0b0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/EXPECTED558.json": "1e922eef350748956f4cd785d7fc5f73297b0ed6f53b130aca2da29d26777c34", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/MANIFEST.json": "32d31fe49c9a4977b1fe83c72320940bff2dececbd8313787fbd81e188b5166a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/NOTICE.md": "02e74770785e31234d863b36ad2291e04267eaf32a4ba82f67cb1c804da1de44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF-REVIEW-STATUS.json": "f54fcf048c5e24f5d3ccf308259b4b1b291b736e014fee81b4518980d358786c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/PROOF.md": "d5d498edc56fdef8c5798af7f5ec66948bd2f66c553b9efe366cdaab01bd3453", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/README.md": "74f5cd377861bdff57a2825b19ac6c2b0bb6aa62f3b0354c7ceec0a76866c61c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/REVIEW.json": "518fd773b1287c9be19563316f55acfa443667946d1f5bc7cc7b884bb9005094", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/SOURCES.json": "32e1466dd29be472e63e11e8ad76b228c0a1e3ec33596ce4319a64b89bd6d912", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-INDEPENDENT-REPLAY.json": "6db0dfeedce73cf9a6eb31bea0a499f06dc4961da40a60d91059bb9ab48fd73c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-PUBLISHED-INVOICE.json": "a21fd7e02d3001b1e8065e9eb6084d80e1f64c44035733ed1115a38675a01fd0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged311.json": "8a06db71ab002a9e080f0d60d22ee32a3a6a848a0cc633f37fc8fde22d21694b", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-packaged314.json": "53142566b590fdde9258e36e6fe62991c2f39331fc2822bf0105f812e52d6aa6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR552-regression-final.json": "0c8bb51c2234a3190fab3e0e33187dee1bd4f2aab32483a69452366abb3b2567", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-COMPILER-LINEAGE.json": "db1e3390ade85f2299fc1ff0652e12fe1384c35bdcaf5c49e5403e4eb6b255b9", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-RECEIPT.json": "c121cb83baeeb950a42eac4bec73676119dd836386b822e03bf7820fa1bf5262", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-INDEPENDENT-REPLAY.json": "b32113b56745cd5c142c982426ce31f0fe8d4f1a4ba219541e8c8befc69f017c", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged311.json": "fed5ee89ea9f6b3c3ffb150898fc95f9a057a0c598b18de6df59e66908342b2e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/evidence/PR558-packaged314.json": "71251eee88024f14982a4e7328377f50eb9d04314f692b891b53b5911498e3c2", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXACT-ASSEMBLY.json": "c7495a6787f48a9c5184a00daa841f4a972e37c580c6ff3dacc07bd947914f99", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-EXPECTED.json": "00c462828be76f6d65c1311ad9ef102f18f088029e039cffa599eaeb41668fb6", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-INVOICE.json": "4ac060dbf2ea2624dd1f4bda23bdb81c0a3013dfe49b77c092b631885529947f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR552-OWNERS.json": "ecac65c65418641abf598db74d588ba8f53b3f358505bd31e215f09562922e3f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-BASELINE-ASSEMBLY.json": "9f5e050486c3c337793d09e4ce96769336a3653de0a3a84a77c39431cf062f16", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-EXPECTED.json": "6c16d41d9c10bc04c65b548ff34422ee2d90d63c37e9bdea4adbdf06fa959f44", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-INVOICE.json": "4b6977a049663ab958bd9a48c2864f7a7bddb26aef03e14f3068aede020ef76f", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-OWNERS.json": "0bcaa62bf4723672113f2acdc3ae30c6faa18e5aefa3992e0ec7dc46b9cdd552", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/PR558-RESULT.json": "81618cefc1df42f827d0a7da838b13b9167d3500ca5cd598963c3e09e62ceb4e", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/inputs/UPSTREAM-LINEAGE.md": "2ec1c9b1f25e2f3d2556bee7369069ec2340cf126b54fa112e0bff9e269ef0e0", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-assembly.tex": "ccf34a6d37c4af14bebeab15be50ab204eb1caebe546385520050ec30089441d", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-bit.tex": "47123a756f823c83a0d48cca2bf5add6472cd88410b13aed345e70c8834fb511", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/notes/three-stage-cover-complex.tex": "1c5b638aa9b75365b8addec9c8eeee6bc5e499722901079b94c65fce033fde8a", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/vendor/pr559/verify.py": "6b444c686891b20b3a92385d025818fc86d9a6ddd2f77504d9223afaa47acd21", + "research/complex-sw4-frame8/vendor/main/research/complex-k492-owner-repair/vendor/multicold/verify.py": "1a0e92f610f96a5e642310a2823b152cf573c0d1630b9c174fcc8388d1ffd2a2", + "research/complex-sw4-frame8/vendor/main/research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/complex-sw4-frame8/vendor/main/research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/MANIFEST.json": "faa8559bc062cb1813c482580967de2de0669ee59e708908fd24b16b74d6c707", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-COMMUTING-PREFIX.md": "59899b2a1a76d88275e57f983c0aea391dc2c7f1d2d66c33b92429be0a1cf5e1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-NOTE-R.md": "22312bb347bdf159e6a01a45c47675e6170d33b258e2fd9ed52aee88fb92c0ed", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/PROOF-NOTE.md": "e79d0920228107083be166a6733186816a38a8fa68d99f2038f07b157ea5690e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/README.md": "d74a9499a23a729d3470bde7b06b85c4cf8602d06d10af9bf9991aea2da8ed7e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/assemble.py": "1b1a9024ac910dc9b9d9e30150684e1fa9cb228a4c1c275b75ab04b57fdef1dd", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/assembly_controls.py": "8a365b95c412d75d10db5bb59309d47cd56c5f8a77566f940a05977795130ce8", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/audit_allcold.py": "cea021ae79658ca7ca4d07f1e1a70bdb4947afaf95b362114c11032c0fef889a", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/bind_providers_portable.py": "2eb5c262bf481b3bec9ceaec654fa46ff6fc3a89b13d4906a29a55a89e35feea", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_cold_end.py": "864b4701dd73afd0c9d99761b7a749f3354c48985730f17054e18c052996a668", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_frame_regroup.py": "e2549ccc7a90008831be3b59aeb37b47db696640f5f5c2b72dd888b2f1e7e5c9", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_gate_moves.py": "08bf1c2652307aeefbab089fdaf02f82e2c396ca23a1eb68e294a67e74c44252", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_hpe.py": "ba2001695d8c7547a82260c3b016e01dac686e95a61757ca124eb9879078ea8e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/build_port_stage.py": "beb0d30fde1b9a30db091880b38c4a8ec906da3f715c43de7db8bf7932526e72", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/cold_end_controls.py": "0c404f49e90457520f1788ee6741c9ac154a5814c54ad6cb83b59c44552ebc84", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/construct_k_triangle.py": "66fc460df8eb8067efe3d8a3f9e97a7244aacd7bf11650a6ce656e868ce053da", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/emit_allcold.py": "fe26f10fe5d30ed407a37540a45ef94f44576dd241d09e19aef5db1efb072746", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/generated_identity_controls.py": "a7b93207a673575d1fddc3e579153349c145c8f08d4575ae0a5d1e3cffec01de", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_adapters_local.py": "eb0b5c6c7161e18dc22168da3211448d321586edd15bcfb4b4741174d36993cf", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_audit_and_transport.py": "c9a05ff291016b870b4fc925b317abd9c3a604c73ffc8920dfdbbeb475e20aa3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_audit_local.py": "6bd9a1e279c9c9e4f3767d9f82e537b559292906feb2ddab02f380fb6523a810", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_controls_atc.py": "63aa3909b5bfd3bf270c313bebb5c46e7789c67a8f2439f568bc4b2b4a35d17b", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/hpe_emit_local.py": "7e4a6fbc38c8228157b6311457d1496bf460291393043932d2c365f004f77805", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/phase_timing_controls.py": "1692ccee3da4b1781408d126ee4999f3e31a505cd83c64823a404033da3a6339", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code/witness.py": "00789c911a8f32cfe9d52207c7aa78305dc3fce4a8b6305ba402b7e74117103d", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/EXPECTED.json": "9eeb8b149bf7649a47b0d3266436b9bfe0ba155ffb9668fa66cfa21136f9b8ed", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/OWNERS.json.gz": "935ff1a6823c6625daba3349b28d74acf9a3d70a5947ae155aa66c7821804add", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/PLAN.json": "258a8b9baa245fa4096828671e2f1d1462b5af08d56890629622ef6125eaddda", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/SPEC.json": "f5473e3e6d76901bca57616efda78c3e23b3d30aa2c05acb656b6e87c38abbff", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/TRI-SCHEDULE.json": "94da9d5575f5b237097a77ac7dd09aff594322dd9c35138bfd34ffc5e1a7a51e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/WITNESS.json": "05f7127910a846210d8c75d67c58185b7cd15b9861d71d0cfea955ae62414436", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/cand.json": "f1f42cb6f1f272ca3690e65fe604c18427dd9ac51241095c133bf97af21d32e3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step0-promote.json": "9a7cafdf9b600ba43985c83969b75151f665b98f454afc1494b9f9ef3dd3916f", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step1-greedy_kernels.json": "c4bc67f329fc22e226f26bbbf7e67018a639823d99fccfc5a1e798a7a82db43f", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step2-frame_coalesce.json": "e6d7ea259a542f2b43a857998f677db4d68f8f36335e98a030bc91ab38ce758c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/atm3-step3-gate_move_coalesce.json": "3a6b8fec6c8b56a45bf8fae683083636fa295a8914ffa68d11b1f78ba3a2eb9d", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step0-greedy_kernels.json": "c839199d0e6f8e976978fe97bc0c5579a65ba69dfb6864585b448cccc1113056", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step1-frame_coalesce.json": "0c8e5991e1338f03b837814dd060d4dd598c324e3538ee510913e0444a384ee3", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/ck-step2-gate_move_coalesce.json": "1f5b62c76915b1b8bbcf63b42dcbd87a536c34d3721c4a9b68e651404717bf00", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-cold_end.json.gz": "a25ccab0c024aa9512df822032fca11683def03d0886b58f375c42834264c47c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-frame_regroup.json": "8d880d3d8e795575a3a3428e0031b2c45831eea512dc32cb99f7eae9e6e49e5e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-atm3-hyperplane_end.json": "30504ae76a2387677f05450d23413c7373c08ae2d9d171b2f4597bb63e294631", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-cold_end.json.gz": "9f487a0c6e89f6f3aec38726c3a4e514ffe1248ce6cda3704676f2c86ad0866c", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-frame_regroup.json": "9894f9c93e931b61cf34b337c4b257a72bb1d06fbdc4e8b02368e6e29ab2b644", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-ck-hyperplane_end.json": "c71c2b05550544c29ebb4696e63cffc44d6daa76f1bc25e9c7c97e994b2c7657", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-cold_end.json.gz": "90952fde4666724f783191d92f132e9f6aa84cdc6163a42974774e9957cd6f35", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-frame_regroup.json": "9bd347334de643f29865290be1ed37289f9cae6cd339547ac89b45fa7aaee65a", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/recipes/k492-jp8-hyperplane_end.json": "e4d4dfd83d0c64cb0a8ee8c8bbd95d0510ee68699859e568fe201cd6f8d250c1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/DISPATCH.json": "34f233d4976e59455c3f0e1fa6edef8091d04bf63e4268aeb4a73810bfd5e338", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/LP-PATTERNS-AGG.json": "5a1e2c3f7784cff71d4577e29d7a598a41198dac20aa35d5c87bb345d12f3e03", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/LP-PATTERNS-EX.json": "08dd7090b5fda8b0a2c936c12982b279333c5765cfd090361a58e74d68b22e80", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/TEMPLATE-PLAN.json": "1879679a44b373006907cbca8261a9cd187c7b868472afab04e002bf95331d9e", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/WARM-OWNERS.json.gz": "56aac182713cba7627b7ebfbb497975b5a7c76b9da9f835a1cb63192fc6134a4", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/data/search/WARM-PLAN.json": "89539c2b5d24225613c0ceb571a03a2165bcaf0a0bea06986e212649cbfef9e1", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/verify.py": "4c8dea601fe9255bd9fbbf7840d3bfacc3dcf0b1deaf7ffab467e3c10648a3b7", + "research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/verify.sh": "18cf93f64fa5b7301f837950df181cf08ee8c3efe1b3fb6803354549a7462618", + "research/complex-sw4-frame8/verify.py": "7706065e3d2934ea493910638b40e6285348d337507e0fb695d8d1e536926637", + "research/complex-sw4-frame8/verify.sh": "51474403117d5ab4d6afe6dada67d9af6654964dc03aeaed8716ec15dfc0b1eb", + "research/complex-sw4-frame8/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/complex-sw4-frame8/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/complex-t21-owners/DEPENDENCY-PINS.json": "7c47d44e8d5c24aa80afc70724e7c0381fec57ef80d085d2ee4611726a0f1254", + "research/complex-t21-owners/MANIFEST.json": "663a4300ec3abe2278ac6c8e49dd13dc58694c33bfadaa278c5406539e113a31", + "research/complex-t21-owners/NOTICE.md": "91fffbebc4bb0f3c1e4e81f239d3e7c44400c1f001a6fd5120572017bfb598f7", + "research/complex-t21-owners/PROOF.md": "78721b32fceb34b21b8e77c95381c38c60276e72e6d9c2e9c6262cb347457def", + "research/complex-t21-owners/README.md": "7d09210953f2fc66efd3bd0af0fdd899ed98c93645f80fc32934c8d19323dfa0", + "research/complex-t21-owners/VENDOR-PINS.json": "578100c9ed4812a161271a1b5c8036673f4b27d6cc1df560715ff2ea9a598f6d", + "research/complex-t21-owners/build_owners.py": "d1e6bbab8ea0de09048fc9737dd4a4713289ca69328efe71855e16fc55abfa57", + "research/complex-t21-owners/build_parent.py": "0b5a66641494e934e3e032982c31aa561b89975d6673e7db257f4efdf5b8c921", + "research/complex-t21-owners/check_parent.py": "0e158551680b06a7a3f4599b4dcb74bcfcb7f1e94fcaf9a46c9b7a95d1200a6e", + "research/complex-t21-owners/common.py": "41a2e8a4cc69251e7e31dd82b4776ccfe46033afa8dca59f45f5d3c377541ea7", + "research/complex-t21-owners/data/ADAPTER-EDITS.json": "507e45b14439c8a19e269ee3c92fe9f28c80bf93375696b51e6618494de2c46a", + "research/complex-t21-owners/data/CLAIM.json": "433d7bc4a371aaffeee35c12a1db6ea974722a85b799233626e1a57dcfdcb121", + "research/complex-t21-owners/data/EDITS.json": "a3bdecb4899af794427458eec0b7b13b404e2c822c1e8e152d4a4eb92cb10638", + "research/complex-t21-owners/data/SPEC.json": "f18777bc770f1c65d17c3fe3c5d04d341e42bec6c5beabc97b1ca599df7bfc5a", + "research/complex-t21-owners/data/T5-OWNERS.json.gz": "676e91f0ab18bdc93b3da067082506b779969dde32a38baacfc8576c327a3c54", + "research/complex-t21-owners/independent_check.py": "9d8c86bf45cdaef37f223c88704055ced503ee295645611e13f3fb9059a00e55", + "research/complex-t21-owners/owner_controls.py": "1b38c922aad0776a52ec47f0db6b0d53e8c556b872b908f1fe93892ff918804c", + "research/complex-t21-owners/package_controls.py": "6676ae2e17f13142e6d5df27367fd0633e0d5f592869b637fbf875e38ce7b642", + "research/complex-t21-owners/price.py": "b4510dd0d86322be627ff500e76a22f53cafa8405a699d04646dc3039167d569", + "research/complex-t21-owners/source_adapters.py": "d77c78189db392855b462b3bd11b690b0d0a066335b7b1ed25568c03bab04c09", + "research/complex-t21-owners/vendor/pr858/baseline_coverage.py": "c0cf6bb2035817a09e1abb5dc492d57af79f584bbd0c1cf5fe73ba0f8f604741", + "research/complex-t21-owners/vendor/pr858/independent_check.py": "dd552d627bbefc05ab3f6abbbd1640ba53b67e607002ebb7dd3d17bf03ae1e65", + "research/complex-t21-owners/vendor/pr870/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/complex-t21-owners/vendor/pr870/NOTICE.md": "e67a7bf357e62c130ed0df184c27d3b439b55c30e1c4c003c97bb1c6d0ab58e1", + "research/complex-t21-owners/vendor/pr870/PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "research/complex-t21-owners/vendor/pr870/PROOF-NOTE-T16.md": "b13621111876dee62367d7ee8e9b46c3707145d5f08914b0932d0960ee700d43", + "research/complex-t21-owners/vendor/pr870/SOURCES.json": "a7c2f2d21d535439b729f4d1245fa6a9bb24a148d877c1298e9bbdbcf251067f", + "research/complex-t21-owners/vendor/pr870/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/complex-t21-owners/vendor/pr870/code/assemble.py": "15f6986a476bac76bcdc0bfcf51da115389b46f1950d2766b6822f757888b13a", + "research/complex-t21-owners/vendor/pr870/code/assembly_controls.py": "da7e981ae1b9f099d4e1524cb4f3ba1116011936ebe378692889b5dbfa99029d", + "research/complex-t21-owners/vendor/pr870/code/audit_allcold.py": "1467a2acb654e62552c69fb9a7c4c85f70a02120881d222313865058ab71a6cc", + "research/complex-t21-owners/vendor/pr870/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/complex-t21-owners/vendor/pr870/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/complex-t21-owners/vendor/pr870/code/emit_allcold.py": "354367e1fd6185a67b04f4268bcae4d502e47b18cb2131e247f5bcab5b3a769e", + "research/complex-t21-owners/vendor/pr870/code/freeze_spec.py": "5971eecac6d6fbcb53244b80f1b9d7232012dc32876fab511214a5addebbe6c2", + "research/complex-t21-owners/vendor/pr870/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/complex-t21-owners/vendor/pr870/code/invoice_allcold.py": "71eb57514e28ced97251e0507105f654f59885ec4d40486a780bf166098858a8", + "research/complex-t21-owners/vendor/pr870/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/complex-t21-owners/vendor/pr870/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/complex-t21-owners/vendor/pr870/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/complex-t21-owners/vendor/pr870/construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "research/complex-t21-owners/vendor/pr870/construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "research/complex-t21-owners/vendor/pr870/construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "research/complex-t21-owners/vendor/pr870/construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "research/complex-t21-owners/vendor/pr870/construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "research/complex-t21-owners/vendor/pr870/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/complex-t21-owners/vendor/pr870/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/complex-t21-owners/vendor/pr870/data/T8/PLAN.json": "673fd8e812fadcfb757264aba2d7e1abee9199457ed52e678ac65796cd4c1b70", + "research/complex-t21-owners/vendor/pr870/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/complex-t21-owners/vendor/pr870/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/complex-t21-owners/vendor/pr870/independent/price_profile_t16.py": "53f8e62dcf27bee032c1bee0245d126a9c8a12ebcf24f6aaff65ea3122fffe29", + "research/complex-t21-owners/vendor/pr870/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/complex-t21-owners/vendor/pr870/t16/NOTICE.md": "902370e6bfcd39dbea2ece474f15fccbcce3b8e966b2b94066bd03e5174591b5", + "research/complex-t21-owners/vendor/pr870/t16/build_owners.py": "faf14dd99b331a8bc5d35e3497bdb9c26fcea24ce2ee74f0dfeae87883af8db4", + "research/complex-t21-owners/vendor/pr870/t16/build_parent.py": "82e274d0c7a94f9bf0468dd37f0505d0c42017559ebb4ba8c079a1f4e403d91e", + "research/complex-t21-owners/verify.py": "2ee09291148a81ffead860c2237ebcef47a1f02ca5f0833cf5230532ba61243e", + "research/complex-t37-owners/ALL-T-PROOF.md": "4c0c71ccd0afb850538af1b467e5208b7eb3edd0260fded84e02a8c01dfc868b", + "research/complex-t37-owners/CLAIM.json": "a383da34ee22da831fa436ad3483568ae1fcd62cd76581f2c2dd2b6473b346fb", + "research/complex-t37-owners/DEPENDENCY-PINS.json": "0160ea2677cc9ceeb0f861dc2774d470a27cbaa58b8fd6c064cf0683d18f3e87", + "research/complex-t37-owners/EDITS.json": "cd28d8014fe6576a56a640d9a94b6b3fbd7715ea1a6c2858c1597b3c9fb51576", + "research/complex-t37-owners/MANIFEST.json": "38907d05fddac9be6bf7a7aff47fae43114a055d2259cead5651a08f9b983820", + "research/complex-t37-owners/NOTICE.md": "78887899d460a21fc6bf6e6021fea7f6864a93e079b639e7c92d4dc77ca30c1e", + "research/complex-t37-owners/ORDER.json": "2093ca4050e1ce95621f4702bebe8b01b36773b1ecfa2c0d6275e132bd33d578", + "research/complex-t37-owners/OWNERS.json.gz": "f89e00863c8415d1df1de9c481528f677eeda808ef3cd83bfa5ca3e7d9360f5a", + "research/complex-t37-owners/PREDECESSOR.json": "3639c960052fa67c350ae0fdd7b70e3fff99709fa35a54335cc38dc8a8f41ac4", + "research/complex-t37-owners/PROOF.md": "09b39ad0d5f1f59f54dcff15c16640f7a7acf27e6597660acaf957b95c7e8510", + "research/complex-t37-owners/README.md": "7f7fc22918132a20b4b6248f20e5850586394fe1d3356d49b5ade5df43053b0a", + "research/complex-t37-owners/binding_controls.py": "87216d5efce156e32cea3b9908ef0ace984a6fbe300a8eac5f5750a5171eabb5", + "research/complex-t37-owners/common.py": "b85769c7c29429da7ce9eed55f0ed5f672e2bedc0d894ae02bf9be8c86a638e1", + "research/complex-t37-owners/evidence/ALL-T-BOUND.json": "5101909cf84a2bfce777dcc34075ffcfe5c135debd16fa56ef7273523b434a35", + "research/complex-t37-owners/evidence/ASSEMBLY.json": "63dfe017fe0a955fd6b12aa04c542dc5ae669581811a96214de587440b0b81a7", + "research/complex-t37-owners/evidence/README.md": "859ada21a8f584b9f301758ef477059abf7d5db7dbf5f75f7ff273bd97d7e00b", + "research/complex-t37-owners/final_binding.py": "61e8a8856ebc36feee11cbf6e60f2ace3b9b89195c3282f565a651488cf947f7", + "research/complex-t37-owners/independent/all_t_bound.py": "3f8637a90baaa11ef18eab9e739d17b32fcff18fbc50c355f9ef32727a92e4f6", + "research/complex-t37-owners/independent/check_payload_controls.py": "5b59c6f50c0d79c5857dd4efefdd0fb472ba72fbaafa91596a5a3159500e98cf", + "research/complex-t37-owners/independent/check_t37.py": "af77010b89db12d58030579e19273f960abb301f651361b448e8caf82d8355a9", + "research/complex-t37-owners/independent/verify_construct.py": "094a93a7edd3c63890d0313a0ff8b71e335f570cfa548b9b20d8809e3d05abd2", + "research/complex-t37-owners/package.py": "7022764ffd5abb8c869cf2269cc8fb188f574560c379abb00b40aba671d22278", + "research/complex-t37-owners/package_controls.py": "f152d1cb57dd63af5abdaea88f03090ec7e24b8eb90d30b9b659030cb89c9991", + "research/complex-t37-owners/prepare.py": "8414859fc69885e5698fb3dbe0f7d9ee20d9782102e0abf7da991c904920fe47", + "research/complex-t37-owners/replay.py": "7834f469861df4a8ed82550762e7d1640123f547a715b55a937dea0cb381cedd", + "research/complex-t37-owners/verify.py": "4d880a6237c2f5d4f4e08374e2a4ddbe7bdcc972fe4ee0e879e9a547754f5fd0", + "research/direct-delivery504-global/EXPECTED.json": "0c4c7df98633ace6dd3f1604462dd509945f6b2d463a0b045442b785906101f1", + "research/direct-delivery504-global/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/direct-delivery504-global/LOCAL-VALIDATION.json": "e7dcbbe16d3a51288dddcc9022ba852ea6c9d428f8391c72d9b61429168a5561", + "research/direct-delivery504-global/MANIFEST.json": "c1997405c5c0ccd9bdb0a30b0eb9a5a2dc7dc7ce7b59c6a83a2152b80f6410d1", + "research/direct-delivery504-global/NOTICE.md": "a92f49c5ced455160fbedcc8954e3c9255e3605e88ad12ae5a84f1c4302986f1", + "research/direct-delivery504-global/README.md": "305497b4bf15e691bf0ea504f628a397ea40b814053948ca32c84ce5c16e6f5b", + "research/direct-delivery504-global/SOURCES.json": "9e8182e6e659f4671fe0873e324b622cc871df7344157093df40476c8687be5f", + "research/direct-delivery504-global/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "research/direct-delivery504-global/code/assemble.py": "71b4cbbbc5acdfe06ac67879cf54ea761e29e52143af1cd8410ad672a5cc190b", + "research/direct-delivery504-global/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "research/direct-delivery504-global/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "research/direct-delivery504-global/code/audit_same_partition_frontier.py": "3a2a072304c0c112b4938070515035b49595c86565b454806fdcbbfacf0e1bd2", + "research/direct-delivery504-global/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "research/direct-delivery504-global/code/build_selected.py": "7fa8f981cbf3b01ac960226e6afc6be7bd76d94d9c01796941979deb77bd8875", + "research/direct-delivery504-global/code/coalesce_frames.py": "b3e53a17f2519e1afc5bee9b6518252eeb0cb7c56b6e0a1554fdfb54f2908915", + "research/direct-delivery504-global/code/construct_504.py": "a0d96ede40b957c38dcb64296d5f4a76c23dfb8c8875e01a80b5f1bdf6e8360e", + "research/direct-delivery504-global/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "research/direct-delivery504-global/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "research/direct-delivery504-global/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "research/direct-delivery504-global/code/phases_delta.py": "15723107eff03013b2e797fd9fa3635b1b46c5d1c8112d19fada98c178d4acb6", + "research/direct-delivery504-global/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "research/direct-delivery504-global/evidence/BEFORE-COALESCING.json.gz": "5381265008ec84dc0b3eb2870040215b8470620d234573c15e836dba928d910e", + "research/direct-delivery504-global/evidence/COALESCING.json": "f9175c204c084e083ba2f8f4bc66dc71feb75d90b1b57b36dfacbffe89568ae0", + "research/direct-delivery504-global/evidence/DISCOVERY-MOMENT.json": "d964db94f4a11840bbea57a47c203a2fe6b51a381072d403d1c1504ac2ba0c7b", + "research/direct-delivery504-global/evidence/ENTRANCE-SELECTION-SCREEN.json": "2d5c7db49077ea50f0877f1bd3a5839e5c49a7c75519ebaf549bce0e828b7b99", + "research/direct-delivery504-global/evidence/FAST-REPLAY.json": "b95028b7cd5a830bd5d702d5193f0bc93d981426ca6f8916eea7a2bf9dcc53a7", + "research/direct-delivery504-global/evidence/LINE-GAUGE-SELECTION.json": "1ecec9dd594653d54448ba9e2fd7b7b830e26bfd159d3b268672f80d8cb06250", + "research/direct-delivery504-global/evidence/PR523-FIXED-WORD-CEILING.json": "e971df6465b6a37d2042bd7e2169419578d68d7177c060599b16b3f67292935f", + "research/direct-delivery504-global/evidence/PUBLIC-SNAPSHOT.json": "d859621516bb33d1c77ea9413b53930fab42447360b7e6246ba839b95a834abb", + "research/direct-delivery504-global/evidence/SAME-PARTITION-FRONTIER.json": "3a02123a292730c1dfea8d6c1c8238115b4b07d19c8b8f119b54c345cd1f46af", + "research/direct-delivery504-global/evidence/VERIFICATION-SCOPE.json": "424ea699b0849c3e8dd41d585b271906cbbbbddb4c3464fd20dde30133bae367", + "research/direct-delivery504-global/evidence/audit/ASYNC-AUDIT.json": "01ea0015d4e08170ac65f1cdd051be64e07f622eba62eadbf39524317388cba7", + "research/direct-delivery504-global/evidence/audit/EXACT-ASSEMBLY.json": "550c6703e73b2dcfaae986706ceb1ac67ecd93dec8b591954abe51c7fa3b7a03", + "research/direct-delivery504-global/evidence/audit/GLOBAL-PREFIX.json": "378275e21f7ff147cd7cb0b33c972e75139d949195ddf13dd71b55a77a0f7cfb", + "research/direct-delivery504-global/evidence/audit/IDLE-REMAINDER-FRAMES.json": "7923ed6a528f006c353fe7e0639fd230ad140ca835b8e64ceadc7aefb0300ea8", + "research/direct-delivery504-global/evidence/audit/OWNERS-AND-PROFILE.json": "e5f11e7b920f9985f085546c641dbac5b8d98231d562e1e030ab2566ccea4bd6", + "research/direct-delivery504-global/evidence/audit/PREFIX-AND-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "research/direct-delivery504-global/evidence/hosted/ACTUAL-SIGMAS.json.gz": "dbced27348bd0ae2fb937a9c1fd03e2181d7268ccdea5d80ebbe6ec3fed314d9", + "research/direct-delivery504-global/evidence/hosted/GLOBAL-TEMPLATE.json.gz": "0c5ea47883fafc2aa0b2b9711e7c52a3fc8fdf96c84eb3043834e34ced550473", + "research/direct-delivery504-global/evidence/hosted/HOSTED.json": "a0b29d73f2beb821a59f356150a7a9475394643bf9fd8eb5a67a6fc4d46ad2f5", + "research/direct-delivery504-global/evidence/hosted/IDLE-REMAINDER-FRAMES.json.gz": "a21fb2c7395b7193d46752f7bd9cc670fbfffc7287f8370bd9f6df0aed6b21eb", + "research/direct-delivery504-global/evidence/local/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "research/direct-delivery504-global/evidence/local/CLIFFORD-RECIPES.json": "1ac0a7d07a487bf58e59e82a8a656a3a3edca5731af9029ad7874b535407ceb9", + "research/direct-delivery504-global/evidence/local/CLIFFORD-REVIEW.json": "a917bb1abdc864b404dc4a869af3e29aaab2270d392b662cb60b70ebbe5d1975", + "research/direct-delivery504-global/evidence/local/FULL-WORD.json.gz": "bd6b004c4948d5ce80d4f81477338fe30434c2a94586463fdcc531df0dbc9509", + "research/direct-delivery504-global/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "4149f3d2ec3041965c5d72869748090d9aeed422f36d753550c543bb7808b30b", + "research/direct-delivery504-global/evidence/local/LEMMA-A.json": "f789357f75d562ec9c6f2ef75ced6f4286df2840b493600147b34a36ad0fa460", + "research/direct-delivery504-global/evidence/local/LOCAL-CHECKS.json": "c6807681d40cb46c21a50edc1058044ddc758f2dd3e6b0bab16d7cb28d41732f", + "research/direct-delivery504-global/evidence/local/LOCAL-PROGRAMS.json.gz": "755a5c4ebe958fd9f7b5d4a6e7a506d2c802e31c4d9da46b63db1994c4d8ffa6", + "research/direct-delivery504-global/evidence/local/RESIDUAL-ADAPTERS.json": "83a91fb9cbbe600328cd399f67fdb6ffb698ed3b20d050916d21f3af48b0db20", + "research/direct-delivery504-global/evidence/local/SCALAR-FRAME-AUDIT.json": "5bf884b9c5c9e65658974a8f5548f93a583fb48461e8125fa68893aa2b403718", + "research/direct-delivery504-global/inputs/ASYNC-6.json": "8a128d7c435f01d9f920c1353711eb0721ce3cbdd0b8799bf69b2d676266dbd3", + "research/direct-delivery504-global/inputs/OWNER-PLAN.json": "13d5284e3d95fd4718b538f7d0d1e6f8db3236d4608a755dce6deade440f4185", + "research/direct-delivery504-global/inputs/OWNERS.json.gz": "5e27eaf098214e3ab8159e322241aa90a1ae77b0bff78b426512b87f9f60c91f", + "research/direct-delivery504-global/inputs/PR493-EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "research/direct-delivery504-global/inputs/PR523-ANCESTRY.json": "0bfce40d86c849f18e8872ee9e8462b0a69a34ed04e01e942a6614645f686f4b", + "research/direct-delivery504-global/inputs/PR523-EXACT-ASSEMBLY.json": "39900354203609a142d159096ccc221ddb21c1f714b2b74b9b1b325beaf15259", + "research/direct-delivery504-global/inputs/PR523-PREFIX-AND-INVOICE.json": "bb43ef04791037a37d2596c395e81191991fde6581326118995cf4318ee472a3", + "research/direct-delivery504-global/inputs/SELECTION.json": "46cfad0c5a4b8dacc18ed02b5e259f2168e6a93a8dff6ffb447fb0f20917a9bd", + "research/direct-delivery504-global/inputs/data-base/split-centres/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "research/direct-delivery504-global/inputs/data-base/split-centres/GLOBAL-TEMPLATE.json.gz": "5b913207775fcd87090cfa8776e8bd2bb872426923345fe1a1a4e1ea84bfae2c", + "research/direct-delivery504-global/inputs/data-base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/direct-delivery504-global/inputs/data-base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/direct-delivery504-global/inputs/hamming/PACKET-PROGRAMS.json.gz": "d833ae0390d165d7da0c639a3c7aeb77156c2ddb52447087cb49b9d03b19e9b9", + "research/direct-delivery504-global/inputs/hamming/PROTOTYPE.json": "327d2a868043e846381aa58a33053c24425e8cad522ff401b10ec8af1d649a3f", + "research/direct-delivery504-global/inputs/phase-baseline/CANONICAL-WORD.json.gz": "addf598581d2a20e13d0c18110607515ad90b06125616a2349e53a47bb5b6c80", + "research/direct-delivery504-global/inputs/phase-baseline/CLIFFORD-RECIPES.json": "1f37afd5a9e14b113ba56e0ac8a5200a6b41c695d2cd308dc0fd6ec46a4c73d2", + "research/direct-delivery504-global/inputs/phase-baseline/CLIFFORD-REVIEW.json": "468a5df1937e82a0b8e8c1c2540e18480f354154325353c5596c68e7435c89c2", + "research/direct-delivery504-global/inputs/phase-baseline/LOCAL-CHECKS.json": "ead7163869ecb9fc276f477c0ec0ed85dc74d7901ce04f91213bcf7ee1f20382", + "research/direct-delivery504-global/proof/DELIVERY-AND-COALESCING.md": "7e719f01416cf312272dfabca8b355d327128859c01d686056e0833e83870bc7", + "research/direct-delivery504-global/proof/GLOBAL-HOSTING.md": "c47b61bf2e998583e4626eec068439600f3464aab2ddbdb0ac044b0136d7b502", + "research/direct-delivery504-global/proof/LOCAL-CONSTRUCTION.md": "3b1fc44f6f8290361cb24526cf91c3174c734f5da3cc9fb94559a96168d39e70", + "research/direct-delivery504-global/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "research/direct-delivery504-global/vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "research/direct-delivery504-global/vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "research/direct-delivery504-global/verify_fast.py": "ea4e33a17419009f0872fac42f7ae5a2f2090c4487cc9815721d907d1e9b1cae", + "research/e8-bit-carrier-skeleton/EXPECTED.json": "3494ba83280cc86548fe0cc6695c50d23e6b6ffca85aeb1a33337c1196e280cb", + "research/e8-bit-carrier-skeleton/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/e8-bit-carrier-skeleton/MANIFEST.sha256": "7f25c41d0400ef5adf763eae6e166003a9b59e5a655b860c04b052f6731c7297", + "research/e8-bit-carrier-skeleton/NOTICE.md": "5f4b7fcbf99f572be28b6da612ce775363908cdfc7810f7aca167be01c86e49a", + "research/e8-bit-carrier-skeleton/README.md": "e5212e8058c92a2b02cc12b4e174a65ce1cef7b4d7977ae770e64f5ff91b7204", + "research/e8-bit-carrier-skeleton/SOURCE-pr370.json": "03de1d341196cfa8cf1d39f3cc8648b25bb5f39c3c602a728cfbd089e8253ac0", + "research/e8-bit-carrier-skeleton/SOURCE-pr381.json": "16b1977240ca9acb58fa64572fb4231a423bc10bbf3e7bb30f1c8201fe369ba5", + "research/e8-bit-carrier-skeleton/SOURCE-pr386.json": "87c659ba932525631a40be14dca28a6a2efade8641f23bb08d6e1567fc991131", + "research/e8-bit-carrier-skeleton/SOURCE-pr436.json": "4a4f99f5bdb7530a0dcf9433f7f02afbf2abf908e718f7c63ffa5503d4f49693", + "research/e8-bit-carrier-skeleton/SOURCE-pr445.json": "e6f4a272442bb71ef68aaa3545b271236f9c99297e444fa01c62b0b5fb6a170f", + "research/e8-bit-carrier-skeleton/SOURCE-pr448.json": "c771fa9be492408a78d6d970c839e68c4dfd1b66f4f4a4748e3d12726a43cf27", + "research/e8-bit-carrier-skeleton/SOURCE-pr451.json": "a639956eec858341987a815b7464ef472505300db754b5f9ac012dd01d18c8df", + "research/e8-bit-carrier-skeleton/SOURCE-pr458.json": "cbdea984a46ab5de354b95e73fd76c1918fdc6676c658398a552772c4dc3dcaf", + "research/e8-bit-carrier-skeleton/SOURCE-pr471.json": "499d861e090c9e646d978dd67890a8e58a9ff6bf08512684e66605179132076b", + "research/e8-bit-carrier-skeleton/SOURCE-pr472.json": "6753bcf50c91806b75dd4dbe3963a79699a614d0dab8ce32b261cc3e76b288b1", + "research/e8-bit-carrier-skeleton/SOURCE-pr473.json": "2515c4f23dfa22a21913d92597669770f7f44c2a5b3ef069ef68a0c89779a656", + "research/e8-bit-carrier-skeleton/SOURCE-pr478.json": "9c7c4ea678865a955b0c89f0952927159976fdf55cadc6a488dec5757f03fe7d", + "research/e8-bit-carrier-skeleton/SOURCE-pr483.json": "24e3eab4a985e115adb7f8665a401423e9636e9f16cc4373ec68cc86950445a8", + "research/e8-bit-carrier-skeleton/SOURCE-pr484.json": "b92f43fbcba3921a1aa37bcb9f05cf5fa612ff708785e05512438a6317bf0867", + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_h.cpp": "d1297f9052be4f2496e1ff2a77e4db2c0cdbd7d460d489b4c03e50bf317238ce", + "research/e8-bit-carrier-skeleton/code/bit/checkers/columns_k.cpp": "1c344d18fcd494eeca93e259f10cafae7705780e6592f6dcb35b34752dab9bc2", + "research/e8-bit-carrier-skeleton/code/bit/checkers/gram_frames.py": "223a5a07731fc315a90a3e48177796babc155c1d9985c7ae5017eff6af2a0608", + "research/e8-bit-carrier-skeleton/code/bit/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "research/e8-bit-carrier-skeleton/code/bit/checkers/legality_h.cpp": "6c1ef2b24e57781d6951c172a1024fc4300e6fd392c9d6672079a7806ab663b3", + "research/e8-bit-carrier-skeleton/code/bit/export_records.py": "8a5999601f917dbb492bb9ae9a344611f18cc7cedc53dc3c76496a369e530eb3", + "research/e8-bit-carrier-skeleton/code/bit/independent/checkword.py": "11bf9620ca9db16d52d9fe806b814fc9ec9a89c4d7645354d1861d96f6e805ad", + "research/e8-bit-carrier-skeleton/code/bit/independent/interface.py": "2c63a039f97e3a11ce5a6b83302d4f5beda160c1db14164a5a9b0855aeb19d3c", + "research/e8-bit-carrier-skeleton/code/bit/independent/mutate.py": "0ff65aace5da4b57d96235bf830f8f11969322e75134d498aeb70e9753ec6b0d", + "research/e8-bit-carrier-skeleton/code/bit/independent/mutate_mut.py": "3b002c19a5dcca76a5594f2a30fac7c01d2b45fc96b3e7cfbfd8b720f5ffb4e8", + "research/e8-bit-carrier-skeleton/code/bit/independent/relax.py": "d6e9f58de3fa41f538516b6227c249d61fb30f0f6843027cc8a07a1a372fa6b6", + "research/e8-bit-carrier-skeleton/code/bit/mutate_records.py": "b0e75d6550412a7be4017695e6b237392b611bb852ad8ff309d6682c9f166a4e", + "research/e8-bit-carrier-skeleton/code/bit/mutate_records_mut.py": "a9e085ec60d5657cd5d77832e3d95004e81b9f4f249d9e0fc95e345366cb2d2e", + "research/e8-bit-carrier-skeleton/code/bit/regression/stage_cohort.py": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "research/e8-bit-carrier-skeleton/code/cited.py": "a4c2dd4755f2a45ceda327b36d9ee400c2804893000626ca8ff3f6ee296fd842", + "research/e8-bit-carrier-skeleton/code/eleven/adapt.py": "d8a8c13b484d985f0133a5d06de4a78b8477314f922b9f693ba73640b7184d6b", + "research/e8-bit-carrier-skeleton/code/eleven/assemble.py": "c47889a606701ae592374dd82a13cee8c5a4e8449b7facfdad2d90563a30a18c", + "research/e8-bit-carrier-skeleton/code/eleven/audit.py": "5ad832830c19ec6c904d1b64480f6b1e71c5673fdd38d487d17e179b1d197c09", + "research/e8-bit-carrier-skeleton/code/eleven/emit.py": "b0b25955875625ed63f82690f83aef976e3e9a978ae6620b23a23fc1207acd46", + "research/e8-bit-carrier-skeleton/code/eleven/local_audit.py": "95275473d7f9811011bda760dd0f04de5169c2a6922456dc9a5725a5d671f941", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/assemble.py": "abb60c35e448e0f94073f38a0352d11249aaf7bb8dbd7352414ae60a1d2b79c3", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/audit.py": "d28062127a9b0d3866a3b79aad98a307233b20ebdb94cfb9f197d726b82ffea5", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/emit.py": "98d77cefbc3a76f9f10bd7df3a2590ab88b411f6afe77b5f8d73f1602eb2bef3", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/code/local_audit.py": "23eda3fe3d774e7f2dbf4dbdd4ff90d69ae7d1762ff95c8629cdc7667aa3fe71", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/hosting.json": "765382d4fefd594e94c8c5826ec6300422ce9f79c816d7f7323ef85e99320f28", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/residual-isometries.json": "750221cc66badd0ed0a74e7aad2d59f91f89c107370af21c6d929fbdd4a08a9f", + "research/e8-bit-carrier-skeleton/code/hub/e8-r715-whole-hosted/data/word.json.gz": "b2af02f593cd161bea64e6cd793508386914136be519f80726c071697379d5a9", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/residual-isometries.json": "e12ed7ddd13cee101ba74a083b54665fd64d0b122b0bad5b83d817dcc8bae9d8", + "research/e8-bit-carrier-skeleton/code/hub/e8-r740-replica32/data/word.json.gz": "d8d6d3d3f336720302bc40b3c1504fe3c3583a7a8d707bb9bd7b21f85e5e69c6", + "research/e8-bit-carrier-skeleton/code/hub/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/geometry.py": "9554182d67e434ea84b4430f909a2c400abc755d8487b51454a8e6968e62859d", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/code/row_bound.py": "de4a9b9cd797e1a05da56f62cfe725c8728cea3a4aa031b7d1b0a68f869760d6", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-eleven/data/selection.json": "52dbbb68e8c147690d15eaa1d952df05d074b0c121885a4159d9f6732f391872", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/code/emit.py": "ac63ee481f3d75cb9f0658faaa2412db81d55bc44d9f1ff1c0329ce1e75aa0d4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/residual-isometries.json": "b23fda74a7979179e8fd83ee9870c1e232442cc90c05077adaabfe31d050d1e4", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/selection.json": "4d9c2cf6a3d31a6faa287731e0721cb16601b0bc5c1a186b9645bfb5760ce8db", + "research/e8-bit-carrier-skeleton/code/hub/r740-hosted-rank149/data/word.json.gz": "41626789888ee070e1b435fa380b10ab9b88e3cf7d8d8e166ecef17269bbcf47", + "research/e8-bit-carrier-skeleton/code/nine/geometry.py": "36eeda3184bd009e89462b65c8725d10860c444f8da8f1f87e5f6e50120011ca", + "research/e8-bit-carrier-skeleton/code/pricing/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-carrier-skeleton/code/pricing/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-carrier-skeleton/code/pricing/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-carrier-skeleton/code/pricing/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "research/e8-bit-carrier-skeleton/code/provenance.py": "e28fd87d0e34a6f6f6f1fddb6c4891deac220662c954de855d7aa5a7f9cceca4", + "research/e8-bit-carrier-skeleton/code/skeleton/e8.py": "721d859a6517d665ca84d03ef89668da3aae7433ffb0ee47faf37f2aeb85450e", + "research/e8-bit-carrier-skeleton/code/skeleton/gen.py": "7cdcf48078ed4beacd2e240aa8145e4aa6984558748d07659cb1b252786e073a", + "research/e8-bit-carrier-skeleton/code/skeleton/geom.py": "bb356568fa05e7bfd5fcd9012903611cf742729a99b4dc3a13685355b2678ae3", + "research/e8-bit-carrier-skeleton/code/skeleton/wordkit.py": "2b6c12d96f24a4e81f2c807827c2b74cf80037367fc8034e8c871dd5ce008351", + "research/e8-bit-carrier-skeleton/data/bit/bitE8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "research/e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz": "835eb96e147740fc7454f8cfb3dbd34ae89524b1dbd89a61e9288eae8ab6a5b9", + "research/e8-bit-carrier-skeleton/data/complex-b.json": "dce3f4b76aa3f6c3ba826ce556ffa61398b33e81e4d1a226dd2a36ce684fb02e", + "research/e8-bit-carrier-skeleton/data/complex/pr448/EXPECTED.json": "18b42250c3faf6f0df76fcab6c3a483582192ad7bb09cb1985f4b0bb91d67024", + "research/e8-bit-carrier-skeleton/data/complex/pr458/EXPECTED.json": "a4312cb0c53c2066a28b683a971a41e7d76c5f6d828a96481c3ae7b3c01bb2f3", + "research/e8-bit-carrier-skeleton/data/complex/pr471/EXPECTED.json": "188f9d1a7450496dbfd8d64381febd20b0597141537eb1a003435297df2d1720", + "research/e8-bit-carrier-skeleton/data/complex/pr473/EXPECTED.json": "70e515f0a5a2f9508cd030d35a99f90981a6eccc027c9ad5a3c77f5860310910", + "research/e8-bit-carrier-skeleton/data/complex/pr478/EXPECTED.json": "07bd05d14c71df8925b0b03510b2b337334b73ac425a94e03b2ec34ed2680164", + "research/e8-bit-carrier-skeleton/data/complex/pr483/EXPECTED.json": "799fa4ab2f785c478c3cdcb6c1c0428a5ce6e3ddbe4a4b2fd88630d811a593f6", + "research/e8-bit-carrier-skeleton/data/complex/pr484/EXPECTED.json": "0c93018a23bc573c7d155d4786e0c3978e95be0fda974076697939a1a1d8e5be", + "research/e8-bit-carrier-skeleton/data/eleven/hosting.json": "61f790657c465d16d3455f48f90f816797b9ea08bf02dbd0c90d2cf41836257e", + "research/e8-bit-carrier-skeleton/data/eleven/residual-isometries.json": "0fa5b353a0321af2ce4e2045db1d4c2d6418a11663894e2afcdb1eaa1984bddc", + "research/e8-bit-carrier-skeleton/data/skeleton/d4part-pairs.json": "d69ffe3326140bc541b8f1639e02db43a5835ab8ca02cc742b5bee2bf2ef1ba9", + "research/e8-bit-carrier-skeleton/data/skeleton/plan-skB.json": "f6162bb4d8092bc233700fa7ebc6a0d79f2893135aee18e998369044abb3f44b", + "research/e8-bit-carrier-skeleton/discovery/README.md": "b09aa45d5651720e10326cde559c863ba3ea45fe2fb6b4aaa3bfaa66a8fcf69f", + "research/e8-bit-carrier-skeleton/discovery/d4part.py": "a64927c340a4772ce0682b349e0c90c80d1a766000ccf397fb41b36a31929179", + "research/e8-bit-carrier-skeleton/discovery/host_select.py": "2aaaac18e083d289d4341e734c32571c89c51fefba04b388d407c7372b906dc7", + "research/e8-bit-carrier-skeleton/discovery/plan.py": "40e8dea1b4b71c5afd5993625f57bcac089dd2f72dfbc4dbc23ce917e5a61010", + "research/e8-bit-carrier-skeleton/portable-include/bits/stdc++.h": "420094be2af295eed03a983dd66debbbe9cfb78d8252859f4498a615a0074b99", + "research/e8-bit-carrier-skeleton/requirements.txt": "6023d480f929cdfa4e2f35e361eea003451cd6695af806935a32038b0115abb5", + "research/e8-bit-carrier-skeleton/verify.sh": "0f9248aa3611dfe2b5d59dbe992c6f7d21a0cc4f1de2b5ed05a6110191191224", + "research/e8-bit-p111-tuned/DEPENDS.json": "fa9253078c444b8f4a57e849048f727c3c8233c3dc3c7f651bef2cf7bb0178c5", + "research/e8-bit-p111-tuned/EXPECTED.json": "7c2675fd49afd7e328606399a4421fd49c43fe8a6c5b57154cc908c00588abe2", + "research/e8-bit-p111-tuned/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/e8-bit-p111-tuned/MANIFEST.sha256": "8d8fc2625b71b835176b666385c69fa4d1e4c5839e8e601924db2c9261761310", + "research/e8-bit-p111-tuned/NOTICE.md": "5b88eb2b7de76aa2a3288ee3c7a08d18a5eadfa82f5e7a99e207d232aed71221", + "research/e8-bit-p111-tuned/README.md": "a054ce8453e2936d45c4edd1c3678993903fcf6705ac241b9f1a4c4f9accda2d", + "research/e8-bit-p111-tuned/SOURCE-pr510.json": "5e84c26ba837ce029acd1b5089e5533d2ebde793deede84215322112e95e06f8", + "research/e8-bit-p111-tuned/SOURCE-pr535.json": "74254fde5cff5580d5c199b139ff3ce31a3defded3f653a3ba83cf0c9204ddc4", + "research/e8-bit-p111-tuned/SOURCE-pr544.json": "9ae1cfa69158f678499510e9cf24396b2bdd9b68979e906cbb8d4ee29b63e0b9", + "research/e8-bit-p111-tuned/SOURCE-pr545.json": "4b868b05c092eb821b257eab0f429f7c502fde946dd6508e8f5161a8758b4904", + "research/e8-bit-p111-tuned/SOURCE-pr548.json": "4480cd4e1dd0dc2bf55c26a1ae4a8bbb8587a96cea3053687e5d4c874148043e", + "research/e8-bit-p111-tuned/code/adapt9p.py": "14365d0eb8f4a7352edd28816196148fd28d5bbcb36044ebeeb15ca051bca9de", + "research/e8-bit-p111-tuned/code/cited.py": "8f7852571a897e131cf964d4b7826dc7bb2b7a42e81892d436f8ea092b26ef7d", + "research/e8-bit-p111-tuned/code/gen_p3.py": "438b83f10d70ceca7cf78049420204b7de2dc61682f913c50a62596106ad84cd", + "research/e8-bit-p111-tuned/code/mutants.py": "e2fd3429e2db4389ae8a5ab47dda89f551b0d0952c42fad5ac8d38a85d670594", + "research/e8-bit-p111-tuned/code/mutants_p.py": "ee2a2cfb44072a214dd29eae5b96a71b258ac886a05456b84d600de94b339591", + "research/e8-bit-p111-tuned/code/mutrec_b.py": "231cbf26bfe5e6824347e4556959941d8b4dea1efa06d7f88d7a73cca8b03158", + "research/e8-bit-p111-tuned/code/nodeopt.py": "6a5896f60b1fe05c41ab28ce822dff782c635e12d0c74fad20b5ce2a4010fa3f", + "research/e8-bit-p111-tuned/code/planio.py": "c0a687f61aed29455cea953d8a3e49a32136edb3cd4213c46880c146a6ca7fa3", + "research/e8-bit-p111-tuned/code/provenance.py": "aade757c1e4e2714207cbc80a9a60793d84b5f009de2cac79ee8d3239986fd2a", + "research/e8-bit-p111-tuned/code/pwordl.py": "6d8fccd44508e4705b6446e0a64482a5221a3efc5663c5ca7ae90d44581ac50a", + "research/e8-bit-p111-tuned/code/receipt_kappa.py": "6ac4cb3c6015bd46f3b0a88dfffce741d8942a703cc68738ad61953fae485e9e", + "research/e8-bit-p111-tuned/code/summary.py": "c7599cafe1a2330a2fc8a956dca457f802dbb8b04e4dc4ffa9d90890e5efb428", + "research/e8-bit-p111-tuned/code/xcheck_p.py": "af3decc877e27c00001cf56f50c6c09566e8e101297ab34c7860aed96a06d80e", + "research/e8-bit-p111-tuned/data/bitE8mut-p111.json.gz": "1bc3c53d4baf4927c6a00c339ea3975516471a48074d4d97c6addaded2a4d858", + "research/e8-bit-p111-tuned/data/complex-b.json": "96943a080f371392381c70676638c7b3281ffc44f96b50d7ab064f59aa9897c0", + "research/e8-bit-p111-tuned/data/complex/pr535/EXACT-ASSEMBLY-PR493.json": "3f4be566309841e00e842d5686f7937a355ae1a6a2eaa3ccb07bdf8a9ca604fb", + "research/e8-bit-p111-tuned/data/complex/pr535/EXPECTED.json": "cb734055c36681d38cf431a6926b7713351a94073cfba37d70a5384a9ef0d178", + "research/e8-bit-p111-tuned/data/complex/pr544/EXACT-ASSEMBLY.json": "eaacbe5a9b971b20f59503a5e948c1ba76c5e082f81a012c9cc7394494bc4db5", + "research/e8-bit-p111-tuned/data/complex/pr544/EXPECTED.json": "8f48531cb1ccc6c1fe7c80ba5990f8aea4278dbe9394bcc4d3f471a3e8d75f1c", + "research/e8-bit-p111-tuned/data/complex/pr548/EXACT-ASSEMBLY.json": "8c40d6a7907c2ba71284d4f29a2d6e6bbe4dfc5da92a6da1bbac13488b916349", + "research/e8-bit-p111-tuned/data/complex/pr548/EXPECTED.json": "2e458dd9880d001b63153e37ef7954c6bcfceae378ab4b225cfa1c94ea8e23ce", + "research/e8-bit-p111-tuned/data/hosting11-p111.json": "1f5a1142e0119483cabf9a4d99094d988014d1adaa29370e93f4b4a63d9bfd7f", + "research/e8-bit-p111-tuned/data/plan-l3.json": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "research/e8-bit-p111-tuned/data/punct.json": "dd371e1d6fe57602f242920b582ec4c133efc8ede4a849fd701ac90b7f6e1853", + "research/e8-bit-p111-tuned/data/selection9-p111.json": "4ab1ed4529683cd184987f8bc3031fb7408b9cd22c25ab9cf541a8aaf896eaf1", + "research/e8-bit-p111-tuned/discovery/choose.py": "18d77e8f62ffc671b3b3d3e50626c03481a2eaf6fb4abbc131e08226feebc180", + "research/e8-bit-p111-tuned/discovery/search.py": "edd876212edf0db3f6620534dcf50b5d2c23197c2d5f8af8c030ed5bc8447923", + "research/e8-bit-p111-tuned/requirements.txt": "e11a6f5c2a40b77fbf54a31a4c45bac575e9d2f765d35b657406d5f088fd0664", + "research/e8-bit-p111-tuned/tune/EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/e8-bit-p111-tuned/tune/README.md": "46c7917fb252949f38b7bcd88cf568efc282e3ea065b61d11e457e41673d0b2d", + "research/e8-bit-p111-tuned/tune/apply.py": "806ae4cb2648e4f05dcf56bd089891fd3ba33a6ee5fe76d3329e322c6770c1a1", + "research/e8-bit-p111-tuned/tune/bitE8mut-p111-tuned.json.gz": "e3e301e62bc2b41dbf1ceac0acf3d35824ebeab1848c5a2142d4577b109da52f", + "research/e8-bit-p111-tuned/tune/fastc.py": "ae51f1fbb22b8c8dac8aab787c798361f6aa5d4e1fefb29e43d0197899d4eab5", + "research/e8-bit-p111-tuned/tune/moves.json": "a113933002239eb2dd32726bd572ba8ca41b5bce0d438327dd770754c8d5e0f4", + "research/e8-bit-p111-tuned/tune/summary.py": "24841f9f5b039f05cfa934295203c982faf181cf28b9b1a71e50d1a35dc723d0", + "research/e8-bit-p111-tuned/tune/tune.py": "bdaf632852c514b257bcb1b81004a942fc022ab876565b4e5f6ff5a038d323c2", + "research/e8-bit-p111-tuned/tune/verify.sh": "efb1051d3e2c6119574a29a8e4efbe316307b5901d05079d029e12fae9ff1fb1", + "research/e8-bit-p111-tuned/tune/wlib.py": "a37fdf3cdf5f62945c2a90193401c0e9edc9dd3cda8d8cb36a3b9c329ebe4dbc", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz": "92e399e9a486b55229b5624632ac54f800dd9e022f2aee97f1e5f264bbc0ef5c", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/EXPECTED.json": "883f7a1a84f31d9e4430e348bc8d9c1ec10210b206ff602dbe126349056af13d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/code/adapt.py": "27b6b77cc4ebf439f9019e63a22dedc1ef72ee65fe120aad3d17316b1df06d7b", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/code/assemble9.py": "4bf6768224a3fac81ccda26df24f3763f9a4fbc35ad62bef2888595cdae519fe", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json": "8176db518bed23ea8121543bfb18085ec6633064142ba40ac5db00f63b06553d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py": "57e558c80a2fea6e291587b04afd76dfaee3550729997798b61f33daf90b8ec9", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py": "374e1d983589463bbfa06b6e9f2ffafb9d2c14acf97b1f858593a3cef90e93d2", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py": "ea678a7befda10c6f1b9dd38a36fe1437c6468472bd649f60b9f01522047e0bf", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py": "298b16c3d4f58a468ad1a64564c8500cb281414a3f3c0428fd467908eeb4a4b4", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": "6368196a393ac25bb2918880e4c4bd31ed733b762c27b6873ab391cbc0c5c3c8", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py": "081c3b95b18d900d97ce82af64fb428f085b6adc6d8ca93ea920797dad7eb81e", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py": "7c6997c455bd55acca3a1603797c34e7733d557c27a7694a1429ff15773a505d", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py": "283d7fad45155ee91e704d63ec947cf4a60aeff5cc43510bc0e835f7da7d8767", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "research/e8-bit-p111-tuned/vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py": "d8b90cd5d152df3c7c351230863d9e61816ad5e1f21d69bea1a86a5daad559a3", + "research/e8-bit-p111-tuned/vendor/pr545/EXPECTED.json": "dd078d075b153ea2ed02a4bbd1fe467315930f4d7dc90f2c34cd2c33e06a5029", + "research/e8-bit-p111-tuned/vendor/pr545/code/adapt.py": "b9a50303147a3003ad94fc4b1a822d4fca7f9b9e917d165e3c45152575302a0e", + "research/e8-bit-p111-tuned/vendor/pr545/code/punct_cfg.py": "7cedd3416d6a8ce2e6393cea32dc1d11032190787a593a0ad964a0b62fc407f3", + "research/e8-bit-p111-tuned/vendor/pr545/data/bitE8mut-v111-r489.json.gz": "c78317ab05ea175dc380f4dce2bafdbcd7e8b46f0c9d6baf350c2f604bb3ae4e", + "research/e8-bit-p111-tuned/vendor/pr545/data/hosting-v111-r489.json": "862155e5c341053668ac1a18db05591417c38b9fe5f395d64a3b0a17a1502042", + "research/e8-bit-p111-tuned/verify.sh": "3bb8abf984e98fccf77914ae56d51eb60aab284db677905c1c4aafeacc44eee0", + "research/gauge44-frames-x/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/gauge44-frames-x/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-frames-x/LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "research/gauge44-frames-x/MANIFEST.json": "e1b7998c8f7cb24f8674d250d0510f2b5b351b2ed0b35f17a17e6bacf3d9824b", + "research/gauge44-frames-x/NOTICE.md": "ca9031d8f3f91d074055a6675772be343f05ac3bd30d73259ff292fbe3196666", + "research/gauge44-frames-x/PROOF-NOTE-BIT.md": "e5e96ddd1e7b3cb6d30bed8e5979fc1e9233ed9f10d77a943bdaf4e52cce0b9d", + "research/gauge44-frames-x/PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "research/gauge44-frames-x/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/gauge44-frames-x/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/gauge44-frames-x/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/gauge44-frames-x/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/gauge44-frames-x/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/gauge44-frames-x/README.md": "a086b31dcbfe273006a9a90b56a9703f3679114c9f988f8868f3c5f1ff783f3d", + "research/gauge44-frames-x/RESULT.json": "793ef51c6fc919e092708d24aa1eebf8535d741bb5beb02461b11c9e33d00c8b", + "research/gauge44-frames-x/SOURCES.json": "22af1dcd24763ba391f0c950643a93f5fa83afc396272366518a9953d2942cff", + "research/gauge44-frames-x/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-frames-x/code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "research/gauge44-frames-x/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/gauge44-frames-x/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/gauge44-frames-x/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/gauge44-frames-x/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/gauge44-frames-x/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/gauge44-frames-x/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/gauge44-frames-x/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/gauge44-frames-x/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/gauge44-frames-x/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/gauge44-frames-x/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/gauge44-frames-x/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/gauge44-frames-x/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/gauge44-frames-x/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/gauge44-frames-x/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/gauge44-frames-x/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-frames-x/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/gauge44-frames-x/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/gauge44-frames-x/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-frames-x/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/gauge44-frames-x/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/gauge44-frames-x/construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/gauge44-frames-x/construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "research/gauge44-frames-x/construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "research/gauge44-frames-x/construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "research/gauge44-frames-x/construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "research/gauge44-frames-x/construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "research/gauge44-frames-x/construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "research/gauge44-frames-x/construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "research/gauge44-frames-x/construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "research/gauge44-frames-x/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/gauge44-frames-x/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/gauge44-frames-x/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/gauge44-frames-x/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/gauge44-frames-x/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/gauge44-frames-x/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/gauge44-frames-x/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/gauge44-frames-x/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/gauge44-frames-x/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/gauge44-frames-x/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/gauge44-frames-x/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/gauge44-frames-x/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/gauge44-frames-x/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/gauge44-frames-x/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/gauge44-frames-x/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/gauge44-frames-x/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/gauge44-frames-x/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/gauge44-frames-x/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/gauge44-frames-x/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/gauge44-frames-x/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/gauge44-frames-x/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/gauge44-frames-x/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/gauge44-frames-x/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/gauge44-frames-x/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/gauge44-frames-x/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/gauge44-frames-x/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/gauge44-frames-x/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/gauge44-frames-x/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/gauge44-frames-x/data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/gauge44-frames-x/data/OWNERS.json.gz": "99d1c4caf85855c353d30f122d9efbd9e51562914facded13027f347b18a6082", + "research/gauge44-frames-x/data/PLAN.json": "5f40e7ccfca61f298539b4f41286d2a9d62caf947057f9cec82aa53f73f707fd", + "research/gauge44-frames-x/data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/gauge44-frames-x/data/SPEC.json": "64817c60a4a2c1839bf12239cb1b7515a40bf8988229d81d4c9faa17b488c7d5", + "research/gauge44-frames-x/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/gauge44-frames-x/evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "research/gauge44-frames-x/evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "research/gauge44-frames-x/evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "research/gauge44-frames-x/evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "research/gauge44-frames-x/evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "research/gauge44-frames-x/evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "research/gauge44-frames-x/evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "research/gauge44-frames-x/evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "research/gauge44-frames-x/evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "research/gauge44-frames-x/evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "research/gauge44-frames-x/evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "research/gauge44-frames-x/evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "research/gauge44-frames-x/evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "research/gauge44-frames-x/evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "research/gauge44-frames-x/evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "research/gauge44-frames-x/evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "research/gauge44-frames-x/evidence/layers/LOCAL-AUDIT-LAYERED.json": "678a69702a946e6e3ac80ec7b3defda65d0fed63bc5cff1a08ec9c1c8a84bc51", + "research/gauge44-frames-x/evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "research/gauge44-frames-x/evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "research/gauge44-frames-x/evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "research/gauge44-frames-x/evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "research/gauge44-frames-x/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "research/gauge44-frames-x/evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "research/gauge44-frames-x/evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "research/gauge44-frames-x/evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "research/gauge44-frames-x/evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "research/gauge44-frames-x/evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "research/gauge44-frames-x/hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "research/gauge44-frames-x/hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "research/gauge44-frames-x/hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "research/gauge44-frames-x/hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "research/gauge44-frames-x/hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "research/gauge44-frames-x/hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "research/gauge44-frames-x/hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "research/gauge44-frames-x/hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "research/gauge44-frames-x/hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "research/gauge44-frames-x/hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "research/gauge44-frames-x/hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "research/gauge44-frames-x/hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "research/gauge44-frames-x/hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "research/gauge44-frames-x/hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "research/gauge44-frames-x/hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "research/gauge44-frames-x/independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/gauge44-frames-x/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/gauge44-frames-x/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/gauge44-frames-x/independent/GAUGE44-INDEPENDENT-PRICE.json": "e8cecbb4f05ca1a115512b246530278ed86558d0fae1229d09d7d9188f5f330f", + "research/gauge44-frames-x/independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/gauge44-frames-x/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/gauge44-frames-x/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/gauge44-frames-x/independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/gauge44-frames-x/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/gauge44-frames-x/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/gauge44-frames-x/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/gauge44-slots/CONSTRUCTION.md": "7d96eb958a6b4274ea4c4c539b585f8ae2e89363b76aef930f90d2d513e164ea", + "research/gauge44-slots/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-slots/LOCAL-VALIDATION.json": "f81fbd98eb608b8119f03f89a5692bcd610845fc97022337931586d8582b706e", + "research/gauge44-slots/MANIFEST.json": "9a6f239b1618a43262e56735a99cc59b6f5a6e8816a794a34413e89cc33f4976", + "research/gauge44-slots/NOTICE.md": "7a8d17b04da1e6c9d0ec217fb5bda72faa09d9a21695128722dd1e2827870fcf", + "research/gauge44-slots/PROOF-NOTE-BARCH.md": "c24f211b09358b25d6cf47dd18e4bbd8bcf4ecf279e6f1c6c90613cfa230818d", + "research/gauge44-slots/PROOF-NOTE-BIT.md": "dd771adb12f6f0bef0e2931c28b21b243b04d5f512370cbad1207275c342aaf7", + "research/gauge44-slots/PROOF-NOTE-FRAMES-X4.md": "39c50420ebb6e8813706a49b2cf759f277c4afac9f6780fc0a7ac6a5fb86e036", + "research/gauge44-slots/PROOF-NOTE-LAYERS.md": "92bb85b056803770882afa916277c5b49a7027159c113a106e7b2b33e57c097f", + "research/gauge44-slots/PROOF-NOTE-LEAVER.md": "e4f9482ef551d6d4300d8ed8bb7c34dc9327fbcfa30a502bf3476b78468e60c3", + "research/gauge44-slots/PROOF-NOTE-NOTRI.md": "774d1ff7b77844990da7bc1feff7f9ffff8b1f4f9b03232a620f1f9a29935414", + "research/gauge44-slots/PROOF-NOTE-P6N.md": "cef8fad3d6644b4376ed15c4c5c46c68324009ab8f42d10bfa2da4b505b2c26d", + "research/gauge44-slots/PROOF-NOTE-PROMO.md": "c170e5196d3081f86ac377c6fe614ca17f6281972837580275ce5af41cbc64ae", + "research/gauge44-slots/PROOF-NOTE-SW4.md": "d7bb225f1a7f9fd363e819a67e92a5fe14c0942f6c3616d73609cc48042daf3d", + "research/gauge44-slots/README.md": "bd4248499e577321f17aacba1d7815a5eb0f9cbe88faeb8fef38b71bdf3a684c", + "research/gauge44-slots/RESULT.json": "6cbc5f16cb2bdc279cf518b8670cedec1869069daa609a6803d4d377f13b813c", + "research/gauge44-slots/SOURCES.json": "abb903d9b46388f99325a3939eb68171ac163c66b4b62b7961ea46daa20a88f0", + "research/gauge44-slots/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-slots/code/assemble.py": "4c270a996b380ab712f72b81173ab24f1c73203a33578f261bfbaa7e67d75aec", + "research/gauge44-slots/code/assembly_controls.py": "e4c0f7828af64fdaef1896e4448d0212bd3041805097140b8cfafd098f8a6162", + "research/gauge44-slots/code/audit_allcold.py": "a87d7f4844ca963516637d249b14a0654f67f8047b6b265ae25b0cf30963e503", + "research/gauge44-slots/code/bind_providers_portable.py": "1d39bcc7b63ac158e021454beaae897d123e174360573762aecade3cd43193f6", + "research/gauge44-slots/code/bit_supplier_controls.py": "e6d33fb61a570c3f50669412acc467a3fd06ef0b806da6a75bc296c6ba2142a5", + "research/gauge44-slots/code/emit_allcold.py": "17c110c7c8d219e79e7dce36b19c4781e7effa800086cec03384387ad9acc7aa", + "research/gauge44-slots/code/freeze_spec.py": "f96c2b9cd886596bc7ab267f77abe9d16b6cbb5a724a5ad0a1d18d540369ed93", + "research/gauge44-slots/code/generated_identity.py": "c8af22719c0f3097a991a3f6ccac8f090afd2faba554745733d9ea88f2c25708", + "research/gauge44-slots/code/invoice_allcold.py": "141bd2fd58bbfb5b8d0fc8f56f61c45586d5608a5af3487c6b883dd987f998ec", + "research/gauge44-slots/code/prepare_global.py": "8c0dae301a8f34b77a5a462f840952d08ed120576212adf5051bc09bcad874dc", + "research/gauge44-slots/code/restore_parent.py": "69b7b25ff85e9b8160e233c1d415cc6a0272019e5c486dcec14cb6c349e7024d", + "research/gauge44-slots/code/witness.py": "779c5172894b992131e85be1e592ed2a1aec8c287b872ff42007d36a7291e444", + "research/gauge44-slots/construction/COLD44-RECIPE.json.gz": "22d0e01e990c0f1c588607a095271f7844851a437ba07174505e98e9528aed4c", + "research/gauge44-slots/construction/COMPLETION-PRIORITY.json": "0274ffca1725e7460aaf7b672bc1248aa6dfdec11e5f0fec91af18b829f8ba47", + "research/gauge44-slots/construction/INPUTS.json": "edd32ad9a55d3c508ca2ad90c74b5c87c7f7ca509d96b856a2176fa452780f99", + "research/gauge44-slots/construction/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/gauge44-slots/construction/NOTICE.md": "defe7e44af610e25a6c50c1c3b2efd0972d0690574995c0c872fc50eebf4c816", + "research/gauge44-slots/construction/REBUILD-CHECKS.json": "1f9d754c89cfed632a6eee919a42d00c6677a8fb4fe1d40615c903242addbc91", + "research/gauge44-slots/construction/UPSTREAM-NOTICE.md": "a75967ebc34e3bf2ff2c25c08e6c7f1a61b0c0d171cfd1b62196ae2caaf2c610", + "research/gauge44-slots/construction/barch/LOCAL-PINS-barch-U8.json": "2d16f99e1f71fd66378f5f767cf4cfa2a58264919a95074c7b31029f39a3c9f5", + "research/gauge44-slots/construction/barch/RECIPE-U8.json": "292f0e9f82824c4111728cf4de929bf6e43320fbbdc77658aae9681906b0d652", + "research/gauge44-slots/construction/barch/build_tri.py": "0fba65b31c2fd71864c291358bb0ad8d5f7e1be07e21df23f0ae73d7b966002e", + "research/gauge44-slots/construction/barch/reproduce_barch.py": "19bc970aa6af25ab0e7fa96fb65c64dd0c5243976d8f2cb733cba839155482c1", + "research/gauge44-slots/construction/barch/run_controls.py": "42639bf62bf57795e3ea615c1944c67efed00f28591333daeb3139bf63d04476", + "research/gauge44-slots/construction/build_gauge_cold44.py": "ec730a4d3ff12fb058780718b1d5a7afe61243c532679ef347a5a48e2af0a3bb", + "research/gauge44-slots/construction/construct_gauge_xcentre.py": "d8d295566ef2399af2da0707a4adc83e07aa26d2344c01a66bd0ca7684cf9217", + "research/gauge44-slots/construction/frames/FRAME-RECIPE-sw4.json": "a2c7ca4d44671386d05974e2627645b42bbb7da7a35cefff6e9fa158b6ac8473", + "research/gauge44-slots/construction/frames/LOCAL-PINS-frames-sw4.json": "bc416b8f6443d59c715fb358c4d70fa27eae2d306388ffe0e2a303f60d929f7f", + "research/gauge44-slots/construction/frames/build_frames.py": "200847a7e8b3125cbeea0765dad67650e0bf83d32b66d72ba4977e99b8ee8eeb", + "research/gauge44-slots/construction/frames/frame_controls.py": "477de854ec9184a2c73d6ac3857a9d0cbd6bc04b71d10a105e7344434b492a77", + "research/gauge44-slots/construction/frames/reproduce_frames.py": "dc39ada9a2eb387310be181f3cea5dbd4b538632a888cd7372ece5e38a771832", + "research/gauge44-slots/construction/jx/LOCAL-PINS-jx-X4.json": "95c5114c8e937c2737a1b9f9da97303f2e5e129d39e6dfcc4010e99bfdb9c974", + "research/gauge44-slots/construction/jx/RECIPE-X4.json": "9d42c6b38e8124f5ffe15da56c260a7fba7260626bf3c5f8cbd93aa4a71ceadd", + "research/gauge44-slots/construction/jx/build_jx.py": "3cc7550b0c24bb54e245c6f7f16de489fd7844721fbb64aac628f38f43887916", + "research/gauge44-slots/construction/jx/reproduce_jx.py": "5c7afebb4eb7fcdeb7e971cfbc457cf071850e2da21c3c71295efdd453c2399c", + "research/gauge44-slots/construction/layers/build_pivot_swap.py": "8e8bced88be2e592ded40929499bac385ca92fcc1fa59183c22229dbf34093b8", + "research/gauge44-slots/construction/layers/layer_end_controls.py": "7829187bfc8f909948d5250e0ec00f02c89f5fe98306a3ed88daee36cb3c92ef", + "research/gauge44-slots/construction/layers/reproduce_layers.py": "435699f6f79c6c7fb8d6cc5a8382576d6ac88747583a975ff671e45440b93c4e", + "research/gauge44-slots/construction/layers_np/COLD-LAYERS-RECIPE-NP.json.gz": "3164cfb71baaeba4ac43427bc14075a225fc3a32ecd9341e58aa52c03a4ee2c0", + "research/gauge44-slots/construction/layers_np/HPE-RECIPE-NP.json": "43900139f618bdc06b8319098fb8dccaf4fc315b43ef7c067ca2cd778cdba2c1", + "research/gauge44-slots/construction/layers_np/PIVOT-SWAP-NP.json": "d49b8d316da1cbdaf995dd0e8314d3c67cc9cd4d5902e9d85ccb907be645bef5", + "research/gauge44-slots/construction/layers_np/reproduce_np.py": "1a304144a250d00d14154692ba522365b036777cf2b6fac466095e8ba733c16c", + "research/gauge44-slots/construction/layers_p6n/COLD-LAYERS-RECIPE-P6N.json.gz": "17e218a17e47c58fe2cde775ab2314d3d84030a61327b7f13da61cae3b374ad4", + "research/gauge44-slots/construction/layers_p6n/P6N-SPEC.json": "132a59635077d6afe80f99964a6935fce1dc2ece6587d74209c6f9c60025c8f1", + "research/gauge44-slots/construction/layers_p6n/layer_end_controls.py": "fc58c5699ba6191c1163a3041241f6f0b619626c4462cd99bcf88210bac9e81e", + "research/gauge44-slots/construction/layers_p6n/reproduce_p6n.py": "aa7d6bcbed05aa1c689437c07a26e5c95be3c700c0c1fb7bcf91c432a88436ca", + "research/gauge44-slots/construction/leaver/CHAIN-PINS-k8.json": "9dfcecf963d8fa6d1cf5ba212336437a51f03c1444a1c6d33e54d2bf762970a9", + "research/gauge44-slots/construction/leaver/CODED-CELLS-k8.json": "7347f814850a838bd617bc7a55c307cec2b72becde2f12ea3e2e1af344b43563", + "research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-NP-k8.json.gz": "6416043008fca68463c0026fb7be500bafbf6b592b1caf42701101531814df33", + "research/gauge44-slots/construction/leaver/COLD-LAYERS-RECIPE-P6N-k8.json.gz": "24a304493f28d7b419d3023598ff728deb63e1582cd65011e438951ae22c0beb", + "research/gauge44-slots/construction/leaver/FRAME-RECIPE-LV-k8.json": "b53b97ecbefb60cddceec08172438f1902178d9438bcd98ecc736c43773c3065", + "research/gauge44-slots/construction/leaver/HPE-RECIPE-k8.json": "907db3b20e2e54e230567259575ac89e7eac2b60ce0daac11b6b98849ce45ee9", + "research/gauge44-slots/construction/leaver/LEAVER-PINS-k8.json": "ab6ce39246d102f55d63c819c4cded2450c515b0e99afe5023f726054afc73f6", + "research/gauge44-slots/construction/leaver/LEC-REASON-PINS-STACK-k8.json": "d87ed7b5869bed4a3d266f0ce5fc784cbe88340a625d22ab9f580fa00872df19", + "research/gauge44-slots/construction/leaver/LEC-REASON-PINS-k8.json": "b07279e41ec9d8f89e8509081e1e7f2c8e8b062fd951b22608a03ac461982914", + "research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb", + "research/gauge44-slots/construction/leaver/PROMO-RECIPE-k8.json": "bc017d6d5126f5f975e7fdae84642963c86ff74f7056ec4764192b5f4497dc83", + "research/gauge44-slots/construction/leaver/RECIPE-U8-k8.json": "51e5e37bfcd1dd1f4e2ce1bb60d23f645e5881e36f3aa556f1533543a40e548e", + "research/gauge44-slots/construction/leaver/RECIPE-X4-k8.json": "4199b9b6bb28f3f79fa01744a0520a60fdf783eddca459f86830535f759b67c1", + "research/gauge44-slots/construction/leaver/REGROUP-LEAVER-k8.json": "b846ea56bc8c58d2513b257f9bea7de5136484b7d66c5bf3d8e3211fc48e4b8e", + "research/gauge44-slots/construction/leaver/TRI-LEAVER-k8.json": "b22e6ecf76104de66844bd617c4ca80f5546ba0966a50e5e9aa0ffea4976cb30", + "research/gauge44-slots/construction/leaver/build_frames_lv.py": "2eb80d612aa59a7bd8b04a122045e3bd2b83a21954e3164943cd20cf6050a21b", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-01+.json": "3d2afc4986f1f3aceacd1e0572daebfb79134ba6af7677150083d0912676427c", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-01-.json": "8f8620f47ce5ba5abf6179d1a5a986c25903ba71b6711a7035815968b5888927", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-23+.json": "53b65cbaeb24bb2a4625f107a39c0ba3797f37aa4980096f22dff7cdbd76440d", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-23-.json": "e34431338f5527838c6e0d0caff885bde82624b0791f2a072c5b4e49faa6b98d", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-45+.json": "ba8f3aa26032dc36e2db4073e2cac9fc61d7a475d534a749bdfcbecf3aa103a9", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-45-.json": "302024488efff30c820b5bbf6b422c6106bb5a9ee851bef8fccc16512ca789e7", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-67+.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "research/gauge44-slots/construction/leaver/cells-k8/CORE-67-.json": "0a7aa4ee46e7f05c9cf0c1a36791d49e439c0c9c473e76cf954b0655463dae05", + "research/gauge44-slots/construction/leaver/cgx_leaver.py": "3af491c63dd96204a7c36006c7e419c2e5ce77e5bc453ccd2495c1e41f83f87c", + "research/gauge44-slots/construction/leaver/layer_end_controls_leaver.py": "4ba676f1ea326b739a64c3477f64eeb295f8151514f78fa7e62b71e4373a6206", + "research/gauge44-slots/construction/leaver/reproduce_leaver.py": "831bfdf2247b5d864b74c3b2b6a475718053d48570851d48bd1c5471d410ee30", + "research/gauge44-slots/construction/leaver/reproduce_leaver_chain.py": "2bc3fc3f32e0f957a0731b79254c553ca48fc6d4d47c4f99d6cd31e1901d85b5", + "research/gauge44-slots/construction/notri/PRIO6.json": "de0412511b0dd1af13e9717bc791126ac0e91c569b5391fd6c70268083045d15", + "research/gauge44-slots/construction/notri/cgx.py": "3da039d4184097c14802f9dbf972520d5b807671196f5e47a2247bc9f29bb418", + "research/gauge44-slots/construction/notri/cold44x.py": "f0bc3500efb2c839a0f8cb03dbb9ea0a54f1dfc71ef81e5373b3d638ac5b8296", + "research/gauge44-slots/construction/notri/port_stage_x.py": "38310744d054e393ea35e996047cddeb2d212141aaaaa4b07f7a4663b11db8e7", + "research/gauge44-slots/construction/notri/reproduce_notri.py": "90148c2a0422b4f92164298a283de73d413ab3d4cb7151a0e6b643a37ea025a8", + "research/gauge44-slots/construction/promo/LOCAL-PINS-p6n-k4.json": "a92bb02266596956bd53e9c86e8bbcc6639c92b4a4a248a1521f8eb79228271f", + "research/gauge44-slots/construction/promo/PROMO-RECIPE-p6n-k4.json": "fa6065d142646f7ab1f268912ce0cf5a1a6cd33c3994ff96bd6e204cf16b3e90", + "research/gauge44-slots/construction/promo/build_promotion.py": "9c9e2001b8d68bbe934d136026276fe97bd9bf6f94d4d78441fc28e14aca4daf", + "research/gauge44-slots/construction/promo/make_recipe.py": "ba9e4fdc0c1be7f6a150a5a50909911257a1a8c7cc5d03d61f541178fc07c122", + "research/gauge44-slots/construction/promo/promo_controls.py": "786c51f84b53698c2c833083506c4432c30eb0ed3b71e7dbe458a70c7413c372", + "research/gauge44-slots/construction/promo/reproduce_promo.py": "f979be666c3f5cf57e342a8427863c0b35b67ca4d3be495ac386f6870deb2026", + "research/gauge44-slots/construction/reproduce.py": "047bb9b3536b0b16bb08a21cd9fd80404ca9d022345f1aeab34b21dffc281c92", + "research/gauge44-slots/construction/slots/RECIPE-SLOTS-k8.json": "0bfffa6a90a3a9635d168f7f55e2003c773c422ded75822b6947cf499f59a55b", + "research/gauge44-slots/construction/slots/SLOT-PINS-k8.json": "55dd229684febecb80638eff9c6b3986623e8539c6c956753b350209c3e0efe2", + "research/gauge44-slots/construction/slots/verify_slots.py": "bc1c0e3e3d7c81dc1649f5be82cdd2399e543d46c24879cb975877bf9b7957be", + "research/gauge44-slots/construction/sw4/LOCAL-PINS-sw4-P6k4.json": "3c06bf68b28ff125a6a2372bb70cefd76fb9fe1333438cd34dfb5b617cd70327", + "research/gauge44-slots/construction/sw4/NOTES.md": "3a3ddb0c77b188e67fc453ccb3efe9323f87028092a6ce4d259b7dc99d702446", + "research/gauge44-slots/construction/sw4/SW4-RECIPE-P6k4.json": "fa58d0ffc95d10b7453daefe4b34404a52895f94126ef973e92e92106cd615fa", + "research/gauge44-slots/construction/sw4/build_sw4.py": "9a295f3d534594a6b1326d8a6647e947670d1c6fbc92f37f5169661fde4c8f66", + "research/gauge44-slots/construction/sw4/reproduce_sw4.py": "3d082e0cc576fb1b4fb9e5dd11d63bab697c8a8626e2837813cd00d100b1aeac", + "research/gauge44-slots/data/FRONTIER.json": "56bed9070d5f0b7585d7b7fd62984696dbc5158e5187663030920a57e1cbfab2", + "research/gauge44-slots/data/OWNERS.json.gz": "32ca30cd1c652ef6ad43657273a08a157e1df3545e759ab36306a0d0b516fb4a", + "research/gauge44-slots/data/PLAN.json": "1dec4ca3af6d45d82286005cae4c5e56e7253adefb117d797da55c55c891af08", + "research/gauge44-slots/data/PREPARATION.json": "1d576298bfafc509992113fdd58b5482655a88e321cbfafe9386588eb6fbb6e9", + "research/gauge44-slots/data/SPEC.json": "8e95ae8087124189cbd366d0e9d1c5ebededff536ff3501927b4b2a2e8dac70e", + "research/gauge44-slots/data/UPSTREAM-PINS.json": "ccc37ab7fbf78947fe02c7f57ea672d2e4eae8454cb1158ed964c75bf423869b", + "research/gauge44-slots/evidence/ADMISSION-CONTROLS.json": "5ebcc945c53f8279ac3bb6249e1d46422b7c7ddeb41c580ab5cbb3ca886dcf28", + "research/gauge44-slots/evidence/ASSEMBLY.json": "847f339db218f62ffabacb4655ba4dc6e8a15f67014ca01b1146083f393b009f", + "research/gauge44-slots/evidence/BINDING.json": "f80ad585c9cf94989d459971189fbb176084aedbe27edf5b5cccc5c2a44de43b", + "research/gauge44-slots/evidence/CENTER-COMPATIBILITY.json": "c66c7da1099ac8618381e2a7cb48b09b43ccf8d125ff124e129aba8ddb922cf3", + "research/gauge44-slots/evidence/LOCAL-STAGES.json": "64165b81b7119a2b23e99d3f3dfe8aa1702f373efe90d82d136c17786ffb6591", + "research/gauge44-slots/evidence/REPLAY.json": "45a6065c41df0c2b04e185b4727c7ad8eac5ebeb637dbb7bebffc184415b49a2", + "research/gauge44-slots/evidence/STAGES.json": "09d7c6daf1e93c58863267141dedc3873264d3baede0cddefda0d56ecb560458", + "research/gauge44-slots/evidence/audit/ASYNC-AUDIT.json": "df19a41a599bf24fd1efaeb2394af63208f95b9e3ca4f83c6f23e9641fb3d662", + "research/gauge44-slots/evidence/audit/GLOBAL-PREFIX.json": "5a6fd0d91a650ad5aa830771fb4333b015f06bc4ded02807d65aee260ce9e671", + "research/gauge44-slots/evidence/audit/IDLE-REMAINDER-FRAMES.json": "95f5165a10dd187000dba9e55afbc1b7dce5a315cfedfa72e4f8344471149048", + "research/gauge44-slots/evidence/audit/OWNERS-AND-PROFILE.json": "a32ecc0d5387d65648e1ff284209122860ee37aaba43ce2dd12024c4bc394313", + "research/gauge44-slots/evidence/audit/PREFIX-AND-INVOICE.json": "14b0f41c88209e800236ce4ebbf91d83537e22e18807153d90013f7eee57a582", + "research/gauge44-slots/evidence/global/ACTUAL-SIGMAS.json.gz": "bf3b7814b54b30c726cae1dfabd3c09211c8f34cc943534565b131a0006b483f", + "research/gauge44-slots/evidence/global/GLOBAL-TEMPLATE.json.gz": "f713f8e66aaeaebb8202fe72bf36c7d23497152497342c27892e0fda3092f95b", + "research/gauge44-slots/evidence/global/HOSTED.json": "60866eb6ced5b9eb259bfc1d59ea7b80fb439164b629e868586ad5bef845a88e", + "research/gauge44-slots/evidence/global/IDLE-REMAINDER-FRAMES.json.gz": "734fd9bbe0afa2cc1e492bb7effef1aa8f0d8926ab1d9420d64c30045b30e784", + "research/gauge44-slots/evidence/layers/LOCAL-AUDIT-LAYERED.json": "a596d7262374a023ae079e0da41d20189bd3ca4594101e5e6f402ce5799df9ff", + "research/gauge44-slots/evidence/leaver/CELL-MUTANTS-LV.json": "308975b8288cb9c853ee6b69e68b25e6f3727d259dccfb7509042f103bb03220", + "research/gauge44-slots/evidence/leaver/FRAME-CONTROLS-LV-k8.json": "9629e499a7f01f2db1e41873344a1476708f41698a0b145888ee569e580a31dd", + "research/gauge44-slots/evidence/local/CANONICAL-WORD.json.gz": "92941c2b718b533f1d3addb710d261a6e2b9ec5d19f0051d79775b08cb2571ed", + "research/gauge44-slots/evidence/local/CLIFFORD-RECIPES.json": "0a60293f43d88dbb1b321f02e61204afe1b6272b1346968ef35705caea1e4771", + "research/gauge44-slots/evidence/local/CLIFFORD-REVIEW.json": "4e3cdd616d105a49bbf1948bb53e49938d515c42f1c026781d1b5e9cb636db12", + "research/gauge44-slots/evidence/local/FULL-WORD.json.gz": "0ad202612f010df4ab66432a628247b37ad8b497dd6b27595b1685cbd7eb119e", + "research/gauge44-slots/evidence/local/INDEPENDENT-LOCAL-REPLAY.json": "18d68326ce0aca76911d561e79a817bce90cb8adfe053e19621c7ae0298b842e", + "research/gauge44-slots/evidence/local/LOCAL-CHECKS.json": "2b8a6a6854b8df8ecd84d8ff2b92f720c81454636988e6a0dfdc1f6c29d1c82c", + "research/gauge44-slots/evidence/local/LOCAL-PROGRAMS.json.gz": "172dc3d23e437909ddc01d07b12ede735afbb5bb6145f1ddf5c2e03097dfebe2", + "research/gauge44-slots/evidence/local/RESIDUAL-ADAPTERS.json": "bb6c23ba1b8dd5d2016724c3348b4e91a6b91daaa3f56bbd5216cb7a96bf5c94", + "research/gauge44-slots/evidence/local/SCALAR-FRAME-AUDIT.json": "cfc73040079b43ea82a42f3cf4c910edda1362deb09ec21c816c329347313bcb", + "research/gauge44-slots/evidence/local/WRAPPER-CHECKS.json": "84c727930f85f1c91900d6d12c523735c8b5d6907cd3eb1bd1030fe1fd4161d7", + "research/gauge44-slots/hosting/PROOF.md": "45bb3de8a10298a4cf5a278c3343be22a7d2e735be93a4e9454f24df7275faf0", + "research/gauge44-slots/hosting/README.md": "004bcdf6c78bd0316f0606d9e636511f94e1e80cbd79cce1a7e3bc55076d9bf1", + "research/gauge44-slots/hosting/audit_frozen.py": "a8d9c7c894cb44453aea93b33141559824f6c3ff81a85a6d066f4a10a2757659", + "research/gauge44-slots/hosting/expand_owners.py": "0f826377881d0c9405f90d9f5feac857c7c7cf8aef5bcf22d326bc274f038a70", + "research/gauge44-slots/hosting/frozen/FROZEN-AUDIT.json": "df6c7181a097900ee9d37db17bd25436a570f21caaa0cc2108712907ab02904b", + "research/gauge44-slots/hosting/frozen/MAJORIZATION.json.gz": "ec5f94b13d190d72bc0608dc9fe2498cc43ba9deb05028159a812ec1e4dcacdf", + "research/gauge44-slots/hosting/frozen/MANIFEST.json": "9df028adfa5120c60d2c78bfab06822cf4e6ed55502816b7d6dec19c1a2e4967", + "research/gauge44-slots/hosting/frozen/MATCHING-RECEIPT.json": "e1af2ac2c6e2457646d52dd693fb961f6279e10fe50eae9873f2ed149b6735b2", + "research/gauge44-slots/hosting/frozen/OWNERS.json.gz": "90ff7657a23dcfb67532b49c0800c5fc259b27c89005081e24bf184869e1bd57", + "research/gauge44-slots/hosting/frozen/REPRODUCTION.json": "8354f63148621c5fcf09cd16b496dedd677d813f83974e1f341ce38a1fffec81", + "research/gauge44-slots/hosting/frozen/SEED-OWNERS.json.gz": "eb3be5eebbb84349d7e7f1bde2fc77772a12ad5bccc6dab7c4efd8d903e2a048", + "research/gauge44-slots/hosting/frozen/SEED-RECEIPT.json": "aecfef753379106f5289f31251584c642e2cf7e4fa2d0886bb4ef9e922f8d9ba", + "research/gauge44-slots/hosting/frozen/SEED-REPRODUCTION.json": "4f6d49a85f43c98c816877d783470ca717be2349caceb991bf756eedece1b194", + "research/gauge44-slots/hosting/reproduce.py": "7551004d8d15cebcecc6793ebd17385830390935ccd1a8957f1c5472bce6ec82", + "research/gauge44-slots/hosting/reuse_owners.py": "2106fe79bd89071e62a3a25c1e444531e14fb89f88b4bdeb72d7b40c91266402", + "research/gauge44-slots/independent/CENTRE-GUARD-REVIEW.md": "7b82518d7ddf042d6e71174bc286311fa72127e0dc6dc9e500025fcf7abbf897", + "research/gauge44-slots/independent/GAUGE-COLD44-INDEPENDENT-AUDIT.json": "9fb5265c4d2ddf3d615e46600954c79cd1a42481500a0973a5695fcb9f2558c9", + "research/gauge44-slots/independent/GAUGE44-GLOBAL-GUARD-REVIEW.json": "631107a9a9acb02441ce80298f815e0c624f811b0d58c6fd78f8dc58d564bb5b", + "research/gauge44-slots/independent/GAUGE44-INDEPENDENT-PRICE.json": "6e222b252f3453446d0e41b08f00a9bf9449ce3588b6ddc00c9accc1c00e7683", + "research/gauge44-slots/independent/README.md": "25668a62d8c91f6860f8412cf2fc750ba41bf1085dad3709ad5067c7956eac89", + "research/gauge44-slots/independent/audit_local.py": "03afcfc9da428b3f6edac81c1fee7f277ab81b64998efae78380b63498dec6cd", + "research/gauge44-slots/independent/price_profile.py": "d2f548ad6b99f64a8ca5fbaf822a89560bb99359957ce3420b497f6a46fc0acf", + "research/gauge44-slots/independent/review_guards.py": "b83164d6c0122a055b3281f3381b305683a875760a2d727dd0188bb2aa59d67d", + "research/gauge44-slots/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "research/gauge44-slots/verify_global.py": "16bd5e54598592e92e210f99065348c5df261b8350fdc688072ce053d15b088a", + "research/gauge44-slots/verify_manifest.py": "723d726dbbe5b65a49caecae0f1aab664a1413fb639abfd3e826a5a538e14e5b", + "research/structural-gain/frontier-composition/ADAPTATION.json": "c47b1dfcfb1d78da7b1ab0d7d2c17cdf5947b4ec9ffb508f39dca572a59be3cb", + "research/structural-gain/frontier-composition/ADAPTATION.patch": "85baf9166f5f7fb40bdfa9372cf5eb05f91c9fb6a5df9f9df486b18e914558e9", + "research/structural-gain/frontier-composition/COMBINED-EIGHT-CEILING.json": "45d341b83067b7b71df6463be118dfd02612eacb4f2040c576fd3aa936a9247e", + "research/structural-gain/frontier-composition/COMBINED-PREFIX-CEILING.json": "de86cd880f285c8d3b279fac5056623b75cc52a7fbb2590078d8a6ba64fdc7a4", + "research/structural-gain/frontier-composition/COMBINED-PREFIX-PROSPECTIVE.json": "c6460a16b59868b7e8184f4ac34eec5035e0256428fc8779a16f89f8acceaeb7", + "research/structural-gain/frontier-composition/NOTICE.md": "09d4d08c655b426d83570b0ee6498330835283a9ec930754f4fa57f60c193e3b", + "research/structural-gain/frontier-composition/README.md": "70f0f791cbe3b2603f85d85bb9055aa0ee1df6dc06ba82fc1921356948312887", + "research/structural-gain/frontier-composition/REPRODUCTION-PINS.json": "8c185dfc046c4d0d00b104b4b3e283b8606d3ec6f8415d2cc400e8a8c0ddd1d4", + "research/structural-gain/frontier-composition/RESULT.json": "70ce494d27389933412f2497804489ea881a1572bf00680951b2eceeb422441f", + "research/structural-gain/frontier-composition/SOURCE-PINS.json": "8eda96e9726663a32a39435eacb5f057a76e08e047e95cb205b0552f2f081e5b", + "research/structural-gain/frontier-composition/adapt_global.py": "c61f573a97e67bae4c8c2b9263771d95e566ea9e734f29c41faae3a48d1861b9", + "research/structural-gain/frontier-composition/admission-nomination/NOMINATION.json": "9de86ae70d1162117657e6e9b5d2819cb264dc86e3c4b1b9414382aed5bfca0f", + "research/structural-gain/frontier-composition/admission-nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/admission-nomination/PLAN.json": "c4c9f4f5db481c982f1d0f9396249ab0593165c1b7ec5d4d2ab850b92c80beac", + "research/structural-gain/frontier-composition/combined-eight-local/CANONICAL-WORD.json.gz": "9670a30e834517612f17942eb564ebad32152d81445ac4b9c0dfb70f69d932ec", + "research/structural-gain/frontier-composition/combined-eight-local/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/combined-eight-local/INDEPENDENT-LOCAL-REPLAY.json": "c2da85f4f343ee1a7bd0c191756a2faea5669b4bed10644e678d5778688da97a", + "research/structural-gain/frontier-composition/combined-eight-local/LOCAL-CHECKS.json": "43c49979bcf3f29f575c10022c3052bfb9846860b13227b3d08cf90a37c382a1", + "research/structural-gain/frontier-composition/combined-eight-local/LOCAL-PROGRAMS.json.gz": "3260547acabf80f1856e3de9a1bf47e4a6a522e7b2d4b1f960b475b3637d31b3", + "research/structural-gain/frontier-composition/combined-eight-local/SCALAR-FRAME-AUDIT.json": "02363c4cb5081319b695dee65f1a01e08a40f272b1b212264a5ad12ef240b33f", + "research/structural-gain/frontier-composition/combined-eight-word/CONSTRUCTION.json": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/combined-eight-word/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/combined-eight-word/RECIPES.json": "4ee838e1cb9258cd330d73b4c58333d35156cd29e4d7b70e4f543280a317ba53", + "research/structural-gain/frontier-composition/combined-prefix-local/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/combined-prefix-local/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/combined-prefix-local/CLIFFORD-REVIEW.json": "1689bc0c187686bc547eac22033b5f781dbf71621cb02d134cba0263e45b88b7", + "research/structural-gain/frontier-composition/combined-prefix-local/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/combined-prefix-local/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/combined-prefix-local/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/combined-prefix-local/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/combined-prefix-local/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/combined-prefix-local/SCALAR-FRAME-AUDIT.json": "2acacc4ce6a76de1df817361f619bc2c4dce171601e96003bab7e19375bbf9bd", + "research/structural-gain/frontier-composition/combined-prefix-local/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/combined-prefix-word/ALL-KERNEL-CONTROLS.json": "8fafe450dc99d5ae5f52c9b943dfd335560db0ce7fa04cecc6079a185c41afd2", + "research/structural-gain/frontier-composition/combined-prefix-word/ALL-KERNEL-OMISSIONS.json": "836d839e744b1cbee5b3a47b4d6f766e9d822161fe3640794f9a0f051d2ad20d", + "research/structural-gain/frontier-composition/combined-prefix-word/CONSTRUCTION.json": "dd4e03987a81cc655885eeadc9ed3aa17e575d6d2568d24878329cc8e98ab3e6", + "research/structural-gain/frontier-composition/combined-prefix-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/combined-prefix-word/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/structural-gain/frontier-composition/combined-prefix-word/RANK5-OMISSION-CONTROLS.json": "449566dc724a285764dbaabc1a448f974f0608c7c68cd0406139c21aa1cf4647", + "research/structural-gain/frontier-composition/compact_owners.py": "0a1745ab326aa4af2ee72d5e6eaf93330b04bb3800a0c7d7747225c09293d2a6", + "research/structural-gain/frontier-composition/compacted-nomination/NOMINATION.json": "545a106d8d76888b916433c36544640602fac6234d8f36fcdab2cc551a7440b6", + "research/structural-gain/frontier-composition/compacted-nomination/OWNERS.json.gz": "92d29bd48582aa87eed2153b2e8f0f41f7d47087d215bebd7dac20fe79c4f8f9", + "research/structural-gain/frontier-composition/compose_prefix.py": "9b76cbe9d5840ba448ac1621fe3dca7ca6c3ea63d4590d595a6ddd8091d22390", + "research/structural-gain/frontier-composition/global-code/assemble.py": "e2e61c092803f9c9c15dc72b8a2cafa57ac8969ec70261b33d390055c911b2b7", + "research/structural-gain/frontier-composition/global-code/assembly_controls.py": "65ac20c51225143b3ec1966e1da8e2405dfd8f0f5e7765c04f07d55e86fba535", + "research/structural-gain/frontier-composition/global-code/audit_allcold.py": "20ed33a1f98240c73a3364d136f28b1e79d9b8cdf03d812f38da850dabf663dd", + "research/structural-gain/frontier-composition/global-code/bind_providers_portable.py": "c914b0161601cd982f0a4700326c505906a3eee5e71529973d5c7ad9caaad3fc", + "research/structural-gain/frontier-composition/global-code/emit_allcold.py": "9e7c53d9760391584ea3c80977fde4337f603a5732b2fe4f0dd36fd96c9c4627", + "research/structural-gain/frontier-composition/global-code/invoice_allcold.py": "6a14639e2849d50978a7821dcda97746b5a66722bb3ca2d6fc8c611d2eaf4e49", + "research/structural-gain/frontier-composition/global-code/phase_timing_controls.py": "edd53ac292132ba894ab17ca783909ffa5140742c45f796e8546383567fa924f", + "research/structural-gain/frontier-composition/global-replay/ASSEMBLY-CONTROLS.json": "5dae5fde9663c497f9d4e545fc8d5dc6d8b99251c4d995a9699c6b03c30e789e", + "research/structural-gain/frontier-composition/global-replay/ASSEMBLY.json": "b8d100f1adcaf818102b38f061cd462479ca37ce0d56d899538a98684f6c099a", + "research/structural-gain/frontier-composition/global-replay/BINDING.json": "6a15b287a04f703e76b6d34c4f092482df8afb3b47c9d4ea606d9c12589224a4", + "research/structural-gain/frontier-composition/global-replay/PHASE-TIMING-CONTROLS.json": "7b286b838470bed5225deabd9f6e70760af3c56d09780753b5c060711045ac7c", + "research/structural-gain/frontier-composition/global-replay/PLAN.json": "46e97c0b6d245d2a471df8e641aeaabc63efc5e5606b16fb6b6efe7e054e9431", + "research/structural-gain/frontier-composition/global-replay/audit/ASYNC-AUDIT.json": "26f1445c0be85a0093ef6e695ef3f34363cd26bfa4dc342440876ca1832175b4", + "research/structural-gain/frontier-composition/global-replay/audit/GLOBAL-PREFIX.json": "c2f8d032275a27c3aceadbda7cfccbe9a4888a2f64f0fc923bf0d536897387a3", + "research/structural-gain/frontier-composition/global-replay/audit/IDLE-REMAINDER-FRAMES.json": "f76c46723a1ded4243aee4f81c441b7eba4798014358a091aba2f50ab79371b6", + "research/structural-gain/frontier-composition/global-replay/audit/OWNERS-AND-PROFILE.json": "7c42b0d506831843ff23a673f0459d41eda2046a3d114d393bccd22920a8ae9e", + "research/structural-gain/frontier-composition/global-replay/audit/PREFIX-AND-INVOICE.json": "15baebfd6c4b3fb1a6b45bf9cffd0b592168af078ddbe898390212173f84ba5c", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CANONICAL-WORD.json.gz": "9d2467e9200fca9aea31bda6f54aec74ee1d0d41e2c0ec64c081691de8536b31", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CLIFFORD-RECIPES.json": "9f7b1d5bfcd937fb25778402cda7e71ccc1ae0e0e7f2b65a380dc231ad6f36fa", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/CLIFFORD-REVIEW.json": "093762e2d5e751c26d5e82043773e6d7d77e902dcfadcd38bedc1502241eb455", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/FULL-WORD.json.gz": "4bb27af5d2142114ac59d24c8fc9bb638b932cf1cdffaf17733b5372ee101f3b", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/INDEPENDENT-LOCAL-REPLAY.json": "037ed24855a93ff5104667ceafcbc541dce26dfbccb125933281818e065a2b2c", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/LOCAL-CHECKS.json": "a66926b91a1d383b056e58c9c72024d228e710dae7c28af8514f1a2761e31f2a", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/LOCAL-PROGRAMS.json.gz": "eacd3c25390d7190ae1a54f6899e5e6a66003049665c3dd11648ae91123f4b2a", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/SCALAR-FRAME-AUDIT.json": "8087ceb5539a7a43bf5dc973547dc63ac87a764fff708a11f93c54df2ca711cb", + "research/structural-gain/frontier-composition/global-replay/base/providers/fourcold_eight/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/CLIFFORD-REVIEW.json": "1689bc0c187686bc547eac22033b5f781dbf71621cb02d134cba0263e45b88b7", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/SCALAR-FRAME-AUDIT.json": "2acacc4ce6a76de1df817361f619bc2c4dce171601e96003bab7e19375bbf9bd", + "research/structural-gain/frontier-composition/global-replay/base/providers/width7_eight/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/CLIFFORD-REVIEW.json": "f9a5d85a91abe1518fd5b9a1f31d191409ad37860390d3bb05cb1f0ce89768b9", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/INTEGRATION.json": "2acde3dd247c50737ad42a2468775be1bdb21cb5751f4c156a1dcc5cac9e13bd", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/SCALAR-FRAME-AUDIT.json": "143ced2876c0fe33dadedce49e7e9ab5e458321c752ae1a0dedcec9cc2486406", + "research/structural-gain/frontier-composition/global-replay/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/global-replay/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/structural-gain/frontier-composition/global-replay/base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/structural-gain/frontier-composition/global-replay/hosted/ACTUAL-SIGMAS.json.gz": "936df489d3deb6d6986bec7e31f553535d04e3ad417c600fc700785bc2574d2b", + "research/structural-gain/frontier-composition/global-replay/hosted/GLOBAL-TEMPLATE.json.gz": "d9ffee95dba7d05cfc444e582fa652ab157855e796b5a03969e1ce873803c83b", + "research/structural-gain/frontier-composition/global-replay/hosted/HOSTED.json": "53fd81d8b95f59d56f2ddc0375507d166eeb63bcc6f6e215319843011603ad9f", + "research/structural-gain/frontier-composition/global-replay/hosted/IDLE-REMAINDER-FRAMES.json.gz": "466656a9a6b7270f5b3c5d69539df07555a43f0b14f53fa1740c74d3738c24b3", + "research/structural-gain/frontier-composition/multicold-eight-local/CANONICAL-WORD.json.gz": "94dba75199d70b744be5604386b8eca6767f0b0e1aeee06b2bd0e4e1db858940", + "research/structural-gain/frontier-composition/multicold-eight-local/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/multicold-eight-local/SCALAR-FRAME-AUDIT.json": "2f2f0f18aa3a560b2d274f2a61d1a2e8e93e7b677bdea69f8dd07e5b92f3fbb4", + "research/structural-gain/frontier-composition/multicold-eight-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/multicold-eight-word/KERNEL-CONSTRUCTION.json": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/nominate_combined.py": "ee96ba6b0f57e3a6418b851498a304e2d5f6bbec30c68d39e7bfa589b1cfa4fb", + "research/structural-gain/frontier-composition/portable-replay/RECEIPT.json": "181148f6262f4d38c365e1431424a3c6fdc72e3eb655c8b9e8d229ad74d966f4", + "research/structural-gain/frontier-composition/portable-replay/RESULT.json": "6814b7d49fb28dc7eb7f7a143b62a0e562457b8526c9d6155121a7190cf25636", + "research/structural-gain/frontier-composition/portable-replay/STAGES.json": "5cd026ffaf115c06b6372d66e4a94e7d5a65b1a55601d081a3862f1783dfe00b", + "research/structural-gain/frontier-composition/portable-replay/composed-word/ALL-KERNEL-CONTROLS.json": "8fafe450dc99d5ae5f52c9b943dfd335560db0ce7fa04cecc6079a185c41afd2", + "research/structural-gain/frontier-composition/portable-replay/composed-word/CONSTRUCTION.json": "1b66e7c6de00f0ea5cfb0b064c8d61f7353faad08a9f96153eba1de7df7e4efb", + "research/structural-gain/frontier-composition/portable-replay/composed-word/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/composed-word/PROMOTION.json": "9ad34faa8611a6ea7f161d2e1fe331ab1ba5ccec8fca3978e31c3e7bf789bc31", + "research/structural-gain/frontier-composition/portable-replay/composed-word/RANK5-OMISSION-CONTROLS.json": "449566dc724a285764dbaabc1a448f974f0608c7c68cd0406139c21aa1cf4647", + "research/structural-gain/frontier-composition/portable-replay/global/ASSEMBLY-CONTROLS.json": "4ca8c100c735e46c0aaa54e8222b13f44a8fbd8bc1ecb2e169796dc07b828181", + "research/structural-gain/frontier-composition/portable-replay/global/ASSEMBLY.json": "458bf63f1e5019fef9b1653f68cd0d35de5a8e9183d5cdd0608696f9a80fe20d", + "research/structural-gain/frontier-composition/portable-replay/global/BINDING.json": "b90811aa2011210b603de24e79f45e6f8f5bca7d3687fa6f55fff31694e6d7cb", + "research/structural-gain/frontier-composition/portable-replay/global/PHASE-TIMING-CONTROLS.json": "4fac9ed2d96bcba7fa646045428e931363bbe06cc98283857a6c5d072b6d0a75", + "research/structural-gain/frontier-composition/portable-replay/global/PLAN.json": "528fe700ac5998cc4abb4edd008dcace6ca47db49b431fbf2cc021df885de6a3", + "research/structural-gain/frontier-composition/portable-replay/global/audit/ASYNC-AUDIT.json": "fb374c7f823f5db2162b50801d52a4282b54e36a49df67360d0a26160cdc200f", + "research/structural-gain/frontier-composition/portable-replay/global/audit/GLOBAL-PREFIX.json": "7a4c5d98bc35b2541df3d058292dba3d479b639dd13e6c2db31d9c2dc088e9ef", + "research/structural-gain/frontier-composition/portable-replay/global/audit/IDLE-REMAINDER-FRAMES.json": "7b77927a83f949534d5935579445c4505c3812b7a1403b164c1fa8f9082d33e7", + "research/structural-gain/frontier-composition/portable-replay/global/audit/OWNERS-AND-PROFILE.json": "0246da5a86b87c450db132b875e7dfd1d36b4ea0f388ea02f5d4d77e84751db7", + "research/structural-gain/frontier-composition/portable-replay/global/audit/PREFIX-AND-INVOICE.json": "9f2c2e71ee3a84b1cd65563d038b3a21a2a5de0a0321097c4804b9ae0254f0eb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CANONICAL-WORD.json.gz": "9d2467e9200fca9aea31bda6f54aec74ee1d0d41e2c0ec64c081691de8536b31", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CLIFFORD-RECIPES.json": "9f7b1d5bfcd937fb25778402cda7e71ccc1ae0e0e7f2b65a380dc231ad6f36fa", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/CLIFFORD-REVIEW.json": "093762e2d5e751c26d5e82043773e6d7d77e902dcfadcd38bedc1502241eb455", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/FULL-WORD.json.gz": "4bb27af5d2142114ac59d24c8fc9bb638b932cf1cdffaf17733b5372ee101f3b", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/INDEPENDENT-LOCAL-REPLAY.json": "037ed24855a93ff5104667ceafcbc541dce26dfbccb125933281818e065a2b2c", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/LOCAL-CHECKS.json": "a66926b91a1d383b056e58c9c72024d228e710dae7c28af8514f1a2761e31f2a", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/LOCAL-PROGRAMS.json.gz": "eacd3c25390d7190ae1a54f6899e5e6a66003049665c3dd11648ae91123f4b2a", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/SCALAR-FRAME-AUDIT.json": "8087ceb5539a7a43bf5dc973547dc63ac87a764fff708a11f93c54df2ca711cb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/fourcold_eight/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/CLIFFORD-REVIEW.json": "98e70bd3e56f563c1cb51174cc0f3029d20f58a565a4f993d336c24e2f3e53c2", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/SCALAR-FRAME-AUDIT.json": "04835172c369aa8a0edd31a5161e86c3474f2bc748bea80a37750d37c66118c6", + "research/structural-gain/frontier-composition/portable-replay/global/base/providers/width7_eight/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CANONICAL-WORD.json.gz": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CLIFFORD-RECIPES.json": "534ace870cabe515987e00f50f71550030965006ea18978e0924590ac6944345", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/CLIFFORD-REVIEW.json": "f9a5d85a91abe1518fd5b9a1f31d191409ad37860390d3bb05cb1f0ce89768b9", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/FULL-WORD.json.gz": "375bd23001cd805707968005a9342827d5464e3f8e3a754197b31c46fc3f63c2", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/GLOBAL-TEMPLATE.json.gz": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/INTEGRATION.json": "2acde3dd247c50737ad42a2468775be1bdb21cb5751f4c156a1dcc5cac9e13bd", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/LOCAL-PROGRAMS.json.gz": "99a18eede965accf65943e490b8d2b2ffb9f1c9bc6babdb825413a80cbea2cde", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/RESIDUAL-ADAPTERS.json": "baafef737acc16dafbe1150896feb16744f3d669fa123bb2bff19ecc4e71b275", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "143ced2876c0fe33dadedce49e7e9ab5e458321c752ae1a0dedcec9cc2486406", + "research/structural-gain/frontier-composition/portable-replay/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "research/structural-gain/frontier-composition/portable-replay/global/base/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/ACTUAL-SIGMAS.json.gz": "936df489d3deb6d6986bec7e31f553535d04e3ad417c600fc700785bc2574d2b", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/GLOBAL-TEMPLATE.json.gz": "049d649d121b5d9bd1947338413ed3b3a07e2429cd99294c914dd4c20b90d35a", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/HOSTED.json": "8d376143853fccfaac130444641a9cd792b94a9e1f2a8449fc6cc37fa622043a", + "research/structural-gain/frontier-composition/portable-replay/global/hosted/IDLE-REMAINDER-FRAMES.json.gz": "466656a9a6b7270f5b3c5d69539df07555a43f0b14f53fa1740c74d3738c24b3", + "research/structural-gain/frontier-composition/portable-replay/local/CANONICAL-WORD.json.gz": "81ef773a4b22b91ac74880c5b8606d93794c0b98b2e7e7291a01580cba79ceac", + "research/structural-gain/frontier-composition/portable-replay/local/CLIFFORD-RECIPES.json": "3323144380012a59c59e56348dd56d17da0f93e7783415efdaabe6fd5d3edadc", + "research/structural-gain/frontier-composition/portable-replay/local/CLIFFORD-REVIEW.json": "98e70bd3e56f563c1cb51174cc0f3029d20f58a565a4f993d336c24e2f3e53c2", + "research/structural-gain/frontier-composition/portable-replay/local/FULL-WORD.json.gz": "a6cd88224427bad6d00b6fbe1d201a2c09e496c90e2cecdc04d7f2ff11a4ba42", + "research/structural-gain/frontier-composition/portable-replay/local/INDEPENDENT-LOCAL-REPLAY.json": "895080ffbe54cf6a7ea148ee902308205ba9fa72248a8f7e4b7b375bf9e38d16", + "research/structural-gain/frontier-composition/portable-replay/local/LOCAL-CHECKS.json": "66a2f5d82e13179626dec71bb5a4b49bcae32f91e4812fa4056fe1f3c3ecadcb", + "research/structural-gain/frontier-composition/portable-replay/local/LOCAL-PROGRAMS.json.gz": "4fd7b2ad67b037c17fcc68d12663d0d70c45e66d802e2eb558daa859802f499c", + "research/structural-gain/frontier-composition/portable-replay/local/RESIDUAL-ADAPTERS.json": "b55f994f7cad5b0be48084362f1461f7587689eb35ad4bb253de138792b1c526", + "research/structural-gain/frontier-composition/portable-replay/local/SCALAR-FRAME-AUDIT.json": "04835172c369aa8a0edd31a5161e86c3474f2bc748bea80a37750d37c66118c6", + "research/structural-gain/frontier-composition/portable-replay/local/WRAPPER-CHECKS.json": "bdfda50952f2781811a234ed5186ee3a3ce445e2f68ff88a068713981c580506", + "research/structural-gain/frontier-composition/portable-replay/logs/admission-controls.log": "659e7183284b11bc7f4bc4a54aae250f7a53993720ef9e88906908ba4590ab2e", + "research/structural-gain/frontier-composition/portable-replay/logs/all-columns-native.log": "7e097e0c37a6f961db5ea0a4b6ccfba1c8d336100dc65435cbc97939b5da88a9", + "research/structural-gain/frontier-composition/portable-replay/logs/all-kernel-omissions.log": "13fae47d3799fead98d1c0df5702516c3cbebf27636a35ae3e7d494274fef5cf", + "research/structural-gain/frontier-composition/portable-replay/logs/all-phase-edges.log": "316379dfe5c469e3f5e64545e786e0d501a3d67ee227cad8a957393fdd44213b", + "research/structural-gain/frontier-composition/portable-replay/logs/bind-providers.log": "71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a", + "research/structural-gain/frontier-composition/portable-replay/logs/compose-prefix.log": "c8233c0c3b0e31aa798896cef089e55c72cd8471f71cd04c1e6a5ecd0067ecdd", + "research/structural-gain/frontier-composition/portable-replay/logs/construct-multicold.log": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/portable-replay/logs/construct-width7.log": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/portable-replay/logs/emit-owners.log": "8d376143853fccfaac130444641a9cd792b94a9e1f2a8449fc6cc37fa622043a", + "research/structural-gain/frontier-composition/portable-replay/logs/exact-assembly.log": "9dbe4dfe1a7d8bc255008b3d1a2b00865da6f2e3404bf0a27f318640b8280595", + "research/structural-gain/frontier-composition/portable-replay/logs/fresh-invoice.log": "37caff4657f84fa89c1ac13ec93285ff9fa21f6e9ae8a406b28194e83f3ae079", + "research/structural-gain/frontier-composition/portable-replay/logs/independent-local.log": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee", + "research/structural-gain/frontier-composition/portable-replay/logs/independent-owners.log": "fb374c7f823f5db2162b50801d52a4282b54e36a49df67360d0a26160cdc200f", + "research/structural-gain/frontier-composition/portable-replay/logs/normalized-wrappers.log": "084996d2f72ec61b58fd63cabd85c6d01a82c217a8d3f4639f99c5fb32afe978", + "research/structural-gain/frontier-composition/portable-replay/logs/phase-timing-controls.log": "d4300a182a615922dd73ff2b945ff671086b86d5b80dbc009539e96d9b4dfe82", + "research/structural-gain/frontier-composition/portable-replay/logs/rank5-omissions.log": "bab3028f59a9b024df5f20d2c0f3755933cea161bfd49ab676fa6133f58a05db", + "research/structural-gain/frontier-composition/portable-replay/logs/reflected-ledgers.log": "ec8f89251df20f30f32bf57dc61ef643ed0646e629cbeaf406e0d3cdf448ea5b", + "research/structural-gain/frontier-composition/portable-replay/logs/relabel-owners.log": "100be6d961212fe518657e577b7089401067f845fffa4fee9bdcc3d88850f940", + "research/structural-gain/frontier-composition/portable-replay/multicold-word/FULL-WORD.json.gz": "4d4a59db7f74d7505447fbb2aa87735771cca1d04a0afafa455d21bd8dbf1f77", + "research/structural-gain/frontier-composition/portable-replay/multicold-word/KERNEL-CONSTRUCTION.json": "6f1fd8e202891558084ac9ee00606bbff0659c869f1bf6414461d87f6b67c53c", + "research/structural-gain/frontier-composition/portable-replay/nomination/NOMINATION.json": "d5d23da576ad2b981287048d01b395fb92a241d1fd9a120da45e280a7e83d5d0", + "research/structural-gain/frontier-composition/portable-replay/nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/portable-replay/nomination/PLAN.json": "aff99bac638d9707bd894f9241ea0576f5e7e33eaecc070880f450581d37c5c5", + "research/structural-gain/frontier-composition/portable-replay/width7-word/CONSTRUCTION.json": "5387ebfcb072bc9e94b74bf16c25153d3513df6a70b378bf354a0fbc7cdbb248", + "research/structural-gain/frontier-composition/portable-replay/width7-word/FULL-WORD.json.gz": "ee0fecf86bddcc5f4e675c60fbd5c572bd48269368a37a38c070346eefa3dd4a", + "research/structural-gain/frontier-composition/portable-replay/width7-word/RECIPES.json": "4ee838e1cb9258cd330d73b4c58333d35156cd29e4d7b70e4f543280a317ba53", + "research/structural-gain/frontier-composition/prefix-input/CONSTRUCTION.json": "33febf6fd2ec1361d3c378be5d58eb2da495537987bc5326cd1bf89fa41d20a4", + "research/structural-gain/frontier-composition/prefix-input/FULL-WORD.json.gz": "a8d37cddb9c430569271a25b0af1fe7ff78fd23d183f443ec7c1075898094d4c", + "research/structural-gain/frontier-composition/prefix-input/SOURCE.json": "1598d3d7cc9d7b2e0c400896065d2d149166290320556cb598a3923a1dc59c3f", + "research/structural-gain/frontier-composition/relabel_owners.py": "7f273d712fa9917dd220895b59bacdc776d5b9e6cc5dceb72b92036eff0363f4", + "research/structural-gain/frontier-composition/relabeled-nomination/NOMINATION.json": "9de86ae70d1162117657e6e9b5d2819cb264dc86e3c4b1b9414382aed5bfca0f", + "research/structural-gain/frontier-composition/relabeled-nomination/OWNERS.json.gz": "35ce2ebf98907d0fbe1c3759dd58f2fa0e8a1bd3b97f65fb101092df657ce4b8", + "research/structural-gain/frontier-composition/relabeled-nomination/PLAN.json": "c4c9f4f5db481c982f1d0f9396249ab0593165c1b7ec5d4d2ab850b92c80beac", + "research/structural-gain/frontier-composition/repacked-nomination-expanded/WINDOW-SOLUTION.json": "7df5fe77a32eb4dd95b032c522b51f957d1a4b6845ba34b6dfad8d489589cc3b", + "research/structural-gain/frontier-composition/reproduce.py": "8caa2e9d29df773a86a18d6b50b20379a616a22577e8c4fafb926d8c7d24aec7", + "research/structural-gain/frontier-composition/upstream567/data/EIGHT-SECOND.json": "eff4c7cf18a2aca50d4684af5df0fe2d134892354704f65f3d36066200db1cc0", + "research/structural-gain/frontier-composition/upstream567/data/FOUR-SECOND.json": "103afaab0459014cfa67da7cf78d79f9fae41f5f34c002e550b067a7a9ef8ae2", + "research/structural-gain/frontier-composition/upstream567/data/ZERO-SECOND.json": "0dedad089bfa54a0bdf0be77c2aa5e56c098cfb85ccceb9c797a79a13be32357", + "research/structural-gain/frontier-composition/upstream567/proof/CONSTRUCTION.md": "4090072319ae982c2477a6aaa888f204382e80b745b928737cdc1a707547c38b", + "research/structural-gain/frontier-composition/upstream568/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "research/structural-gain/frontier-composition/upstream568/MANIFEST.json": "328ce8023d33deb308b0f1ae2320424050f836d791cf60a613ae8408e7d6f3ab", + "research/structural-gain/frontier-composition/upstream568/NOTICE.md": "d14c070a8e237cb1912e413ce22e98eb41f164b769ebaa97224c121fcc5a0fc5", + "research/structural-gain/frontier-composition/upstream568/README.md": "638428654d34f0b72ed4b5fda948c91d01e57f8015813c6d8ab01c06c1da5322", + "research/structural-gain/frontier-composition/upstream568/code/audit_multicold_controls.py": "3ff631f0bdc7e707d4296ff441802cc26da9c6556650469f09ab7253558b4017", + "research/structural-gain/frontier-composition/upstream568/code/build_multicut_kernels.py": "6ab3d73f81d5b2fb884a93a336ef1940e118d419d425b3356bab3b97f774c9aa", + "research/structural-gain/frontier-composition/upstream568/data/EIGHT-MULTICOLD.json": "d18ea59995d384833c95a7a55d8167f83439b6881a524ab03df972ede3e0d7b9", + "research/structural-gain/frontier-composition/upstream568/data/FOUR-MULTICOLD.json": "c1b42d7bacf9f31ab35294f7b8430a1164d6bc169a3d68fe2b3ea39cf791b323", + "research/structural-gain/frontier-composition/upstream568/data/ZERO-MULTICOLD.json": "cc09fab61aab468200d72f833ffb9e6572580d54da57bab02c5d63e3b280af1a", + "research/structural-gain/frontier-composition/upstream568/proof/CONSTRUCTION.md": "27ece5e1c11b90d97a808b56eff897b998c10e61016db95867f84e6e6aef132f", + "scripts/audit_additive_labels.py": "fa12eb2c102dc3ea176b6b5ac22618bf1cd2ff15cefc458d3a4274661abcfe6f", + "scripts/audit_affine_vectors.py": "a3fccaeadb9a5db72c33787a055a54374504a6aa231907080396b2cf822e94a7", + "scripts/audit_assembly_domain.py": "02af0a14a4a049d1bb6d073dc4af972f4c2a3b4065fdd32ec5882b5f3b7addea", + "scripts/audit_bit_compression.py": "f0ed48592a885b54669d3f9086530fc84c467c39fd9281b357ba7550549aaa25", + "scripts/audit_block_carry.py": "2835f9262e0f835259a18c11aa3469643a19483d62daff90dbb91ddcb46e4505", + "scripts/audit_block_core.py": "a6ee56d5c238691701e9f17e9f2e7ed109a192d974614f58bdeca57a441ab968", + "scripts/audit_block_labels.py": "5455255446aaca07caae5187487cac5129fdbd823de778bae74ea16ca1f78f10", + "scripts/audit_cancellation.py": "508934ee4d9514a5519813603b6192a0d53103b6e30d65b8d53a1a774de244b6", + "scripts/audit_coded_carries.py": "b914227845265e856e5c343bb8588bb6621477afab40ba6a08ced95eca595ef3", + "scripts/audit_community_candidate.py": "fe687e20639a26c852fcd336411636e5c4293c0d7ba1880cf570bcad2f9d6ac9", + "scripts/audit_compact_controls.py": "c3513cd6b41a20bc33b392d66c1536f0a5fcaa76088848361a3aef64074fa989", + "scripts/audit_complex_centers.py": "166b18f560cd0d520d23fa29ee8147e0ea056358c4268a466ec458195a97a960", + "scripts/audit_core_limits.py": "33060eda83c47372daf887fbdbb5e684d2a0a193e527449443948880cbb0c70c", + "scripts/audit_cube_cores.py": "eaf815316abe1a55b43a62e71252243562486248f3275f4a28ee286a34c5cb07", + "scripts/audit_cyclic_topology.py": "b20ece2cf1337e1808e35b602a0120c6aedaf602fa2315560726a149e9838c29", + "scripts/audit_disjoint_tensor.py": "477db540e972b82751fac6a3a6d6e38fb4141e967261b1f9c260e2c686479a78", + "scripts/audit_early_sharing.py": "2cf08ee65f8f8610578614d0ff0308eb432732e779f1e8c03e67f1979e75fdc6", + "scripts/audit_fano_completion.py": "427c369eb2adec9214c5e804bb4413c5a1c4ecbe74ed81c4d65e1b11faa60ed0", + "scripts/audit_fano_permutation.py": "168d286a09c9c25852c3edd8832c1dab3c30e8fec87c050a6daec8d075822bc5", + "scripts/audit_followup_candidate.py": "dfb65258d08097acd6a4c29719f4d7459646801de56f33e78d9ae1cee55c2cfc", + "scripts/audit_fused_block.py": "2afb83ca8e5f193ca8a4c242becf267ad1d9dc2578ba238b820e98d5185f6288", + "scripts/audit_gather_schedules.py": "d7b4f64a672404a4d46fb2dd46a9e71db70fc61e3e2e8ba4ad20a8a07eb724b6", + "scripts/audit_general_guard.py": "885743e70450f8da77dd8eee619eb784bd10b3078d4229baf4af2791a2e483c1", + "scripts/audit_inplace_side.py": "16d295f9f9250d35f6f1de2843d5e13c7adbf88d595ebcd0b65b00d1a938acd9", + "scripts/audit_joint_candidate.py": "41a5ef6425561eeaa49a4dc1783afbce723ef31944e3f7d30cc91f4a1e0b64ff", + "scripts/audit_joint_frames.py": "3df8061392ce0ba42bbde8c02f2a30c8141145e70e9a48c18da73d3aafb14423", + "scripts/audit_joint_return.py": "da515bbd86dc9597e016c39ce2ea189343699a2d36f51f2224f4c2e39fa69601", + "scripts/audit_mixed_point.py": "2eead5d410d1c96f1a7ef47c9c35d16ca6bb6d9c2a6a8d24273290add842214d", + "scripts/audit_packed_movement.py": "d283f6900c97e04c687f77697ea8b29d5cac5a2f69cf2a79766099573dd66517", + "scripts/audit_pair_candidate.py": "29f38baeaa66e854eb5b235fb9708575137df30da277d439e0a08c5c4c4cb61a", + "scripts/audit_parity_side.py": "7cbdd405ce11fa6f7ffcbef3811174f8685ad4640e9330176601d3b3d3e95390", + "scripts/audit_positive_side.py": "b021aad944d8a6c023e57b1b48937854803bbb370240c93e0fe359d831c838c9", + "scripts/audit_positive_skip_exact.py": "fb4aa8af4e8a0a8a0ce21b8b647efd982fa1da2bb93aaaac72a42496c201d25f", + "scripts/audit_prime_subset_limits.py": "8f5c51d415c3248ce965d93469518e8d219020a1192c7be544a1a5f4b95dc1c9", + "scripts/audit_quadratic_affine.py": "9b7b3a7b8bcf417d95f19e44ff488733e7a3f4757fd12bd98d417e1d01d70425", + "scripts/audit_rank_product_core.py": "1471f17e86d6c02d5c288116cc3a53544c881ded47a3500f70dac97b366e46a7", + "scripts/audit_scratch_pooling.py": "12748b9915aaa5b59f0e32ee0b4f8bf0cdb86d5bf90d633cd12bdfb832e414a3", + "scripts/audit_shared_core.py": "fd257e22b8eef948bd29c2934d15f96ea93bea439e51229965bed53d75e09307", + "scripts/audit_short_guards.py": "c2c929c956e617bee739963b517b9069e0d067cfebc6820f401a4e90a1769eb1", + "scripts/audit_signed_sparse.py": "5b64f4098fcf9092d3e24526f4d6ba90528104fe66396e3e7ee64a7eaf3c8a51", + "scripts/audit_single_intersection.py": "1de7f9a62edc93c624ff2693ae9bb725cf6dc9735ff1caad56f6913aae9448ee", + "scripts/audit_sparse_fusion.py": "bbaa32f9786f083409e363b081bfb7a1e597c8d32e4183c13a4105c2170934ce", + "scripts/audit_split_centers.py": "c5cfd0e89120c918b81c4ef0b69b767342457daa1b29ce2b7821658ea7ba6f2a", + "scripts/audit_stage_pair.py": "f4823525abb553f76ea33adf61ed51e88ec38dd6c346dbcac86f69ffa8fb0375", + "scripts/audit_stronger_screens.py": "9678b66043b384f1454181bc2069c6d72685eda6576e284ce799d4b9aeb79860", + "scripts/audit_subset_cores.py": "ae38397693540a8cc26d416a6edcda271fd0fa2eb88566df690fb569e812f0a3", + "scripts/audit_ternary_side.py": "5e86566eee32031e1829d26ea17a7372e4802e2f7d76a2caa3ae16de3ab072c1", + "scripts/batched_bit_rank_moment.py": "f23bcecb8a71fcc89bc69f8e9f7845483f4b150951099bb296f82c4eba29820c", + "scripts/batched_network.py": "45d918d5a064339299c21a12f02462ac3fe7e18380fa6a5a6e2542566865b830", + "scripts/binary_phase_frames.py": "4148cfa313cf050ed25296e8db36d35871520b8318fd086c7d1facf0c6af67d7", + "scripts/block_label_targets.py": "3bfc422d60db0d79d8cd955a77d8b72c581bc0d4e288589f359fbf8ee6a76c52", + "scripts/bulk_complex_guard.py": "e64bb4e086205155fddf85cea86dbc8f9dcd09af4654d8e4b5c3b2c9b4d04e66", + "scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e", + "scripts/check_lean_axioms.py": "63b7c34c4faf1b2234af7489c3728dc848e7950ec98300ff8bd61cc0d67a10cc", + "scripts/compact_control_layer.py": "e814c9f8d84f2e5d3aa2e06c36697f27f110218addc40ff8df2801fde861ff9f", + "scripts/complex_circuit.py": "d623617f7c5cb3189580883a8ab30c0bd3832688ae3f1f0c1f881bbbbff8e0c1", + "scripts/complex_compression.py": "9b6f758a5985ba5d9fdd726fe6556b3d3b4bd9d98aaf8ba06a7bb58093c4c504", + "scripts/complex_network.py": "0da395e67ac04fa213494e71012c1b19b544596d34cdce5a3b172b1fb6af5f1b", + "scripts/controlled_bit_rank_moment.py": "572a1aea08b5b62da000588862d4724fdb47326b95282b76b8e49dd6923f73a0", + "scripts/copied_centers/README.md": "8d348a28fc11615fb686f7d47548db06a5000378b54e0e47438d17292b5942b9", + "scripts/copied_centers/__init__.py": "13db4f09038a2ff5335cbd4dbd93274b0fb16b3c7b51e4de67cbb2801a3f78e1", + "scripts/copied_centers/corners.py": "9eecdc39c67cc18c806a33f0be03986c28591d322881fd60c11f52c625c8067b", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/copied_centers_producer.py": "33afa6fe25677e13656fa8a200a25ed3510ef70c1ff9f1186612cbd9ee75d209", + "scripts/dag_network.py": "820f1f6e9f26251f58510ae7312e37a91bb5fefc37f8eeaaa648d0c68c48ed2e", + "scripts/endpoint_gauge/README.md": "044eb10845ca3c25adfda4d0abe728fd890d7f1c6ecc5da3e254073c189d08c1", + "scripts/endpoint_gauge/__init__.py": "ec74b81eb64a8167df4597a5ab94bd7a99f65acf0186bca684a74bcbec91113a", + "scripts/endpoint_gauge/bit.py": "5b2817bd1b35a42fabb636541907fcbdc394ed2ef1405099a10de9c9cf524b09", + "scripts/endpoint_gauge/complex.py": "dd0e1ff9729eadb65a18dba48fdbe824f423e025003f081f532b443b939f610a", + "scripts/endpoint_gauge/match_complex_general.cpp": "fb83c08125521128a38f5ee53f91d192904cc3372ad8f196ad9576e5f4f727da", + "scripts/endpoint_gauge_network.py": "7af181e30093d593ca58d0a133dca6862b06f2d350db1c5d745e588856258704", + "scripts/endpoint_gauge_producer.py": "484490dda84716f7077b07aa14fa510fbef2f77124c8b0b99e2adef50c232690", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/affine_vector_screens.py": "756778eeca27f490adc7354a122dc50c40375156259991469c47a90949118ea1", + "scripts/experiments/affine_vector_witnesses.json": "672a4318c48f5286ce088d34736c38957b7f662a5f753d440dbc638e7da5f62a", + "scripts/experiments/balanced_fano.py": "1586fb1db4f40e79e97bae59f47192675663403bbcacbf5f4e0b702edfd22b0a", + "scripts/experiments/binary_frame_compiler.py": "bc6910c8bbe8224285164323d3c06e9035ad3eaa55416abc2867ae0066454a0c", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "16dea3d3ef3dc90db928ed3e35d002f6926d2e7388da4766fc2fd725550f739e", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "1a572dbb33faba6695b3293768a7e61392d11cb4c2d5f708eedcd2cb95d0aff9", + "scripts/experiments/bit_compression.py": "d1e6726341b3619262cc07246c3420584f46bdf57d44f1946d8dab18334cbca8", + "scripts/experiments/block_completion.py": "58d928accb928fff0230eef4901a876e6d7a2ec24a3694e4784614f340a03b8d", + "scripts/experiments/block_core.py": "af94018e8f4b80219a8e9e104eae21e34b66fc670217d03ef54862b59c051fc9", + "scripts/experiments/complex_centers.py": "3744396587d729253d80980f6310b56e7bf0ea21b165bd178d0d6d4c49faf2e2", + "scripts/experiments/core_limits.py": "a31a27cc24cf0349a507d1141a2b965ea25f1c60f355d7e13c581305a12d3a43", + "scripts/experiments/cube_core_family.py": "e58f1f4067bda2d4838343f42ec2505316f006561f0702e869847d88b85413a8", + "scripts/experiments/disjoint_tensor.py": "102dd59bf96033f96ba0dab4c2aba77b3a7a73b67b0f96929ff8b20a98b91cd8", + "scripts/experiments/early_sharing.py": "1dd42768536bac13727528e51a999152cf9516a53c4001f2c390323e7f453378", + "scripts/experiments/exclusion_greedy.py": "d8fa918119a6d944174522a5f7a2f55dc9f905aeca98e1864dc9bbf672876902", + "scripts/experiments/fano_completion.py": "6cade2a36b910bf7e68a872dc4fd3560837935cffe80f9526cd012a28b247738", + "scripts/experiments/fano_permuted_completion.py": "0b48e0ba6399ac9864b733998ff32222e7c25c99de052ab8ea5196872f8010d4", + "scripts/experiments/fano_permuted_routing_witnesses.json": "b7093d006713f0b026c49b62ac4c502731630d17d15f56a2b63284ad8f4f8102", + "scripts/experiments/fano_routing_witnesses.json": "2017a4401c16ac58ccd7911b1d2128f1a93a98b108672db709e0c21cda4bb693", + "scripts/experiments/inplace_side.py": "4e7cb3df2e263f6c7f5907c55e3ee04c08926e6dbc984bbda1722a27b0a48ff6", + "scripts/experiments/inplace_side_witnesses.json": "90fe710f5daa35cc9e4892b29d712d66110b7b2b4c404da95a960ea7041618b9", + "scripts/experiments/intersection_circuit.py": "a877cb59aca1f003fc5db4bff5cd873af57be6d8d2465835d6fbe2c396ee5c09", + "scripts/experiments/intersection_greedy.py": "e7faceecad5d1efdc849c52ebe7258453e1579308fc8e31d9a4b3256f6ca9d0e", + "scripts/experiments/joint_dual_compiler.py": "853d3fc4a740c5b74c23b3a6af5d4dc9b41fb38e9b55678539a7e0ee71947c13", + "scripts/experiments/joint_dual_compose.py": "3554e957570e2d3f65c5bd7c945338c9e2fc5f3e79efa2b436a4dfc61899c394", + "scripts/experiments/joint_dual_reclaim_compiler.py": "9984aaccf880e4840402322d76678bfddb33ce7e494af78430a43429f51b85fd", + "scripts/experiments/mixed_point_circuit.py": "f509362b5031976a22af351fd158ae0b4520fa4f286a5176ec37023d672a7ddc", + "scripts/experiments/parity_phase_repair.py": "1f76f3b96ed556ed901835bd101d0e2588c997d2ed39bdfca097f0187aa86d40", + "scripts/experiments/parity_side.py": "1363ebf82d4c39e458e7bede8253688271008374db70ed4284df84253c8d092b", + "scripts/experiments/partial_routing.py": "dd67bf46aa70f1372d49c30c4fbbaff5664e27331a79ca3319251ceeec11ec00", + "scripts/experiments/pin_joint_dual_sources.py": "5d41535a73ad62fae7acb5365c5b7f40d7c99e52b6bc4266e44572018080acc5", + "scripts/experiments/positive_side_core.py": "0d453ab7e869d2cf6a43d6865de82583edb390d3c75038271f0fc09e0f3828ba", + "scripts/experiments/prime_core.py": "080a89a2c91505b509068698542843c9d7af3cdec01b5c88972107dc9c688c62", + "scripts/experiments/prime_subset_limits.py": "3768743ebfd982b7704fdda9c8ee8dd8cfbb4fd126a78396349d075560c047fb", + "scripts/experiments/probe_pair_ranked.py": "aed43df0d61701b5819cd50fd4e028b26f32e65fd7b9074d93e1423a3453fe7d", + "scripts/experiments/quadratic_affine.py": "8f9252bd092eb14779997c6767e090377e91f4d57e6526e9840ae0dd7dcc8f9c", + "scripts/experiments/quadratic_affine_witnesses.json": "3efcebf41650681a8a21a901cd2f81dc07a0c4d28064b883af16b10c3e0036c3", + "scripts/experiments/rank_product_core.py": "7a91c1188c5d42e864a5d2e42397b09c435b526ae4f4210c44bf615de488708e", + "scripts/experiments/shared_core.py": "d3c59b61229956cb54ae1ef9145ed213abdf1ae743929de145a77c43656f01a8", + "scripts/experiments/signed_sparse_core.py": "21da8e1de5ab6ac8479183326c2000313d24b47cc5be2f46b4fe6ac3cd59779f", + "scripts/experiments/single_intersection.py": "08ddae46e5621a5b4c525b504e67ae655abe9b49461d894feaa7abc89a51847d", + "scripts/experiments/single_intersection_witnesses.json": "c2308a3d21991f5828b0519b191b470f48b2fbbcaa5af0f7aed3986cc7534185", + "scripts/experiments/skip_frame_README.txt": "c92a53e608edb95a266ad27f4543c27668451a009c72fd5860619e6f0a355852", + "scripts/experiments/skip_frame_compiler.py": "8ffd079fd2e4f055b5befefecc5f33e686de9898219e9252f5d3913df8b195d8", + "scripts/experiments/skip_frame_compose.py": "d48e688ebb9a490f4eaf50d9ab0a4d4e3e76b6588b55d213df14c703c27a7f66", + "scripts/experiments/subset_core_family.py": "373a45a8fb4294cdf72d510d54e16d21535227b085aefb008aa092b3ad26e4de", + "scripts/experiments/ternary_side.py": "93379b6e70cf58bb55432d9f2d1c0e0305c20a075bfe3cc219deabd927afd375", + "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985", + "scripts/experiments/verify_skip_frame.py": "fc42dc3d59239ee3908d0e3e95402eb53fd6815a100521911fde1b541070c292", + "scripts/fast_gaussian.py": "11430c2df0783b933dc91080595bb7514bb052b8c7b12107e27a1ef701e31e43", + "scripts/fetch_upstream.py": "2109ad8965d88dec73f8e851731eb949d95164f6afd8dfd0e57c11dbc2dd1f31", + "scripts/finite_bit_contract.py": "3cff26a332cb6056f656b824e3a523fb8937d15206ddcc4118b911ac8df1b2a7", + "scripts/general_network_guard.py": "790a2064449afdbffd6dbd4adbcf4a28eaf41931ce7134e4a4e8766f3764270c", + "scripts/incidence_network.py": "033c934acb838e5222d60e09929d724281bb58ad9c2dfc02e89996788ff39ac7", + "scripts/incidence_rectangles.py": "5240fd33dcc3096f5685d10ca360186cad36b355a00d55686a4ea4449417d00e", + "scripts/make_batched_patch.py": "dbf2e939833a282e261511a89cf6fd1c59d51c73db0c6ef65f0605c7ebd7ae6a", + "scripts/make_compact_control_patch.py": "8eb6776b9049267c5a0b3209cf9668d4cc37622a9b111795a68819291db5dd08", + "scripts/make_complex_circuit_patch.py": "17d13ca9ff43a2fc411aa14fd7c8e1f25648b41f09c17a7bbe40a6cfa09862c3", + "scripts/make_complex_compression_patch.py": "4e32d120462812953109c0f7cf18db001ae0e7ae59e6e2fa7923f142df9ad96e", + "scripts/make_dag_patch.py": "1d8e693926f0c770b9a971aba5174fb77422b19f28326d62c0bb6ff62b2dd721", + "scripts/make_fast_gaussian_patch.py": "ce2013dc3a674b920ddacf25fd17329b262885af0a19279e084238318dff4760", + "scripts/make_incidence_patch.py": "11745d761a94c8dc3f150de1da06bd0c4f6841bacc07ff24a3e1807e68cfcec0", + "scripts/make_nonadjacent_patch.py": "4b1ed6115f0919afa5b375688e13dfcbe4eabafbbe32917eb912230ad8421294", + "scripts/make_paired_patch.py": "35cef140ea2656dc30f751414c10d50c6de62e52625fbad85b74f34c2739a273", + "scripts/make_patch.py": "a38a04c3e829b37a61291dd497247ccbe7204d61b505ddf36cca8bc112c11fd4", + "scripts/make_prime_field_patch.py": "a05974b4431cfdd4c5571add995cfaec0288b0c8ed6608142c790b2c61943c5a", + "scripts/make_reuse_patch.py": "c90384c4b0d3b7000e4e2b0f886280140f06627ab976ca8f21d4a32b8dd25166", + "scripts/make_shared_point_patch.py": "06c5f1d7b52fe7493aa249dbbcb9880e7c77cf8c4418ed8d1dc617910295f79c", + "scripts/make_ternary_patch.py": "fa41b5822503538e50fc56d1ee9f4bdbb45deaaf3c10c892244cc7697e0632e1", + "scripts/nonadjacent.py": "dca1e533611ac898a29e176214eb21c152853e68f97f7af533aba1ccb3b1b0f0", + "scripts/paired_complex.py": "4f4c28102bfc528e264896e6c32bbd0e66da0973237e96e4044d8ccf7e78a1de", + "scripts/paired_cube/README.md": "bf2adf1d1c5a412730be66e019bd73a08826ef8dcd6ffc833b9d1656b755dfb2", + "scripts/paired_cube/__init__.py": "b5fb17c79fd41a75c0648e7a5f99076f9f42a619857d5e34e71699bf00ef0c91", + "scripts/paired_cube/frames.py": "7d897418dbfee47de0723ea4983098a982610ccba45e1bac9000a79626d8421c", + "scripts/paired_cube/gauges.py": "8a501c66e1330f054e0e11a35e9321d2deea7b51cd03ca56b6a41765e43fe061", + "scripts/paired_cube/graph.py": "c757d47997f2fa42a95c16f6e6855cf8b125216ae3335b3891e305cf1da82855", + "scripts/paired_cube/modules.py": "18a1ad8af0a7832b7c5c4791f5b95f76386cfa7e82ad52bfd2758c081ada68c4", + "scripts/paired_cube/verify.py": "e13747916a58b631f10c36eaae230b91b63b427d0a80aa3a530dd9dd90159147", + "scripts/paired_cube_bit.py": "677ff674f48860336ca96c4ab6d7fa9053bf7137d20ba368445d20e236765dbe", + "scripts/paired_cube_network.py": "293662b7f8772dd398399a1c19966faf7d155f024543d0c06601eabb800f35cf", + "scripts/paired_cube_producer.py": "c84ea3e3ce3eb9563906b6ee4b7411d93dcddfed4bdbc2d4e39936642261cab2", + "scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2", + "scripts/paired_network.py": "991223dc3c1374284c361ed017e42bf732dd971fa0bea2be2282cfb18257b3f7", + "scripts/paired_triple_circuit.py": "8f5f2de32fdbd8e0005154638660ff416e5a8cd59623bd0dc03f6f7f97ce2fb1", + "scripts/partial_gauge/README.md": "8725c7c0d3b2287904026caea8e94d62c2f66dbbd085e4fd6e5c10933ad9a72f", + "scripts/partial_gauge/__init__.py": "298aa57fbc2de1ff3f9fcfea0fcc02ee7f6758576c52879cb60e9b9c38d471ee", + "scripts/partial_gauge/binary.py": "b29e2f37d7f32a959a378190d7f1da3c2da534fbdaf878044800301957bffc03", + "scripts/partial_gauge/cube.py": "304b653ae6a30f08cee07b5285d48c3793559d63e623bb9bbe8383d8ce68aa24", + "scripts/partial_gauge/interval.py": "c7cf97aa327c92feedfcc098c77d51f3ba8075ccc6f94ecb064bb7a27e44df0a", + "scripts/partial_gauge/lift.py": "895874399113faa090d168d6168f0664136df6e21205671e7f7f9239cad93d1d", + "scripts/partial_gauge/match.cpp": "12b8b7c93bb78324e7328e624b166be2067ae8861540531c024040220d86f368", + "scripts/partial_gauge/scalar.py": "c9fb22e8643ab6d63f7f64ed8143bc5c469794a53e4914cf482e9ad7fcc10cc4", + "scripts/partial_gauge/select.py": "e23f6af42ee5e96d7b2eb29fccf15892f210253a45623255642a62ba93e20cf7", + "scripts/partial_gauge/verify.py": "d31683af845c1de75ac90c0a208b2d335806b6fb346f9960279204812f92bc63", + "scripts/partial_gauge/word.py": "96015b7b08a261673ab8be1ea47f89302f8a1d62a822d657a09f6a1fcfb51e58", + "scripts/partial_gauge_bit.py": "7d58e86061da2d73991531e9bc431589019359391adea866c61c7dd1f99ac855", + "scripts/partial_gauge_network.py": "76b09c4b8f9570766d94b77b265914e4662f8f782e5fa7b4749a1092972b0d68", + "scripts/partial_gauge_producer.py": "8d9284b02ed5915008bfe2e8186ef18f882306192ddd4873b7856341b061305f", + "scripts/partial_swap/README.md": "a81a6a59b89f7db539bc317a7dce23ab84a75c7abebae105091de4e2aeb3f941", + "scripts/partial_swap/__init__.py": "0438eaa34134600467a5864f93c3e15142eb025b35cef189c2e969cffea72a7f", + "scripts/partial_swap/binary.py": "d32d7a23548cc738e974e8e55dd1fa2a8b11d2b80228515617ffe35410bb8805", + "scripts/partial_swap/binary_io.hpp": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/match_exported_dag.cpp": "7901b0fb1b80b628a24cfd7fda57bbc32f58771594d08b318b90e4b8cdf0ef82", + "scripts/partial_swap/match_positive_dag.cpp": "8a6d64e2d0ac2c69210fb0b8a5bd0d714ad40b3609f75a5fddfcba3291a3d552", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/positive.py": "1dadf771226d6e4f3bf9ce3aae2e6a2ad7173f4d1c900299d0663fc4c432f3e8", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/partial_swap_producer.py": "dba07d742c68e8e4aedd1d93fc4c47a0481778268f7480997463e2b269fdd0a0", + "scripts/prepare_layers.py": "a6e2adc612f264b1c0e51d18ce6315de9ae5e2ae2420aa22e99a22d8bf304947", + "scripts/prime_field_checks.py": "be21a411cdca5fa331fb9f36352ce98c055cb5e973553255e4530d07e99ae5c4", + "scripts/prime_field_circuit.py": "50485ac5a65b2707aab2b870477fbf503f4776699f6dd5ce38fb2006cc95d0f6", + "scripts/prime_field_network.py": "16629edd6aa8357b3fabcd5e1a70027860864a64475e8c0e7c822ee81dcd1ab9", + "scripts/prime_field_supports.cpp": "927dbb2ac2a411f06d8d9e0c440548f7ab965311fd83f4a573668d94d0cff1fe", + "scripts/rank_obstructions.py": "af0bb5d7c21409bf0318ec4ec7d5f391163b7ad9564ed9e35de92ada14bca975", + "scripts/rational_span_frames.py": "766d342dd73ca5efd784c5733282a93d379a58beea763e703238dfbb4eacce82", + "scripts/rational_tensor.py": "629b3f00a1aaab32fe908a73ca8f8412918209a300e6b1e5afe6325b9cfed3c3", + "scripts/reconcile_pr_queue.py": "54447bcc19f927f521373b3f215618a5a96ec4a88066f8558fd3b40fd6a6c728", + "scripts/replay_bank_endpoint_family.py": "5f9e592f87b3f903c851425e165d2866bf791a647561cd8a2c8facd6bb1b2b33", + "scripts/replay_batch1047_t16.py": "8e7d3d8f3e0b906142a219527c4f653444c58cbdfe22646d65077735f2a274e2", + "scripts/research_networks.py": "3db82e1aa5faec2f76bcfd19a996a447048af56b25000af3324884a751e8e864", + "scripts/reuse_network.py": "f345f4f015a17497c173ed331aad2133908e2a67d683455ffd60dbb3b3ed1aa1", + "scripts/routing_smt.py": "25d2dfb09a34c0c0ecfdf870abe2d3883c95677189836dcce25421b9443e8a44", + "scripts/run_isolated_tests.py": "96ea543e6c707424afe247e77bd86c82152f90fc76a0773c4232145da5cdf8d1", + "scripts/search_incidence_partitions.py": "d2e5a98d07dee702064671d9d081b8dc18e7a1bfeb45e4217905141732abd1bf", + "scripts/search_network.py": "3a4faa5037d9b8e7ca5828afac193a96b6966a8b114f14937921795b24ec4f6a", + "scripts/search_network_variants.py": "069a80a1ac504e83c5da60f4737440552df1ca4c57218ab2e32523f88199cbbc", + "scripts/shared_point_circuit.py": "c9bb7a5df92d260a4e3ad532b53e26936730d7c93f7facfb0784957c1e81c8ba", + "scripts/shared_point_network.py": "a85e7f0d8c42d6a27e3846308571ca324a1824ac5c2d59e4daa5c7673c33c697", + "scripts/small_block_witness.py": "a8bff53b5e6a13808305cab3d53c2532b1fcb5ff172653d02761b028eb60d79b", + "scripts/stopped_product/README.md": "6c1805dda45b01ed0ef420c674ec2cd0048fb9d7a1b015ab6cd837067fe66176", + "scripts/stopped_product/__init__.py": "7b794c22bccc00bb6ae8ba4d3379f469570565bbcb1a86090699133b8cf1b7d3", + "scripts/stopped_product/complex.py": "407650d56dceb5cb09d74928658cebed1bb42f4d7e28ca9e3fd36eea075f1ad0", + "scripts/stopped_product_network.py": "a8baaa87dd7679db4f2dd1a18a720397ee6f443262ad04fa26cf51b39909b74c", + "scripts/stopped_product_producer.py": "2c5c71399136ebcfebb8e5277317d5f334eb8df5716ad287391d0996fcc1492c", + "scripts/structured_bulk/README.md": "7d6a91d324019628c842db7ef2deb1fa035fbe39dd7c22877c83f190516fc0bf", + "scripts/structured_bulk/__init__.py": "9c6d0e9c71caa218263b636359b7d6c88f8428cba3cbd27b9f549045d4609b7d", + "scripts/structured_bulk/complex.py": "ee769039ea2111de5488fdc4abba28d50ed8885fa7e8dcd12728c5dbe6170b92", + "scripts/structured_bulk/exactness.py": "2e04898ee4463bf4d2f7ad6b50dd0801e4ebe195d06a33ce428ffd1c0beeb67f", + "scripts/structured_bulk/rankone_profiles.cpp": "5e003fde6e4779078988ce5ba1adf988cb846afbd8fd44faa920a3baa4126848", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/structured_bulk_network.py": "82608e2e7eb622f3ff78ce9bdc3e6c97087c6785aecd1a0eab947e389856600f", + "scripts/structured_bulk_producer.py": "c20e04b5216b04b9343cb28f1b1d164c6ac42ceaac067d82d2850f908dd7d5f6", + "scripts/ternary_assembly.py": "38d12b09dd9074ca56cb658e25f4e0b9e50fad9c36d0d837fc5c059ae4ddb5b2", + "scripts/three_stage_cover/README.md": "b39a28fa8da5d7d3188dfed4c0e0af1e2397f0f5c8f69cfb69671ed27ddca4bb", + "scripts/three_stage_cover/__init__.py": "b964b59af038e70cc15af655a22bcf6aaafc9c842b213765781bc8bea7166430", + "scripts/three_stage_cover/lift.py": "ae5f4c56cd32b5232d6dcdcaed1e24efb81fe20467a2d915ee51479bced06cfc", + "scripts/three_stage_cover/select.py": "457e636ced9bbd368198f78e015660a929ba1aaccbe34122d18da09ebb488f33", + "scripts/three_stage_cover/verify.py": "4bd2347e87e4edb699968bc31dfb94f2ab89bf1227576e59f43c779ba74e4e06", + "scripts/three_stage_cover_network.py": "7e0ad6fd1921b6905a53ce1eeaa03d3bb3a8a8bbaa0382516ea98b636f46335e", + "scripts/three_stage_cover_producer.py": "ea6dd4f06173304bbcb74b8e5bcc02357b7bb162a6d26b4a6f7a9e886158123f", + "scripts/tune_routing.py": "5728c848e23c905f37a9d77928283e64ace5e7b69c3572780c1291800d005e6e", + "scripts/verify_cold617_interface.py": "95d7a9094c05ad975fb72f5ab7605593003245a503c8456764987e512028fa6a", + "scripts/verify_complex741_parallel.py": "616cff67233958647dd1e6f33dcc5ffc6132df68e0e1230dc768e820d00155a1", + "scripts/verify_frontier1042.py": "700fdcaeb6e8f57f6e63c71c2dd1652fc5b183e8d706cd092779bdc0d271e854", + "scripts/verify_frontier1094.py": "c7e20f59968ed5736fb859735de4de207de3418083e37012310ebcded946b949", + "scripts/verify_frontier531.py": "5b96c8c9ac5568e564f708b19a8081f16da5d26bca2e21adc001f0d115b1da72", + "scripts/verify_frontier531_bindings.py": "8a92970fb4e2a3d94056e58b3fb8245dc1bd1bab4c7329caf5797459c7df8d03", + "scripts/verify_frontier531_wrapper_swap.py": "fe6a948e67366825f6c22e7c69a661a727b4092b2aa9cb3e877d6c3002e592a9", + "scripts/verify_frontier535.py": "addc0102539e33b49548342addcbb27518849a12c9eb2422d6291336a03fa3b0", + "scripts/verify_frontier535_bindings.py": "f0aa2e4003706a5d271eea70e81cae85fc708ad43e1b5f0cc46979fc09b8e502", + "scripts/verify_frontier588.py": "28a7e275465e8552d8183bbdc89be9930dc5c0f1e9266524a864b6787bed41c6", + "scripts/verify_frontier588_bindings.py": "6d1932eea7b1936598118ea8e607b09c29b6e31b749ec41bbe0744ea4f0b606d", + "scripts/verify_frontier596.py": "ad3373bb412b8275600377160b50592c63aefbed796e0ef02a18cfd89a86a251", + "scripts/verify_frontier596_bindings.py": "0fb48ee079317709f4fc2ca3ccbc16aac3b96697a2af84ab3ee90aa4d125a51e", + "scripts/verify_frontier617.py": "f80f043ba299512763e43c8a37705b1cc6b445e56479c98fd63856856b422c5a", + "scripts/verify_frontier617_bindings.py": "b4d996f671db2df651c19e3c297811f0e4752bb18492a6cf00c7122714c05086", + "scripts/verify_frontier626.py": "2207bd0ef04a19ef276869085afdedad80a0938fa75db5e1aa7ab73fd3429444", + "scripts/verify_frontier626_bindings.py": "cda63ff41c6d6e2e352c7bf75b84e690c0ce57e4ec6c0355573bb5d9b1f98280", + "scripts/verify_frontier741.py": "215ee6a12de8dc2392e6811a1b8f2140035f6b2d2a0d2100ff4bd2fdcb8bb39b", + "scripts/verify_frontier741_bindings.py": "eff455167e2fd0bc9a67d35241d0e69d8edc58f3a23e776dcfe8f500ca8e8d67", + "scripts/verify_frontier741_bridge_coverage.py": "9a14f26762b6126eb54ed43db90371773374fe98733ada80ee871a74afa3b836", + "scripts/verify_frontier799.py": "19fe1b32079095160dc00fe2f7df75e0fcbc82cff37f7159b755c8a63bd5ce99", + "scripts/verify_frontier799_bindings.py": "43897b3c99212d6134870898a1840f32898aa1b3679b299e654901568ad7e19b", + "scripts/verify_frontier890.py": "88ea38dbef62dd7c0dd46e212618520cc89213edddb2032800e5509993958175", + "scripts/verify_frontier942.py": "27c6713532d9f53f55dfff4884d55a2d9ae74b68156e37a44596c0418fbed5b7", + "scripts/verify_frontier_complete.py": "28e10c23971d2f629395da28b5deaba886c7f35b579ff362c4d409325ff47d94", + "scripts/verify_frontier_replay.py": "fd928cdcaaa6ff049c79d7f01ada7ba88f3c50bab838d08e0b8ad46e742c803f", + "scripts/verify_hpe608.py": "57c2475e572873d3a2fbfba93464f73a9fcb9096868ede75b165a902bb477aff", + "scripts/verify_hpe_lean_binding.py": "52aa1d23641e4c716b43c98f6b883ad042087dd03a9d01369e8e6a735b07aa03", + "scripts/verify_pr_reconciliation.py": "ed04fed33a01e75bd61c28d15e89c9613bd90cf12b2a5834a646c2252c87c8e9", + "scripts/verify_replay_coverage.py": "babe5941d7e6dac4248613ef01f950ee7bb6199e7355021aea4cf854fd1b91c5", + "scripts/verify_selected_result.py": "d7fd929726b326aeeaf0a3996475adec88eee9aac09ae0bebeeaa0bc1fc8f199", + "scripts/verify_supplier_consolidation.py": "3be2fde1186bfb03f1cf4b5cd8f4c816583815f428ddacce9503f26a47f3a8b6" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json new file mode 100644 index 0000000000..20082f0ea3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/MANIFEST.json @@ -0,0 +1,72 @@ +{ + "CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "README.md": "cdcf62624912150ce4e6e05356c27299251eef4cfc130e4f209839cdabc05e08", + "SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "evidence/ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "evidence/ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "evidence/FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "evidence/INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "evidence/PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "evidence/PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "evidence/RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "evidence/RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "evidence/REPLAY-SOURCE.json": "a5a290aa8c75fffa45c9ad2e3441d5051d3adaf7934f4d0311875fb4d8f023cf", + "evidence/RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "evidence/STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "evidence/WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "evidence/constructed/CONSTRUCTION.json": "e8236655e3f9e061514259dbb114b7e9b77b9be7459977ec613833de1a088073", + "evidence/demote3/STEPS.json": "e3a94ed349c2298d21ed96b0ab6dc02e8b0a7f523028366803df511d7b9200c7", + "evidence/demote3/local/CLIFFORD-REVIEW.json": "2ef79c2ed574a97c109906fc41f69793e19dd010c96240bd788907bbafdc818a", + "evidence/demote3/local/INDEPENDENT-LOCAL-REPLAY.json": "2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6", + "evidence/demote3/local/LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "evidence/demote3/local/SCALAR-FRAME-AUDIT.json": "ebc0b07acae7c8cab1c673407d462ecc357cbe829bdce99d0d8b62149739d96f", + "evidence/demote3/local/WRAPPER-CHECKS.json": "f2a005b54bea64d66633d8a82d0454348172da3b88361081a72126bf1d51744d", + "evidence/demote4/STEPS.json": "934e851f2a79314077019fbfdde9fdce6353ed9ecb468bde7ed426826993c92b", + "evidence/demote4/local/CLIFFORD-REVIEW.json": "7dbaf548ff9a515a2c3e352ecff536c619d546339eaef1b408451a3f65c3f08d", + "evidence/demote4/local/INDEPENDENT-LOCAL-REPLAY.json": "3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48", + "evidence/demote4/local/LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "evidence/demote4/local/SCALAR-FRAME-AUDIT.json": "487409568e9ca43922c47362ca634003fda6957bbb02ab4a2dd5c231e3b92ff0", + "evidence/demote4/local/WRAPPER-CHECKS.json": "0e281983e139a29c2a28eaed51383f14d8acbe0161eb8e437b7f7ea5dd1c11a0", + "evidence/t37/ADAPTATIONS.json": "c4ee575e66a69dedd81ffe790f60ad422a51446c7c8bff860786e6e58e11b255", + "evidence/t37/strict/ADMISSION-CONTROLS.json": "02fcaf60f2db93ed84043c66bfb49e6fb63468a40cc6eb3ef9673bf6f03f9b14", + "evidence/t37/strict/ASSEMBLY.json": "ad612be9b551469cbd776496dbde4638937a184742ae9c380b41569a56253081", + "evidence/t37/strict/BIT-CONTROLS.json": "1e14fa3a1b5ed051e1da5661a4c9c4249a089c9c510553e83574e520a23b91b7", + "evidence/t37/strict/STAGES.json": "284ed86eb0590ce33ec2020d1e2d44b225d2cbc1ab91cb5a972683bcd300e480", + "evidence/t37/strict/global/audit/ASYNC-AUDIT.json": "028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f", + "evidence/t37/strict/global/audit/OWNERS-AND-PROFILE.json": "c64cb2197f98b123a55d30a47b0c8e251873d7635a4de4c13a5e34b2e9483996", + "evidence/t37/strict/global/audit/PREFIX-AND-INVOICE.json": "512e824c274a656f4d4e1e4fdf267d9c38aa1568169716cc833d2d3816d81516", + "local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033", + "verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md new file mode 100644 index 0000000000..8ead68d658 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/NOTICE.md @@ -0,0 +1,14 @@ +SPDX-License-Identifier: Apache-2.0 +Prepared for Jeremy Diviney with substantial OpenAI Codex assistance. + +This contribution is the heterogeneous D3/D4 call dispatch, exact integer pattern-flow nomination, literal whole-helper matching realization, independent call-indexed audit, and complete composition of the resulting witness. It builds directly on the following work and does not claim authorship of those constructions. + +* Thomas DiFiore / PR1148, source head `3ba07f19` (full commit and file digests in SOURCE-PINS.json), supplies the joint-entrance D3 word. The complete raw word and notices are retained in vendor/pr1148. Its joint choice builds on seslly / shipstuff PR1111's group-635 demotion lead, PR664's promotion idea, and the preceding k8 coordinated/eight-endpoint/three-demotion packages. +* D4 uses PR1148's already explored codimension-one group-627 entrance and the PR864 frame model (navinor / Claude), as adapted by Thomas DiFiore. Our discovery refit uses that model. Reproduction uses a frozen old/new recipe and exact independent native checks, not the optimizer. +* `construct.py`, `controls.py`, and the initial T37 wrapper structure derive from Chafik Boukhalfa's PR1152 (head `d376209304f0…`). The perfect-matching technique and owner-flow lineage also credit Ali Romman / PR1129, PR1131's wave ordering, and Hao Yan / FanPUYen's PR858 physical windows. Upstream copies and exact digests identify the adapted sources. +* The independent geometry checker is retained PR890, adapted from Hao Yan's PR858 checker; the signed prices and all-replica reasoning credit Chafik Boukhalfa's PR795/890 and jon314159's PR942. Retained PR870/1074 code provides strict multi-provider bindings and mutations. The T37 geometry adapters are PR942's retained source, with explicit, hash-recorded changes. +* Rohan Arun's concurrent PR1169 reached the uniform joint-entrance T37 target 0.001675568675201533 while this mixed-dispatch experiment was running. Our initial uniform result tied its earlier version. This submission instead mixes two words and claims only the additional improvement stated here. PR1169's payload is not used by this verifier. +* PR1176 and PR1183 concurrently explored mixed-provider gap augmentation. Their payloads are not consumed. PR1183's observed head `2dc3d14f54bac2a97811ea27f095bd7b6e28da40` nominates 69 extra group instances by local exchanges; this package independently reconstructs a global integer flow supporting 208. The mixed-provider idea is not claimed as exclusive to this submission. +* Retain PR1018 and Rohan Arun's PR987 scalar-word ancestry, PR1030's endpoint lead, E8/k8/frame and controller predecessors, PR589's unchanged bit supplier, the PR559 recurrence correction, and all original notices in the retained repository dependency closure. + +All-source and package manifests preserve exact immutable source identities. Generated compression and phase timing are treated according to the repository's reproducibility policy. No unconditional theorem, full formal proof, search optimality, or observed runtime improvement is claimed. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md new file mode 100644 index 0000000000..e23ea42ce3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/PROOF.md @@ -0,0 +1,35 @@ +# Accounting and finite witness + +Let D3 be the joint-entrance word from Thomas DiFiore's updated PR1148, with entrance groups 603, 611 and 635 demoted. Its local profile is `{1:2364,2:498,3:412,4:130,5:82,8:8}` and its 480 helper widths have inventory `{4:44,5:44,7:38,8:114,9:240}`. + +D4 additionally changes helpers 627, 629, 630 and 631 to entrance subspace `[68,34,24,1]`. Twelve B-frame assignments are refitted. The scalar operations, registers, coefficients, ordering, ports and centre interface stay identical. The explicit old/new recipe is in `data/FOUR-RECIPE.json`; fresh exact native replay decides validity, independently of the floating frame search. + +D4's profile is `{1:2356,2:506,3:416,4:126,5:82,8:8}` and its width inventory is `{4:40,5:48,7:38,8:114,9:240}`. Thus each substitution changes the local profile by `−8H1+8H2+4H3−4H4` and increases occupied helper width by four. + +The frozen dispatch has 125 D3 and 208 D4 calls on the PR1131/1152 wave order, sorted by `(37*stage+8*replica,stage,replica)`. The source-event geometry is the retained PR942 five-bank T37 lift. There are 33,152 live and 33,642 physical wires. No call is fragmented; each of its 480 helpers belongs to a distinct available physical family. + +The flow uses these nine bin patterns (a zero-width pattern means empty): + +| Capacity | Pattern | Count | +| --- | --- | ---: | +| 8 | 8 | 20,556 | +| 8 | 4+4 | 4,308 | +| 16 | 8+8 | 6,102 | +| 16 | 7+9 | 10,474 | +| 32 | 5+9+9+9 | 15,484 | +| 32 | 4+9+9+9 | 2 | +| 32 | 7+7+9+9 | 1,090 | +| 48 | empty | 11,374 | +| 48 | 4+8+9+9+9+9 | 5,202 | + +`construct.py` checks exact pattern and call-width conservation, legal physical windows, and every integral flow entry. For each physical window group and pattern it completes the flow to a regular bipartite multigraph, decomposes it into perfect matchings, and assigns actual helpers of the nominated provider. This yields all 159,840 literal roles. The independent audit separately reconstructs the source events, strict bridge boundaries, physical family identities, 73-axis charts, occupied prefixes and complete per-call width inventories. It reads and recounts both admitted local words and selects them using the frozen call dispatch; it does not import the owner constructor or controller auditor. + +The resulting idle profile is `{1:2,48:11374}`. Adding it to the two local profiles weighted by their exact call counts gives: + +`{1:785550,2:167498,3:138028,4:42458,5:27306,8:2664,48:11374}`. + +Its rank mass is 2,408,256 and deficit is 11,840. The global prefix bound is 775 bits, below the charged 1,024; the finite physical row coefficient is 17,495, below 20,161. Those charges are checked by the complete retained invoice and independent owner audit, not inferred merely from profile feasibility. + +The PR795/890 signed prices explain the choice of mixture. The uniform D3 inventory has rank-one dual credit 20,850 per replica. Each extra demotion group consumes 3,700 units. Across 37 replicas the budget is 771,450, permitting 208 such substitutions while leaving credit 1,850, exactly two rank-one idle units at 925 each. This guides the search; the literal witness and full admission are still required. It is not a proof of optimality for mixed suppliers. + +The two retained rational engines bracket the complex root and the unchanged full PR589 supplier supplies the bit endpoint. `CLAIM.json` records the exact rational choices. The strict outer assembly selects κ = `1675672695827067/1000000000000000000`. The conditions and scope are the same as the retained framework; finite certificate success does not discharge the all-size multiplication theorem. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md new file mode 100644 index 0000000000..03b83367a9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/README.md @@ -0,0 +1,26 @@ +# Mixed joint entrances on 37 replicas + +This candidate uses **125 calls of PR1148's joint-entrance word and 208 calls of a four-group variant**. Its conditional target is **κ = 0.001675672695827067**. It improves the uniform-word T37 target 0.001675568675201533 in PR1169 by approximately 0.0062%. These are conditional finite construction prices, not an unconditional multiplication theorem or runtime measurements. + +The contribution is the mixed dispatch and its literal whole-helper realization. Changing four more entrance frames increases local recursive cost but reduces the unused rank-one capacity. A mixture balances those costs more effectively than using either word uniformly. The 333 calls have 159,840 whole helpers; the remaining idle profile is `{1:2,48:11374}`. See [PROOF.md](PROOF.md) for the accounting and [NOTICE.md](NOTICE.md) for predecessors. + +The complete local replay passed on the source commit identified in [the evidence record](evidence/REPLAY-SOURCE.json). The [result](evidence/RESULT.json), [two-engine price](evidence/PRICE.json), and [strict assembly](evidence/t37/strict/ASSEMBLY.json) retain exact inputs, charges and controls. Hosted checks and maintainer acceptance are separate. + +## Reproduce + +Use Python 3.11+, the repository's cold-replay dependencies (including a C++ compiler, Boost headers, NumPy/SciPy/SymPy ), and a new output directory outside the checkout: + +```sh +OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 nice -n 15 \ + python -B research/mixed-demotions-t37/verify.py --work /tmp/mixed-t37-fresh +``` + +If Boost is not on the compiler's normal include path, set `CPLUS_INCLUDE_PATH` to its header directory. Verification does not use OR-Tools, an allocation optimizer, a network connection, or discovery-mode admission. The frozen integer flow is expanded by deterministic perfect matchings; every integer equation is checked. + +A completed cold PR799 replay can be reused with `--ancestry799 /path/to/completed/replay`. The retained maintainer checker rechecks its source, artifacts, logs and PR589/741/799 bindings; an independent fixed coverage check rejects omitted stages. This option still rebuilds both new local providers and every new global stage. + +The driver checks both exact scalar maps and all 704 columns in both orientations, all native phase edges, local entrance mutations, the full helper map against literal bridge-aware windows, provider substitutions, the emitted controller and its 23 mutations, the complete invoice, 114 admission mutations, 12 bit-supplier mutations, two rational moment engines, and 47 strict outer inequalities. It also checks eight parent controls, eight frozen-flow controls, and eight independent owner controls. Successful completion writes `RESULT.json` with status `PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION`. + +Immutable upstream archives retain byte pins. Fresh compressed outputs are compared by their complete decompressed content or documented semantic identity; only validated phase timing and compression references are rebound. The committed `SPEC.json` remains frozen throughout verification. + +The all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and exact recovery, analytic transfer, PR559 recurrence correction and bit H1–H5 obligations remain. This package changes the local-word family; it makes no optimality claim for mixed words or other circuits. No selected certificate is changed by this research submission. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json new file mode 100644 index 0000000000..dcfb60ec38 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/SOURCE-PINS.json @@ -0,0 +1,29 @@ +{ + "allocation_solver": { + "not_required_for_verification": true, + "seed": 836, + "source_sha256": "e126848aa68a85854aa69b736ae5159261dd43f9385806f26c36397139603289", + "status": "OPTIMAL feasible integer witness", + "tool": "OR-Tools CP-SAT", + "workers": 2 + }, + "commits": { + "main": "ce7ad1b6ab09452c3478723a2e96ed5ff212dc08", + "pr1148": "3ba07f190e64bf7748f669d40fc5c37f77ce5dc4", + "pr1152": "d376209304f05551f975b0ddf6eaa84edc4ae31a", + "pr1169_observed_not_consumed": "c79df8e3c61676445f8e1782814450199d8221e6" + }, + "immutable_inputs": { + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py new file mode 100644 index 0000000000..a350fcec65 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/audit.py @@ -0,0 +1,79 @@ +"""Independent call-indexed local recount and PR890 literal owner geometry audit. + +The owner constructor and emitted controller are never imported. Both native +words are independently recounted, then selected by the frozen call dispatch. +Every modification to the retained geometric checker is explicit and hashed. +""" +import argparse, copy +from collections import Counter +from pathlib import Path +from common import P,ROOT,read,dump,load,sha + +INVENTORIES={'demote3':{4:44,5:44,7:38,8:114,9:240},'demote4':{4:40,5:48,7:38,8:114,9:240}} + +def check(base,providers,owners_path,out): + source=ROOT/'research/complex-t21-owners/independent_check.py' + text=source.read_text() + edits=[('2 * 512','2 * 1024'),('prefix < 512','prefix < 1024'), + ('charged_prefix_bits=512','charged_prefix_bits=1024'), + ('Counter(widths) == {4: 80, 5: 32, 7: 54, 8: 122, 9: 216}', + 'Counter(widths) in ({4:44,5:44,7:38,8:114,9:240},{4:40,5:48,7:38,8:114,9:240})'), + ("width == c['widths'][helper]", "width == c['widths_by_call'][call][helper]"), + ("Counter({rank: 9 * T * count for rank, count in c['paid'].items()})", "Counter(c['paid_total'])"), + ("max(x['prefix_bits_upper'] for x in c['replay']['local'].values())", "c['localbits']"), + ("local_profile=dict(sorted(c['paid'].items())), width_inventory=dict(sorted(Counter(c['widths']).items())),", "local_profiles=c['local_profiles'], width_inventories=c['inventories'], provider_call_counts=c['call_counts'],"), + ("if context['callpos'][key] >= hi", "if context['callpos'][key] >= hi and context['widths_by_call'][key][z['helper']] == z['width']")] + for before,after in edits: + assert text.count(before)==1,(before,text.count(before));text=text.replace(before,after) + adapter=out.parent/'mixed_independent_owner_adapter.py';assert not adapter.exists();adapter.write_text(text) + ck=load(adapter,'independent_mixed_owner_checker');ck.T=37;ck.R=480;ck.EXPECTED_IDLE={1:2,48:11374} + refs=[base/'split-centres/GLOBAL-TEMPLATE.json.gz',base/'work/complex-nine-native/DATA-PHASES.json', + base/'split-centres/CANONICAL-WORD.json.gz',owners_path,P/'data/MIX.json',P/'data/ORDER.json'] + parent,phases,canonical,owners,mix,order=map(read,refs) + assert [[s,r]for pid,s,r in mix]==order + assert len({(s,r)for pid,s,r in mix})==333 + counts=Counter(pid for pid,s,r in mix);assert counts=={'demote3':125,'demote4':208} + assert set(providers)==set(counts) + widths={};paid={};words={};receipts={};bits=[] + for pid,directory in sorted(providers.items()): + paths=[directory/'CANONICAL-WORD.json.gz',directory/'INDEPENDENT-LOCAL-REPLAY.json'];refs+=paths + word,receipt=map(read,paths);words[pid]=word;receipts[pid]=receipt + assert receipt['canonical_word_sha256']==sha(paths[0]) + assert receipt['status']=='PASS_INDEPENDENT_LOCAL_SCALAR_FRAME_AND_WRAPPER_REPLAY' + assert word['ports']==canonical['ports'] + assert [ck.basis(word['frames'][f])for f in word['center_frames']]==[ck.basis(canonical['frames'][f])for f in canonical['center_frames']] + widths[pid],paid[pid]=ck.local_inventory(word,receipt) + assert Counter(widths[pid])==INVENTORIES[pid] + bits.extend(v['prefix_bits_upper']for v in receipt['local'].values()) + context=ck.make_context(parent,phases,words['demote3']['ports'],words['demote3'],receipts['demote3'],owners) + assert [list(k)for k in context['order']]==order + total=Counter() + for pid,s,r in mix:total.update(paid[pid]) + context.update(widths_by_call={(s,r):widths[pid]for pid,s,r in mix},paid_total=total,localbits=max(bits), + local_profiles={pid:dict(v)for pid,v in paid.items()},inventories=INVENTORIES,call_counts=dict(counts)) + result=ck.check_roles(context,owners);result['controls_rejected']=ck.controls(context,owners) + # Substituting the other admitted word changes four specific whole-helper + # widths. Keep the geometry fixed and require rejection at that predicate. + for pid in sorted(providers): + call=next((s,r)for p,s,r in mix if p==pid);bad=copy.copy(context) + bad['widths_by_call']=dict(context['widths_by_call']) + bad['widths_by_call'][call]=widths['demote4'if pid=='demote3'else'demote3'] + try:ck.check_roles(bad,owners) + except ValueError as e: + assert str(e)=='whole-helper residual width' + result['controls_rejected'].append(dict(name='wrong_provider_'+pid,reason=str(e))) + else:raise AssertionError('wrong provider accepted') + result.update(edits=edits,source_sha256=sha(source),adapter_sha256=sha(adapter),inputs={str(p):sha(p)for p in refs}) + claim=read(P/'CLAIM.json') + for field in ('roles','calls','live','physical','rank_mass','deficit','prefix_bits','physical_row_coefficient'): + assert result[field]==claim[field],field + assert {str(r):n for r,n in result['profile'].items()}==claim['complex_profile'] + dump(out,result);return result + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + for k in ('base','local3','local4','owners','out'):ap.add_argument('--'+k,type=Path,required=True) + a=ap.parse_args();out=a.out.resolve();assert not out.exists() and not out.is_relative_to(ROOT) + out.parent.mkdir(parents=True,exist_ok=True) + r=check(a.base,{'demote3':a.local3,'demote4':a.local4},a.owners,out);print(r['status'],r['roles'],flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py new file mode 100644 index 0000000000..b98987baf9 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/build_word.py @@ -0,0 +1,27 @@ +"""Apply a frozen four-helper entrance/frame recipe, without optimization.""" +import argparse +from pathlib import Path +from common import P,read,dump,identity,sha + +def build(out): + assert not out.exists() + word=read(P/'vendor/pr1148/JOINT-WORD.json.gz') + recipe=read(P/'data/FOUR-RECIPE.json') + assert set(recipe)=={'B','report','start_extra'} + for helper,old,new in recipe['start_extra']: + assert word['start_extra'][helper]==old + word['start_extra'][helper]=new + for index,old,new in recipe['B']: + assert word['B'][index]==old + # Scalar operation, registers and coefficient are unchanged. + assert old[:-1]==new[:-1] + word['B'][index]=new + word['report']=recipe['report'] + assert word==read(P/'data/FOUR-WORD.json.gz') + dump(out,word) + return dict(status='PASS_FROZEN_FOUR_ENTRANCE_RECIPE',content_sha256=identity(word), + source_sha256=sha(P/'vendor/pr1148/JOINT-WORD.json.gz'),recipe_sha256=sha(P/'data/FOUR-RECIPE.json')) + +if __name__=='__main__': + ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args() + print(build(a.out)['status']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py new file mode 100644 index 0000000000..4af6dc3374 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/common.py @@ -0,0 +1,26 @@ +"""Strict shared I/O; construction and independent audit remain separate.""" +import gzip, hashlib, importlib.util, json, sys +from pathlib import Path +P=Path(__file__).resolve().parent +ROOT=P.parents[1] +if not __debug__:raise RuntimeError('Assertions must remain enabled') +def read(path): + path=Path(path);raw=path.read_bytes() + return json.loads(gzip.decompress(raw)if path.suffix=='.gz'else raw) +def canonical(value):return json.dumps(value,sort_keys=True,separators=(',',':')).encode() +def sha(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +def identity(value):return hashlib.sha256(canonical(value)).hexdigest() +def dump(path,value): + raw=canonical(value) + if path.suffix=='.gz': + raw=bytearray(gzip.compress(raw,mtime=0));raw[9]=255 + path.write_bytes(raw) +def load(path,name): + previous=sys.modules.pop('common',None);sys.path.insert(0,str(path.parent)) + try: + spec=importlib.util.spec_from_file_location(name,path) + module=importlib.util.module_from_spec(spec);sys.modules[name]=module;spec.loader.exec_module(module) + return module + finally: + sys.path.pop(0);sys.modules.pop('common',None) + if previous is not None:sys.modules['common']=previous diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py new file mode 100644 index 0000000000..00429f1e62 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/construct.py @@ -0,0 +1,116 @@ +"""Expand the frozen integer pattern flows without a solver or third-party library. + +Credit: PR858 physical windows; local promo4 pattern-flow formulation; standard +regular bipartite multigraph decomposition by successive perfect matchings. +Every matching and every integer conservation equation is checked explicitly. +""" +import argparse +from collections import Counter,defaultdict,deque +from common import P,ROOT,read,dump,load,identity,sha + +def matching(A): + n=len(A);left=[-1]*n;right=[-1]*n + while True: + distance=[-1]*n;q=deque() + for u in range(n): + if left[u]<0:distance[u]=0;q.append(u) + while q: + u=q.popleft() + for v in sorted(A[u]): + z=right[v] + if z>=0 and distance[z]<0:distance[z]=distance[u]+1;q.append(z) + def augment(u): + for v in sorted(A[u]): + z=right[v] + if z<0 or(distance[z]==distance[u]+1 and augment(z)): + left[u]=v;right[v]=u;return True + distance[u]=-1;return False + count=sum(augment(u) for u in range(n)if left[u]<0) + if all(v>=0 for v in left):break + assert count,'Regular bipartite graph has no perfect matching' + assert sorted(left)==list(range(n)) and all(A[u][v]>0 for u,v in enumerate(left)) + return left + +def construct(parent,words,flow,order,mix): + expected_order=sorted([[s,r]for s in range(9)for r in range(37)],key=lambda k:(37*k[0]+8*k[1],k[0],k[1])) + assert order==expected_order,'Frozen wave order' + mod=load(ROOT/'research/complex-t21-owners/vendor/pr870/t16/build_parent.py','original_actual_windows') + windows,schedule=mod.actual_windows(parent,order) + original=read(P/'vendor/pr1148/PLAN.json.gz') + assert [[s,r] for pid,s,r in mix]==order + assert Counter(pid for pid,s,r in mix)=={'demote3':125,'demote4':208} + inventories={'demote3':{4:44,5:44,7:38,8:114,9:240},'demote4':{4:40,5:48,7:38,8:114,9:240}} + widths={} + for pid,word in words.items(): + widths[pid]=[len(word['frames'][word['final'][h]])-len(word['frames'][word['start'][h]])for h in range(224,224+word['R'])] + assert Counter(widths[pid])==inventories[pid] + pools=defaultdict(list) + for t,(pid,s,r) in enumerate(mix): + for h,w in enumerate(widths[pid]):pools[t,w].append(h) + roles=[];seen=set();flow_edges=0;bin_count=0 + for group in flow: + keys=group['physical_windows'];assert keys and len(keys)==len(set(keys)) + assert not seen.intersection(keys);seen.update(keys) + cap,times=windows[keys[0]] + assert all(windows[key]==[cap,times]for key in keys) + n=len(times);portbase=0 + for pattern in group['patterns']: + widths_p=pattern['widths'];N=pattern['count'];flows={} + assert type(N)is int and 0=0 + for row in range(K,n): + need=N + while need: + while deficit[ti]==0:ti+=1 + take=min(need,deficit[ti]);A[row][ti]+=take;deficit[ti]-=take;need-=take + assert not any(deficit) and all(sum(row.values())==N for row in A) + actual=Counter() + for color in range(N): + match=matching(A);slots=sorted((times[match[i]],row_widths[i])for i in range(K)) + for i,t in enumerate(match): + A[i][t]-=1 + if not A[i][t]:del A[i][t] + index,port=divmod(portbase+color,112);owner,child=map(int,keys[index].split(','));offset=0 + for t,w in slots: + actual[t,w]+=1;assert pools[t,w];helper=pools[t,w].pop();stage,replica=order[t] + roles.append(dict(stage=stage,replica=replica,time=t,helper=helper,width=w,owner_replica=owner,child=child,port=port,offset=offset,copy=112*owner+port,family=896*owner+112*(2*original['pairs'][str(child)]+original['sides'][str(child)])+port)) + offset+=w + assert offset==sum(widths_p) + assert not any(A) and actual==flows + portbase+=N;bin_count+=N + assert portbase==112*len(keys) + assert seen==set(windows) and not any(pools.values()) and len(roles)==159840 + roles.sort(key=lambda z:(z['time'],z['helper'])) + return roles,dict(status='PASS_FROZEN_INTEGER_FLOW_AND_REGULAR_MATCHING',roles=len(roles),bins=bin_count,windows=len(windows),flow_edges=flow_edges,owner_content_sha256=identity(roles),schedule_content_sha256=identity(schedule)) + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + for k in ('parent','word3','word4','out'):ap.add_argument('--'+k,type=__import__('pathlib').Path,required=True) + a=ap.parse_args();out=a.out.resolve();assert not out.exists() and not out.is_relative_to(ROOT);out.mkdir(parents=True) + roles,receipt=construct(read(a.parent),{'demote3':read(a.word3),'demote4':read(a.word4)},read(P/'data/FLOW.json.gz'),read(P/'data/ORDER.json'),read(P/'data/MIX.json')) + dump(out/'OWNERS.json.gz',roles) + receipt['inputs']={str(p):sha(p)for p in (a.parent,a.word3,a.word4,P/'data/FLOW.json.gz',P/'data/ORDER.json',P/'data/MIX.json')} + dump(out/'CONSTRUCTION.json',receipt);print(receipt['status'],len(roles),flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py new file mode 100644 index 0000000000..50387d2973 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controller.py @@ -0,0 +1,55 @@ +"""Run the retained emitted-controller checks and bind their final receipts.""" +from fractions import Fraction +import os,subprocess,sys,time +from common import P,ROOT,read,dump,sha + +def replay(work,providers,discovery=False): + source=ROOT/'research/complex-k492-owner-repair/vendor/multicold' + code=work/'runtime/code';spec=work/'runtime/data/SPEC.json' + mode='discovery'if discovery else'strict';out=work/mode;out.mkdir();g=out/'global' + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0', + MULTICOLD_SOURCE=str(source),GAIN_PR564_SOURCE=str(source),WITNESS_SPEC=str(spec)) + for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(k,None) + if discovery:env.update(WITNESS_DISCOVER='1',WITNESS_RECORD=str(out/'WITNESS-RECORD.jsonl')) + stages=[] + def run(name,script,*args): + start=time.monotonic();log=out/(name+'.log') + with log.open('w')as f:r=subprocess.run([sys.executable,'-B',str(source/'code/run_portable.py'),str(code/script),*map(str,args)],env=env,cwd=ROOT,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,seconds=round(time.monotonic()-start,3),log_sha256=sha(log))) + dump(out/'STAGES.json',stages) + if r.returncode:raise RuntimeError(name+'\n'+log.read_text()[-6000:]) + print('PASS',mode,name,flush=True) + provider_args=[arg for pid,local in sorted(providers.items()) for arg in ('--provider',pid+'='+str(local))] + run('bind','bind_providers_portable.py','--baseline',work/'parent',*provider_args,'--plan',work/'lift/PLAN.json','--out',g) + run('emit','emit_allcold.py','--base',g/'base','--owners',P/'data/OWNERS.json.gz','--plan',g/'PLAN.json','--out',g/'hosted') + run('audit','audit_allcold.py',g/'base',g/'hosted',g/'audit/ASYNC-AUDIT.json','--mutation-controls') + run('invoice','invoice_allcold.py','--base',g/'base','--hosted',g/'hosted','--audit',g/'audit','--out',g/'audit','--retained-invoice',source/'vendor/pr558/vendor/pr552/complex-global/vendor531/evidence/audit/PREFIX-AND-INVOICE.json') + run('assembly','assemble.py',source,g,out/'ASSEMBLY.json') + if discovery: + run('freeze','freeze_spec.py','--spec',spec,'--discovery',out) + return read(out/'ASSEMBLY.json') + for name,script,target in [('admission-controls','assembly_controls.py','ADMISSION-CONTROLS.json'),('bit-controls','bit_supplier_controls.py','BIT-CONTROLS.json')]: + run(name,script,'--source-package',source,'--owner',g/'audit/OWNERS-AND-PROFILE.json','--invoice',g/'audit/PREFIX-AND-INVOICE.json','--out',out/target) + asm=read(out/'ASSEMBLY.json');owner=read(g/'audit/OWNERS-AND-PROFILE.json') + invoice=read(g/'audit/PREFIX-AND-INVOICE.json');audit=read(g/'audit/ASYNC-AUDIT.json') + ac=read(out/'ADMISSION-CONTROLS.json');bc=read(out/'BIT-CONTROLS.json');claim=read(P/'CLAIM.json') + for k in ('kappa','kappa_decimal','complex_lower','bit_lower','complex_profile'):assert asm[k]==claim[k],k + for k in ('live','physical','rank_mass','deficit'):assert owner[k]==claim[k],k + assert owner['hosted_residuals']==audit['complex_hosted_residuals']==claim['roles']==159840 + assert audit['complete_invocations']==invoice['complete_invocation_sweeps']==333 + assert invoice['global_prefix_bits']==775 and invoice['charged_prefix_bits']==1024 + assert invoice['finite']['physical_row_coefficient']==174950 for v in asm['outer'].values()) + assert not ac['discovery_accepted_controls'] and len(ac['rejected_controls'])==114 + assert len(bc['rejected_controls'])==12 and bc['derived_deficit']==10272 + assert audit['mutation_controls_run'] and len(audit['mutations_rejected'])==23 + assert asm['template_sha256']==owner['template_sha256']==invoice['template_sha256'] + assert invoice['owner_audit_sha256']==sha(g/'audit/OWNERS-AND-PROFILE.json') + assert invoice['controller_audit_sha256']==sha(g/'audit/ASYNC-AUDIT.json') + for pid,local in providers.items(): + for name in ('CANONICAL-WORD.json.gz','LOCAL-PROGRAMS.json.gz','LOCAL-CHECKS.json','INDEPENDENT-LOCAL-REPLAY.json','RESIDUAL-ADAPTERS.json','CLIFFORD-RECIPES.json','CLIFFORD-REVIEW.json'): + assert read(g/'base/providers'/pid/name)==read(local/name),'Fresh provider binding: '+pid+'/'+name + return dict(status='PASS_MIXED_DEMOTIONS_T37_STRICT_CONTROLLER',kappa=asm['kappa'],kappa_decimal=asm['kappa_decimal'], + complex_profile=asm['complex_profile'],roles=159840,calls=333,prefix_bits=775,row_coefficient=17495, + controls=dict(admission=114,bit_supplier=12,controller=23),scope=claim['scope'],stages=stages) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py new file mode 100644 index 0000000000..a5cbce2d30 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/controls.py @@ -0,0 +1,25 @@ +"""Reject malformed frozen flow inputs before accepting any reconstructed map.""" +import copy +from construct import construct +from common import P,read,dump + +def check(parent,words,out): + flow=read(P/'data/FLOW.json.gz');order=read(P/'data/ORDER.json');mix=read(P/'data/MIX.json') + result=[] + for name in ('boolean_bin_count','negative_bin_count','duplicate_window','duplicate_flow', + 'out_of_window_time','invalid_width','overfull_call','reordered_wave'): + bad=copy.deepcopy(flow);badorder=copy.deepcopy(order) + group=bad[0];pattern=next(p for p in group['patterns']if p['flow']) + if name=='boolean_bin_count':group['patterns'][0]['count']=True + elif name=='negative_bin_count':group['patterns'][0]['count']=-1 + elif name=='duplicate_window':group['physical_windows'].append(group['physical_windows'][0]) + elif name=='duplicate_flow':pattern['flow'].append(pattern['flow'][0].copy()) + elif name=='out_of_window_time':pattern['flow'][0][0]=333 + elif name=='invalid_width':pattern['flow'][0][1]=6 + elif name=='overfull_call':pattern['flow'][0][2]=pattern['count']+1 + else:badorder[0],badorder[1]=badorder[1],badorder[0] + try:construct(parent,words,bad,badorder,mix) + except AssertionError:result.append(name) + else:raise AssertionError('Accepted malformed flow: '+name) + receipt=dict(status='PASS_FROZEN_FLOW_NEGATIVE_CONTROLS',rejected=result) + dump(out,receipt);return receipt diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz new file mode 100644 index 0000000000..71246bb8e4 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FLOW.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json new file mode 100644 index 0000000000..1fdb9bb71c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-RECIPE.json @@ -0,0 +1,479 @@ +{ + "B": [ + [ + 384, + [ + "add", + 624, + 627, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 627, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 385, + [ + "add", + 625, + 627, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 627, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 386, + [ + "add", + 626, + 627, + 1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 627, + 1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 387, + [ + "add", + 624, + 629, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 629, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 388, + [ + "add", + 625, + 629, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 629, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 389, + [ + "add", + 628, + 629, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 629, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 390, + [ + "add", + 624, + 630, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 624, + 630, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 391, + [ + "add", + 626, + 630, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 630, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 392, + [ + "add", + 628, + 630, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 630, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 393, + [ + "add", + 625, + 631, + 2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 625, + 631, + 2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 394, + [ + "add", + 626, + 631, + -2, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 626, + 631, + -2, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ], + [ + 395, + [ + "add", + 628, + 631, + -1, + 1, + [ + 390, + 68, + 34, + 24, + 1 + ] + ], + [ + "add", + 628, + 631, + -1, + 1, + [ + 68, + 34, + 24, + 1 + ] + ] + ] + ], + "report": { + "R": 480, + "borrowed_output_pairs": 56, + "centre_ranks": [ + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8 + ], + "cst": 64, + "first_load_join_counts": { + "4": 64 + }, + "h": 9, + "local_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "local_rank_mass": 5594, + "m": 73, + "scope": "Clean scalar identity and all literal monotone local frames only; arbitrary-dirt compensation, entrance kernels, exact phase recipes, and global hosting/pricing are not yet certified.", + "selected_load_join_counts": { + "6": 64 + }, + "selected_partitions": [ + 0, + 0 + ], + "source_and_helper_cleanup_exact_on_clean_columns": true, + "source_columns_exact": 112, + "status": "EXACT_CLEAN_OWN_Y_EARLY_CENTER_WORD_NOT_ADMITTED", + "tri_join_counts": {}, + "v": 112, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + } + }, + "start_extra": [ + [ + "627", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "629", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "630", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ], + [ + "631", + [ + 390, + 68, + 34, + 24, + 1 + ], + [ + 68, + 34, + 24, + 1 + ] + ] + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz new file mode 100644 index 0000000000..46f164ba39 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/FOUR-WORD.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json new file mode 100644 index 0000000000..52e8bdd775 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/MIX.json @@ -0,0 +1,1667 @@ +[ + [ + "demote4", + 0, + 0 + ], + [ + "demote4", + 0, + 1 + ], + [ + "demote4", + 0, + 2 + ], + [ + "demote4", + 0, + 3 + ], + [ + "demote4", + 0, + 4 + ], + [ + "demote4", + 1, + 0 + ], + [ + "demote4", + 0, + 5 + ], + [ + "demote4", + 1, + 1 + ], + [ + "demote4", + 0, + 6 + ], + [ + "demote4", + 1, + 2 + ], + [ + "demote4", + 0, + 7 + ], + [ + "demote4", + 1, + 3 + ], + [ + "demote4", + 0, + 8 + ], + [ + "demote4", + 1, + 4 + ], + [ + "demote4", + 0, + 9 + ], + [ + "demote4", + 2, + 0 + ], + [ + "demote4", + 1, + 5 + ], + [ + "demote4", + 0, + 10 + ], + [ + "demote4", + 2, + 1 + ], + [ + "demote4", + 1, + 6 + ], + [ + "demote4", + 0, + 11 + ], + [ + "demote4", + 2, + 2 + ], + [ + "demote4", + 1, + 7 + ], + [ + "demote4", + 0, + 12 + ], + [ + "demote4", + 2, + 3 + ], + [ + "demote4", + 1, + 8 + ], + [ + "demote4", + 0, + 13 + ], + [ + "demote4", + 2, + 4 + ], + [ + "demote4", + 1, + 9 + ], + [ + "demote4", + 3, + 0 + ], + [ + "demote4", + 0, + 14 + ], + [ + "demote4", + 2, + 5 + ], + [ + "demote4", + 1, + 10 + ], + [ + "demote4", + 3, + 1 + ], + [ + "demote4", + 0, + 15 + ], + [ + "demote4", + 2, + 6 + ], + [ + "demote4", + 1, + 11 + ], + [ + "demote4", + 3, + 2 + ], + [ + "demote4", + 0, + 16 + ], + [ + "demote4", + 2, + 7 + ], + [ + "demote4", + 1, + 12 + ], + [ + "demote4", + 3, + 3 + ], + [ + "demote4", + 0, + 17 + ], + [ + "demote4", + 2, + 8 + ], + [ + "demote4", + 1, + 13 + ], + [ + "demote4", + 3, + 4 + ], + [ + "demote4", + 0, + 18 + ], + [ + "demote4", + 2, + 9 + ], + [ + "demote4", + 4, + 0 + ], + [ + "demote4", + 1, + 14 + ], + [ + "demote4", + 3, + 5 + ], + [ + "demote4", + 0, + 19 + ], + [ + "demote4", + 2, + 10 + ], + [ + "demote4", + 4, + 1 + ], + [ + "demote4", + 1, + 15 + ], + [ + "demote4", + 3, + 6 + ], + [ + "demote4", + 0, + 20 + ], + [ + "demote4", + 2, + 11 + ], + [ + "demote4", + 4, + 2 + ], + [ + "demote4", + 1, + 16 + ], + [ + "demote4", + 3, + 7 + ], + [ + "demote4", + 0, + 21 + ], + [ + "demote4", + 2, + 12 + ], + [ + "demote4", + 4, + 3 + ], + [ + "demote4", + 1, + 17 + ], + [ + "demote4", + 3, + 8 + ], + [ + "demote4", + 0, + 22 + ], + [ + "demote4", + 2, + 13 + ], + [ + "demote4", + 4, + 4 + ], + [ + "demote4", + 1, + 18 + ], + [ + "demote4", + 3, + 9 + ], + [ + "demote4", + 0, + 23 + ], + [ + "demote4", + 5, + 0 + ], + [ + "demote4", + 2, + 14 + ], + [ + "demote4", + 4, + 5 + ], + [ + "demote4", + 1, + 19 + ], + [ + "demote4", + 3, + 10 + ], + [ + "demote4", + 0, + 24 + ], + [ + "demote4", + 5, + 1 + ], + [ + "demote4", + 2, + 15 + ], + [ + "demote4", + 4, + 6 + ], + [ + "demote4", + 1, + 20 + ], + [ + "demote4", + 3, + 11 + ], + [ + "demote4", + 0, + 25 + ], + [ + "demote4", + 5, + 2 + ], + [ + "demote4", + 2, + 16 + ], + [ + "demote4", + 4, + 7 + ], + [ + "demote4", + 1, + 21 + ], + [ + "demote4", + 3, + 12 + ], + [ + "demote4", + 0, + 26 + ], + [ + "demote4", + 5, + 3 + ], + [ + "demote4", + 2, + 17 + ], + [ + "demote4", + 4, + 8 + ], + [ + "demote4", + 1, + 22 + ], + [ + "demote4", + 3, + 13 + ], + [ + "demote4", + 0, + 27 + ], + [ + "demote4", + 5, + 4 + ], + [ + "demote4", + 2, + 18 + ], + [ + "demote4", + 4, + 9 + ], + [ + "demote4", + 1, + 23 + ], + [ + "demote4", + 6, + 0 + ], + [ + "demote4", + 3, + 14 + ], + [ + "demote4", + 0, + 28 + ], + [ + "demote4", + 5, + 5 + ], + [ + "demote4", + 2, + 19 + ], + [ + "demote4", + 4, + 10 + ], + [ + "demote4", + 1, + 24 + ], + [ + "demote4", + 6, + 1 + ], + [ + "demote4", + 3, + 15 + ], + [ + "demote4", + 0, + 29 + ], + [ + "demote4", + 5, + 6 + ], + [ + "demote4", + 2, + 20 + ], + [ + "demote4", + 4, + 11 + ], + [ + "demote4", + 1, + 25 + ], + [ + "demote4", + 6, + 2 + ], + [ + "demote4", + 3, + 16 + ], + [ + "demote4", + 0, + 30 + ], + [ + "demote4", + 5, + 7 + ], + [ + "demote4", + 2, + 21 + ], + [ + "demote4", + 4, + 12 + ], + [ + "demote4", + 1, + 26 + ], + [ + "demote4", + 6, + 3 + ], + [ + "demote4", + 3, + 17 + ], + [ + "demote4", + 0, + 31 + ], + [ + "demote4", + 5, + 8 + ], + [ + "demote4", + 2, + 22 + ], + [ + "demote4", + 4, + 13 + ], + [ + "demote4", + 1, + 27 + ], + [ + "demote4", + 6, + 4 + ], + [ + "demote4", + 3, + 18 + ], + [ + "demote4", + 0, + 32 + ], + [ + "demote4", + 5, + 9 + ], + [ + "demote4", + 2, + 23 + ], + [ + "demote4", + 7, + 0 + ], + [ + "demote4", + 4, + 14 + ], + [ + "demote4", + 1, + 28 + ], + [ + "demote4", + 6, + 5 + ], + [ + "demote4", + 3, + 19 + ], + [ + "demote4", + 0, + 33 + ], + [ + "demote4", + 5, + 10 + ], + [ + "demote4", + 2, + 24 + ], + [ + "demote4", + 7, + 1 + ], + [ + "demote4", + 4, + 15 + ], + [ + "demote4", + 1, + 29 + ], + [ + "demote4", + 6, + 6 + ], + [ + "demote4", + 3, + 20 + ], + [ + "demote4", + 0, + 34 + ], + [ + "demote4", + 5, + 11 + ], + [ + "demote4", + 2, + 25 + ], + [ + "demote4", + 7, + 2 + ], + [ + "demote4", + 4, + 16 + ], + [ + "demote4", + 1, + 30 + ], + [ + "demote4", + 6, + 7 + ], + [ + "demote4", + 3, + 21 + ], + [ + "demote4", + 0, + 35 + ], + [ + "demote4", + 5, + 12 + ], + [ + "demote4", + 2, + 26 + ], + [ + "demote4", + 7, + 3 + ], + [ + "demote4", + 4, + 17 + ], + [ + "demote4", + 1, + 31 + ], + [ + "demote4", + 6, + 8 + ], + [ + "demote4", + 3, + 22 + ], + [ + "demote4", + 0, + 36 + ], + [ + "demote4", + 5, + 13 + ], + [ + "demote4", + 2, + 27 + ], + [ + "demote4", + 7, + 4 + ], + [ + "demote4", + 4, + 18 + ], + [ + "demote4", + 1, + 32 + ], + [ + "demote4", + 6, + 9 + ], + [ + "demote4", + 3, + 23 + ], + [ + "demote4", + 8, + 0 + ], + [ + "demote4", + 5, + 14 + ], + [ + "demote4", + 2, + 28 + ], + [ + "demote4", + 7, + 5 + ], + [ + "demote4", + 4, + 19 + ], + [ + "demote4", + 1, + 33 + ], + [ + "demote4", + 6, + 10 + ], + [ + "demote4", + 3, + 24 + ], + [ + "demote4", + 8, + 1 + ], + [ + "demote4", + 5, + 15 + ], + [ + "demote4", + 2, + 29 + ], + [ + "demote4", + 7, + 6 + ], + [ + "demote4", + 4, + 20 + ], + [ + "demote4", + 1, + 34 + ], + [ + "demote4", + 6, + 11 + ], + [ + "demote4", + 3, + 25 + ], + [ + "demote4", + 8, + 2 + ], + [ + "demote4", + 5, + 16 + ], + [ + "demote4", + 2, + 30 + ], + [ + "demote4", + 7, + 7 + ], + [ + "demote4", + 4, + 21 + ], + [ + "demote4", + 1, + 35 + ], + [ + "demote4", + 6, + 12 + ], + [ + "demote4", + 3, + 26 + ], + [ + "demote4", + 8, + 3 + ], + [ + "demote4", + 5, + 17 + ], + [ + "demote4", + 2, + 31 + ], + [ + "demote4", + 7, + 8 + ], + [ + "demote4", + 4, + 22 + ], + [ + "demote4", + 1, + 36 + ], + [ + "demote4", + 6, + 13 + ], + [ + "demote4", + 3, + 27 + ], + [ + "demote4", + 8, + 4 + ], + [ + "demote4", + 5, + 18 + ], + [ + "demote4", + 2, + 32 + ], + [ + "demote4", + 7, + 9 + ], + [ + "demote4", + 4, + 23 + ], + [ + "demote4", + 6, + 14 + ], + [ + "demote3", + 3, + 28 + ], + [ + "demote3", + 8, + 5 + ], + [ + "demote3", + 5, + 19 + ], + [ + "demote3", + 2, + 33 + ], + [ + "demote3", + 7, + 10 + ], + [ + "demote3", + 4, + 24 + ], + [ + "demote3", + 6, + 15 + ], + [ + "demote3", + 3, + 29 + ], + [ + "demote3", + 8, + 6 + ], + [ + "demote3", + 5, + 20 + ], + [ + "demote3", + 2, + 34 + ], + [ + "demote3", + 7, + 11 + ], + [ + "demote3", + 4, + 25 + ], + [ + "demote3", + 6, + 16 + ], + [ + "demote3", + 3, + 30 + ], + [ + "demote3", + 8, + 7 + ], + [ + "demote3", + 5, + 21 + ], + [ + "demote3", + 2, + 35 + ], + [ + "demote3", + 7, + 12 + ], + [ + "demote3", + 4, + 26 + ], + [ + "demote3", + 6, + 17 + ], + [ + "demote3", + 3, + 31 + ], + [ + "demote3", + 8, + 8 + ], + [ + "demote3", + 5, + 22 + ], + [ + "demote3", + 2, + 36 + ], + [ + "demote3", + 7, + 13 + ], + [ + "demote3", + 4, + 27 + ], + [ + "demote3", + 6, + 18 + ], + [ + "demote3", + 3, + 32 + ], + [ + "demote3", + 8, + 9 + ], + [ + "demote3", + 5, + 23 + ], + [ + "demote3", + 7, + 14 + ], + [ + "demote3", + 4, + 28 + ], + [ + "demote3", + 6, + 19 + ], + [ + "demote3", + 3, + 33 + ], + [ + "demote3", + 8, + 10 + ], + [ + "demote3", + 5, + 24 + ], + [ + "demote3", + 7, + 15 + ], + [ + "demote3", + 4, + 29 + ], + [ + "demote3", + 6, + 20 + ], + [ + "demote3", + 3, + 34 + ], + [ + "demote3", + 8, + 11 + ], + [ + "demote3", + 5, + 25 + ], + [ + "demote3", + 7, + 16 + ], + [ + "demote3", + 4, + 30 + ], + [ + "demote3", + 6, + 21 + ], + [ + "demote3", + 3, + 35 + ], + [ + "demote3", + 8, + 12 + ], + [ + "demote3", + 5, + 26 + ], + [ + "demote3", + 7, + 17 + ], + [ + "demote3", + 4, + 31 + ], + [ + "demote3", + 6, + 22 + ], + [ + "demote3", + 3, + 36 + ], + [ + "demote3", + 8, + 13 + ], + [ + "demote3", + 5, + 27 + ], + [ + "demote3", + 7, + 18 + ], + [ + "demote3", + 4, + 32 + ], + [ + "demote3", + 6, + 23 + ], + [ + "demote3", + 8, + 14 + ], + [ + "demote3", + 5, + 28 + ], + [ + "demote3", + 7, + 19 + ], + [ + "demote3", + 4, + 33 + ], + [ + "demote3", + 6, + 24 + ], + [ + "demote3", + 8, + 15 + ], + [ + "demote3", + 5, + 29 + ], + [ + "demote3", + 7, + 20 + ], + [ + "demote3", + 4, + 34 + ], + [ + "demote3", + 6, + 25 + ], + [ + "demote3", + 8, + 16 + ], + [ + "demote3", + 5, + 30 + ], + [ + "demote3", + 7, + 21 + ], + [ + "demote3", + 4, + 35 + ], + [ + "demote3", + 6, + 26 + ], + [ + "demote3", + 8, + 17 + ], + [ + "demote3", + 5, + 31 + ], + [ + "demote3", + 7, + 22 + ], + [ + "demote3", + 4, + 36 + ], + [ + "demote3", + 6, + 27 + ], + [ + "demote3", + 8, + 18 + ], + [ + "demote3", + 5, + 32 + ], + [ + "demote3", + 7, + 23 + ], + [ + "demote3", + 6, + 28 + ], + [ + "demote3", + 8, + 19 + ], + [ + "demote3", + 5, + 33 + ], + [ + "demote3", + 7, + 24 + ], + [ + "demote3", + 6, + 29 + ], + [ + "demote3", + 8, + 20 + ], + [ + "demote3", + 5, + 34 + ], + [ + "demote3", + 7, + 25 + ], + [ + "demote3", + 6, + 30 + ], + [ + "demote3", + 8, + 21 + ], + [ + "demote3", + 5, + 35 + ], + [ + "demote3", + 7, + 26 + ], + [ + "demote3", + 6, + 31 + ], + [ + "demote3", + 8, + 22 + ], + [ + "demote3", + 5, + 36 + ], + [ + "demote3", + 7, + 27 + ], + [ + "demote3", + 6, + 32 + ], + [ + "demote3", + 8, + 23 + ], + [ + "demote3", + 7, + 28 + ], + [ + "demote3", + 6, + 33 + ], + [ + "demote3", + 8, + 24 + ], + [ + "demote3", + 7, + 29 + ], + [ + "demote3", + 6, + 34 + ], + [ + "demote3", + 8, + 25 + ], + [ + "demote3", + 7, + 30 + ], + [ + "demote3", + 6, + 35 + ], + [ + "demote3", + 8, + 26 + ], + [ + "demote3", + 7, + 31 + ], + [ + "demote3", + 6, + 36 + ], + [ + "demote3", + 8, + 27 + ], + [ + "demote3", + 7, + 32 + ], + [ + "demote3", + 8, + 28 + ], + [ + "demote3", + 7, + 33 + ], + [ + "demote3", + 8, + 29 + ], + [ + "demote3", + 7, + 34 + ], + [ + "demote3", + 8, + 30 + ], + [ + "demote3", + 7, + 35 + ], + [ + "demote3", + 8, + 31 + ], + [ + "demote3", + 7, + 36 + ], + [ + "demote3", + 8, + 32 + ], + [ + "demote3", + 8, + 33 + ], + [ + "demote3", + 8, + 34 + ], + [ + "demote3", + 8, + 35 + ], + [ + "demote3", + 8, + 36 + ] +] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json new file mode 100644 index 0000000000..b32f07b09b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/ORDER.json @@ -0,0 +1 @@ +[[0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[0,5],[1,1],[0,6],[1,2],[0,7],[1,3],[0,8],[1,4],[0,9],[2,0],[1,5],[0,10],[2,1],[1,6],[0,11],[2,2],[1,7],[0,12],[2,3],[1,8],[0,13],[2,4],[1,9],[3,0],[0,14],[2,5],[1,10],[3,1],[0,15],[2,6],[1,11],[3,2],[0,16],[2,7],[1,12],[3,3],[0,17],[2,8],[1,13],[3,4],[0,18],[2,9],[4,0],[1,14],[3,5],[0,19],[2,10],[4,1],[1,15],[3,6],[0,20],[2,11],[4,2],[1,16],[3,7],[0,21],[2,12],[4,3],[1,17],[3,8],[0,22],[2,13],[4,4],[1,18],[3,9],[0,23],[5,0],[2,14],[4,5],[1,19],[3,10],[0,24],[5,1],[2,15],[4,6],[1,20],[3,11],[0,25],[5,2],[2,16],[4,7],[1,21],[3,12],[0,26],[5,3],[2,17],[4,8],[1,22],[3,13],[0,27],[5,4],[2,18],[4,9],[1,23],[6,0],[3,14],[0,28],[5,5],[2,19],[4,10],[1,24],[6,1],[3,15],[0,29],[5,6],[2,20],[4,11],[1,25],[6,2],[3,16],[0,30],[5,7],[2,21],[4,12],[1,26],[6,3],[3,17],[0,31],[5,8],[2,22],[4,13],[1,27],[6,4],[3,18],[0,32],[5,9],[2,23],[7,0],[4,14],[1,28],[6,5],[3,19],[0,33],[5,10],[2,24],[7,1],[4,15],[1,29],[6,6],[3,20],[0,34],[5,11],[2,25],[7,2],[4,16],[1,30],[6,7],[3,21],[0,35],[5,12],[2,26],[7,3],[4,17],[1,31],[6,8],[3,22],[0,36],[5,13],[2,27],[7,4],[4,18],[1,32],[6,9],[3,23],[8,0],[5,14],[2,28],[7,5],[4,19],[1,33],[6,10],[3,24],[8,1],[5,15],[2,29],[7,6],[4,20],[1,34],[6,11],[3,25],[8,2],[5,16],[2,30],[7,7],[4,21],[1,35],[6,12],[3,26],[8,3],[5,17],[2,31],[7,8],[4,22],[1,36],[6,13],[3,27],[8,4],[5,18],[2,32],[7,9],[4,23],[6,14],[3,28],[8,5],[5,19],[2,33],[7,10],[4,24],[6,15],[3,29],[8,6],[5,20],[2,34],[7,11],[4,25],[6,16],[3,30],[8,7],[5,21],[2,35],[7,12],[4,26],[6,17],[3,31],[8,8],[5,22],[2,36],[7,13],[4,27],[6,18],[3,32],[8,9],[5,23],[7,14],[4,28],[6,19],[3,33],[8,10],[5,24],[7,15],[4,29],[6,20],[3,34],[8,11],[5,25],[7,16],[4,30],[6,21],[3,35],[8,12],[5,26],[7,17],[4,31],[6,22],[3,36],[8,13],[5,27],[7,18],[4,32],[6,23],[8,14],[5,28],[7,19],[4,33],[6,24],[8,15],[5,29],[7,20],[4,34],[6,25],[8,16],[5,30],[7,21],[4,35],[6,26],[8,17],[5,31],[7,22],[4,36],[6,27],[8,18],[5,32],[7,23],[6,28],[8,19],[5,33],[7,24],[6,29],[8,20],[5,34],[7,25],[6,30],[8,21],[5,35],[7,26],[6,31],[8,22],[5,36],[7,27],[6,32],[8,23],[7,28],[6,33],[8,24],[7,29],[6,34],[8,25],[7,30],[6,35],[8,26],[7,31],[6,36],[8,27],[7,32],[8,28],[7,33],[8,29],[7,34],[8,30],[7,35],[8,31],[7,36],[8,32],[8,33],[8,34],[8,35],[8,36]] diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz new file mode 100644 index 0000000000..34fa5d69aa Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/OWNERS.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz new file mode 100644 index 0000000000..09adb56689 Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/PLAN.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json new file mode 100644 index 0000000000..3298bd4683 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/data/SPEC.json @@ -0,0 +1,4287 @@ +{ + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 0, + 3 + ], + [ + 0, + 4 + ], + [ + 1, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 1 + ], + [ + 0, + 6 + ], + [ + 1, + 2 + ], + [ + 0, + 7 + ], + [ + 1, + 3 + ], + [ + 0, + 8 + ], + [ + 1, + 4 + ], + [ + 0, + 9 + ], + [ + 2, + 0 + ], + [ + 1, + 5 + ], + [ + 0, + 10 + ], + [ + 2, + 1 + ], + [ + 1, + 6 + ], + [ + 0, + 11 + ], + [ + 2, + 2 + ], + [ + 1, + 7 + ], + [ + 0, + 12 + ], + [ + 2, + 3 + ], + [ + 1, + 8 + ], + [ + 0, + 13 + ], + [ + 2, + 4 + ], + [ + 1, + 9 + ], + [ + 3, + 0 + ], + [ + 0, + 14 + ], + [ + 2, + 5 + ], + [ + 1, + 10 + ], + [ + 3, + 1 + ], + [ + 0, + 15 + ], + [ + 2, + 6 + ], + [ + 1, + 11 + ], + [ + 3, + 2 + ], + [ + 0, + 16 + ], + [ + 2, + 7 + ], + [ + 1, + 12 + ], + [ + 3, + 3 + ], + [ + 0, + 17 + ], + [ + 2, + 8 + ], + [ + 1, + 13 + ], + [ + 3, + 4 + ], + [ + 0, + 18 + ], + [ + 2, + 9 + ], + [ + 4, + 0 + ], + [ + 1, + 14 + ], + [ + 3, + 5 + ], + [ + 0, + 19 + ], + [ + 2, + 10 + ], + [ + 4, + 1 + ], + [ + 1, + 15 + ], + [ + 3, + 6 + ], + [ + 0, + 20 + ], + [ + 2, + 11 + ], + [ + 4, + 2 + ], + [ + 1, + 16 + ], + [ + 3, + 7 + ], + [ + 0, + 21 + ], + [ + 2, + 12 + ], + [ + 4, + 3 + ], + [ + 1, + 17 + ], + [ + 3, + 8 + ], + [ + 0, + 22 + ], + [ + 2, + 13 + ], + [ + 4, + 4 + ], + [ + 1, + 18 + ], + [ + 3, + 9 + ], + [ + 0, + 23 + ], + [ + 5, + 0 + ], + [ + 2, + 14 + ], + [ + 4, + 5 + ], + [ + 1, + 19 + ], + [ + 3, + 10 + ], + [ + 0, + 24 + ], + [ + 5, + 1 + ], + [ + 2, + 15 + ], + [ + 4, + 6 + ], + [ + 1, + 20 + ], + [ + 3, + 11 + ], + [ + 0, + 25 + ], + [ + 5, + 2 + ], + [ + 2, + 16 + ], + [ + 4, + 7 + ], + [ + 1, + 21 + ], + [ + 3, + 12 + ], + [ + 0, + 26 + ], + [ + 5, + 3 + ], + [ + 2, + 17 + ], + [ + 4, + 8 + ], + [ + 1, + 22 + ], + [ + 3, + 13 + ], + [ + 0, + 27 + ], + [ + 5, + 4 + ], + [ + 2, + 18 + ], + [ + 4, + 9 + ], + [ + 1, + 23 + ], + [ + 6, + 0 + ], + [ + 3, + 14 + ], + [ + 0, + 28 + ], + [ + 5, + 5 + ], + [ + 2, + 19 + ], + [ + 4, + 10 + ], + [ + 1, + 24 + ], + [ + 6, + 1 + ], + [ + 3, + 15 + ], + [ + 0, + 29 + ], + [ + 5, + 6 + ], + [ + 2, + 20 + ], + [ + 4, + 11 + ], + [ + 1, + 25 + ], + [ + 6, + 2 + ], + [ + 3, + 16 + ], + [ + 0, + 30 + ], + [ + 5, + 7 + ], + [ + 2, + 21 + ], + [ + 4, + 12 + ], + [ + 1, + 26 + ], + [ + 6, + 3 + ], + [ + 3, + 17 + ], + [ + 0, + 31 + ], + [ + 5, + 8 + ], + [ + 2, + 22 + ], + [ + 4, + 13 + ], + [ + 1, + 27 + ], + [ + 6, + 4 + ], + [ + 3, + 18 + ], + [ + 0, + 32 + ], + [ + 5, + 9 + ], + [ + 2, + 23 + ], + [ + 7, + 0 + ], + [ + 4, + 14 + ], + [ + 1, + 28 + ], + [ + 6, + 5 + ], + [ + 3, + 19 + ], + [ + 0, + 33 + ], + [ + 5, + 10 + ], + [ + 2, + 24 + ], + [ + 7, + 1 + ], + [ + 4, + 15 + ], + [ + 1, + 29 + ], + [ + 6, + 6 + ], + [ + 3, + 20 + ], + [ + 0, + 34 + ], + [ + 5, + 11 + ], + [ + 2, + 25 + ], + [ + 7, + 2 + ], + [ + 4, + 16 + ], + [ + 1, + 30 + ], + [ + 6, + 7 + ], + [ + 3, + 21 + ], + [ + 0, + 35 + ], + [ + 5, + 12 + ], + [ + 2, + 26 + ], + [ + 7, + 3 + ], + [ + 4, + 17 + ], + [ + 1, + 31 + ], + [ + 6, + 8 + ], + [ + 3, + 22 + ], + [ + 0, + 36 + ], + [ + 5, + 13 + ], + [ + 2, + 27 + ], + [ + 7, + 4 + ], + [ + 4, + 18 + ], + [ + 1, + 32 + ], + [ + 6, + 9 + ], + [ + 3, + 23 + ], + [ + 8, + 0 + ], + [ + 5, + 14 + ], + [ + 2, + 28 + ], + [ + 7, + 5 + ], + [ + 4, + 19 + ], + [ + 1, + 33 + ], + [ + 6, + 10 + ], + [ + 3, + 24 + ], + [ + 8, + 1 + ], + [ + 5, + 15 + ], + [ + 2, + 29 + ], + [ + 7, + 6 + ], + [ + 4, + 20 + ], + [ + 1, + 34 + ], + [ + 6, + 11 + ], + [ + 3, + 25 + ], + [ + 8, + 2 + ], + [ + 5, + 16 + ], + [ + 2, + 30 + ], + [ + 7, + 7 + ], + [ + 4, + 21 + ], + [ + 1, + 35 + ], + [ + 6, + 12 + ], + [ + 3, + 26 + ], + [ + 8, + 3 + ], + [ + 5, + 17 + ], + [ + 2, + 31 + ], + [ + 7, + 8 + ], + [ + 4, + 22 + ], + [ + 1, + 36 + ], + [ + 6, + 13 + ], + [ + 3, + 27 + ], + [ + 8, + 4 + ], + [ + 5, + 18 + ], + [ + 2, + 32 + ], + [ + 7, + 9 + ], + [ + 4, + 23 + ], + [ + 6, + 14 + ], + [ + 3, + 28 + ], + [ + 8, + 5 + ], + [ + 5, + 19 + ], + [ + 2, + 33 + ], + [ + 7, + 10 + ], + [ + 4, + 24 + ], + [ + 6, + 15 + ], + [ + 3, + 29 + ], + [ + 8, + 6 + ], + [ + 5, + 20 + ], + [ + 2, + 34 + ], + [ + 7, + 11 + ], + [ + 4, + 25 + ], + [ + 6, + 16 + ], + [ + 3, + 30 + ], + [ + 8, + 7 + ], + [ + 5, + 21 + ], + [ + 2, + 35 + ], + [ + 7, + 12 + ], + [ + 4, + 26 + ], + [ + 6, + 17 + ], + [ + 3, + 31 + ], + [ + 8, + 8 + ], + [ + 5, + 22 + ], + [ + 2, + 36 + ], + [ + 7, + 13 + ], + [ + 4, + 27 + ], + [ + 6, + 18 + ], + [ + 3, + 32 + ], + [ + 8, + 9 + ], + [ + 5, + 23 + ], + [ + 7, + 14 + ], + [ + 4, + 28 + ], + [ + 6, + 19 + ], + [ + 3, + 33 + ], + [ + 8, + 10 + ], + [ + 5, + 24 + ], + [ + 7, + 15 + ], + [ + 4, + 29 + ], + [ + 6, + 20 + ], + [ + 3, + 34 + ], + [ + 8, + 11 + ], + [ + 5, + 25 + ], + [ + 7, + 16 + ], + [ + 4, + 30 + ], + [ + 6, + 21 + ], + [ + 3, + 35 + ], + [ + 8, + 12 + ], + [ + 5, + 26 + ], + [ + 7, + 17 + ], + [ + 4, + 31 + ], + [ + 6, + 22 + ], + [ + 3, + 36 + ], + [ + 8, + 13 + ], + [ + 5, + 27 + ], + [ + 7, + 18 + ], + [ + 4, + 32 + ], + [ + 6, + 23 + ], + [ + 8, + 14 + ], + [ + 5, + 28 + ], + [ + 7, + 19 + ], + [ + 4, + 33 + ], + [ + 6, + 24 + ], + [ + 8, + 15 + ], + [ + 5, + 29 + ], + [ + 7, + 20 + ], + [ + 4, + 34 + ], + [ + 6, + 25 + ], + [ + 8, + 16 + ], + [ + 5, + 30 + ], + [ + 7, + 21 + ], + [ + 4, + 35 + ], + [ + 6, + 26 + ], + [ + 8, + 17 + ], + [ + 5, + 31 + ], + [ + 7, + 22 + ], + [ + 4, + 36 + ], + [ + 6, + 27 + ], + [ + 8, + 18 + ], + [ + 5, + 32 + ], + [ + 7, + 23 + ], + [ + 6, + 28 + ], + [ + 8, + 19 + ], + [ + 5, + 33 + ], + [ + 7, + 24 + ], + [ + 6, + 29 + ], + [ + 8, + 20 + ], + [ + 5, + 34 + ], + [ + 7, + 25 + ], + [ + 6, + 30 + ], + [ + 8, + 21 + ], + [ + 5, + 35 + ], + [ + 7, + 26 + ], + [ + 6, + 31 + ], + [ + 8, + 22 + ], + [ + 5, + 36 + ], + [ + 7, + 27 + ], + [ + 6, + 32 + ], + [ + 8, + 23 + ], + [ + 7, + 28 + ], + [ + 6, + 33 + ], + [ + 8, + 24 + ], + [ + 7, + 29 + ], + [ + 6, + 34 + ], + [ + 8, + 25 + ], + [ + 7, + 30 + ], + [ + 6, + 35 + ], + [ + 8, + 26 + ], + [ + 7, + 31 + ], + [ + 6, + 36 + ], + [ + 8, + 27 + ], + [ + 7, + 32 + ], + [ + 8, + 28 + ], + [ + 7, + 33 + ], + [ + 8, + 29 + ], + [ + 7, + 34 + ], + [ + 8, + 30 + ], + [ + 7, + 35 + ], + [ + 8, + 31 + ], + [ + 7, + 36 + ], + [ + 8, + 32 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ] + ], + "data": { + "owners_sha256": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "plan_sha256": "8b9cfb7b9a4cad69ed02c7a39e12cad37d9abe2154a7b2e14570957c11180bd9" + }, + "dispatch": [ + [ + 0, + 0, + "demote4" + ], + [ + 0, + 1, + "demote4" + ], + [ + 0, + 2, + "demote4" + ], + [ + 0, + 3, + "demote4" + ], + [ + 0, + 4, + "demote4" + ], + [ + 1, + 0, + "demote4" + ], + [ + 0, + 5, + "demote4" + ], + [ + 1, + 1, + "demote4" + ], + [ + 0, + 6, + "demote4" + ], + [ + 1, + 2, + "demote4" + ], + [ + 0, + 7, + "demote4" + ], + [ + 1, + 3, + "demote4" + ], + [ + 0, + 8, + "demote4" + ], + [ + 1, + 4, + "demote4" + ], + [ + 0, + 9, + "demote4" + ], + [ + 2, + 0, + "demote4" + ], + [ + 1, + 5, + "demote4" + ], + [ + 0, + 10, + "demote4" + ], + [ + 2, + 1, + "demote4" + ], + [ + 1, + 6, + "demote4" + ], + [ + 0, + 11, + "demote4" + ], + [ + 2, + 2, + "demote4" + ], + [ + 1, + 7, + "demote4" + ], + [ + 0, + 12, + "demote4" + ], + [ + 2, + 3, + "demote4" + ], + [ + 1, + 8, + "demote4" + ], + [ + 0, + 13, + "demote4" + ], + [ + 2, + 4, + "demote4" + ], + [ + 1, + 9, + "demote4" + ], + [ + 3, + 0, + "demote4" + ], + [ + 0, + 14, + "demote4" + ], + [ + 2, + 5, + "demote4" + ], + [ + 1, + 10, + "demote4" + ], + [ + 3, + 1, + "demote4" + ], + [ + 0, + 15, + "demote4" + ], + [ + 2, + 6, + "demote4" + ], + [ + 1, + 11, + "demote4" + ], + [ + 3, + 2, + "demote4" + ], + [ + 0, + 16, + "demote4" + ], + [ + 2, + 7, + "demote4" + ], + [ + 1, + 12, + "demote4" + ], + [ + 3, + 3, + "demote4" + ], + [ + 0, + 17, + "demote4" + ], + [ + 2, + 8, + "demote4" + ], + [ + 1, + 13, + "demote4" + ], + [ + 3, + 4, + "demote4" + ], + [ + 0, + 18, + "demote4" + ], + [ + 2, + 9, + "demote4" + ], + [ + 4, + 0, + "demote4" + ], + [ + 1, + 14, + "demote4" + ], + [ + 3, + 5, + "demote4" + ], + [ + 0, + 19, + "demote4" + ], + [ + 2, + 10, + "demote4" + ], + [ + 4, + 1, + "demote4" + ], + [ + 1, + 15, + "demote4" + ], + [ + 3, + 6, + "demote4" + ], + [ + 0, + 20, + "demote4" + ], + [ + 2, + 11, + "demote4" + ], + [ + 4, + 2, + "demote4" + ], + [ + 1, + 16, + "demote4" + ], + [ + 3, + 7, + "demote4" + ], + [ + 0, + 21, + "demote4" + ], + [ + 2, + 12, + "demote4" + ], + [ + 4, + 3, + "demote4" + ], + [ + 1, + 17, + "demote4" + ], + [ + 3, + 8, + "demote4" + ], + [ + 0, + 22, + "demote4" + ], + [ + 2, + 13, + "demote4" + ], + [ + 4, + 4, + "demote4" + ], + [ + 1, + 18, + "demote4" + ], + [ + 3, + 9, + "demote4" + ], + [ + 0, + 23, + "demote4" + ], + [ + 5, + 0, + "demote4" + ], + [ + 2, + 14, + "demote4" + ], + [ + 4, + 5, + "demote4" + ], + [ + 1, + 19, + "demote4" + ], + [ + 3, + 10, + "demote4" + ], + [ + 0, + 24, + "demote4" + ], + [ + 5, + 1, + "demote4" + ], + [ + 2, + 15, + "demote4" + ], + [ + 4, + 6, + "demote4" + ], + [ + 1, + 20, + "demote4" + ], + [ + 3, + 11, + "demote4" + ], + [ + 0, + 25, + "demote4" + ], + [ + 5, + 2, + "demote4" + ], + [ + 2, + 16, + "demote4" + ], + [ + 4, + 7, + "demote4" + ], + [ + 1, + 21, + "demote4" + ], + [ + 3, + 12, + "demote4" + ], + [ + 0, + 26, + "demote4" + ], + [ + 5, + 3, + "demote4" + ], + [ + 2, + 17, + "demote4" + ], + [ + 4, + 8, + "demote4" + ], + [ + 1, + 22, + "demote4" + ], + [ + 3, + 13, + "demote4" + ], + [ + 0, + 27, + "demote4" + ], + [ + 5, + 4, + "demote4" + ], + [ + 2, + 18, + "demote4" + ], + [ + 4, + 9, + "demote4" + ], + [ + 1, + 23, + "demote4" + ], + [ + 6, + 0, + "demote4" + ], + [ + 3, + 14, + "demote4" + ], + [ + 0, + 28, + "demote4" + ], + [ + 5, + 5, + "demote4" + ], + [ + 2, + 19, + "demote4" + ], + [ + 4, + 10, + "demote4" + ], + [ + 1, + 24, + "demote4" + ], + [ + 6, + 1, + "demote4" + ], + [ + 3, + 15, + "demote4" + ], + [ + 0, + 29, + "demote4" + ], + [ + 5, + 6, + "demote4" + ], + [ + 2, + 20, + "demote4" + ], + [ + 4, + 11, + "demote4" + ], + [ + 1, + 25, + "demote4" + ], + [ + 6, + 2, + "demote4" + ], + [ + 3, + 16, + "demote4" + ], + [ + 0, + 30, + "demote4" + ], + [ + 5, + 7, + "demote4" + ], + [ + 2, + 21, + "demote4" + ], + [ + 4, + 12, + "demote4" + ], + [ + 1, + 26, + "demote4" + ], + [ + 6, + 3, + "demote4" + ], + [ + 3, + 17, + "demote4" + ], + [ + 0, + 31, + "demote4" + ], + [ + 5, + 8, + "demote4" + ], + [ + 2, + 22, + "demote4" + ], + [ + 4, + 13, + "demote4" + ], + [ + 1, + 27, + "demote4" + ], + [ + 6, + 4, + "demote4" + ], + [ + 3, + 18, + "demote4" + ], + [ + 0, + 32, + "demote4" + ], + [ + 5, + 9, + "demote4" + ], + [ + 2, + 23, + "demote4" + ], + [ + 7, + 0, + "demote4" + ], + [ + 4, + 14, + "demote4" + ], + [ + 1, + 28, + "demote4" + ], + [ + 6, + 5, + "demote4" + ], + [ + 3, + 19, + "demote4" + ], + [ + 0, + 33, + "demote4" + ], + [ + 5, + 10, + "demote4" + ], + [ + 2, + 24, + "demote4" + ], + [ + 7, + 1, + "demote4" + ], + [ + 4, + 15, + "demote4" + ], + [ + 1, + 29, + "demote4" + ], + [ + 6, + 6, + "demote4" + ], + [ + 3, + 20, + "demote4" + ], + [ + 0, + 34, + "demote4" + ], + [ + 5, + 11, + "demote4" + ], + [ + 2, + 25, + "demote4" + ], + [ + 7, + 2, + "demote4" + ], + [ + 4, + 16, + "demote4" + ], + [ + 1, + 30, + "demote4" + ], + [ + 6, + 7, + "demote4" + ], + [ + 3, + 21, + "demote4" + ], + [ + 0, + 35, + "demote4" + ], + [ + 5, + 12, + "demote4" + ], + [ + 2, + 26, + "demote4" + ], + [ + 7, + 3, + "demote4" + ], + [ + 4, + 17, + "demote4" + ], + [ + 1, + 31, + "demote4" + ], + [ + 6, + 8, + "demote4" + ], + [ + 3, + 22, + "demote4" + ], + [ + 0, + 36, + "demote4" + ], + [ + 5, + 13, + "demote4" + ], + [ + 2, + 27, + "demote4" + ], + [ + 7, + 4, + "demote4" + ], + [ + 4, + 18, + "demote4" + ], + [ + 1, + 32, + "demote4" + ], + [ + 6, + 9, + "demote4" + ], + [ + 3, + 23, + "demote4" + ], + [ + 8, + 0, + "demote4" + ], + [ + 5, + 14, + "demote4" + ], + [ + 2, + 28, + "demote4" + ], + [ + 7, + 5, + "demote4" + ], + [ + 4, + 19, + "demote4" + ], + [ + 1, + 33, + "demote4" + ], + [ + 6, + 10, + "demote4" + ], + [ + 3, + 24, + "demote4" + ], + [ + 8, + 1, + "demote4" + ], + [ + 5, + 15, + "demote4" + ], + [ + 2, + 29, + "demote4" + ], + [ + 7, + 6, + "demote4" + ], + [ + 4, + 20, + "demote4" + ], + [ + 1, + 34, + "demote4" + ], + [ + 6, + 11, + "demote4" + ], + [ + 3, + 25, + "demote4" + ], + [ + 8, + 2, + "demote4" + ], + [ + 5, + 16, + "demote4" + ], + [ + 2, + 30, + "demote4" + ], + [ + 7, + 7, + "demote4" + ], + [ + 4, + 21, + "demote4" + ], + [ + 1, + 35, + "demote4" + ], + [ + 6, + 12, + "demote4" + ], + [ + 3, + 26, + "demote4" + ], + [ + 8, + 3, + "demote4" + ], + [ + 5, + 17, + "demote4" + ], + [ + 2, + 31, + "demote4" + ], + [ + 7, + 8, + "demote4" + ], + [ + 4, + 22, + "demote4" + ], + [ + 1, + 36, + "demote4" + ], + [ + 6, + 13, + "demote4" + ], + [ + 3, + 27, + "demote4" + ], + [ + 8, + 4, + "demote4" + ], + [ + 5, + 18, + "demote4" + ], + [ + 2, + 32, + "demote4" + ], + [ + 7, + 9, + "demote4" + ], + [ + 4, + 23, + "demote4" + ], + [ + 6, + 14, + "demote4" + ], + [ + 3, + 28, + "demote3" + ], + [ + 8, + 5, + "demote3" + ], + [ + 5, + 19, + "demote3" + ], + [ + 2, + 33, + "demote3" + ], + [ + 7, + 10, + "demote3" + ], + [ + 4, + 24, + "demote3" + ], + [ + 6, + 15, + "demote3" + ], + [ + 3, + 29, + "demote3" + ], + [ + 8, + 6, + "demote3" + ], + [ + 5, + 20, + "demote3" + ], + [ + 2, + 34, + "demote3" + ], + [ + 7, + 11, + "demote3" + ], + [ + 4, + 25, + "demote3" + ], + [ + 6, + 16, + "demote3" + ], + [ + 3, + 30, + "demote3" + ], + [ + 8, + 7, + "demote3" + ], + [ + 5, + 21, + "demote3" + ], + [ + 2, + 35, + "demote3" + ], + [ + 7, + 12, + "demote3" + ], + [ + 4, + 26, + "demote3" + ], + [ + 6, + 17, + "demote3" + ], + [ + 3, + 31, + "demote3" + ], + [ + 8, + 8, + "demote3" + ], + [ + 5, + 22, + "demote3" + ], + [ + 2, + 36, + "demote3" + ], + [ + 7, + 13, + "demote3" + ], + [ + 4, + 27, + "demote3" + ], + [ + 6, + 18, + "demote3" + ], + [ + 3, + 32, + "demote3" + ], + [ + 8, + 9, + "demote3" + ], + [ + 5, + 23, + "demote3" + ], + [ + 7, + 14, + "demote3" + ], + [ + 4, + 28, + "demote3" + ], + [ + 6, + 19, + "demote3" + ], + [ + 3, + 33, + "demote3" + ], + [ + 8, + 10, + "demote3" + ], + [ + 5, + 24, + "demote3" + ], + [ + 7, + 15, + "demote3" + ], + [ + 4, + 29, + "demote3" + ], + [ + 6, + 20, + "demote3" + ], + [ + 3, + 34, + "demote3" + ], + [ + 8, + 11, + "demote3" + ], + [ + 5, + 25, + "demote3" + ], + [ + 7, + 16, + "demote3" + ], + [ + 4, + 30, + "demote3" + ], + [ + 6, + 21, + "demote3" + ], + [ + 3, + 35, + "demote3" + ], + [ + 8, + 12, + "demote3" + ], + [ + 5, + 26, + "demote3" + ], + [ + 7, + 17, + "demote3" + ], + [ + 4, + 31, + "demote3" + ], + [ + 6, + 22, + "demote3" + ], + [ + 3, + 36, + "demote3" + ], + [ + 8, + 13, + "demote3" + ], + [ + 5, + 27, + "demote3" + ], + [ + 7, + 18, + "demote3" + ], + [ + 4, + 32, + "demote3" + ], + [ + 6, + 23, + "demote3" + ], + [ + 8, + 14, + "demote3" + ], + [ + 5, + 28, + "demote3" + ], + [ + 7, + 19, + "demote3" + ], + [ + 4, + 33, + "demote3" + ], + [ + 6, + 24, + "demote3" + ], + [ + 8, + 15, + "demote3" + ], + [ + 5, + 29, + "demote3" + ], + [ + 7, + 20, + "demote3" + ], + [ + 4, + 34, + "demote3" + ], + [ + 6, + 25, + "demote3" + ], + [ + 8, + 16, + "demote3" + ], + [ + 5, + 30, + "demote3" + ], + [ + 7, + 21, + "demote3" + ], + [ + 4, + 35, + "demote3" + ], + [ + 6, + 26, + "demote3" + ], + [ + 8, + 17, + "demote3" + ], + [ + 5, + 31, + "demote3" + ], + [ + 7, + 22, + "demote3" + ], + [ + 4, + 36, + "demote3" + ], + [ + 6, + 27, + "demote3" + ], + [ + 8, + 18, + "demote3" + ], + [ + 5, + 32, + "demote3" + ], + [ + 7, + 23, + "demote3" + ], + [ + 6, + 28, + "demote3" + ], + [ + 8, + 19, + "demote3" + ], + [ + 5, + 33, + "demote3" + ], + [ + 7, + 24, + "demote3" + ], + [ + 6, + 29, + "demote3" + ], + [ + 8, + 20, + "demote3" + ], + [ + 5, + 34, + "demote3" + ], + [ + 7, + 25, + "demote3" + ], + [ + 6, + 30, + "demote3" + ], + [ + 8, + 21, + "demote3" + ], + [ + 5, + 35, + "demote3" + ], + [ + 7, + 26, + "demote3" + ], + [ + 6, + 31, + "demote3" + ], + [ + 8, + 22, + "demote3" + ], + [ + 5, + 36, + "demote3" + ], + [ + 7, + 27, + "demote3" + ], + [ + 6, + 32, + "demote3" + ], + [ + 8, + 23, + "demote3" + ], + [ + 7, + 28, + "demote3" + ], + [ + 6, + 33, + "demote3" + ], + [ + 8, + 24, + "demote3" + ], + [ + 7, + 29, + "demote3" + ], + [ + 6, + 34, + "demote3" + ], + [ + 8, + 25, + "demote3" + ], + [ + 7, + 30, + "demote3" + ], + [ + 6, + 35, + "demote3" + ], + [ + 8, + 26, + "demote3" + ], + [ + 7, + 31, + "demote3" + ], + [ + 6, + 36, + "demote3" + ], + [ + 8, + 27, + "demote3" + ], + [ + 7, + 32, + "demote3" + ], + [ + 8, + 28, + "demote3" + ], + [ + 7, + 33, + "demote3" + ], + [ + 8, + 29, + "demote3" + ], + [ + 7, + 34, + "demote3" + ], + [ + 8, + 30, + "demote3" + ], + [ + 7, + 35, + "demote3" + ], + [ + 8, + 31, + "demote3" + ], + [ + 7, + 36, + "demote3" + ], + [ + 8, + 32, + "demote3" + ], + [ + 8, + 33, + "demote3" + ], + [ + 8, + 34, + "demote3" + ], + [ + 8, + 35, + "demote3" + ], + [ + 8, + 36, + "demote3" + ] + ], + "expected": { + "gain_baseline_kappa": "0.001674622497877364", + "hosted_residuals": 159840, + "rank_mass": 2408256, + "actual_73column_sigmas": 11144, + "cross_replica_helper_roles": 148150, + "idle_remainders": 11376, + "idle_remainder_profile": { + "1": 2, + "48": 11374 + }, + "global_profile": { + "1": 785550, + "2": 167498, + "3": 138028, + "4": 42458, + "5": 27306, + "8": 2664, + "48": 11374 + }, + "live": 33152, + "physical": 33642, + "conservative_kappa_decimal": "0.001675672692984588", + "kappa_decimal": "0.001675672695827067", + "complex_lower": "167848528779417184507/100000000000000000000000", + "conservative_complex_lower": "839242642471071183683/500000000000000000000000", + "kappa": "1675672695827067/1000000000000000000", + "assembly_controls_rejected": 114, + "provider_counts": { + "demote3": 125, + "demote4": 208 + }, + "mutations_rejected": 23 + }, + "name": "mixed-demotions-t37", + "pivot_swap": { + "recipe": "/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + }, + "providers": { + "demote3": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "artifacts": { + "LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "RESIDUAL-ADAPTERS.json": "c099207d60ab49392bcadcaf7e9cbcfe01178e732f14e2591a8c3463162460d7" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + } + }, + "semantic_phase_sha256": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + }, + "demote4": { + "inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "576ece8ed41adf7145607c12e07d6e461337b188340cda4272cbcf48472ef709", + "LOCAL-PROGRAMS.json.gz": "a7822ed2e402952991bce28b56b8183ff4f502f9599615b5806fc320f7e0c7a4", + "LOCAL-CHECKS.json": "32c93ab90b40b6add454199c48302c149cb35d21da7d27a801544cd45c853101", + "INDEPENDENT-LOCAL-REPLAY.json": "3a943a3c1756ff6643bdecd185cfaee43f040c882790f7392fc08cc9eab1f5e2", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "CLIFFORD-REVIEW.json": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "RESIDUAL-ADAPTERS.json": "91b1a723dd9ce73b87c183980e7f06c05f15a7453bd4efec282cb64fca063122" + }, + "entering": 192, + "entrance": 368, + "width_digest": "ec44b5b214538eafbd921a70a1881e38212a3e101ebf7f35427b971a6447de3f", + "program_hashes": { + "backward": "b0b4402a37084bb1e696afdc3a0e3e946d359a78f198a17f8796cb1ba3261b7b", + "forward": "e17b1fc1c2949db812abc713018db60f5a7ed2a49277f31bce4b9dcad7bc18ee" + }, + "artifacts": { + "LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "RESIDUAL-ADAPTERS.json": "4aa99dccfe367c32b79be0e99b40a8e9f6bcce57db250532d091040ae147dae1" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 368, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "b0b4402a37084bb1e696afdc3a0e3e946d359a78f198a17f8796cb1ba3261b7b", + "forward": "e17b1fc1c2949db812abc713018db60f5a7ed2a49277f31bce4b9dcad7bc18ee" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "576ece8ed41adf7145607c12e07d6e461337b188340cda4272cbcf48472ef709", + "LOCAL-PROGRAMS.json.gz": "a7822ed2e402952991bce28b56b8183ff4f502f9599615b5806fc320f7e0c7a4", + "LOCAL-CHECKS.json": "32c93ab90b40b6add454199c48302c149cb35d21da7d27a801544cd45c853101", + "INDEPENDENT-LOCAL-REPLAY.json": "3a943a3c1756ff6643bdecd185cfaee43f040c882790f7392fc08cc9eab1f5e2", + "CLIFFORD-RECIPES.json": "5620aceef1d7bd7ce3a554ca2f36b8a78d1fdc150fe814a0d602e21d5fc2edae", + "CLIFFORD-REVIEW.json": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "RESIDUAL-ADAPTERS.json": "91b1a723dd9ce73b87c183980e7f06c05f15a7453bd4efec282cb64fca063122" + } + }, + "semantic_phase_sha256": "06370f9c77ac8689bba3b883a0cc0378b7222d1a07265d10a90e3f380abe4577", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "schema": "witness-spec/1", + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json new file mode 100644 index 0000000000..19c1fe32ba --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ANCESTRY.json @@ -0,0 +1 @@ +{"archive_sha256":"22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754","binding":{"ancestry":{"bit_input_sha256":"b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4","bit_result_sha256":"28795393651ef4fbbc6232eb2b32f7b39b91fbd5ea6d2315583f350714698055","complex_assembly_sha256":"41bcdbaf21cfb91f017387ec594cd474bf7c96cfd273c9c87e1e60ecdc1f2acd","complex_receipt_sha256":"040d8cfc8ce49be9b475352eac93c7bf1976ed44e8282bc9d0f13275c4d7d2c5","decimal":"0.001661202643272239","kappa":"1661202643272239/1000000000000000000","scope":"Rebuilt finite suppliers and exact composition. All-size/compiler, common-label/mutable-source, whole-call hosting, precision/tape and analytic transfer hypotheses remain conditional; not a full Lean theorem.","status":"PASS_REBUILT_PR589_PR741_COMPOSITION"},"assembly_sha256":"92a6b821af84b6a986bd2ddd4fe5282ef6cf362c832271185f748ae2bc61de2c","decimal":"0.001661634653669567","independent_sha256":"ae5029f14b47f909319fa31ac10f2f4e0200323f8f0e08ef2326f0d51968d584","kappa":"1661634653669567/1000000000000000000","package_manifest_sha256":"e1b7998c8f7cb24f8674d250d0510f2b5b351b2ed0b35f17a17e6bacf3d9824b","price_sha256":"e8cecbb4f05ca1a115512b246530278ed86558d0fae1229d09d7d9188f5f330f","scope":"Exact finite X4 scalar/frame/phase/owner/invoice/assembly checks, bound to rebuilt PR589 and SW4 ancestry. Inherited all-size/compiler, common-label/mutable-source, whole-call hosting, precision/tape and analytic assumptions remain; not a full Lean theorem.","status":"PASS_REBUILT_PR589_PR799_COMPOSITION"},"coverage":{"complex_receipt_sha256":"040d8cfc8ce49be9b475352eac93c7bf1976ed44e8282bc9d0f13275c4d7d2c5","mandatory_artifact_count":44,"ordered_stage_count":22,"scope":"Fixed coverage and receipt/STAGES agreement only. The unchanged maintainer binding must also verify every artifact and log digest. This does not authenticate execution history or fabricated logs.","source_manifest_sha256":"b9b39c206fcd2613382b0dcbda23a371e8781d1bedaf8e2f8e7df1e79dc1fa89","source_spec_sha256":"7fc2bd2e3c0ac13729c1fa1f0f327a4eb7c72373ba58e5ed3954b30e23c803be","stages_sha256":"f14b4729992999ee06029f1bae6606991927fe49fdd0c6493c602062114d02a1","status":"PASS_FIXED_PR741_STAGE_AND_ARTIFACT_COVERAGE"},"reused":true} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json new file mode 100644 index 0000000000..3a6faf62a0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/ENTRANCE-CONTROLS.json @@ -0,0 +1,49 @@ +{ + "status": "PASS_FOUR_ENTRANCE_SEMANTIC_CONTROLS", + "rejected": [ + { + "control": "restore-promoted-start-627", + "reason": "frame not monotone (627, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-627", + "reason": "frame not monotone (627, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-629", + "reason": "frame not monotone (629, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-629", + "reason": "frame not monotone (624, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-630", + "reason": "frame not monotone (630, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-630", + "reason": "frame not monotone (624, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "restore-promoted-start-631", + "reason": "frame not monotone (631, (390, 68, 34, 24, 1), (68, 34, 24, 1))" + }, + { + "control": "first-frame-too-small-631", + "reason": "frame not monotone (625, (68, 34, 24, 1), (68, 34, 24))" + }, + { + "control": "false-paid-profile", + "reason": "paid profile mismatch" + }, + { + "control": "wrong-target-coefficient", + "reason": "nonzero entrance response" + }, + { + "control": "false-helper-inventory", + "reason": "width inventory mismatch" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json new file mode 100644 index 0000000000..b6fe46c47c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/FLOW-CONTROLS.json @@ -0,0 +1 @@ +{"rejected":["boolean_bin_count","negative_bin_count","duplicate_window","duplicate_flow","out_of_window_time","invalid_width","overfull_call","reordered_wave"],"status":"PASS_FROZEN_FLOW_NEGATIVE_CONTROLS"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json new file mode 100644 index 0000000000..44c14d7c4a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/INDEPENDENT-OWNERS.json @@ -0,0 +1 @@ +{"actual_73_axis_charts":11144,"adapter_sha256":"5dcc9304d84d6f07bb818685baa9c59c609043fa4a6ef156fffc1b44ffce0b33","bridge_events":333,"calls":333,"charged_prefix_bits":1024,"checked_busy_family_windows":159840,"checked_slice_prefixes":74592,"checked_whole_helper_widths":159840,"controls_rejected":[{"name":"private_namespace_collision","reason":"private-namespace collision"},{"name":"copy_replica_alias","reason":"role invocation time"},{"name":"missing_whole_helper","reason":"complete helper role count"},{"name":"split_whole_helper","reason":"complete helper role count"},{"name":"truncated_helper_width","reason":"whole-helper residual width"},{"name":"cross_idle_boundary","reason":"strict bridge-aware idle window"},{"name":"wrong_provider_demote3","reason":"whole-helper residual width"},{"name":"wrong_provider_demote4","reason":"whole-helper residual width"}],"deficit":11840,"edits":[["2 * 512","2 * 1024"],["prefix < 512","prefix < 1024"],["charged_prefix_bits=512","charged_prefix_bits=1024"],["Counter(widths) == {4: 80, 5: 32, 7: 54, 8: 122, 9: 216}","Counter(widths) in ({4:44,5:44,7:38,8:114,9:240},{4:40,5:48,7:38,8:114,9:240})"],["width == c['widths'][helper]","width == c['widths_by_call'][call][helper]"],["Counter({rank: 9 * T * count for rank, count in c['paid'].items()})","Counter(c['paid_total'])"],["max(x['prefix_bits_upper'] for x in c['replay']['local'].values())","c['localbits']"],["local_profile=dict(sorted(c['paid'].items())), width_inventory=dict(sorted(Counter(c['widths']).items())),","local_profiles=c['local_profiles'], width_inventories=c['inventories'], provider_call_counts=c['call_counts'],"],["if context['callpos'][key] >= hi","if context['callpos'][key] >= hi and context['widths_by_call'][key][z['helper']] == z['width']"]],"expanded_replica_events":1110,"idle":{"1":2,"48":11374},"inputs":{"/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/constructed/OWNERS.json.gz":"3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote3/local/CANONICAL-WORD.json.gz":"c35ae25e495c53273a26102338c43de2ac7d3044fdead25b619c0bebc0e5cbff","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote3/local/INDEPENDENT-LOCAL-REPLAY.json":"2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote4/local/CANONICAL-WORD.json.gz":"0f4045b78efc4fd5c1cb5c840f13e5e4b0139a3683d86cced5c8a38dd972723d","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/demote4/local/INDEPENDENT-LOCAL-REPLAY.json":"3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/split-centres/CANONICAL-WORD.json.gz":"66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/split-centres/GLOBAL-TEMPLATE.json.gz":"ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b","/home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2/retained1042/slots/global/global/base/work/complex-nine-native/DATA-PHASES.json":"c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa","/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/mixed-demotions-t37/data/MIX.json":"dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea","/home/jeremydiviney/intmult/build/contribution/three-demotions-t37/research/mixed-demotions-t37/data/ORDER.json":"7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29"},"literal_windows":666,"live":33152,"local_prefix_bits":68,"local_prefix_from_native_receipt":true,"local_profile_recounted":true,"local_profiles":{"demote3":{"1":2364,"2":498,"3":412,"4":130,"5":82,"8":8},"demote4":{"1":2356,"2":506,"3":416,"4":126,"5":82,"8":8}},"namespace":{"centres":[33152,33160],"coefficient":[33640,33642],"data":[0,33152],"tableau":[33160,33640]},"orthogonal_port_bases":112,"physical":33642,"physical_row_coefficient":17495,"physical_stock_bits":2643,"prefix_bits":775,"prefix_formula":{"bridges":333,"input_l2":37,"invocations":333,"local_scalar":68,"margin":4},"profile":{"1":785550,"2":167498,"3":138028,"4":42458,"5":27306,"8":2664,"48":11374},"provider_call_counts":{"demote3":125,"demote4":208},"rank_mass":2408256,"roles":159840,"row_limit":20161,"scope":"Finite role/window/chart and inherited prefix/row obligations. Requires separately admitted local supplier and emitted controller, complete finite invoice, exact moments and outer assembly; no all-size theorem is asserted.","source_events_per_replica":30,"source_sha256":"9d8c86bf45cdaef37f223c88704055ced503ee295645611e13f3fb9059a00e55","status":"PASS_INDEPENDENT_VARIABLE_T_LITERAL_WINDOWS_CHARTS_PREFIX_ROW","width_inventories":{"demote3":{"4":44,"5":44,"7":38,"8":114,"9":240},"demote4":{"4":40,"5":48,"7":38,"8":114,"9":240}}} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json new file mode 100644 index 0000000000..e6f7d66272 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PARENT-CHECK.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_INDEPENDENT_T37_PARTIAL_BANK_ENVELOPE", + "calls": 333, + "active_helper_lanes": 167832, + "bank_families": 22680, + "maximum_auxiliary_padding_rank": 53, + "source_content_sha256": "7db047a427a7979d69e163c78a1e32bd445628fb86723e131a3138361355a9c3", + "parent_content_sha256": "b4a5f30a598f6201c3973ce7ddd059c09fa9086b353456b559ed7b6ebebaec5d", + "controls_rejected": [ + { + "name": "missing_fifth_lane", + "reason": "Lifted call inventory" + }, + { + "name": "bank_group_alias", + "reason": "Literal mapped owner route" + }, + { + "name": "missing_complement_axis", + "reason": "Exact residual complement" + }, + { + "name": "stale_complement_rank", + "reason": "Exact residual complement" + }, + { + "name": "old_idle_multiplicity", + "reason": "Data idle multiplicity" + }, + { + "name": "missing_sweep_replica", + "reason": "Lifted source-event semantics" + }, + { + "name": "private_alias", + "reason": "Private namespace translation" + }, + { + "name": "short_final_correction", + "reason": "Final correction namespace" + } + ], + "input_sha256": { + "source": "ab8448de2036a23d9b55a196a8846512dc24fdf09855c1e0f0caa5b7a6965f7b", + "parent": "378d81d3fc38ac1a8cb8d54bf748ecda355c21f4e07f34c09709f1b4d9fcfbab" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json new file mode 100644 index 0000000000..f13194611b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/PRICE.json @@ -0,0 +1 @@ +{"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","outer":[{"binding":"complex","bit_c":"1733427039589844234749/1000000000000000000000000","complex_b":"167848528779417184507/100000000000000000000000","controls_rejected":["next_grid","zero_eta","zero_beta","unit_beta"],"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","strict_constraints_passed":47},{"binding":"complex","bit_c":"1733427039589844234749/1000000000000000000000000","complex_b":"1678485287794171845071/1000000000000000000000000","controls_rejected":["next_grid","zero_eta","zero_beta","unit_beta"],"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","strict_constraints_passed":47}],"profile":{"1":785550,"2":167498,"3":138028,"4":42458,"5":27306,"8":2664,"48":11374},"provider_call_counts":{"demote3":125,"demote4":208},"root":{"lower":"0.00167848528779417184507","lower_endpoint_residual_upper":"-1.069351736589421044442949068274776347065265159260833934734968043471701E-25","moment_minus_one_at_current_k_required_rate":["-0.002869471310105852475544835587786122354087159635736343502742596161123202","-0.002869471310105852475544835587786122354087159635736343502742596161049018"],"nominal_k_ceiling_interval":["0.001675672695827067713539892157071079697339381473540608674787530242060807","0.001675672695827067713540888808533567026744306987435112296261176249809170"],"strict_rational_signs":true,"upper":"0.001678485287794171845071","upper_endpoint_residual_lower":"2.816742062601264700146598580589613332091429668572318441282191717080963E-24"},"scope":"Arithmetic for the nominated mixed profile; geometry and full invoice require separate admission. No optimality claim.","signs":{"lower":{"atanh":["-13367/125000000000000000000000000000","-21387/200000000000000000000000000000"],"mercator":["-1441483289343785538030799499761762428340655/13479973333575319897333507543509815336818572211270286240551805124608","-720741644671892769015399749880881214170327/6739986666787659948666753771754907668409286105635143120275902562304"],"point":"167848528779417184507/100000000000000000000000"},"upper":{"atanh":["1408371/500000000000000000000000000000","2816743/1000000000000000000000000000000"],"mercator":["37969607891424992524321121942360634395873535/13479973333575319897333507543509815336818572211270286240551805124608","148318780825878877048129382587346228108881/52656145834278593348959013841835216159447547700274555627155488768"],"point":"1678485287794171845071/1000000000000000000000000"}},"status":"PASS_TWO_ENGINE_MIXED_PROFILE_AND_OUTER47"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json new file mode 100644 index 0000000000..e69db49e87 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote3.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "JOINT-WORD.json.gz", + "content_sha256": "1f66640293bde6c7e1df2d4ee0004c2de2327887a98575c5d975d6a14a8b7e74", + "compressed_sha256": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.684210145031102, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json new file mode 100644 index 0000000000..93a7961813 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RAW-demote4.json @@ -0,0 +1,137 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_FORWARD_AND_DUAL_ENDPOINT_FRAMES_ENTRANCES_CONES", + "input_file": "FOUR-WORD.json.gz", + "content_sha256": "7ad38f1773ca482277e2e32eac488f0ac59c2bbb3070097739da286faaaabcf3", + "compressed_sha256": "f9d9e74ea4ce7a3d3bdac3e559f39065a8d153b7d8f2299dbf1ff90471846c60", + "parent_center_interface": { + "parent_path": "research/community-k492-audit/pr622/replay/baseline558/complex-global/base/split-centres/CANONICAL-WORD.json.gz", + "parent_file_sha256": "66d3c3c70983224650643a0a05a21ac6c6959f84d0f4528650601016f5a76844", + "transport_tau": 43, + "ordered_frame_bases_match": true, + "all_ports_match": true, + "transported_centers": [ + 92, + 57, + 81, + 224, + 11, + 240, + 9, + 256 + ], + "source_centers": [ + 92, + 57, + 81, + 11, + 9 + ], + "ordered_frame_bases": [ + [ + 256, + 128, + 64, + 34, + 16, + 10, + 4, + 1 + ], + [ + 256, + 128, + 64, + 32, + 16, + 8, + 5, + 3 + ], + [ + 256, + 128, + 64, + 32, + 17, + 9, + 4, + 2 + ], + [ + 256, + 128, + 64, + 36, + 20, + 8, + 2, + 1 + ], + [ + 256, + 128, + 66, + 32, + 18, + 8, + 4, + 1 + ], + [ + 256, + 128, + 65, + 33, + 17, + 9, + 5, + 3 + ], + [ + 256, + 128, + 65, + 33, + 16, + 8, + 4, + 2 + ], + [ + 256, + 128, + 68, + 32, + 16, + 12, + 2, + 1 + ] + ] + }, + "v": 112, + "h": 9, + "R": 480, + "entering": 192, + "lowends": 78, + "coldends": 48, + "compensation_gates": 7208, + "local_profile": { + "1": 2356, + "2": 506, + "3": 416, + "4": 126, + "5": 82, + "8": 8 + }, + "width_inventory": { + "4": 40, + "5": 48, + "7": 38, + "8": 114, + "9": 240 + }, + "checked_columns": 704, + "elapsed_seconds": 0.6569505339721218, + "scope": "Exact rational full scalar map in both orientations; all literal native frame chains, center levels, dyadic units, entrance-zero response, wrapper exclusion and final helper row/column cones. No global owner admission or exponent repricing." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json new file mode 100644 index 0000000000..4890f180c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/REPLAY-SOURCE.json @@ -0,0 +1,82 @@ +{ + "ancestry": "Fresh verify_frontier799.py run earlier in this session; complete source/log/artifact and fixed coverage rechecks during this replay.", + "command": "OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 MKL_NUM_THREADS=1 CPLUS_INCLUDE_PATH=/tmp/intmult-boost/usr/include BOOST_INCLUDE=/tmp/intmult-boost/usr/include nice -n 15 ionice -c 3 /tmp/intmult-contribution-venv/bin/python -B research/mixed-demotions-t37/verify.py --work /home/jeremydiviney/intmult/build/contribution/demotions-t37-search/package-fresh2 --ancestry799 /home/jeremydiviney/intmult/build/contribution/demotions-t37-search/baseline799-cold3", + "exit_code": 0, + "new_artifacts_and_documentation_only": true, + "receipts": { + "ANCESTRY.json": "cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109", + "ENTRANCE-CONTROLS.json": "7b101dd97c1025667fb3615930a9d6cd2ec443169d263a3bc1191b80fc712a1f", + "FLOW-CONTROLS.json": "43fe7e94bd72607d502ed947ac1463405be18728eb0b8faabd7ba63ab1d28ab4", + "INDEPENDENT-OWNERS.json": "4c295ff53f51631e1720b0dc2ea895c34861435fa92112ee52439e4569de968a", + "PARENT-CHECK.json": "2b729fd666ffe4e34a355223b57f74ba460fb171b19c84f260378dd109f0b9a0", + "PRICE.json": "a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b", + "RAW-demote3.json": "02150d4cb1b2f4763b5c5c20ce979c740cbdfc1066e021a8aa5d407de5c4b9d3", + "RAW-demote4.json": "7adf0070125b2c61e04d46c5f1cbf57af079eb733799bbfcc3fe9b0551d964b1", + "RESULT.json": "62aca8286cbb021d2535d81494f7ba7a3aec20898fd7c40a895a461bbd303ac4", + "STAGES.json": "0dce559b2a8f371f369a05ae25ca5dd6a48019b5685b0097f001a23bd849429d", + "WORD-RECIPE.json": "b6750c8123c205b63786fb825da26a819592f71736a82009809ae1cf96173a5c", + "constructed/CONSTRUCTION.json": "e8236655e3f9e061514259dbb114b7e9b77b9be7459977ec613833de1a088073", + "demote3/STEPS.json": "e3a94ed349c2298d21ed96b0ab6dc02e8b0a7f523028366803df511d7b9200c7", + "demote3/local/CLIFFORD-REVIEW.json": "2ef79c2ed574a97c109906fc41f69793e19dd010c96240bd788907bbafdc818a", + "demote3/local/INDEPENDENT-LOCAL-REPLAY.json": "2bcb926b433bfc223997efd5d7212899c850a1ddb204269589b1f3a7151d82c6", + "demote3/local/LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "demote3/local/SCALAR-FRAME-AUDIT.json": "ebc0b07acae7c8cab1c673407d462ecc357cbe829bdce99d0d8b62149739d96f", + "demote3/local/WRAPPER-CHECKS.json": "f2a005b54bea64d66633d8a82d0454348172da3b88361081a72126bf1d51744d", + "demote4/STEPS.json": "934e851f2a79314077019fbfdde9fdce6353ed9ecb468bde7ed426826993c92b", + "demote4/local/CLIFFORD-REVIEW.json": "7dbaf548ff9a515a2c3e352ecff536c619d546339eaef1b408451a3f65c3f08d", + "demote4/local/INDEPENDENT-LOCAL-REPLAY.json": "3aa0b38079d2af52e6f94cc9f128d7bbb776fccbe57aaad630a5054edb39dc48", + "demote4/local/LOCAL-CHECKS.json": "7bafc7964d527a1feb6fff01ca8018236aee7f4e9223926d612ed6ce3b72d756", + "demote4/local/SCALAR-FRAME-AUDIT.json": "487409568e9ca43922c47362ca634003fda6957bbb02ab4a2dd5c231e3b92ff0", + "demote4/local/WRAPPER-CHECKS.json": "0e281983e139a29c2a28eaed51383f14d8acbe0161eb8e437b7f7ea5dd1c11a0", + "t37/ADAPTATIONS.json": "c4ee575e66a69dedd81ffe790f60ad422a51446c7c8bff860786e6e58e11b255", + "t37/strict/ADMISSION-CONTROLS.json": "02fcaf60f2db93ed84043c66bfb49e6fb63468a40cc6eb3ef9673bf6f03f9b14", + "t37/strict/ASSEMBLY.json": "ad612be9b551469cbd776496dbde4638937a184742ae9c380b41569a56253081", + "t37/strict/BIT-CONTROLS.json": "1e14fa3a1b5ed051e1da5661a4c9c4249a089c9c510553e83574e520a23b91b7", + "t37/strict/STAGES.json": "284ed86eb0590ce33ec2020d1e2d44b225d2cbc1ab91cb5a972683bcd300e480", + "t37/strict/global/audit/ASYNC-AUDIT.json": "028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f", + "t37/strict/global/audit/OWNERS-AND-PROFILE.json": "c64cb2197f98b123a55d30a47b0c8e251873d7635a4de4c13a5e34b2e9483996", + "t37/strict/global/audit/PREFIX-AND-INVOICE.json": "512e824c274a656f4d4e1e4fdf267d9c38aa1568169716cc833d2d3816d81516" + }, + "status": "PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION", + "tested_commit": "2eac245dec27736809eb188ced1dd19d08ebc5e1", + "tested_files": { + "CLAIM.json": "b9db2fbfb004b505ad535e4763915275dc5908feaefef32e65863fa65de061ff", + "DEPENDENCY-PINS.json": "c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc", + "NOTICE.md": "c7a17a0a35dc249f8ebcc550b3791e214aa65872eab8a6458c5167dd7b948e5b", + "PROOF.md": "b2a38120ddb75e90764d0b81913d60b46cddac4d943cb731bd9c7134f1c236d1", + "README.md": "9c01efbfb9d1913ad6841baca1e1e9cdf289e9919522f6ee02d0bd849e5b8a27", + "SOURCE-PINS.json": "08eed0d6822a1c17053161929591e7ac36b9f91f8fd61190183a6d975948db85", + "audit.py": "1118d483b6abbe7036390c0a1053bcfec2038dbac273fd1bac92a68f38e6d7da", + "build_word.py": "effb72aecfff9958fe078ee89e0d37b85d601eddb19fec4520d7ee6e936edfae", + "common.py": "274274df31f8ef2a47b801d1f30ec226f94bce674fe15586d814ca754f6b7785", + "construct.py": "3dd333b50f4bd1d86956a6df4a334ed746d75d0a9e03dfadbb6724b4356e0cd6", + "controller.py": "d93ed519a0f2316b87b66f44c5ea615f0768a263dbd800815b536d8b7c86b8b7", + "controls.py": "574c55a01cfc34f5b9688cdec5646160cf22b403decee36d18b11f1b07e71f21", + "data/FLOW.json.gz": "e8e6dfa66e083ff8f3617a8441b5b2d766c3c9d9ac62ddc37d99edc24051f79e", + "data/FOUR-RECIPE.json": "384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484", + "data/FOUR-WORD.json.gz": "7d09ee1b8b9881313e5fb1f623c0961d59b0c6352a019bc9164a6cad8c58e27f", + "data/MIX.json": "dd86bbb792a5c9f0d7507d55bd2f8392c66716023934b03b24f48ca737204eea", + "data/ORDER.json": "7757df3b54ca5e84c6dba9563b10bc6215c5e289313392b5a4b493179a245c29", + "data/OWNERS.json.gz": "3a56f578b2db5647cf6cb811bc6263c7a802ae3e31e9e672596d43185e4e5c9f", + "data/PLAN.json.gz": "1f1085beb84b516b9a96ceaedc6c3de1c58941fd00b6e70f0d0c686b6546ff79", + "data/SPEC.json": "82b263990afdc5efdc1dfe38ae16d7815004dff8d70f85c28fd8286c31f688bb", + "local_controls.py": "fe3d13491fa7523eedb8d24577ffe4bbd6c36a87b4a7d1178e5795d223bed4b8", + "native.py": "1fb596fbafdb19140f483cd34db2994c571e3b962e33b8ea9b3ddc486e37def6", + "package.py": "cde0b2d66125649ee84440fc0a67f0d91f900fc838fbda069b579422289ea3be", + "prepare.py": "9fe454a5f857ff73c70a5b276bc9e289422b051a4cbbbb51123a91bb2200e6d8", + "price.py": "d45042f4c1fea352349377b43def363cf75a742546a1d5c790ad30da91791803", + "vendor/pr1148/JOINT-WORD.json.gz": "a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718", + "vendor/pr1148/NOTICE.md": "afbd38d6c8a232ea566c296424a86420f204e6cfaac565c0a147340bda3d3da6", + "vendor/pr1148/PLAN.json.gz": "e963ed64b9970858902b9388bcf1c5f9cc704859ad021ce8bda465a4dcef8310", + "vendor/pr1148/SPEC.json": "55bdb68d5d126c6be0e0acc419bd62301a978afd514f9834ed1e08b1aa4f563e", + "vendor/pr1148/k8-coordinated-owners-NOTICE.md": "442756fc1c5ecfd7b7b7694b53b1ecc70aa525004cd80f7d748ccd7270555189", + "vendor/pr1148/k8-eight-ends-NOTICE.md": "820fa13161f857c221f2c4099dd2985c7ff72249dc7a0221bc00fd0c1b9760e5", + "vendor/pr1148/k8-eight-ends-t16-NOTICE.md": "a9e85b59dde61fbff0b006923b441cbd1419e24fa9802426785bca667437fdc0", + "vendor/pr1148/k8-three-demotions-NOTICE.md": "a0fe85fb2207f0e6831a96deaeefb65afa379c1377a29f0b586f1db4bb4b2137", + "vendor/pr1152/NOTICE.md": "8e556b5407a49d9a07eb1d3de1d3c4d331fcab24d223af8f72b91048dbbac70a", + "vendor/pr1152/construct.py": "ba8303351220727e5602730fabade5b2630eff61dd9b7173a259ffc535ee88c6", + "vendor/pr1152/controls.py": "963fc23e72277fbec0e105917f9cc18595f18a806ac90d9d4a279c1fe1e76033", + "verify.py": "e5c952989344a65b7e63fa112dda4d464979814205644a8ec34e407a0d96be29" + }, + "tested_manifest_sha256": "7fa3814b679f4d74137bb49262da62926cddc0585068fef5ff36514cf591bf84" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json new file mode 100644 index 0000000000..66b084900c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/RESULT.json @@ -0,0 +1 @@ +{"ancestry_sha256":"cd880b2d1c2fb8d9050458bd13f228385c417a95e4d1985607d9f4bb60b5c109","calls":333,"complex_profile":{"1":785550,"2":167498,"3":138028,"4":42458,"48":11374,"5":27306,"8":2664},"controls":{"admission":114,"bit_supplier":12,"controller":23},"entrance_controls":11,"flow_controls":8,"independent_owner_controls":8,"kappa":"1675672695827067/1000000000000000000","kappa_decimal":"0.001675672695827067","native_providers":2,"prefix_bits":775,"price_sha256":"a1dac219b019f8d40d5b434b0e0c25b0d1f097fe5ae13eae45c76869aec4758b","roles":159840,"row_coefficient":17495,"scope":"Finite conditional construction under the retained compiler, whole-call hosting, common-label/mutable-source realization, precision/tape, analytic-transfer and bitH1-H5 hypotheses. No unconditional theorem or kappa=1 claim.","source_pins":{"dependencies":1902,"dependency_manifest_sha256":"c9330aa6a4226c804060499429cb450820d7142ab17696eb47408b04b410b5bc","manifest_sha256":"7fa3814b679f4d74137bb49262da62926cddc0585068fef5ff36514cf591bf84","retained":{"dependencies_sha256":"0160ea2677cc9ceeb0f861dc2774d470a27cbaa58b8fd6c064cf0683d18f3e87","manifest_sha256":"38907d05fddac9be6bf7a7aff47fae43114a055d2259cead5651a08f9b983820","predecessor":{"dependencies_sha256":"7c47d44e8d5c24aa80afc70724e7c0381fec57ef80d085d2ee4611726a0f1254","manifest_sha256":"663a4300ec3abe2278ac6c8e49dd13dc58694c33bfadaa278c5406539e113a31"}}},"stages":[{"exit_code":0,"log_sha256":"71f679ce5a123fb58397fd6852ba64ce3832fd20e81a096bfda9a1cf3237237a","name":"bind","seconds":0.733},{"exit_code":0,"log_sha256":"073c4977498d10a7fc4666c2822da1052cf471ee8fe7b5e70c238a3e28bc5470","name":"emit","seconds":16.986},{"exit_code":0,"log_sha256":"028d1a2486ac64cba41d03320ccdf3bcff24c62a96bbbe629d55b28c02aeba9f","name":"audit","seconds":62.14},{"exit_code":0,"log_sha256":"a106277fad6e24fcb7fe6f1d454ac4c75c5dac993caff32d21c530355eb5b118","name":"invoice","seconds":1.42},{"exit_code":0,"log_sha256":"09963e62284914b6a61aa41e03b9bf62c745b9eae12a4a78bf3de18eec366274","name":"assembly","seconds":0.228},{"exit_code":0,"log_sha256":"40f0c35552fb10f02288ae8d2c6b9f902050fb370c0a19b7b88c977d0d44dab1","name":"admission-controls","seconds":0.469},{"exit_code":0,"log_sha256":"d54d260bf95bd8ae4ab8846314082b93b2e3d8f427eb35376691f2ce543a6b67","name":"bit-controls","seconds":0.443}],"status":"PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION","steps":[{"exit_code":0,"log_sha256":"b42175653d0f799f6b9c18b399d7a5eed119a94fce113d84cec3f5c1a5f83bd1","name":"raw-demote3","seconds":0.716},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote3","seconds":102.18},{"exit_code":0,"log_sha256":"4c91cf7a4b56e69368c9a4948146e86a723e2f6bf5806213018fe16888483b8c","name":"raw-demote4","seconds":0.686},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote4","seconds":101.238},{"exit_code":0,"log_sha256":"a4ded37f2994ee242102a5ad1765673bb73be2a9d232132e4a44cd91a3d9525e","name":"entrance-controls","seconds":5.684},{"exit_code":0,"log_sha256":"ec8c339a452fecb7b455305c7faea42110cd69dcbee240e110f825178b0d23b4","name":"owners","seconds":4.093},{"exit_code":0,"log_sha256":"efc9bef89fcac5c95165ca04c186c034a774fc6bd2e1db28f481ddb4e40bea96","name":"parent","seconds":16.211}]} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json new file mode 100644 index 0000000000..7a61aea81b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/STAGES.json @@ -0,0 +1 @@ +[{"exit_code":0,"log_sha256":"b42175653d0f799f6b9c18b399d7a5eed119a94fce113d84cec3f5c1a5f83bd1","name":"raw-demote3","seconds":0.716},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote3","seconds":102.18},{"exit_code":0,"log_sha256":"4c91cf7a4b56e69368c9a4948146e86a723e2f6bf5806213018fe16888483b8c","name":"raw-demote4","seconds":0.686},{"exit_code":0,"log_sha256":"5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514","name":"native-demote4","seconds":101.238},{"exit_code":0,"log_sha256":"a4ded37f2994ee242102a5ad1765673bb73be2a9d232132e4a44cd91a3d9525e","name":"entrance-controls","seconds":5.684},{"exit_code":0,"log_sha256":"ec8c339a452fecb7b455305c7faea42110cd69dcbee240e110f825178b0d23b4","name":"owners","seconds":4.093},{"exit_code":0,"log_sha256":"efc9bef89fcac5c95165ca04c186c034a774fc6bd2e1db28f481ddb4e40bea96","name":"parent","seconds":16.211}] \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json new file mode 100644 index 0000000000..2d7a2cfe11 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/evidence/WORD-RECIPE.json @@ -0,0 +1 @@ +{"content_sha256":"7ad38f1773ca482277e2e32eac488f0ac59c2bbb3070097739da286faaaabcf3","recipe_sha256":"384b32c5b0e9b3baa1c7232db884809596d30fc55553094245f7b739b1a43484","source_sha256":"a0622d86259c4163e58cf0677ce575b6039a8ae4c95aa6d8b82a8163cbd42718","status":"PASS_FROZEN_FOUR_ENTRANCE_RECIPE"} \ No newline at end of file diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py new file mode 100644 index 0000000000..e0e5d0e8e4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/local_controls.py @@ -0,0 +1,26 @@ +"""Semantic rejection controls for the changed local interfaces.""" +import argparse,contextlib,copy,gzip,importlib.util,io,json,tempfile +from pathlib import Path +P=Path(__file__).resolve().parent;ROOT=P.parents[1] +def main(): + assert __debug__ + ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();assert not a.out.exists() + spec=importlib.util.spec_from_file_location('audit',ROOT/'research/gauge44-slots/independent/audit_local.py');A=importlib.util.module_from_spec(spec);spec.loader.exec_module(A) + word=json.loads(gzip.decompress((P/'data/FOUR-WORD.json.gz').read_bytes()));recipe=json.loads((P/'data/FOUR-RECIPE.json').read_text());rejected=[] + with tempfile.TemporaryDirectory(prefix='k8-demotion-controls-') as d: + d=Path(d) + def check(label,w): + f=d/'mutant.json.gz';f.write_bytes(gzip.compress(json.dumps(w).encode(),mtime=0)) + try: + with contextlib.redirect_stdout(io.StringIO()):A.run(f,d/'audit.json',ROOT) + except RuntimeError as e:rejected.append(dict(control=label,reason=str(e)));return + raise AssertionError('control admitted: '+label) + for h,old,new in recipe['start_extra']: + w=copy.deepcopy(word);w['start_extra'][h]=old;check('restore-promoted-start-'+h,w) + w=copy.deepcopy(word);gate=next(e for e in w['A']+w['B'] if int(h) in A.registers(e));gate[-1]=gate[-1][:-1];check('first-frame-too-small-'+h,w) + w=copy.deepcopy(word);w['report']['local_profile']['1']+=1;check('false-paid-profile',w) + w=copy.deepcopy(word);w['B'][next(i for i,e in enumerate(w['B']) if e[0]=='add' and 112<=e[1]<224)][3]+=1;check('wrong-target-coefficient',w) + w=copy.deepcopy(word);w['report']['width_inventory']['4']+=1;check('false-helper-inventory',w) + assert len(rejected)==11 + a.out.write_text(json.dumps(dict(status='PASS_FOUR_ENTRANCE_SEMANTIC_CONTROLS',rejected=rejected),indent=2)+'\n');print('PASS',len(rejected),'demotion controls') +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py new file mode 100644 index 0000000000..fb9f676e5d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/native.py @@ -0,0 +1,10 @@ +import os,sys,time,json,subprocess +from pathlib import Path +ROOT=Path(__file__).resolve().parents[2];work=Path(sys.argv[2]);work.mkdir(parents=True,exist_ok=False);raw=Path(sys.argv[1]).resolve() +src=ROOT/'research/complex-k492-owner-repair/vendor/multicold';up=ROOT/'research/complex-sw4-frame8/vendor/pr635/research/complex-571-cold14-st2/code';base=src/'vendor/pr558';par=base/'vendor/pr552';local=work/'local' +env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',MULTICOLD_SOURCE=str(src),GAIN_PR564_SOURCE=str(src),CPLUS_INCLUDE_PATH=os.environ.get('CPLUS_INCLUDE_PATH','/opt/homebrew/include'));env.pop('PYTHONOPTIMIZE',None) +steps=[] +for label,script,args in [('native',up/'hpe_audit_and_transport.py',['--raw',raw,'--routing',par/'complex-local/inputs/phase-baseline/CANONICAL-WORD.json.gz','--out',local]),('ledgers',up/'hpe_emit_local.py',[local]),('local-replay',up/'hpe_audit_local.py',[local]),('wrappers',up/'hpe_adapters_local.py',[local/'CANONICAL-WORD.json.gz',local/'RESIDUAL-ADAPTERS.json',local/'WRAPPER-CHECKS.json']),('phases',base/'code/phases_full.py',[local,par/'complex-global/vendor531/vendor/clifford'])]: + t=time.monotonic() + with (work/(label+'.log')).open('w') as f:p=subprocess.run([sys.executable,'-B',str(src/'code/run_portable.py'),str(script),*map(str,args)],stdout=f,stderr=subprocess.STDOUT,cwd=ROOT,env=env) + steps.append(dict(step=label,exit_code=p.returncode,seconds=time.monotonic()-t));(work/'STEPS.json').write_text(json.dumps(steps,indent=2)+'\n');assert p.returncode==0,(label,(work/(label+'.log')).read_text()[-4000:]);print('PASS',label,flush=True) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py new file mode 100644 index 0000000000..9e911fe811 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/package.py @@ -0,0 +1,15 @@ +"""Pin this package and the retained source closure; no network is used.""" +from pathlib import Path +from common import P,ROOT,read,sha,load + +def validate(): + manifest=read(P/'MANIFEST.json') + actual={str(p.relative_to(P)):sha(p)for p in P.rglob('*')if p.is_file() and p.name!='MANIFEST.json' and '__pycache__'not in p.parts} + assert actual==manifest,'Package manifest mismatch' + dependencies=read(P/'DEPENDENCY-PINS.json') + for rel,pin in dependencies.items(): + q=(ROOT/rel).resolve() + assert not Path(rel).is_absolute() and q.is_relative_to(ROOT.resolve()) + assert sha(q)==pin,'Changed retained source: '+rel + retained=load(ROOT/'research/complex-t37-owners/package.py','retained_package_validation').validate() + return dict(manifest_sha256=sha(P/'MANIFEST.json'),dependency_manifest_sha256=sha(P/'DEPENDENCY-PINS.json'),dependencies=len(dependencies),retained=retained) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py new file mode 100644 index 0000000000..596920d5ba --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/prepare.py @@ -0,0 +1,84 @@ +"""Reuse PR942's explicit source adapters and build the five-bank parent. + +The frozen order, owner map, and PR1148 supplier metadata are replaced. +The PR942 finite invoice still charges its 1024-bit prefix reserve. +""" +import copy,os,shutil +from common import P,ROOT,read,dump,load,sha,identity + +def prepare(work,baseline,providers): + t37=ROOT/'research/complex-t37-owners' + t21=ROOT/'research/complex-t21-owners' + os.environ.update(T37_WORK=str(work),T37_BASELINE=str(baseline)) + old=load(t37/'prepare.py','retained_t37_preparation') + runtime=work/'runtime';adapted=work/'adapted';adapted.mkdir() + load(t21/'source_adapters.py','retained_t21_adapters').materialize(runtime) + (runtime/'ADAPTERS.json').rename(runtime/'T21-INTERMEDIATE-ADAPTERS.json') + receipts={} + for name,record in old.expected_adaptations().items(): + target=runtime/'code'/name.split('/',1)[1]if name.startswith('runtime/')else adapted/name + text=record['text'];extra=[] + if name=='runtime/assemble.py': + for before,after in [ + ('the gauge44-barch U8 local word and all 72 cold helper ends','the mixed joint-entrance three- and four-demotion k8 local words'), + ('explicit all333 whole-owner dispatch with a T21 plus T16 eight-role trade','explicit 333-call wave dispatch with frozen integer pattern flows'), + ('This is a new T37 composition of the PR870 U8 and PR589 suppliers.','This is a new T37 composition of the mixed joint-entrance three- and four-demotion k8 and PR589 suppliers.')]: + assert text.count(before)==1,(before,text.count(before));text=text.replace(before,after);extra.append([before,after,1]) + if name=='runtime/freeze_spec.py': + for before,after in [("spec['expected']['assembly_controls_rejected'] = 69","spec['expected']['assembly_controls_rejected'] = 114"), + ("spec['expected']['provider_counts'] = {'gauge44':333}","spec['expected']['provider_counts'] = dict(__import__('collections').Counter(pid for s,r,pid in spec['dispatch']))"), + ("spec['expected']['mutations_rejected'] = 15","spec['expected']['mutations_rejected'] = 23")]: + assert text.count(before)==1 + text=text.replace(before,after);extra.append([before,after,1]) + target.write_text(text,encoding='utf-8',newline='\n') + receipts[name]=dict(source_sha256=sha(record['source']),generated_sha256=sha(target),edits=record.get('edits',[]),description_edits=extra) + dump(work/'ADAPTATIONS.json',receipts) + source=read(baseline/'global/base/split-centres/GLOBAL-TEMPLATE.json.gz') + builder=load(adapted/'build_parent.py','retained_t37_parent_lift');parent=builder.lift(source) + plan=read(P/'vendor/pr1148/PLAN.json.gz');order=read(P/'data/ORDER.json');owners=read(P/'data/OWNERS.json.gz') + windows_mod=load(t21/'vendor/pr870/t16/build_parent.py','retained_physical_windows') + windows,schedule=windows_mod.actual_windows(parent,order) + mix=read(P/'data/MIX.json') + assert [[s,r]for pid,s,r in mix]==order + identities=load(ROOT/'research/complex-t21-owners/vendor/pr870/code/generated_identity.py','mixed_artifact_identities') + plan['provider_registry']={};plan['provider_calls']=[];plan['per_call_widths']=[] + for pid,directory in sorted(providers.items()): + word=read(directory/'CANONICAL-WORD.json.gz');checks=read(directory/'LOCAL-CHECKS.json') + widths=[len(word['frames'][word['final'][h]])-len(word['frames'][word['start'][h]])for h in range(224,704)] + plan['provider_registry'][pid]=dict(directory='providers/'+pid,artifact_sha256={n:sha(directory/n)for n in identities.FILES}, + ports=word['ports'],centers=word['centers'],widths=widths,actual_paid_profile=word['local_profile'], + orientation_program_sha256={o:checks[o]['sha256']for o in ('forward','backward')},artifact_semantic_sha256=identities.artifact_identities(directory)) + for time,(pid,stage,replica)in enumerate(mix): + desc=plan['provider_registry'][pid];orientation='forward'if stage%2==0 else'backward' + plan['provider_calls'].append(dict(time=time,stage=stage,replica=replica,provider=pid,orientation=orientation,local_program_sha256=desc['orientation_program_sha256'][orientation])) + plan['per_call_widths'].append(dict(stage=stage,replica=replica,widths=desc['widths'])) + claim=read(P/'CLAIM.json') + plan.update(T=37,live=33152,deficit=11840,order=order,windows=windows,profile=claim['complex_profile'], + status='FROZEN_T37_MIXED_DEMOTIONS_WHOLE_OWNER_NOMINATION',mode='gauge44-three-demotions-t37-wave', + solver_status='Frozen integer pattern flow, reconstructed by regular bipartite matching; no optimizer runs', + assignment_sha256=sha(P/'data/OWNERS.json.gz'),assignment_content_sha256=identity(owners), + replica_lift=dict(groups=[8,8,8,8,5],source_replicas=8,replicas=37,parent_template_content_sha256=identity(parent), + owners_file_sha256=sha(P/'data/OWNERS.json.gz'),schedule_content_sha256=identity(schedule),window_semantics='Strict physical source-event intervals, including bridges')) + assert len(owners)==159840 and sum(int(r)*n for r,n in plan['profile'].items())==73*33152-11840 + for z in owners: + assert order[z['time']]==[z['stage'],z['replica']] + assert z['time']in windows[f"{z['owner_replica']},{z['child']}"][1] + frozen=read(P/'data/PLAN.json.gz') + for pid,desc in plan['provider_registry'].items(): + # Regenerated compression and timing are rebound by the unchanged + # native binder. All proof-relevant semantic identities must agree. + assert desc['artifact_semantic_sha256']==frozen['provider_registry'][pid]['artifact_semantic_sha256'] + desc['artifact_sha256']=frozen['provider_registry'][pid]['artifact_sha256'] + assert plan==frozen,'Derived geometry/dispatch/provider plan differs from frozen nomination' + lift=work/'lift';lift.mkdir();dump(lift/'GLOBAL-TEMPLATE.json.gz',parent);dump(lift/'PLAN.json',plan) + parentdir=work/'parent';shutil.copytree(baseline/'parent558',parentdir) + shutil.copyfile(lift/'GLOBAL-TEMPLATE.json.gz',parentdir/'complex-global/base/split-centres/GLOBAL-TEMPLATE.json.gz') + (runtime/'data').mkdir(exist_ok=True) + spec=read(P/'data/SPEC.json') + assert spec['call_order']==order and spec['dispatch']==[[s,r,pid]for pid,s,r in mix] + assert spec['data']=={'owners_sha256':sha(P/'data/OWNERS.json.gz'),'plan_sha256':sha(lift/'PLAN.json')} + pivot=ROOT/'research/gauge44-slots/construction/leaver/PIVOT-SWAP-k8.json' + assert sha(pivot)==spec['pivot_swap']['sha256'] + spec['pivot_swap']['recipe']=str(pivot.resolve()) + dump(runtime/'data/SPEC.json',spec) + return plan diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py new file mode 100644 index 0000000000..0903bea57b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/price.py @@ -0,0 +1,32 @@ +"""Independently recount the dispatch-weighted profile and certify its price.""" +from collections import Counter +from fractions import Fraction as Q +from common import P,ROOT,read,dump,load,sha + +def price(providers,out): + d=ROOT/'research/complex-k492-owner-repair/vendor/multicold/engines' + M=load(d/'moment.py','mixed_mercator');B=load(d/'base_two_moment.py','mixed_atanh') + A=load(d/'outer.py','mixed_outer') + O=load(ROOT/'research/complex-t21-owners/vendor/pr870/independent/price_profile_t16.py','mixed_outer_driver') + mix=read(P/'data/MIX.json');claim=read(P/'CLAIM.json');profile=Counter() + counts=Counter(pid for pid,s,r in mix) + assert counts==claim['provider_calls']=={'demote3':125,'demote4':208} + for pid,count in counts.items(): + word=read(providers[pid]/'CANONICAL-WORD.json.gz') + profile.update({int(r):count*n for r,n in word['local_profile'].items()}) + profile.update({int(r):n for r,n in claim['idle'].items()}) + assert {str(r):n for r,n in profile.items()}==claim['complex_profile'] + assert 73*33152-sum(r*n for r,n in profile.items())==11840 + root=M.certify(profile,73,33152);lo,hi=Q(root['lower']),Q(root['upper']) + assert lo==Q(claim['complex_lower']) + signs={} + for name,z in [('lower',lo),('upper',hi)]: + first=M.moment(profile,73,33152,z);second=B.moment(73,33152,list(profile.items()),z) + assert(first[1]<1 and second[1]<1)if name=='lower'else(first[0]>1 and second[0]>1) + signs[name]={'point':str(z),'mercator':[str(v-1)for v in first],'atanh':[str(v-1)for v in second]} + outer=[O.outer47(Q(claim['bit_lower']),z,A)for z in (lo,hi)] + assert outer[0]['kappa']==outer[1]['kappa']==claim['kappa'] + result=dict(status='PASS_TWO_ENGINE_MIXED_PROFILE_AND_OUTER47',kappa=claim['kappa'],kappa_decimal=claim['kappa_decimal'], + root=root,signs=signs,outer=outer,profile=dict(sorted(profile.items())),provider_call_counts=dict(counts), + scope='Arithmetic for the nominated mixed profile; geometry and full invoice require separate admission. No optimality claim.') + dump(out,result);return result diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz new file mode 100644 index 0000000000..3dab3a16bb Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/JOINT-WORD.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md new file mode 100644 index 0000000000..af0170afc2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/NOTICE.md @@ -0,0 +1,8 @@ +Apache-2.0. Prepared for Thomas DiFiore with substantial OpenAI Codex assistance. + +* The preceding `k8-coordinated-owners`, `k8-eight-ends`, `k8-eight-ends-t16`, and `k8-three-demotions` packages supply the frozen constructions, owner slots, drivers, searches, and all retained source notices. +* PR1111 by seslly / shipstuff, commit `381831ea554ea983e16224dabed8921b7d0ffdbc`, introduced the group-635 entrance-demotion lead. Its public PR description was consulted; no code or payload from that PR is consumed. The group-635 idea is not original to this package. This package composes it with two other groups, the eight-endpoint word, a joint frame refit, and its preceding T16 assignment. Credit also PR664's promotion mechanism and descendants. +* The frame model derives from PR864 (navinor / Claude), as adapted and pinned in `../k8-eight-ends`. The new joint searches treat entrance labels as variables in the same frame graph and retain the scalar/cone constraints. Floating solver output is nomination data only. +* Retain PR1018 and Rohan Arun's PR987 scalar-word lineage, PR1030's endpoint lead, Hao Yan / FanPUYen's PR858 T16 controller and independent checker, PR870/1074 admission work, PR942 by jon314159 and chafreaky's PR795/890 signed prices, and PR589's bit supplier. Their full dependency notices and source hashes remain in the preceding packages. +* All global admission engines are unchanged. The exact bound adapts the preceding signed-dual proof with the new pinned local profile, using the same two rational arithmetic engines. +* No claim of unconditional theorem certification, full Lean proof, or exact optimality of the floating discovery searches is made. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz new file mode 100644 index 0000000000..c7d39df72e Binary files /dev/null and b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/PLAN.json.gz differ diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json new file mode 100644 index 0000000000..9aeea5c043 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/SPEC.json @@ -0,0 +1,1971 @@ +{ + "schema": "witness-spec/1", + "name": "k8-joint-entrances", + "data": { + "plan_sha256": "a986515b256f35c1d8d675998fc8d35182c9340bd7149d166337d1b3ebba4de4", + "owners_sha256": "7755af4108f066cf1eb13dbaac0a0fbb97a2852ffa7403588d2b5218c81101bf" + }, + "dispatch": [ + [ + 0, + 0, + "gauge44" + ], + [ + 0, + 8, + "gauge44" + ], + [ + 0, + 1, + "gauge44" + ], + [ + 0, + 9, + "gauge44" + ], + [ + 1, + 0, + "gauge44" + ], + [ + 1, + 8, + "gauge44" + ], + [ + 0, + 2, + "gauge44" + ], + [ + 0, + 10, + "gauge44" + ], + [ + 1, + 1, + "gauge44" + ], + [ + 1, + 9, + "gauge44" + ], + [ + 2, + 0, + "gauge44" + ], + [ + 2, + 8, + "gauge44" + ], + [ + 0, + 3, + "gauge44" + ], + [ + 0, + 11, + "gauge44" + ], + [ + 1, + 2, + "gauge44" + ], + [ + 1, + 10, + "gauge44" + ], + [ + 2, + 1, + "gauge44" + ], + [ + 2, + 9, + "gauge44" + ], + [ + 3, + 0, + "gauge44" + ], + [ + 3, + 8, + "gauge44" + ], + [ + 0, + 4, + "gauge44" + ], + [ + 0, + 12, + "gauge44" + ], + [ + 1, + 3, + "gauge44" + ], + [ + 1, + 11, + "gauge44" + ], + [ + 2, + 2, + "gauge44" + ], + [ + 2, + 10, + "gauge44" + ], + [ + 3, + 1, + "gauge44" + ], + [ + 3, + 9, + "gauge44" + ], + [ + 4, + 0, + "gauge44" + ], + [ + 4, + 8, + "gauge44" + ], + [ + 0, + 5, + "gauge44" + ], + [ + 0, + 13, + "gauge44" + ], + [ + 1, + 4, + "gauge44" + ], + [ + 1, + 12, + "gauge44" + ], + [ + 2, + 3, + "gauge44" + ], + [ + 2, + 11, + "gauge44" + ], + [ + 3, + 2, + "gauge44" + ], + [ + 3, + 10, + "gauge44" + ], + [ + 4, + 1, + "gauge44" + ], + [ + 4, + 9, + "gauge44" + ], + [ + 5, + 0, + "gauge44" + ], + [ + 5, + 8, + "gauge44" + ], + [ + 0, + 6, + "gauge44" + ], + [ + 0, + 14, + "gauge44" + ], + [ + 1, + 5, + "gauge44" + ], + [ + 1, + 13, + "gauge44" + ], + [ + 2, + 4, + "gauge44" + ], + [ + 2, + 12, + "gauge44" + ], + [ + 3, + 3, + "gauge44" + ], + [ + 3, + 11, + "gauge44" + ], + [ + 4, + 2, + "gauge44" + ], + [ + 4, + 10, + "gauge44" + ], + [ + 5, + 1, + "gauge44" + ], + [ + 5, + 9, + "gauge44" + ], + [ + 0, + 7, + "gauge44" + ], + [ + 0, + 15, + "gauge44" + ], + [ + 6, + 0, + "gauge44" + ], + [ + 6, + 8, + "gauge44" + ], + [ + 1, + 6, + "gauge44" + ], + [ + 1, + 14, + "gauge44" + ], + [ + 2, + 5, + "gauge44" + ], + [ + 2, + 13, + "gauge44" + ], + [ + 3, + 4, + "gauge44" + ], + [ + 3, + 12, + "gauge44" + ], + [ + 4, + 3, + "gauge44" + ], + [ + 4, + 11, + "gauge44" + ], + [ + 5, + 2, + "gauge44" + ], + [ + 5, + 10, + "gauge44" + ], + [ + 6, + 1, + "gauge44" + ], + [ + 6, + 9, + "gauge44" + ], + [ + 1, + 7, + "gauge44" + ], + [ + 1, + 15, + "gauge44" + ], + [ + 7, + 0, + "gauge44" + ], + [ + 7, + 8, + "gauge44" + ], + [ + 2, + 6, + "gauge44" + ], + [ + 2, + 14, + "gauge44" + ], + [ + 3, + 5, + "gauge44" + ], + [ + 3, + 13, + "gauge44" + ], + [ + 4, + 4, + "gauge44" + ], + [ + 4, + 12, + "gauge44" + ], + [ + 5, + 3, + "gauge44" + ], + [ + 5, + 11, + "gauge44" + ], + [ + 6, + 2, + "gauge44" + ], + [ + 6, + 10, + "gauge44" + ], + [ + 7, + 1, + "gauge44" + ], + [ + 7, + 9, + "gauge44" + ], + [ + 2, + 7, + "gauge44" + ], + [ + 2, + 15, + "gauge44" + ], + [ + 8, + 0, + "gauge44" + ], + [ + 8, + 8, + "gauge44" + ], + [ + 3, + 6, + "gauge44" + ], + [ + 3, + 14, + "gauge44" + ], + [ + 4, + 5, + "gauge44" + ], + [ + 4, + 13, + "gauge44" + ], + [ + 5, + 4, + "gauge44" + ], + [ + 5, + 12, + "gauge44" + ], + [ + 6, + 3, + "gauge44" + ], + [ + 6, + 11, + "gauge44" + ], + [ + 7, + 2, + "gauge44" + ], + [ + 7, + 10, + "gauge44" + ], + [ + 8, + 1, + "gauge44" + ], + [ + 8, + 9, + "gauge44" + ], + [ + 3, + 7, + "gauge44" + ], + [ + 3, + 15, + "gauge44" + ], + [ + 4, + 6, + "gauge44" + ], + [ + 4, + 14, + "gauge44" + ], + [ + 5, + 5, + "gauge44" + ], + [ + 5, + 13, + "gauge44" + ], + [ + 6, + 4, + "gauge44" + ], + [ + 6, + 12, + "gauge44" + ], + [ + 7, + 3, + "gauge44" + ], + [ + 7, + 11, + "gauge44" + ], + [ + 8, + 2, + "gauge44" + ], + [ + 8, + 10, + "gauge44" + ], + [ + 4, + 7, + "gauge44" + ], + [ + 4, + 15, + "gauge44" + ], + [ + 5, + 6, + "gauge44" + ], + [ + 5, + 14, + "gauge44" + ], + [ + 6, + 5, + "gauge44" + ], + [ + 6, + 13, + "gauge44" + ], + [ + 7, + 4, + "gauge44" + ], + [ + 7, + 12, + "gauge44" + ], + [ + 8, + 3, + "gauge44" + ], + [ + 8, + 11, + "gauge44" + ], + [ + 5, + 7, + "gauge44" + ], + [ + 5, + 15, + "gauge44" + ], + [ + 6, + 6, + "gauge44" + ], + [ + 6, + 14, + "gauge44" + ], + [ + 7, + 5, + "gauge44" + ], + [ + 7, + 13, + "gauge44" + ], + [ + 8, + 4, + "gauge44" + ], + [ + 8, + 12, + "gauge44" + ], + [ + 6, + 7, + "gauge44" + ], + [ + 6, + 15, + "gauge44" + ], + [ + 7, + 6, + "gauge44" + ], + [ + 7, + 14, + "gauge44" + ], + [ + 8, + 5, + "gauge44" + ], + [ + 8, + 13, + "gauge44" + ], + [ + 7, + 7, + "gauge44" + ], + [ + 7, + 15, + "gauge44" + ], + [ + 8, + 6, + "gauge44" + ], + [ + 8, + 14, + "gauge44" + ], + [ + 8, + 7, + "gauge44" + ], + [ + 8, + 15, + "gauge44" + ] + ], + "call_order": [ + [ + 0, + 0 + ], + [ + 0, + 8 + ], + [ + 0, + 1 + ], + [ + 0, + 9 + ], + [ + 1, + 0 + ], + [ + 1, + 8 + ], + [ + 0, + 2 + ], + [ + 0, + 10 + ], + [ + 1, + 1 + ], + [ + 1, + 9 + ], + [ + 2, + 0 + ], + [ + 2, + 8 + ], + [ + 0, + 3 + ], + [ + 0, + 11 + ], + [ + 1, + 2 + ], + [ + 1, + 10 + ], + [ + 2, + 1 + ], + [ + 2, + 9 + ], + [ + 3, + 0 + ], + [ + 3, + 8 + ], + [ + 0, + 4 + ], + [ + 0, + 12 + ], + [ + 1, + 3 + ], + [ + 1, + 11 + ], + [ + 2, + 2 + ], + [ + 2, + 10 + ], + [ + 3, + 1 + ], + [ + 3, + 9 + ], + [ + 4, + 0 + ], + [ + 4, + 8 + ], + [ + 0, + 5 + ], + [ + 0, + 13 + ], + [ + 1, + 4 + ], + [ + 1, + 12 + ], + [ + 2, + 3 + ], + [ + 2, + 11 + ], + [ + 3, + 2 + ], + [ + 3, + 10 + ], + [ + 4, + 1 + ], + [ + 4, + 9 + ], + [ + 5, + 0 + ], + [ + 5, + 8 + ], + [ + 0, + 6 + ], + [ + 0, + 14 + ], + [ + 1, + 5 + ], + [ + 1, + 13 + ], + [ + 2, + 4 + ], + [ + 2, + 12 + ], + [ + 3, + 3 + ], + [ + 3, + 11 + ], + [ + 4, + 2 + ], + [ + 4, + 10 + ], + [ + 5, + 1 + ], + [ + 5, + 9 + ], + [ + 0, + 7 + ], + [ + 0, + 15 + ], + [ + 6, + 0 + ], + [ + 6, + 8 + ], + [ + 1, + 6 + ], + [ + 1, + 14 + ], + [ + 2, + 5 + ], + [ + 2, + 13 + ], + [ + 3, + 4 + ], + [ + 3, + 12 + ], + [ + 4, + 3 + ], + [ + 4, + 11 + ], + [ + 5, + 2 + ], + [ + 5, + 10 + ], + [ + 6, + 1 + ], + [ + 6, + 9 + ], + [ + 1, + 7 + ], + [ + 1, + 15 + ], + [ + 7, + 0 + ], + [ + 7, + 8 + ], + [ + 2, + 6 + ], + [ + 2, + 14 + ], + [ + 3, + 5 + ], + [ + 3, + 13 + ], + [ + 4, + 4 + ], + [ + 4, + 12 + ], + [ + 5, + 3 + ], + [ + 5, + 11 + ], + [ + 6, + 2 + ], + [ + 6, + 10 + ], + [ + 7, + 1 + ], + [ + 7, + 9 + ], + [ + 2, + 7 + ], + [ + 2, + 15 + ], + [ + 8, + 0 + ], + [ + 8, + 8 + ], + [ + 3, + 6 + ], + [ + 3, + 14 + ], + [ + 4, + 5 + ], + [ + 4, + 13 + ], + [ + 5, + 4 + ], + [ + 5, + 12 + ], + [ + 6, + 3 + ], + [ + 6, + 11 + ], + [ + 7, + 2 + ], + [ + 7, + 10 + ], + [ + 8, + 1 + ], + [ + 8, + 9 + ], + [ + 3, + 7 + ], + [ + 3, + 15 + ], + [ + 4, + 6 + ], + [ + 4, + 14 + ], + [ + 5, + 5 + ], + [ + 5, + 13 + ], + [ + 6, + 4 + ], + [ + 6, + 12 + ], + [ + 7, + 3 + ], + [ + 7, + 11 + ], + [ + 8, + 2 + ], + [ + 8, + 10 + ], + [ + 4, + 7 + ], + [ + 4, + 15 + ], + [ + 5, + 6 + ], + [ + 5, + 14 + ], + [ + 6, + 5 + ], + [ + 6, + 13 + ], + [ + 7, + 4 + ], + [ + 7, + 12 + ], + [ + 8, + 3 + ], + [ + 8, + 11 + ], + [ + 5, + 7 + ], + [ + 5, + 15 + ], + [ + 6, + 6 + ], + [ + 6, + 14 + ], + [ + 7, + 5 + ], + [ + 7, + 13 + ], + [ + 8, + 4 + ], + [ + 8, + 12 + ], + [ + 6, + 7 + ], + [ + 6, + 15 + ], + [ + 7, + 6 + ], + [ + 7, + 14 + ], + [ + 8, + 5 + ], + [ + 8, + 13 + ], + [ + 7, + 7 + ], + [ + 7, + 15 + ], + [ + 8, + 6 + ], + [ + 8, + 14 + ], + [ + 8, + 7 + ], + [ + 8, + 15 + ] + ], + "width_spot_helpers": [ + 258, + 270, + 282, + 294 + ], + "providers": { + "gauge44": { + "inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "native_negative_controls": 25, + "phase_edges": 2900, + "expected_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "artifact_semantic_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + }, + "entering": 192, + "entrance": 372, + "width_digest": "3e2624964db4f881ad1404d94ec595b3d1baba07bef90cf9037d802cc6299d11", + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "artifacts": { + "LOCAL-CHECKS.json": "654ca95a7f9af260d088f29c1791686f54f66cbbe735b9ea2fd5114b377727aa", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "RESIDUAL-ADAPTERS.json": "c099207d60ab49392bcadcaf7e9cbcfe01178e732f14e2591a8c3463162460d7" + }, + "complete_contract": { + "local": { + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "prefix_bits": 68, + "coefficient_work_primitive_count": 98365, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "prefix_bits": 52, + "coefficient_work_primitive_count": 98333, + "all_exact_columns": 704, + "dirty_helper_columns": 480, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 240, + "post_wrappers": 240, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 480, + "centres": 8, + "v": 112, + "h": 9, + "n": 704, + "entering_helpers": 192, + "entrance_rank": 372, + "terminal_codimension": 214, + "hyperplane_ended_helpers": 78, + "cold_hyperplane_ended_helpers": 48, + "width_inventory": { + "4": 44, + "5": 44, + "7": 38, + "8": 114, + "9": 240 + }, + "widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 8, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 4, + 9, + 4, + 9, + 4, + 9, + 9, + 9, + 9, + 4, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 7, + 7, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 7, + 7, + 8, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 7, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 7, + 7, + 9, + 8, + 9, + 8, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 8, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 7, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 4, + 8, + 4, + 4, + 4, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "local_adapters": 387056, + "local_primitive_bound": 10038040553630, + "compiler": 25934336, + "children": 3494, + "paid_profile": { + "1": 2364, + "2": 498, + "3": 412, + "4": 130, + "5": 82, + "8": 8 + }, + "program_hashes": { + "backward": "4e289cbf4c3a069540aae0134b932dde2be4aee5e7f7e19206d9a923055eea9f", + "forward": "9cfd73e7007cdb03915d31b8d52381716928e0254922e67713ad7bcab138a66e" + }, + "semantic_artifact_sha256": { + "CANONICAL-WORD.json.gz": "9885ff29b54f8d2de67d58d68e40a48b7897530d565f932fe63534caa3b405c9", + "LOCAL-PROGRAMS.json.gz": "1c81387e144fe92eadc6296d44d3fd80e6f9573e0269cadaf591f75de0661eed", + "LOCAL-CHECKS.json": "36c5685b24037dcf3767fc7d8d48c308da50f754fc50a05d760e399dd275b045", + "INDEPENDENT-LOCAL-REPLAY.json": "4ffe4b6ea3a1e027ef67a519e92253286d5cb794155eea1d1bef940521521a5f", + "CLIFFORD-RECIPES.json": "c58d2bd3492a031820aec434661c9297fa41d810ad661c651f139e9b592c6a4a", + "CLIFFORD-REVIEW.json": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "RESIDUAL-ADAPTERS.json": "d77ab0c3689e5c10f7129487a85d1497dd721e31138372b4a35913691fe5bc69" + } + }, + "semantic_phase_sha256": "3ca5c207027b17a305206541c9792b73cd6e4c92dbb7ada0cb765882af9f4f9e", + "expected_local": { + "forward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198766, + "prefix_l1": "2765345294379392599/1024", + "coefficient_work_primitive_count": 98333 + }, + "backward": { + "events": 24767, + "macros": 19693, + "real_component_primitives": 198814, + "prefix_l1": "14824960514781440791821/64", + "coefficient_work_primitive_count": 98365 + } + }, + "wrappers": 240 + } + }, + "expected": { + "gain_baseline_kappa": "0.001674622497877364", + "hosted_residuals": 69120, + "rank_mass": 1041408, + "actual_73column_sigmas": 10580, + "cross_replica_helper_roles": 59636, + "idle_remainders": 5279, + "idle_remainder_profile": { + "1": 360, + "24": 1, + "48": 4918 + }, + "global_profile": { + "1": 340776, + "2": 71712, + "3": 59328, + "4": 18720, + "5": 11808, + "8": 1152, + "24": 1, + "48": 4918 + }, + "live": 14336, + "physical": 14826, + "conservative_kappa_decimal": "0.001675560944680149", + "kappa_decimal": "0.001675560947524449", + "complex_lower": "41959329101337756331/25000000000000000000000", + "conservative_complex_lower": "1678373161199654598379/1000000000000000000000000", + "kappa": "1675560947524449/1000000000000000000", + "assembly_controls_rejected": 69, + "provider_counts": { + "gauge44": 144 + }, + "mutations_rejected": 15 + }, + "pivot_swap": { + "recipe": "construction/leaver/PIVOT-SWAP-k8.json", + "sha256": "3ef7acf0cf67442a532f25b53d5fbeda76d3a84524118df8e003ca69b5cac0bb" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md new file mode 100644 index 0000000000..281e6404ca --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-coordinated-owners-NOTICE.md @@ -0,0 +1,41 @@ +# Attribution and scope + +Prepared for Thomas DiFiore with OpenAI Codex assistance, October 13, 2026. +Licensed under the repository's Apache-2.0 license. + +This contribution changes the whole-helper ownership map for the circuit from +Jeremy Kothe's PR1018 (`eac7547cb191f875d5f5ea5f9bbb1d2b8c51c4ef`). The +eight no-helper mutable-source cells, R480 circuit, frame optimization and +construction controls come from Jeremy Kothe and the credited contributors to +PR1005. The seven additional triangle slots come from PR1018 using Rohan Arun's +PR987 search and NewBArch's PR869 builder. None of those circuit improvements +are claimed as new here. + +The starting ownership map is G44Pack3's K8c8, descended from chafreaky's PR685 +and PR741 maps through G44Pack's relabeling and width changes. This package adds +coordinated complete-call reassignment by grouped integer packing, with +explicitly serialized owners and an unchanged independent admission verifier. + +The separate all-replica upper bound adapts jon314159's PR942 arithmetic +implementation and proof, using chafreaky's PR795/890 signed-dual prices. Its +new contribution is the application to PR1018's changed local profile and +helper inventory. The two rational numerical engines retain their upstream +authorship. `independent/UPSTREAM.json` records the source file and hash. + +All construction, controller, spectator, native phase, finite invoice, exact +moment and outer-transfer implementations retain their upstream authorship +and notices. The runtime copies PR1018's verifier files byte for byte. It +changes the owner nomination, its derived PLAN fields, and expected-value SPEC. +The original packages remain unchanged. + +The bit supplier is the unchanged PR589/PR555 punctured-star construction; +this run reprices its pinned profile and reruns its admission controls. It does +not rebuild the bit circuit. Earlier complex ancestry is inherited through the +pinned PR741 initial word and PR622/PR558 reviewed parent artifacts. The run +freshly rebuilds the k8 leaver circuit, all later layers, and the seven slots. + +This is a conditional finite construction, not an unconditional integer +multiplication theorem. All-size compilation, common-label and mutable-source +realization, whole-call hosting, precision/tape, analytic transfer and bit H1–H5 +assumptions remain. No independent human peer review is claimed. Optimizer +outputs and floating relaxations are discovery evidence, not admission proofs. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md new file mode 100644 index 0000000000..a756f9da58 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-NOTICE.md @@ -0,0 +1,9 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +This package composes earlier community constructions and retains their mathematical assumptions. It claims the displayed finite composition and its checks, not original authorship of E8, the mutable-source k8 circuit, the endpoint technique, or the admission machinery. + +* CrocSwap/integer-mult-bounds PR1018 (`research/gauge44-slots`) supplies the R480 k8 + seven-slot circuit, all native scalar/phase checkers, and strict global admission. +* PR1030, commit d71857cd0ae7824e935aac17327e4ec27f66322b, supplies the rank-seven endpoint-pair lead. Its U8 helpers 588/589 correspond to k8 helpers 574/575. The new composition also uses 572/573, 580/581, and 582/583, with all four reductions refitted together. +* `discovery/frame_model.py` adapts the complete frame model from PR864 (navinor / Claude), retained in the earlier local research run. The adaptation permits a new initial frame assignment after changing the scalar graph or endpoint constraints. It is nomination code; unchanged independent native checks decide admission. +* `research/k8-coordinated-owners` supplies the initial whole-owner map and coordinated complete-call search. Earlier owner machinery and dual prices originate with chafreaky, G44Pack, and jon314159; see that package's NOTICE.md. +* All analytic, compiler, boundary, common-label, hosting, and bit-supplier assumptions remain those of the upstream source chain. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md new file mode 100644 index 0000000000..d0359f2e08 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-eight-ends-t16-NOTICE.md @@ -0,0 +1,9 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +This package composes community work. It claims the new finite owner assignment, the documented pattern-pricing search, and the inventory-specific ceiling certificate, not original authorship of E8, the k8 word, the sixteen-replica controller, or the admission machinery. + +* `../k8-eight-ends` supplies the unchanged endpoint word, local verification, and initial T8 owners. Its NOTICE.md credits PR1018's R480 k8 + seven-slot supplier, PR1030's rank-seven endpoint lead, PR864's frame model, and earlier owner research. +* CrocSwap/integer-mult-bounds PR1074, commit `052afc128954f7b6a2b3c409eb4d72248e4020f2`, supplies the consumed controller and strict admission sources. Every file under `vendor/pr1074` is byte-identical to that upstream commit and pinned in `UPSTREAM.json`. The original `UPSTREAM-NOTICE.md` is retained there. PR1074's owner research was contributed by jeremykothe2 with Claude Opus 5.5. +* The T16 controller, direct-sum parent, actual-window reconstruction, and independent checker originate in Hao Yan / FanPUYen's PR858, with subsequent PR870 and PR1074 adaptations. This package does not modify their checks. +* `independent/all_t_bound.py` adapts `../k8-coordinated-owners/independent/all_t_bound.py`, itself adapted from jon314159's PR942 certificate and chafreaky's PR795/890 signed dual prices. The two rational arithmetic engines are retained upstream code. +* The bit supplier remains the cited PR589 supplier. All analytic, compiler, boundary, common-label, hosting, and bit-supplier assumptions remain in force. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md new file mode 100644 index 0000000000..9f759cfade --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/vendor/pr1148/k8-three-demotions-NOTICE.md @@ -0,0 +1,7 @@ +Apache-2.0. Prepared for Thomas DiFiore with OpenAI Codex assistance. + +* `../k8-eight-ends` and `../k8-eight-ends-t16` supply the unchanged scalar word, endpoint construction, initial owner map, and pinned T16 controller. Their notices retain the PR1018, PR1030, PR864, PR858, PR870, PR1074, and earlier E8, k8, frame, owner, and bit-supplier credits. +* PR1111 by seslly / shipstuff, commit `381831ea554ea983e16224dabed8921b7d0ffdbc`, supplied the entrance-demotion lead: reversing a promotion can profitably trade wider helpers for a different recursive profile. Its README/PR claim was consulted; no PR1111 code or owner payload is consumed. This package instead screens all codimension-one subspaces of the six current dimension-five groups, composes three groups on the eight-endpoint word, and constructs its own complete T16 owner assignment. The older promotion mechanism is credited to PR664 and its descendants. +* The frame refit uses the preceding adaptation of PR864's complete frame model (navinor / Claude). Solver output is nomination data; independent native replay and unchanged global engines decide admission. +* The coordinated pattern-pricing search is retained from `../k8-eight-ends-t16`. Earlier owner algorithms and signed duals are credited in its notice. The bound adapts jon314159's PR942 certificate and chafreaky's PR795/890 prices, using the existing two rational arithmetic engines. +* The fresh native and global checks retain every inherited analytic, compiler, boundary, common-label, hosting, precision/tape, and bit H1–H5 assumption. This package does not claim original authorship of those constructions or an unconditional theorem. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py new file mode 100644 index 0000000000..4802312b52 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/vendor/pr1193/verify.py @@ -0,0 +1,75 @@ +"""Fresh mixed local replay, deterministic owner reconstruction and strict admission. + +No allocation optimizer or discovery-mode controller runs. Outputs must be new +and outside the checkout. Optional cold PR799 reuse is independently rebound +with the retained maintainer checker and fixed stage/artifact coverage. +""" +import argparse,os,shutil,subprocess,sys,tarfile,time +from pathlib import Path +from common import P,ROOT,read,dump,sha,identity,load +import package + +ARCHIVE=ROOT/'research/community-frontier1042-audit/selected-replay.tar.gz' +ARCHIVE_SHA='22c3f4dce4b897a1d423d1388801933e288b6a6b1906cb15e1b16a5eb68db754' + +def main(): + ap=argparse.ArgumentParser(description=__doc__) + ap.add_argument('--work',type=Path,required=True) + ap.add_argument('--ancestry799',type=Path,help='Completed cold verify_frontier799.py output; all bindings and coverage are rechecked') + a=ap.parse_args();pins=package.validate();w=a.work.resolve() + assert not w.exists() and not w.is_relative_to(ROOT);w.mkdir(parents=True) + env=dict(os.environ,PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',PYTHON=sys.executable) + for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) + steps=[] + def run(name,script,*args): + log=w/(name+'.log');start=time.monotonic() + with log.open('w')as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=ROOT,env=env,stdout=f,stderr=subprocess.STDOUT) + steps.append(dict(name=name,exit_code=r.returncode,seconds=round(time.monotonic()-start,3),log_sha256=sha(log))) + dump(w/'STAGES.json',steps) + if r.returncode:raise RuntimeError(name+'\n'+log.read_text()[-5000:]) + print('PASS',name,flush=True) + assert sha(ARCHIVE)==ARCHIVE_SHA + baseline=w/'retained1042';baseline.mkdir() + with tarfile.open(ARCHIVE)as t: + for m in t.getmembers(): + assert (baseline/m.name).resolve().is_relative_to(baseline) and (m.isfile() or m.isdir()) + t.extractall(baseline,filter='data') + baseline=baseline/'slots/global';base=baseline/'global/base' + import build_word,controls,audit,prepare,controller,price + dump(w/'WORD-RECIPE.json',build_word.build(w/'FOUR-WORD.json.gz')) + providers={} + for pid,word in [('demote3',P/'vendor/pr1148/JOINT-WORD.json.gz'),('demote4',w/'FOUR-WORD.json.gz')]: + run('raw-'+pid,ROOT/'research/gauge44-slots/independent/audit_local.py','--word',word,'--main',ROOT,'--output',w/('RAW-'+pid+'.json')) + run('native-'+pid,P/'native.py',word,w/pid) + providers[pid]=w/pid/'local' + stages=read(w/pid/'STEPS.json') + assert [v['step']for v in stages]==['native','ledgers','local-replay','wrappers','phases'] and all(v['exit_code']==0 for v in stages) + assert read(providers[pid]/'FULL-WORD.json.gz')==read(word) + run('entrance-controls',P/'local_controls.py','--out',w/'ENTRANCE-CONTROLS.json') + run('owners',P/'construct.py','--parent',base/'split-centres/GLOBAL-TEMPLATE.json.gz', + '--word3',providers['demote3']/'CANONICAL-WORD.json.gz','--word4',providers['demote4']/'CANONICAL-WORD.json.gz','--out',w/'constructed') + assert read(w/'constructed/OWNERS.json.gz')==read(P/'data/OWNERS.json.gz') + controls.check(read(base/'split-centres/GLOBAL-TEMPLATE.json.gz'),{pid:read(d/'CANONICAL-WORD.json.gz')for pid,d in providers.items()},w/'FLOW-CONTROLS.json') + independent=audit.check(base,providers,w/'constructed/OWNERS.json.gz',w/'INDEPENDENT-OWNERS.json') + global_work=w/'t37';global_work.mkdir();prepare.prepare(global_work,baseline,providers) + run('parent',global_work/'adapted/check_parent.py','--source',base/'split-centres/GLOBAL-TEMPLATE.json.gz','--parent',global_work/'lift/GLOBAL-TEMPLATE.json.gz','--out',w/'PARENT-CHECK.json') + result=controller.replay(global_work,providers) + owner=read(global_work/'strict/global/audit/OWNERS-AND-PROFILE.json') + assert independent['actual_73_axis_charts']==owner['actual_73column_sigmas'] + prices=price.price(providers,w/'PRICE.json');assert prices['kappa']==result['kappa'] + ancestry=a.ancestry799.resolve()if a.ancestry799 else w/'ancestry799' + if not a.ancestry799:run('cold-ancestry799',ROOT/'scripts/verify_frontier799.py','--work',ancestry) + cover=load(ROOT/'research/complex-t21-owners/vendor/pr858/baseline_coverage.py','fixed_baseline_coverage').check(ancestry/'ancestor') + binding=load(ROOT/'scripts/verify_frontier799_bindings.py','cold_ancestry_bindings').check(ancestry/'ancestor',ancestry/'native',ancestry/'global',ancestry/'INDEPENDENT-LOCAL.json',ancestry/'INDEPENDENT-PRICE.json') + for rel in ('split-centres/GLOBAL-TEMPLATE.json.gz','split-centres/CANONICAL-WORD.json.gz','work/complex-nine-native/DATA-PHASES.json'): + assert read(base/rel)==read(ancestry/'global/global/base'/rel),'Cold ancestral parent binding: '+rel + asm=read(global_work/'strict/ASSEMBLY.json');old=read(ancestry/'global/ASSEMBLY.json') + assert asm['bit_lower']==old['bit_lower'] and asm['bit_supplier']==old['bit_supplier'] + dump(w/'ANCESTRY.json',dict(reused=bool(a.ancestry799),coverage=cover,binding=binding,archive_sha256=ARCHIVE_SHA)) + assert package.validate()==pins,'Sources changed during verification' + result.update(status='PASS_MIXED_JOINT_ENTRANCES_T37_COMPLETE_ADMISSION',source_pins=pins, + native_providers=2,entrance_controls=11,flow_controls=8,independent_owner_controls=8, + ancestry_sha256=sha(w/'ANCESTRY.json'),price_sha256=sha(w/'PRICE.json'),steps=steps) + dump(w/'RESULT.json',result) + print(result['status'],result['kappa_decimal'],flush=True) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py new file mode 100644 index 0000000000..178a101173 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/verify.py @@ -0,0 +1,51 @@ +"""Finite mixed-provider replay; exact inherited theorem obligations remain conditional. +Default: sequential fresh native replays. Explicit native reuse validates word and stage bindings. +""" +import argparse,gzip,hashlib,json,os,shutil,subprocess,sys,tarfile,time +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--work',type=Path,required=True);ap.add_argument('--base-native-from',type=Path);ap.add_argument('--extra-native-from',type=Path);a=ap.parse_args();work=a.work.resolve();assert __debug__ and not work.exists() and not work.is_relative_to(P) +def rd(p):return json.loads(p.read_text()) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +pins=rd(P/'MANIFEST.json');actual={x.relative_to(P).as_posix() for x in P.rglob('*') if x.is_file() and '__pycache__' not in x.parts and x!=P/'MANIFEST.json'};assert actual==set(pins) +for rel,h in pins.items():assert sha(P/rel)==h,rel +work.mkdir();layout=work/'layout';layout.mkdir();tmp=work/'tmp';tmp.mkdir();env=dict(os.environ,TMPDIR=str(tmp),PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0') +for k in ('PYTHONOPTIMIZE','WITNESS_SPEC','WITNESS_DISCOVER','WITNESS_RECORD'):env.pop(k,None) +with tarfile.open(P/'upstream-layout.tar.gz') as t: + for m in t.getmembers():assert m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + t.extractall(layout,filter='data') +M=layout/'globalmix51';M.mkdir();data=M/'candidate';data.mkdir();SRC=layout/'joint1148-round45/source' +for name in ('replay.py','freeze_spec.py','audit_mixed.py','independent_core.py'):shutil.copy2(P/name,M/name) +for name in ('PLAN.json','SPEC.json','PROFILE.json','OWNERS.json.gz','DISPATCH.json','CONSTRUCTION.json','GLOBAL-TEMPLATE.json.gz'):shutil.copy2(P/name,data/name) +stages=[] +def run(name,script,*args): + start=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=layout,env=env,stdout=f,stderr=subprocess.STDOUT) + stages.append(dict(name=name,exit_code=r.returncode,seconds=time.monotonic()-start,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2));assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +for key,name in [('base','gauge44-word.json.gz'),('extra','extra-word.json.gz')]: + run('literal-word-'+key,P/'build_word.py','--base',P/'inputs'/(key+'.json.gz'),'--recipe',P/('RECIPE-'+key+'.json.gz'),'--out',work/('rebuilt-'+key+'.json.gz')) + assert gzip.decompress((work/('rebuilt-'+key+'.json.gz')).read_bytes())==gzip.decompress((P/name).read_bytes()) +natives={} +for key,word,reuse in [('base',P/'gauge44-word.json.gz',a.base_native_from),('extra',P/'extra-word.json.gz',a.extra_native_from)]: + run('independent-local-'+key,SRC/'research/gauge44-slots/independent/audit_local.py','--word',word,'--main',SRC,'--output',work/('INDEPENDENT-LOCAL-'+key+'.json')) + run('fusion-controls-'+key,P/'controls.py','--main',SRC,'--sites',P/('CONTROL-SITES-'+key+'.json'),'--word',word,'--out',work/('FUSION-CONTROLS-'+key+'.json')) + assert len(rd(work/('FUSION-CONTROLS-'+key+'.json'))['rejected'])==10 + run('x54-controls-'+key,P/'x54_controls.py','--main',SRC,'--recipe',P/'MAPPED-RECIPE.json','--word',word,'--out',work/('X54-CONTROLS-'+key+'.json')) + assert len(rd(work/('X54-CONTROLS-'+key+'.json'))['rejected'])==4 + run('kernel543-controls-'+key,P/'kernel543_controls.py','--word',word,'--main',SRC,'--out',work/('KERNEL543-CONTROLS-'+key+'.json')) + run('kernel-controls-'+key,P/'kernel_controls.py','--word',word,'--main',SRC,'--out',work/('KERNEL-CONTROLS-'+key+'.json')) + run('leaver-premise-'+key,P/'premise/premise_check.py',word) + native=reuse.resolve() if reuse else work/('native-'+key) + if not reuse:run('fresh-native-'+key,SRC/'research/k8-eight-ends/replay_native.py',word,native) + assert gzip.decompress((native/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress(word.read_bytes()) + steps=rd(native/'STEPS.json');assert [x['step'] for x in steps]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in steps) + natives[key]=native +run('literal-construct',P/'construct.py','--parent',data/'GLOBAL-TEMPLATE.json.gz','--word3',natives['base']/'local/CANONICAL-WORD.json.gz','--word4',natives['extra']/'local/CANONICAL-WORD.json.gz','--out',work/'constructed') +for name in ('OWNERS.json.gz','DISPATCH.json'): + decode=lambda p:json.loads(gzip.decompress(p.read_bytes()) if p.suffix=='.gz' else p.read_bytes()) + assert decode(work/'constructed'/name)==decode(P/name),name +assert rd(work/'constructed/CONSTRUCTION.json')['idle']==rd(data/'CONSTRUCTION.json')['idle'] +shutil.copytree(natives['extra'],M/'native-extra') +run('strict-global',M/'replay.py','--data',data,'--work',work/'strict','--local',natives['base']/'local') +r=rd(work/'strict/RESULT.json');assert r['status']=='PASS_STRICT_MIXED_T37_ENTRANCES' and r['kappa']==rd(P/'CLAIM.json')['kappa'] +result=dict(status='PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION',kappa=r['kappa'],kappa_decimal=r['kappa_decimal'],parent_geometry_reuse=True,base_native_reuse=bool(a.base_native_from),extra_native_reuse=bool(a.extra_native_from),kernel_controls=24,inherited_kernel543_controls=12,flow_controls=8,fusion_controls=20,x54_controls=8,leaver_premise_words=2,admission_controls=114,bit_controls=12,controller_controls=15,independent_owner_controls=8,outer_inequalities=47,stages=stages,scope=rd(P/'CLAIM.json')['scope']);(work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n');print(result['status'],result['kappa_decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py b/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py new file mode 100644 index 0000000000..e80ee4b552 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1297/x54_controls.py @@ -0,0 +1,29 @@ +"""Four direct X54 failure controls on each final refitted word, using the unchanged local auditor.""" +import argparse,copy,gzip,hashlib,json,subprocess,sys,tempfile +from pathlib import Path +ap=argparse.ArgumentParser();ap.add_argument('--word',type=Path,required=True);ap.add_argument('--recipe',type=Path,required=True);ap.add_argument('--main',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();w0=json.loads(gzip.decompress(a.word.read_bytes()));rc=json.loads(a.recipe.read_text());audit=a.main/'research/gauge44-slots/independent/audit_local.py' +def locate(section,gate): + ids=[i for i,g in enumerate(section) if g[:-1]==gate[:-1]];assert len(ids)==1,(gate,ids);return ids[0] +def check(w,d): + p=d/'WORD.json.gz';p.write_bytes(gzip.compress(json.dumps(w,separators=(',',':')).encode(),mtime=0));r=subprocess.run([sys.executable,'-B',str(audit),'--word',str(p),'--main',str(a.main),'--output',str(d/'AUDIT.json')],capture_output=True,text=True);return r.returncode,(r.stdout+r.stderr) +with tempfile.TemporaryDirectory(dir=a.out.parent,prefix='x54-controls-') as tmp: + d=Path(tmp);code,msg=check(w0,d);assert code==0,('honest',msg[-1000:]);mutants={} + w=copy.deepcopy(w0) + for gate in rc['cleanup_prepend']: + ci=locate(w['cleanup'],gate);assert all(i!=ci for i,U in w['early_cleanup']);del w['cleanup'][ci];w['early_cleanup']=[[i-int(i>ci),U] for i,U in w['early_cleanup']] + mutants['drop_full_restore']=(w,'all-column endpoint failure') + w=copy.deepcopy(w0) + for pos,gate in rc['tail_insert']: + ci=locate(w['cleanup'],gate);assert sum(i==ci for i,U in w['early_cleanup'])==1;w['early_cleanup']=[[i,U] for i,U in w['early_cleanup'] if i!=ci];w['cleanup'][ci][-1]=[1<=di and e[0]=='add' and 112<=e[1]<224 and e[2]==g[1]);w['B'].insert(ri+1,g) + mutants['move_donation_after_read']=(w,'nonzero entrance response');rejected=[] + for name,(word,expected) in mutants.items(): + code,msg=check(word,d);assert code!=0 and expected in msg,(name,code,msg[-1200:]);rejected.append(dict(name=name,reason=msg.strip().splitlines()[-1]));print('REJECTED',name,flush=True) +a.out.write_text(json.dumps(dict(status='PASS_FINAL_WORD_X54_CONTROLS',honest='PASS',word_sha256=hashlib.sha256(a.word.read_bytes()).hexdigest(),rejected=rejected),indent=2)+'\n') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md new file mode 100644 index 0000000000..abdd30cc1d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ALGEBRAIC-STABILITY-INDEPENDENT.md @@ -0,0 +1,190 @@ +# Independent algebraic-coefficient and stability transfer lemma + +This note uses no claimed finite certificate from any particular matrix multiplication paper. It isolates what follows from an exponent bound alone, including effectiveness and ordinary bit complexity. + +## Statement + +Let `omega_C` be the matrix multiplication exponent over the complex numbers. Suppose + +\[ +\omega_{\mathbb C}<\tau, +\] + +where `tau > 2` is a fixed rational number. There is a single, uniform algorithm, with a fixed finite description, with the following properties. + +* Its recursive block multiplication uses a fixed finite bilinear formula whose coefficients are computable algebraic complex numbers. +* Given two `W` by `W` complex dyadic matrices with component magnitudes at most `2^h`, it computes their product with maximum entrywise absolute error at most `2^{-p}` in + +\[ +O\!\left(W^\tau M(p+h+\log(W+1))\right) +\] + +bit operations. Here `M(t)` is a regular integer multiplication bound: `M(t) >= t`, `M(Ct)=O_C(M(t))` for fixed `C`, and precision doubling sums to `O(M(t))`. All constants can depend on the chosen fixed block formula. +* If the input encoding has `h = O(p)`, this is + +\[ +O\!\left(W^\tau M(p+\log(W+1))\right). +\] + +If also `log W = O(p)`, it is exactly `O(W^tau M(p))`, without a suppressed logarithmic factor. In particular this holds for `W = Theta(sqrt(p))`. + +The strict exponent slack is essential to this statement: an exponent infimum does not by itself supply a finite scheme attaining that infimum. If a source proves `omega_C <= 9/4`, one may take any fixed rational `tau` with `9/4 < tau < 5/2`, for example `tau = 19/8`. + +The proof below also gives an exponent strictly below a specified threshold from only the promise that `omega_C` is below that threshold. It does not give useful numerical constants or an efficient way to discover the block formula. + +## 1. A finite exact bilinear formula exists with exponent slack + +Write `R(b)` for the exact complex tensor rank of `b` by `b` matrix multiplication. Use the usual equivalent definition + +\[ +\omega_{\mathbb C}=\inf_{b\ge2}\log_b R(b). +\] + +Thus some fixed integers `b >= 2` and `r` satisfy + +\[ +R(b)\le r= 2`, `r >= 1` satisfying `r < b^tau`; +2. finite encoded algebraic tuples of the required length; +3. exact tests of all rank equations. + +For rational `tau=a/d`, the first comparison is the integer comparison `r^d < b^a`. The search halts under the stated exponent promise, by Sections 1 and 2. Its output supplies the single fixed block formula. This search may be extremely expensive, but its cost is an absolute constant independent of `W,p,h`, so including it does not change the asymptotic bound. The same result can be phrased by fixing the first successful tuple once and for all. + +For just the promise `omega_C < 5/2`, search using `r^2 < b^5`. Upon success choose a rational `sigma` with + +\[ +\max\{2,\log_b r\}<\sigma<5/2. +\] + +The resulting algorithm has exponent at most `sigma < 5/2`. Thus one need not know a numerical gap in advance to obtain a uniform algorithm below the threshold. A practical certificate or practical constant is a separate issue. + +## 4. Each fixed algebraic coefficient has an ordinary `O(M(q))` precision algorithm + +Every chosen coefficient has a fixed minimal polynomial and a fixed isolating region. In characteristic zero its minimal-polynomial root is simple. Fix a rational starting approximation in a sufficiently small Newton convergence neighborhood. Newton iteration with successively doubled precision computes the root to absolute error `2^{-q}` with `O(M(q))` bit operations. + +The polynomial degree, coefficient heights, root separation, initial precision, and bounds on the derivative and its reciprocal are all fixed constants here. Polynomial evaluation, complex division, and the finite number of operations per Newton step cost `O(M(t))` at precision `t`; the usual precision-doubling sum is `O(M(q))`. This is not a claim uniform in algebraic degree or height. + +There are only finitely many block coefficients. Compute their dyadic approximations once at the precision needed for the current multiplication, and reuse them at all recursive nodes. This costs `O(M(q))` total, with a formula-dependent constant, rather than a logarithmic factor per scalar operation. + +## 5. Recursive arithmetic work + +Pad the matrices with zeros to size `N=b^L`, where `W <= N < bW` (and handle `W=1` directly). At each node, form the fixed `r` input linear combinations, recursively multiply the corresponding submatrices, and form the fixed output linear combinations. + +The arithmetic operation count satisfies + +\[ +T(N)\le rT(N/b)+O(N^2). +\] + +Let `rho=log_b r`. If `rho>2`, this is `O(N^rho)`; if `rho=2`, it is `O(N^2 log N)`; and if `rho<2`, it is `O(N^2)`. Every case is `O(N^tau)` because `rho2`. In particular the possible equality case `r=b^2` creates no extra factor in the advertised bound: its logarithm is absorbed by the fixed exponent slack. + +One could instead tensor a fixed formula a fixed number of times and add a zero product to arrange `b^2 < r < b^tau`, obtaining an exact recursion exponent `rho` strictly between two and `tau`. This refinement is unnecessary for the advertised `O(W^tau)` conclusion. + +## 6. Fixed-point roundoff grows only polynomially in the dimension + +Use fixed-point complex arithmetic with `q` fractional bits, round after scalar products, and use dyadic block coefficients whose absolute errors are at most + +\[ +\epsilon=2^{-q}. +\] + +Complex arithmetic introduces only absolute constant factors. Additions may be done exactly on this fixed grid; allowing an additional absolute error `O(epsilon)` after an addition also satisfies the following bounds. + +For a multiplication node with remaining depth `d`, let `a,beta >= 1` bound the maximum absolute entries of its two inputs. There is a fixed constant `K`, depending only on the block formula, such that the computed result obeys + +\[ +\|\widehat T_d(A,B)-AB\|_{\max} +\le \epsilon E_d a\,\beta, +\qquad +E_d\le K E_{d-1}+K b^{d-1},\quad E_0\le K. +\] + +Here the symbol `b` in `b^{d-1}` is the fixed block dimension; `beta` is the second input bound. + +To verify the recurrence, every local input linear combination has fixed length and fixed coefficients. Its rounded value differs from its exact value by at most `c epsilon a` or `c epsilon beta`, and its size is at most `S a` or `S beta`, for fixed `c,S`. Applying the inductive child bound therefore contributes at most + +\[ +c\epsilon E_{d-1}a\beta. +\] + +Perturbing the two child inputs in their *exact* matrix product contributes at most + +\[ +c\epsilon b^{d-1}a\beta, +\] + +because each entry of that child product sums `b^{d-1}` scalar products. Finally, the output reconstruction has fixed length and fixed coefficients. Propagation through its exact coefficients is a fixed factor; coefficient approximation and reconstruction rounding contribute at most + +\[ +c\epsilon\bigl(b^{d-1}+\epsilon E_{d-1}+1\bigr)a\beta. +\] + +For `epsilon <= 1`, all these terms have the stated recurrence after enlarging `K`. Taking `K >= 2b` gives `E_d <= C K^d` for a fixed `C`. Thus at the root + +\[ +\|\widehat T_L(A,B)-AB\|_{\max} +\le C\,2^{-q}K^L a\beta +=2^{-q}N^{O(1)}a\beta. +\] + +For root input magnitude at most `2^h`, take `a=beta=max(1,2^h)` and choose + +\[ +q=p+2\max(h,0)+\lceil L\log_2K\rceil+O(1). +\] + +The final absolute error is then at most `2^{-p}`. + +There is also no hidden exponential-in-precision magnitude growth. Along a path, each preprocessing step multiplies a magnitude envelope by a fixed `S`. A node at depth `t` therefore receives inputs bounded by `S^t a` and `S^t beta`. Its computed output is bounded by its exact product size plus the proved error: + +\[ +\bigl(b^{L-t}+\epsilon C K^{L-t}\bigr)S^{2t}a\beta. +\] + +Local scalar products and partial sums obey the same bound up to fixed factors. All intermediate magnitudes are consequently `N^{O(1)} max(1,2^{2h})`. Only `O(h+log N)` integer bits are needed. The total working bit width is therefore `O(p+h+log N)`. + +The polynomial error estimate exploits the structure of a bilinear recursion: linear preprocessing, one variable-by-variable scalar product at a leaf, and linear reconstruction. Bounding an arbitrary multiplication by the largest intermediate magnitude at every level would give an unnecessarily pessimistic estimate and is not the argument used here. + +## 7. Bit complexity and scope + +Every scalar operation uses `O(p+h+log W)` bits and costs `O(M(p+h+log W))`. Multiplying by the `O(W^tau)` arithmetic operation count proves the statement. Padding, input conversion, output rounding, and storage of the fixed coefficient approximations fit the same bound. + +The result supplies absolute accuracy. It does not promise small relative error in entries canceled nearly to zero. It applies to arbitrary fixed finite complex bilinear formulas; large fixed coefficient heights or norms worsen only the constants and the fixed multiple of `log W` in the precision requirement. + +An exponent theorem alone therefore suffices for computable, stable approximate multiplication with any fixed strictly larger exponent. It does not justify using the exact infimum exponent without slack, treating a varying family of coefficients as fixed, or claiming a concrete efficient implementation without constructing its constants. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md new file mode 100644 index 0000000000..5cad6ee19f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/BILATERAL-LDU.md @@ -0,0 +1,131 @@ +# Bilateral Gaussian LDU and a fixed-width periodic inverse bound + +Independent audit of the parent's infinite-LDU observation. This is an analytic norm theorem. It does **not** assert that the bilateral factors already have a fully priced fast implementation. + +## Statement + +Let `1=1`, define on Z + +`G_ij=exp(-a[(rho*j-q_i)^2-beta_j^2])`. + +Let `r=exp(2a rho)` and `c=prod_(m>=1)(1-r^-m)>0`. Then G has an exact factorization on bounded bilateral sequences + +`G=L C U`, + +where L is unit lower triangular, U is unit upper triangular, C is diagonal, and all factors and their inverses are bounded. Moreover all six factors are invariant under simultaneous index translation by s. Their periodizations therefore factor the periodic Gaussian matrix N, and + +`||N^-1||_infinity <= c^-4 exp(a/2)/(1-exp(-a rho theta))^2`. + +In particular, at the fixed choice `a=1`, + +`||N^-1||_infinity < 16 theta^-2`. + +Any fixed a>=1, including a=4pi if an integer alpha>=2 is retained, gives a constant times theta^-2. No lower bound proportional to log(1/theta) on a is needed for this norm theorem. + +## 1. Finite-origin factorization and the shift correction + +Write `x_i=r^q_i`, `d_i=exp(-a q_i^2)`, and `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Then `G_ij=d_i x_i^j e_j`, including negative indices, and `d_i x_i^i e_i=1`. + +For a finite square principal interval `[l,r0]`, the Vandermonde powers must begin at zero. The correct shifted row diagonal is **d_i x_i^l**, and the power is `j-l`. This removes a possible erroneous origin-dependent diagonal from the upper factor. + +Put + +`C_i(l)=prod_(l<=k=j`, + +`U^l_ij=(e_j/e_i) h_(j-i)(x_l,...,x_i)`, `j>=i`. + +Here h is the complete symmetric polynomial, h_0=1. Upper and lower inverses are + +`(U^l)^-1_ij=(-1)^(j-i)(e_j/e_i) e_(j-i)(x_l,...,x_(j-1))`, + +`(L^l)^-1_ij=(-1)^(i-j) exp(E_ij) C_i(l)/(C_j(l) D_ij)`, + +where + +`D_ij=prod_(j=j`, + +`|(U^l)^-1_ij|<=c^-1 exp(a/4) exp(-a rho theta(j-i))`, `j>=i`. + +Both use only `-1/2<=beta_k<1/2`. Thus their row norms are at most the corresponding constants divided by `1-exp(-a rho theta)`, uniformly in l and the finite size. + +The row sum of G is uniformly finite, since + +`G_i,i+h <= exp(a/4) exp(-a(rho*|h|-1/2)^2)`. + +The same positive Gaussian bound controls all finite-origin L and U factors. + +## 3. Letting the left origin tend to minus infinity + +For fixed i,j, C_i(l) converges to + +`C_i=prod_(k(i+s,j+s)`. Every displayed factor has the same invariance: ratios `x_k/x_i` are preserved, and the Gaussian/prefix expressions shift together. C_i is s-periodic. + +For an invariant matrix A with bounded absolute row sums, set + +`Pi(A)_ij=sum_(n in Z) A_(i,j+ns)`, `0<=i,j=e^2>7, and the elementary product bound gives `c>=1-sum_(m>=1)r^-m>5/6`. Also `1-exp(-rho theta)>=theta/2` for 04W, choose + +`B=min(Bcap, 2^floor(log2(R-W)))`, + +retain the next B vertices as an interior, then the next W vertices as boundary, and decrement R by B+W. Declare the final R<=4W vertices boundary. + +There are `O(L/Bcap+log Bcap)` interiors: while the cap is active, each step removes at least Bcap vertices; after it ceases to be active, the remaining length halves at each step. Every interior length is dyadic and at most Bcap. Every interior produced by the loop is longer than W; two successive interiors are separated by at least W retained coordinates. + +Total boundary count per original cell is + +`O(W(L/Bcap+log Bcap))`. + +Since original cell lengths are Theta(d), total boundary density is + +`O(W/Bcap + W log Bcap/d)=O((W/Bcap) polylog p)` + +when Bcap<=d. The same selected-input and target-output physical period cuts must be preserved. A clipped endpoint cell of O(W) length is wholly boundary. + +Interior elimination only fills between the adjacent boundary groups of one interior. Each group has O(W) vertices: inserted groups have W; an end remainder has at most 5W after joining the reserved end. Hence scalar Schur half-bandwidth remains O(W), independently of the cap and the number of pieces. No retained matrix coefficient is changed by this new partition. + +## 2. Narrow Gaussian: exact recentering of the existing rounded weights + +In one original phase cell, beta_i=theta*i-c and + +`log a_i=-a(1/4-beta_i^2)/theta`. + +For any two coordinates i,j in that same cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Since both beta values lie in [-1/2,1/2), + +`|log(a_i/a_j)|<=a|i-j|`. + +Thus a capped interior of at most Bcap vertices has ideal weight range at most exp(a Bcap), even when the absolute full-cell gauge has range exp(O(ad)). + +The actual matrix uses already-rounded positive weights ahat_i. Suppose, as ensured by the retained high-precision setup, + +`(1-epsilon) a_i <= ahat_i <= a_i`, with epsilon<=1/2. + +Then for an anchor m in the capped interior, + +`(1-epsilon) exp(-a Bcap) <= ahat_i/ahat_m` + +` <= exp(a Bcap)/(1-epsilon)`. + +Replacing ahat_i by `ahat_i/ahat_m` in both diagonal factors of + +`A=diag(ahat) Ghat diag(ahat)^-1` + +is **exact**. It changes neither A nor the fixed globally rounded H. These ratios must be formed in coefficient setup; the data circuit must not apply the full-cell diagonal and hope to cancel it later. One may anchor at the maximum ahat in the piece to make the direct diagonal contractive and its inverse at most `2 exp(a Bcap)`. + +The old setup provides absolute error below `4*2^-P` and ideal minimum at least exp(-a/(4theta)). It suffices that + +`4*2^-P exp(a/(4theta)) <= epsilon`. + +In the retained family a=Theta(log p), theta^-1=O(d), d=p^epsilon0 with fixed epsilon0<1, so ad=o(p). The existing P=Cp setup precision easily gives epsilon<=2^-cp. The **ad cost occurs in offline coefficient accuracy**, not in the runtime norm of the recentered diagonal. It is not multiplied by the number g of simultaneously executed axes. More explicitly, if the raw relative error is delta0<=4*exp(a/(4theta))*2^-P, then an anchored ratio has relative error at most 2delta0/(1-delta0). A g-fold product of anchored diagonals has error bounded by a polynomial factor times g*delta0*exp(O(g*a*Bcap)). Thus the needed precision is P>=p+O(ad+g*a*Bcap+log g+polylog p), rather than p+O(g*a*d). Both added power terms are o(p) in the proposed parameter family. + +## 3. Broad forward Gaussian: local gauges + +Use the target-grid notation from FORWARD-SMALL-A-AUDIT.md. With lambda=1/rho, b0=pi/alpha^2, original phase c, and an anchor m in the capped interior, + +`delta=(1-lambda)m-c`, `x=i-m`, `y=k-m`. + +The exact split is + +`Dcol(i)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(k)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`, + +with a fixed Toeplitz kernel `exp[-b0 lambda(i-k)^2]`. + +Throughout the original selected-target phase cell, `beta'_i=theta*i-rho*c` lies in [-1/2,1/2). Therefore + +`d(log Dcol)/di = -2 b0 lambda beta'_i`, + +`d(log Drow)/dk = 2 b0 lambda^2 beta'_k`. + +Their absolute slopes are at most b0 and b0 respectively. Both diagonal logarithmic ranges on the capped block are at most `b0 Bcap`. At the anchor, Dcol=1 and Drow=alpha^-1 exp(-b0 delta^2), so their absolute values also have logarithmic size `O(b0 Bcap+log alpha)`. + +If a globally rounded broad block was already defined using a different anchor, use exact constant ratios to recenter its two diagonals: divide the column diagonal by its value at m and multiply the row diagonal by the same value. Ideal changes of anchor differ only by reciprocal constants, since the derivatives above are independent of m. Uniform relative coefficient error changes the range by only O(1), just as in the narrow case. This preserves the already-defined rounded block exactly. Alternatively the broad block can be initially defined with the capped anchor, using one globally specified rounding construction. + +Holes remain boundary. The completed narrow and broad interior inverse bounds and the completed global/Schur norm bounds proved earlier do not depend on the cap: every new interior is still a contiguous principal block of the same original phase matrix. + +## 4. Group guard and circuit count + +Each capped narrow diagonal contributes at most `a Bcap+O(1)` to the logarithmic norm; the broad contribution `O(Bcap/alpha^2+log alpha)` is smaller. Shallow Toeplitz circuit amplification contributes polylog(p) per axis. The number of capped blocks per line does not multiply these bounds: they are disjoint direct-sum blocks and their circuits run in parallel, padding completed smaller circuits with identity gates. + +Consequently g simultaneously executed axes require + +`O(g a Bcap + g polylog p)` + +extra logarithmic precision. With `Bcap<=p^b`, `g<=p^beta`, a=Theta(log p), and beta+b=1-r-zeta with r,zeta>0, + +`g a Bcap=O(p^(1-r-zeta) log p)=o(p)`. + +In particular no remaining full-cell term g*a*d may be charged after exact recentering. Offline accuracy still needs to dominate ad=o(p), as above. + +## 5. Schur solves and whole-group ordering + +For the narrow matrix, strict row dominance is inherited by any interior elimination, so all completed Schur and inverse norms remain polynomial under the cap. + +For the broad matrix, completed Schur/inverse norms follow from the square identity-hole completion and polynomial principal-interior bounds in FORWARD-SMALL-A-AUDIT.md. To obtain uniform norms for a banded online factorization, eliminate **whole boundary groups** of W to O(W) vertices, rather than appealing without proof to scalar prefixes inside one group. + +After all interiors and a prefix of whole boundary groups are eliminated, the eliminated set is a direct sum of one physical contiguous prefix and disjoint future interiors: each remaining full group contains at least W uneliminated coordinates, blocking every width-W connection across it. The same holds after adding the next whole group. A physical prefix reduces, under selected/hole ordering, to the small-b normalized Gaussian block plus identity hole columns, so it has polynomial inverse norm. Each future interior also has polynomial inverse norm. Thus every required eliminated-set inverse is polynomial, uniformly in the number of pieces. + +At the final group on a full periodic line, use the already-established full periodic H inverse bound instead of a nonperiodic-prefix bound. For a clipped principal window the complement-gap condition excludes wrap edges, so the prefix statement applies directly. Each block pivot inverse is a principal block of the inverse after adding that group. Block Schur entries are bounded by `H+H H_EE^-1 H`, hence polynomial. There are only O(1) neighboring boundary groups in a band row. The resulting block-L and block-U norms are polynomial; their full inverses are polynomial as well, from `L^-1=U S^-1` and `U^-1=S^-1 L`. A scalar expansion inside a group is unnecessary: precompute its dense O(W)-square inverse and apply the block updates to batches by Strassen. + +This whole-group order prevents the subtle gap in which a partially consumed separator of fewer than W vertices permits a connection to the next interior. It preserves the claimed batched boundary exponent and is unaffected by capped subdivision. + +## Scope + +The capped local-gauge change is valid. The listed exact controls check carving, analytic slope identities and preservation of the already-rounded narrow matrix. The final recurrence arithmetic and tensor routing remain separate reviewed components. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md new file mode 100644 index 0000000000..62c3fa27b6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-INTERIORS.md @@ -0,0 +1,72 @@ +# Conditional refinement: cap interior length independently of d + +This is a separate follow-up to the uncapped proof audit. Its current status is **PASS_CONDITIONAL_PHASE_FUSION_REVIEW**, following the independent capped-gauge and capped-layout audits and an integrated root review. It preserves the weaker `OUTER-ARITHMETIC.json` as history. Under the retained supplier assumptions and the reviewed interfaces, the capped construction below gives `kappa=0.001672922349588871`. The only new analytic change is the anchored O(aB) local gauge; all altered operation counts are derived explicitly here. No upstream selected certificate is changed. + +Let the original phase-cell scale remain `d=p^epsilon`, and cap dyadic interior lengths at `B=2^floor(b log2 p)`, where `1/20. The supplier support proof needs each individual K-neighborhood to fit its original axis and total moved support o(p); it does **not** require all g controls to fit within one original axis. The sufficient auxiliary inequality `beta<1-epsilon` in the uncapped ledger must therefore be removed in this follow-up. + +The changed principal exponents, normalized by V, are + +| Component | exponent | +|---|---:| +| main transform | `1-epsilon*q` | +| fused Gaussian circuits | `epsilon-q*beta` | +| boundary algebra | `epsilon-b+(omega-1)/2` | +| sparse union movement | `epsilon+beta+1/2-b` | +| grouped scans | `epsilon-beta` | + +For the boundary row, one axis has O(V W/B) boundary records. A band solve or coupling product on W simultaneous right-hand sides costs O(W^(omega-2)) per boundary record, so all d axes cost `O(V (d/B) W^(omega-1) polylog p)`. The new factor d/B must not be omitted. For the sparse union, its fraction within a group is O(gW/B polylog p); g sequential axis operations and d/g groups give `O(V (dg/B) W polylog p)`. These are precisely the third and fourth changed rows. + +All other costs in `OUTER-AUDIT.md` remain paid. Global routing has saving a_eff; packed polynomial products have saving epsilon. Even a conservative full active-group key surcharge adds only `beta+1-epsilon` to the union exponent. Sparse core-face corrections have exponent at most `epsilon+beta-3`, using the former p² per-record allowance on their O(gA/L) copied volume. + +With the rational bound omega<45/16, put c=(3-omega_upper)/2=3/32 and take a positive boundary slack s_boundary=10^-5. Balancing the two dominant rows while leaving that boundary slack gives + +``` +epsilon=(1+q+q*(c-s_boundary-r-zeta))/(1+q)^2, +b=epsilon*(1+q)-c+s_boundary, +beta=1-b-r-zeta, +kappa_limit=epsilon*q. +``` + +Using the same q, r and zeta as the uncapped candidate yields approximately + +``` +epsilon = 0.9984838711085557536432677624420451614... +b = 0.9064167934681446247757331487619919695... +beta = 0.0935821965318553752242668512380080305... +kappa_limit = 0.0016729223595888711324653863199468081... +kappa = 0.001672922349588871 +``` + +The boundary saving equals `kappa_limit+10^-5`. The union movement exponent is below 0.686, and even its optional full-key surcharge leaves it below 0.781. The per-record phase metadata exponent `beta+2(1-epsilon)` is below 0.097, so calculating all g membership predicates remains cheaper than scanning one p-bit record. Core-face repair costs remain negligible at L=p^8. + +The common compiled H calls are still made globally across complete coarse-label ranges. Each selected bit needs only its own K=128G neighborhood to fit its original axis. Since `1-epsilon>0`, this holds eventually even though gK is larger than one axis width. The total support is O(g polylog p)=o(p), because beta<1. All support-router reservoirs, product row stock and exact endpoint restoration are those of the independently audited supplier. + +At the displayed parameters, `b>1/2`, `epsilon>b`, `beta>0`, `epsilon>beta`, `1-b-r-beta=zeta>0`, and `1-epsilon-r>0`. These respectively pay the wide-band separation, cap below original cell scale, growing group payload, number of groups, compiled local-gauge precision, and global gamma/rounding range. The raw global rounded weights may still have O(ad) logarithmic range during offline generation. The **data** only sees exact anchored ratios of range O(aB); approximating those ratios to the retained precision introduces `exp(o(p))` error amplification, already paid by the strict group guard. + +The assembled group endpoints are the same full normalized Haug inverse or Saug/4 operators as in the uncapped proof. Changing the interior partition changes only their factorization. It does not change their completed contraction bounds, intended zero-hole semantics, principal-core locality, or the final `2^D` scale compensation. Consequently the uncapped precision and error argument applies with the improved group gauge budget. + +`check_capped_outer.py` computes 44 exact positive slacks, every displayed cost margin, and five rejecting controls. The full-cell-gauge control is especially relevant: it fails, so the stronger result depends on the independently reviewed anchored-gauge proof. The local review retains the original supplier and all-size conditional assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..56c871f4f3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-OUTER-ARITHMETIC.json @@ -0,0 +1,388 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "scope": "Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.", + "review": { + "integrated_review": "Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.", + "independent_cap_gauge": "CAPPED-GAUGE-AUDIT.md", + "independent_cap_layout": "CAPPED-SIGNOFF.md", + "supplier_support": "SUPPLIER-SUPPORT-AUDIT.md" + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_boundary": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "capped_block_power": { + "rational": "3631741843538363603786961767383/4006701850307232414091700000000", + "decimal": "0.90641679346814462477573314876199196952827856807257517068829472760" + }, + "beta_group": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "c_boundary": { + "rational": "3/32", + "decimal": "0.09375" + }, + "kappa": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "group_bit_router": { + "rational": "268565263693445502595657234197195111684434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223642679809590581550811601506812813875517947775721171084429" + }, + "group_scans": { + "rational": "152667615602647020756995267555861382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.095098325423299621580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra": { + "rational": "270170628914002673224188597080315522300507800685211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016829223595888711324653863199468081193809860282087059757458669773" + }, + "sparse_union_movement": { + "rational": "50464795843106818372778537326217184169040543916310211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.31435072582773349590819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key": { + "rational": "878478998384747396741111767383/4006701850307232414091700000000", + "decimal": "0.21925240040443387432719944628597590858483570421772551206488418280" + }, + "polynomial_products": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections": { + "rational": "4668298183036122054984246889917045528294403556/1605365971725539986393675267555861382073600889", + "decimal": "2.9079339323595888711324653863199468081193809860282087059757458670" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "epsilon_below_one": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "capped_block_above_band": { + "rational": "1628390918384747396741111767383/4006701850307232414091700000000", + "decimal": "0.40641679346814462477573314876199196952827856807257517068829472760" + }, + "capped_block_below_cell": { + "rational": "14780135356012934699216517036255884934639500533689789/160536597172553998639367526755586138207360088900000000", + "decimal": "0.092067077640411128867534613680053191880619013971791294024254133023" + }, + "group_positive": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "group_below_dimension": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "support_router_span": { + "rational": "36317458903072324140917/40067018503072324140917", + "decimal": "0.90641780346814462477573314876199196952827856807257517068829472760" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "decimal": "0.0015151288914442463567322375579548385911024179556335352874511393772" + }, + "actual_logarithmic_gamma_guard": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "membership_arithmetic_fits_record": { + "rational": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889", + "decimal": "0.90338554568525613206226867364608229234607373216130810011339244885" + }, + "microbox_halo_volume": { + "rational": "196585532915361620704585/40067018503072324140917", + "decimal": "4.9064178034681446247757331487619919695282785680725751706882947276" + }, + "boundary_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "short_record_fallback": { + "rational": "64009691972259592449574424556617076733497945671686139566638347524787/64214638869021599455747010702234455282944035560000000000000000000000", + "decimal": "0.99680840848174765012034276244204516140889758204436646471254886062" + }, + "improvement": { + "rational": "262152511953/1000000000000000000", + "decimal": "2.62152511953E-7" + }, + "main_transform_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "101611088769300917/40000000000000000000000", + "decimal": "0.000002540277219232522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "group_bit_router_above_kappa": { + "rational": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.4679109959058155081160150681281387551794777572117108442914158359E-11" + }, + "group_scans_above_kappa": { + "rational": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.093425403073710750580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.000010000010000000132465386319946808119380986028208705975745866977329" + }, + "sparse_union_movement_above_kappa": { + "rational": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.31267780347814462490819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key_above_kappa": { + "rational": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "decimal": "0.21757947805484500332719944628597590858483570421772551206488418280" + }, + "polynomial_products_above_kappa": { + "rational": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.99681094875896688264326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections_above_kappa": { + "rational": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "2.9062610100100000001324653863199468081193809860282087059757458670" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_boundary_slack": { + "boundary_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-251710882294553122358948322009002986896953538037431690106319/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "-0.00015679345814462464326776244204516140889758204436646471254886062281" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-147801337506469629736765306425806173787781184600889/1605365971725539986393675267555861382073600889000000", + "decimal": "-0.092067067640411128867534613680053191880619013971791294024254133023" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md new file mode 100644 index 0000000000..fc3456387b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/CAPPED-SIGNOFF.md @@ -0,0 +1,89 @@ +# Capped-interior layout extension: positive signoff + +The earlier sparse-union layout proof extends to dyadic interior cap +`B=p^b infinity`. Individual guarded neighborhoods +fit the original long axis; the collection of all g controls does not have +to fit in a single axis. This is the same support proof already audited. + +Microedge correction is unchanged. The underlying rounded operator and its +physical bandwidth do not change when a factorization receives more cuts. +Only the principal restriction and Schur decomposition are repartitioned. +The retained Neumann/principal-window comparison still applies to that +same operator. With L=p^8 and halo A=p^3, the additional output fraction is +O(g p^-5), now about p^-4.9064. Its sparse gather, true-period correction and +old sequential local solvers are still negligible. Capping does not turn +this into a dense non-dyadic tensor halo. + +The pinned independent arithmetic checks give approximately + +``` +epsilon = .9984838711085558 +b = .9064167934681446 +beta = .0935821965318554 + +per-group union movement power = -.2192524004044339 +total union movement power = .6856492741722665 +total group scan power = .9049016745767004 +membership descriptor power = .0966144543147439. +``` + +`check_capped_layout.py` independently checks finite capped partitions, +dyadic block sizes, separator distances, worst-pattern elimination fill, +and these exact rational layout inequalities against the pinned candidate +JSON. No layout blocker was found. + +This signoff is specifically for carving, sparse support, actual stream +movement, descriptors, and inherited microedge placement. It does not +independently prove the newly anchored broad/narrow Gaussian formulas or +their final precision bound. Those remain the algebraic/analytic cap audit. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json new file mode 100644 index 0000000000..66a4af697e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FINAL-PACKAGE-REVIEW.json @@ -0,0 +1,18 @@ +{ + "status": "PASS_CONDITIONAL_SCOPE_AND_PORTABLE_REPLAY_REVIEW", + "scope": "Reviewed final README, proof scope, attribution and verifier; independently reproduced 21 exact checks, 46 canonical native JSON receipts and all 58 file bindings against the completed run. Two false-acceptance controls reject. No independent human or formal theorem review is claimed.", + "conditions": [ + "Use latest support verifier and native capsule before generating final package manifest.", + "Optional matrix corollary retains omega_C<=9/4 as an explicit extra premise.", + "All inherited all-size and fixed-tape hypotheses remain." + ], + "reviewed_sha256": { + "verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f", + "NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "README.md": "61b371fe72353cd1d80cf2a1df5cf4e10df18ca78d2265acf43d263222895103", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "TASK.json": "494271a60db34e6651bfe164a0516c685081e899475ebf8f9fabe98a6a8014b5", + "VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md new file mode 100644 index 0000000000..0f7f80b3f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/FORWARD-SMALL-A-AUDIT.md @@ -0,0 +1,109 @@ +# Broad forward Gaussian: finite-block and completed-matrix conditioning + +This note supports the phase-assembly branch. It distinguishes the broad forward map S from the narrow T used in N=C T D. Its conclusions concern conditioning and local circuit guards; the final simultaneous tensor layout remains that branch's obligation. + +Let the narrow parameter be `a=pi alpha^2=Theta(log p)`, `rho=t/s=1+theta`, and `lambda=1/rho`. The forward map is + +`S_(k,j)=alpha^-1 exp[-b0(j-lambda*k)^2]`, `b0=pi/alpha^2`. + +Equivalently it uses the small resampling parameter + +`b=b0 lambda^2=pi/(alpha^2 rho^2)`. + +## 1. The bilateral bound works at every positive parameter + +The finite and bilateral LDU arguments in BILATERAL-LDU.md use a>=1 only for their final numerical simplification of the product c. For any b>0, define + +`c_b=prod_(m>=1)(1-exp(-2b rho m))`. + +The same proof gives, for the periodic normalized matrix and for every finite contiguous principal block with q-gaps at least 1 and |beta_i|<=1/2, + +`||N_b^-1|| <= c_b^-4 exp(b/2)/(1-exp(-b rho theta))^2`. + +There is an explicit useful product bound. Expand the logarithm and sum nonnegative terms: + +`log(c_b^-1)=sum_(k>=1) 1/[k(exp(2b rho k)-1)]` + +` <=(1/(2b rho)) sum_(k>=1)1/k^2=pi^2/(12b rho)`. + +At `b=pi/(alpha^2 rho^2)`, this implies + +`c_b^-4 <= exp(pi alpha^2 rho/3)=exp(a rho/3)`. + +Since b*rho*theta=pi*theta/(alpha^2 rho)<1 for alpha>=2 and theta<=1, its reciprocal gap is at most `2alpha^2 rho/(pi theta)`. Thus every such normalized block inverse has norm polynomial in p when alpha^2=O(log p) and theta^-1 is polynomial in p. + +## 2. Actual target-grid phase-cell block + +Embed source j at target coordinate i=q_j. On an original phase cell q_j=j+c, every selected target coordinate i in that cell corresponds to j=i-c. A square interior of the forward target-grid matrix is therefore + +`K_(k,i)=alpha^-1 exp[-b0(i-lambda*k-c)^2]`. + +Here both i and k run over one contiguous selected-target interval inside that cell. Put + +`q'_k=k+rho*c`, `beta'_k=rho*k-q'_k=theta*k-rho*c`. + +At a selected coordinate k=q_j, beta'_k is exactly the original beta_j, hence lies in [-1/2,1/2). Also q' has consecutive gap 1. Integrality of q' was never needed in the finite LDU proof; monotone separation and the beta bound suffice. Consequently + +`K=alpha^-1 N_b diag(exp(-b*(beta'_i)^2))`, + +and + +`||K^-1|| <= alpha exp(3b/4) c_b^-4/(1-exp(-b rho theta))^2` + +` =O(alpha^5 rho^2 theta^-2 exp(pi alpha^2 rho/3))=poly(p)`. + +This controls the **completed** interior inverse. It avoids multiplying the large individual diagonal-gauge norms to estimate K inverse. Target holes should be retained as boundary vertices, so every interior coordinate has the asserted original beta bound. + +## 3. Square completion of the global forward map + +Add one identity column e_h for every target hole h, and feed zero into these extra columns. This makes an invertible square t-by-t matrix H_aug without changing the desired forward result. Permute selected q_j rows/columns first and holes second. In that order, + +`H_aug = [ alpha^-1 N_b D_b^-1 0 ; R I ]`, + +where `D_b=diag(exp(b beta_j^2))` and R consists of broad Gaussian rows at holes. A Gaussian lattice-sum bound gives `||R||=O(1)` after the alpha^-1 factor. Thus + +`H_aug^-1=[ alpha D_b N_b^-1 0 ; -R alpha D_b N_b^-1 I ]` + +has polynomial row norm. The matrix itself also has O(1) row norm. Gaussian truncation and sufficiently accurate structure-preserving coefficient rounding perturb both it and all required interior blocks by exponentially small amounts, preserving these polynomial bounds. + +If A is the block-diagonal interior matrix and S is the completed boundary Schur complement, then S inverse is the boundary principal block of H_aug inverse; hence its norm is polynomial. Also + +`||S||<=||H_BB||+||H_BI|| ||A^-1|| ||H_IB||=poly(p)`. + +This is enough for the completed Schur map. To justify a particular sequential block-LU implementation, its prefix factor norms still need to be checked. The natural physical-prefix elimination sets consist of one contiguous selected-source prefix plus disjoint future interiors, with identity hole columns. That geometry offers the same uniform contiguous-block inverse bound; it should be made explicit in the assembly proof. + +## 4. Exact local Toeplitz split and guard range + +Choose an anchor m inside the target cell, and write x=i-m, y=k-m, + +`delta=(1-lambda)m-c`, with |delta|<=1/2. + +Then the exact factorization is + +`K_(k,i)=Drow(y) G(y,x) Dcol(x)`, + +`G(y,x)=exp[-b0 lambda(x-y)^2]`, + +`Dcol(x)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(y)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`. + +Expansion gives exactly `-b0(delta+x-lambda*y)^2`; no approximate recentering is involved. On a phase cell of O(d) coordinates, the two diagonal logarithmic ranges are O(d/alpha^2). These are smaller than the O(alpha^2 d) narrow inverse gauges already paid by the proposed group size. + +## 5. SPD Toeplitz conditioning for the shallow circuit + +Let `gamma=b0 lambda=pi/(alpha^2 rho)`. The full Gaussian Toeplitz symbol has, by the Gaussian Poisson identity, + +`f(omega)=sqrt(pi/gamma) sum_(k in Z) exp[-(omega+2pi*k)^2/(4gamma)]`. + +For -pi<=omega<=pi, + +`sqrt(pi/gamma) exp[-pi^2/(4gamma)] <= f(omega) <= 1+sqrt(pi/gamma)`. + +Every finite principal Gaussian Toeplitz matrix has eigenvalues between these same bounds, by integrating the squared modulus of its coefficient polynomial against f. At alpha^2=O(log p), its condition number is polynomial in p. Truncation width O(sqrt(p/gamma)) and Cp-bit rounding perturb the matrix far less than its lower eigenvalue, so the actual symmetric rounded Toeplitz Ghat remains SPD with polynomial condition number. + +The low-displacement block-LU circuit of SHALLOW-TOEPLITZ.md extends from near identity to this SPD setting: every principal Schur complement has norm at most lambda_max and inverse norm at most lambda_min^-1, and ranks grow by the same additive displacement recurrence. Shear coefficients are polynomial in p; multiplying these bounds along O(log d) recursive levels gives exp(O(log^2 p)) partial-prefix growth. This calls for O(log^2 p) internal circuit guard bits per axis, rather than claiming the near-identity theorem's O(log p) unchanged. It is still below the group budget dominated by the local Gaussian diagonals. + +Dyadic interior subdivision from LOG-A-PHASE-SCHUR-AUDIT.md applies here too, using the broader width O(sqrt(p alpha^2)). It keeps target holes and separators as boundary, adds only polylogarithmic boundary volume, and lets every interior use a dyadic shallow circuit without 2^g padding. + +No numerical final exponent follows from these conditioning statements alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md new file mode 100644 index 0000000000..60d59bb378 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/HALO-THEOREM.md @@ -0,0 +1,271 @@ +# Fast tensor convolution by core blocks and sparse face corrections + +This gives a constructive replacement for g dense halo scans. It applies to +a **translation-invariant separable compact stencil**, with optional +diagonal conjugations whose coefficients and tile gauges satisfy the +precision and sequential-access conditions below. It does not claim that +the separate Gaussian product-tree factorization has this form. + +Let g consecutive active axes have dyadic lengths S_i, with +`h=max_i log2 S_i`. Earlier coordinates are outer prefix fibers. Later +coordinates are a complete payload R, so they need no keys or transposition. +Let V denote the total bit volume, including B-bit coefficient records and +all spectators. Assume B=Theta(p), `g h=O(p)`, and the active group grows +superpolynomially. A fixed number of tapes may hold O(V) bits. + +The operation is + +``` +(Tf)(x) = sum_{z in [-L,L]^g} [product_i k_i(z_i)] f(x-z mod S), +``` + +where `L=poly(p)`. A fixed or polylogarithmic number of these operations and +diagonal scans is allowed. Kernel coefficients, coefficient products and +the required intermediates have O(p)-bit representations under the supplied +normalization contract. The retained grouped convolution engine on a +binary field of width k has cost `O(V k^(1-q) polylog p)`. Polynomial-length +one-axis convolution also has its unconditional quasilinear bit algorithm; +it does not invoke the improved bound being proved. + +Choose a dyadic tile side N dividing every S_i, with `N>4L` and `gL/N=o(1)`. +Write `b=log2 N`, `k=gb`, and `K0=O(g(h+b)+log g)=O(gh)` for a correction key. +Require `K0^2=O(B)` or retain the explicit extra metadata term below. + +The complete cost is + +``` +O(V [ (gb)^(1-a) polylog p + + (gb)^(1-q) polylog p + + polylog p + + (gL/N) (K0 + g polylog p) ]) ++ polynomial(p) setup, +``` + +plus `O((gL/N)V K0^2/B)` if metadata arithmetic is not absorbed by records. +All scans, duplication, sparse sorts, local transposes and final output +order are included. In particular, there is no gV layout term. + +## 1. One support-limited gather + +Within the active group, gather its g low b-bit fields into a contiguous +suffix using the support-at-most-2gb extension proved in +`SUPPORT-ROUTER.md`. The remaining active coarse bits remain in their +possibly scrambled order. Every coarse tile is now one contiguous block +of N^g complete R-payloads. No other active coarse bit is put into a new +stable order, and no spectator coordinate is gathered. + +The initial and inverse gather together cost +`O(V (gb)^(1-a) polylog p)`. The explicit permutation maps each physical +coarse tile name back to its logical vector; that small map is used only +for tile setup and sparse correction metadata. + +## 2. Interior outputs from ordinary cyclic convolution + +Flatten a tile by `phi(x)=sum_i x_i N^(g-1-i)` into Q=N^g slots. Put the +product kernel at offsets `psi(z)=sum_i z_i N^(g-1-i) mod Q` in an ordinary +one-dimensional cyclic convolution kernel. These offsets are distinct: +reduce a putative collision modulo N, use `2L= p^eta`, `g -> infinity`; alternatively a supplied sequential dense +kernel generator is an explicit acceptable input. + +If every tile coordinate satisfies `L<=x_ij: [0,N). +``` + +These 2g rectangles are disjoint and contain every discarded output once. +Their required unwrapped input rectangles have intervals + +``` +ij: [-L,N+L). +``` + +Coordinates outside `[0,N)` are taken from the correct neighboring coarse +tile, including periodic wrap in each actual axis. All input dimensions +are less than 2N; no assumption of independent full 2N padding is used. + +The total copied input volume is exactly + +``` +M = 6L V/N^g * sum_{j=0}^{g-1} N^j (N+2L)^(g-1-j) + = 3V [ (1+2L/N)^g - 1 ] + = O((gL/N)V). +``` + +The corrected output volume is +`V [1-(1-2L/N)^g] = O((gL/N)V)`. The formulas count corner duplication +exactly. An individual corner may have many destinations; its total traffic +is already included in M. No bound by worst-case 2^g multiplicity is charged +to all records. + +## 4. One full scan generates all correction copies + +For each original core tile, recover its logical coarse coordinates once. +Scan its local coordinate tuple with a binary odometer. Maintain flags for +membership in the four fixed edge intervals `[0,L)`, `[0,2L)`, +`[N-2L,N)` and `[N-L,N)`. Only coordinates changed by the odometer update +their flags. The number of coordinate updates over a whole tile is +`Q(1+1/N+...)<2Q`. Comparisons cost O(log N), and counters/head resets use +the retained amortized stream-counter convention. Maintain a count of +active near-boundary flags. A nonexceptional record takes no scan through +the g flags. + +For an exceptional record, enumerate candidate first-boundary axes from +the flag tape and all valid neighboring-tile choices. The exact choices +are the ones implemented in `sparse_copies` in `check_halo.py`: earlier +axes stay in the original tile; the selected face axis has its own or one +adjacent tile; each later axis has its own tile plus an adjacent tile only +when within L of that edge. Every emitted record carries + +``` +(j, side, destination coarse tile, unwrapped local coordinates). +``` + +These are K0=O(gh) bits. Precompute the plus/minus-one forms of each logical +coarse coordinate once per tile. A copy's logical neighbor is generated +by selecting those forms, then encoding the known scrambled coarse order. +All carries, periodic wraps and changed tile order are explicit. Using +ordinary binary arithmetic gives O(K0^2) safe metadata work per copy. + +The full scan costs O(V polylog p). The exceptional flag scans and address +work cost O(M K0^2/B+M) in bit-volume units when R includes the B-bit record. +Their setup per coarse tile is absorbed by its N^g payload. This is not an +unpaid nonlinear boundary-signature evaluation on every payload bit. + +## 5. Sparse radix gather and fixed-tape local processing + +Within each *earlier-coordinate prefix fiber*, stable-radix sort the copies +by the displayed key, with unwrapped local coordinates in ordinary tensor +order. Only the g active axes occur in the key; all following spectator +coordinates remain one R-block payload. A radix pass scans each complete +header and payload, splits into two bucket tapes, concatenates, and resets +the same fixed set of tapes. Since K0=O(B), each pass costs O(M); K0 passes +cost O(M K0). No simultaneous open tape per tile, face or corner is needed. + +Sorted copies form the exact input rectangles of section 3, consecutively. +Process one rectangle at a time. For each axis, expose its current local +coordinate field, apply the length-polynomial one-dimensional convolution, +and crop L positions from each end. Thus its length changes from its input +interval to the corresponding output interval. Other axes remain unchanged +until their own pass. This yields the tensor product of the restricted +one-dimensional maps, hence the exact desired face outputs. + +Every current axis has length at most N+2L=poly(p). Its mixed-radix transpose +is the retained short-field construction: pad **only that field** to its +next power of two temporarily, move its O(log p) bits using O(log p) linear +block interchanges, remove the temporary padding, and use the correct new +field length on return. The temporary factor below two is removed before +the next axis. A rectangle therefore costs its volume times +`O(g polylog p)` for movement and unconditional polynomial-length arithmetic. +Summing over rectangles costs `O(M g polylog p)`. Signed/complex dyadic +convolution can use sign splitting and ordinary Kronecker packing with +O(p+log N)=O(p) guard bits, followed by the unconditional quasilinear integer +multiplier; no improved supplier is used on this sparse path. + +After cropping, attach each output's physical coarse-tile and flat inner +address. Their keys are distinct because the face output partition is +disjoint. A second sparse radix sort orders them as holes in the retained +core-output stream. One merge scan replaces exactly those holes. The inverse +support-limited gather restores the original axis-major stream, including +the initially displaced coarse coordinates. All metadata is discarded. + +## 6. Parameters for the proposed partial fusion + +Use `d=p^epsilon`, `h=Theta(p/d)`, `g=p^(1-epsilon-zeta)` with fixed positive +zeta and epsilon>5/6. Suppose `L=O(p polylog p)` and take the dyadic side +`N=2^ceil((3/2)log2 p)`. The actual S_i eventually exceed every polynomial, +so N divides them and each periodic window is shorter than S_i. + +Then `K0=O(p^(2(1-epsilon)-zeta) polylog p)` and `K0^2=o(p)`. The two sparse +cost multipliers satisfy + +``` +(gL/N) K0 = O(p^(5/2-3epsilon-2zeta) polylog p) = o(1), +(gL/N) g = O(p^(3/2-2epsilon-2zeta) polylog p) = o(1). +``` + +All halo work is therefore O(V polylog p), below the desired +`O(V g^(1-a) polylog p)` routing term. The core convolution is +`O(V g^(1-q) polylog p)` since log N=Theta(log p). + +The bounded-gauge condition cited in `PARTIAL-FUSION.md` remains payable: +with `a0=Theta(log d)` and theta=Theta(1/d), its variation is + +``` +g [a0 theta N + a0/theta] + = O(p^(5/2-2epsilon-zeta) polylog p + + p^(1-zeta) polylog p) + = o(p) +``` + +for epsilon>5/6 and fixed zeta>0. Thus the larger polynomial tile does not +consume the O(p)-bit guard budget. This checks a layout/precision inequality; +it does not establish the missing Gaussian convolution factorization. + +## Diagonal and factorization boundary + +The theorem also applies to a fixed or polylogarithmic composition of these +translation-invariant convolutions and diagonal factors if every diagonal +scan/factor page has a proved sequential O(V polylog p) implementation and +all normalized tile-core and tile-halo values use O(p) bits. A tile-dependent +common scalar gauge may multiply every input to that tile and divide its +outputs; boundary copies must use the **destination** tile's gauge. No +enormous diagonal is formed and later canceled numerically by assertion. + +A concrete sufficient diagonal implementation is available for +`D(x)=product_i d_i(x_i)`. Supply each one-axis factor page in coordinate +order, with all normalized prefix products bounded to O(p) bits. Traverse +the rectangle by nested coordinate loops and retain the g successive prefix +products on work tape. Multiply by the innermost factor once per record; +outer prefix updates occur once per complete inner row, then once per +complete inner rectangle, and so on. With side lengths at least two their +number is less than twice the record count. Singleton axes are folded into +one constant per rectangle. Rewinding a factor page costs its length and is +charged to the corresponding completed row. Ordinary O(p)-bit multiplication +therefore gives O(V polylog p) scan cost with O(gp) temporary bits. This +argument uses bounded normalized **prefix products**; bounds on the final +product alone do not suffice. + +It does **not** cover an unbounded collection of different short kernels +inside one tile, a product-tree level with factor-two padding on all g axes, +or an unspecified transform-dependent sparse correction. Those require a +new representation theorem. In particular, the Gaussian_fast/product-tree +algorithm is not silently substituted for the translation-invariant kernel +assumed here. + +## Finite evidence + +`check_halo.py` verifies 5,632 exact outputs in three two/three-axis cyclic +examples, with asymmetric signed kernels, nontrivial diagonal conjugations, +periodic coarse carries, scrambled coarse order, unique sparse gather/scatter +keys and all local sequential crops. Pure flattening gives 3,040 wrong +boundary outputs across these examples; all are repaired. The exact copied +volumes equal `3V[(1+2L/N)^g-1]` in every case. These are constructive finite +controls; the preceding scan, metadata and volume arguments give the +conditional asymptotic claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json new file mode 100644 index 0000000000..121a4ebf87 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/INDEPENDENT-FINAL-REVIEW.json @@ -0,0 +1,24 @@ +{ + "status": "NO_BLOCKING_GAP_FOUND_CONDITIONAL", + "unconditional_integer_multiplication_theorem": false, + "reviewed_current_phase_note_sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "same_assumption_kappa": "0.001672922349588871", + "additional_matrix_premise_kappa": "0.001673360105405778", + "fixed_nonblocking_finding": "Generic SPD prefix bound required absolute scale M and 1/m rather than condition number alone; current note corrected.", + "remaining_nonblocking_evidence_limit": "Union checker is an algebraic dictionary control, not a tape implementation or two-window reuse simulation.", + "reports": { + "core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856" + }, + "premises_not_independently_certified": [ + "finite bit/complex suppliers", + "exact common-frame/mutable-source realization", + "whole-call row hosting", + "semantic guard C1=1", + "retained prime packing and fixed-tape interfaces", + "paid arbitrary-width equal-chunk interchange", + "additional omega_C<=9/4 premise" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md new file mode 100644 index 0000000000..3bcf490a8c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/LOG-A-PHASE-SCHUR-AUDIT.md @@ -0,0 +1,140 @@ +# Audit: logarithmic Gaussian width retains the phase-cell Schur solver + +This audit checks the analytic hypotheses of the retained rad20 phase-cell solver at `a=pi alpha^2=Theta(log p)`, `theta=Theta(1/d)`, even though `a theta` tends to zero. It also audits the shallow Toeplitz circuit algebra and identifies the actual matrix that must be precomputed. It does not certify the final tensor layout or multiplication exponent. + +Read inputs: `references/semantic-bulk/rad20/reports/review-bulk-resampling.md`, `review-phase-cell-inverse.md`, `downstream-phase-cell-inverse.md`, and `work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md`. + +## 1. The sharp elementary diagonal-dominance estimate + +Let `rho=1+theta`, `beta_i=rho*i-q_i`, and let the Gaussian row coefficient at integer offset h be + +`n_i,h=exp(-a[(rho*h+beta_i)^2-beta_(i+h)^2])`. + +The h=0 coefficient is 1. Set `g_i=q_i-q_(i-1)` and `g_(i+1)=q_(i+1)-q_i`, each in {1,2}. For the nearest coefficients, + +`n_i,-1=exp(-a*g_i*(2rho-2beta_i-g_i))`, + +`n_i,+1=exp(-a*g_(i+1)*(2rho+2beta_i-g_(i+1)))`. + +If g_i=1, the first exponent is exactly `1+2theta-2beta_i`; if g_i=2, that gap forces `beta_i=1/2-theta`, so the upper exponent is at least `1+2theta+2beta_i`. Consequently + +`n_i,-1+n_i,+1` + +` <=exp(-a(1+2theta-2beta_i))+exp(-a(1+2theta+2beta_i))` + +` <=exp(-2a theta)+exp(-2a(1+theta))`. + +The last step is convexity in beta on [-1/2,1/2]. The two nearest directions cannot both be charged as exp(-2a theta). + +For |h|>=2, + +`(rho*h+beta_i)^2-beta_(i+h)^2 >= h^2-|h|`, + +so their entire two-sided tail is below `4 exp(-2a)` for a>=1. Therefore + +`||N-I||_infinity <= exp(-2a theta)+5 exp(-2a)`. + +This includes nonzero periodic diagonal aliases in the tail; no alias is silently omitted from this bound. + +For p>=101, theta>=1/(4p), and `a>=4 log(16p)`, + +`1-exp(-2a theta) >= 1-exp(-1/(2p)) >=1/(4p)`, + +`5exp(-2a)<=5/(16p)^8<1/(8p)`. + +Hence N has row diagonal-dominance margin at least `1/(8p)` in the following robust sense: after deleting its tiny nonzero diagonal aliases, its diagonal is 1 and its off-diagonal row sum is at most `1-1/(8p)`. In particular the fixed-width inverse theorem is not needed to supply the retained strict row dominance. + +Choose the legal integer alpha by + +`alpha=ceil(sqrt((4/pi)log(16p)))`. + +Then a has the required lower bound and is O(log p). The old sufficient condition `u>=ceil(log2(8p))` need not be reused: the direct estimate above replaces that prerequisite. + +## 2. Actual rounded H, interior matrices, and guard range + +Use exactly the retained structure: + +- `w=ceil(sqrt(16p/u))+2`, u=alpha^2=a/pi; +- cell weights `a_j=exp(-a(1/4-beta_j^2)/theta)`; +- one globally fixed downward dyadic Toeplitz kernel `Ghat_delta` for |delta|<=w, zero outside, with Ghat_0=1; +- positive downward dyadic weights ahat_j; +- within a physical cell, define H_jk **exactly** as `ahat_j Ghat_(j-k)/ahat_k`; +- across cells, use the retained downward Gaussian entries; set H_jj=1. + +Thus the actual interior block being inverted is + +`A_cell=diag(ahat) Ghat_cell diag(ahat)^-1`. + +It is not the unrounded Gaussian matrix, and its retained truncated Ghat is not silently replaced by the infinite Gaussian kernel. + +The weight range is + +`0<=-log a_j<=a/(4theta)=O(a d)` + +under theta between 1/(4d) and 1/(2d-1). The old eventual condition u*d<=p holds whenever d=p^epsilon, epsilon<1, and u=O(log p). It bounds the old rational perturbation calculation by the same `2^(O(p)) eta` allowance. The stronger range `O(a d)` should be used for grouped tensor precision, rather than charging O(p) independently for every axis. + +Choose the coefficient precision high enough that `||H-N||<1/(16p)`, including the Gaussian truncation, omitted diagonal aliases and weight-ratio rounding. The retained bound `p*2^(16p+7)*eta+2^(-46p)` at eta=2^(-32768p) is more than sufficient. Then H has diagonal 1, row gap at least `1/(16p)`, row norm below 2, and inverse norm at most 16p. All clipped principal windows inherit the same row gap. The physical period cut must remain a cell boundary, as in the retained bulk review. + +## 3. Schur complement bounds without an a*theta>1 assumption + +A scalar elimination step on a strictly row-diagonally-dominant matrix cannot decrease its minimum absolute row gap. For pivot k, + +`gap_i(new) >= gap_i(old)+(|a_ik|/|a_kk|) gap_k(old)`. + +The full absolute row sum also cannot increase, since the added update row has off-pivot sum less than |a_kk|. Induction applies regardless of the signs of filled entries. Since the diagonal begins real positive and the correction magnitude is below it, the surviving diagonal remains positive. + +Consequently the exact Schur complement + +`S=H_BB-H_BI H_II^-1 H_IB` + +has row gap at least `1/(16p)`, row norm below 2, positive diagonal, and + +`||S^-1||_infinity<=16p`. + +Principal interior inverses also have norm at most 16p. Rounding S by a row perturbation below 1/(32p) preserves gap at least 1/(32p) and inverse norm at most 32p. A row has O(w) nonzeros; the retained P-grid readily meets this target. These are polynomial bounds on arbitrary signed inputs, with no factor equal to the number of cells. + +The boundary geometry is unchanged: keep first/last w vertices of each physical cell, yielding O(s*w/d) boundary vertices and circular half-bandwidth at most 2w. Schur fill only joins the two end groups of one cell, while original cross-cell entries join neighboring end groups. Actual inverse and LU coefficient tables must be precomputed for this H/S, not imported from the old parameter values. + +Thus the retained banded/cyclic boundary solver's gap-dependent proof remains applicable with fixed constants enlarged. The proposed batched boundary arithmetic still needs its own data-layout and Strassen error audit, but there is no analytic conditioning obstruction at logarithmic a. + +## 4. Apply the shallow circuit directly to Ghat inverse + +Because a is eventually larger than 4pi, the symmetric Toeplitz matrix Ghat_cell satisfies + +`max(||Ghat_cell-I||_1,||Ghat_cell-I||_infinity)<1/8`. + +Downward rounding only decreases this off-diagonal sum. The shallow full-Toeplitz theorem therefore applies directly to Ghat_cell. Reverse the resulting invertible circuit and invert its gates to obtain Ghat_cell inverse. This avoids the two-branch Gohberg-Semencul difference entirely. The interior inverse is: + +1. multiply by diag(ahat)^-1; +2. apply the reversed shallow circuit for Ghat_cell; +3. multiply by diag(ahat). + +Its only superpolynomial individual scale comes from the **local** weight range O(a d). Completed A_cell inverse has polynomial norm by the strict row gap. Across g axes, the uncompleted local weight contribution is at most exp(O(g*a*d)); choosing `g<=p/(d polylog p)` with sufficient logarithmic slack keeps the total data precision O(p). The shallow circuit contributes polynomial-in-d amplification per axis, hence only O(g log d) additional logarithmic range. This is a guard calculation, not a complete simultaneous-layer routing proof. + +## 5. Independent shallow-Toeplitz algebra audit and a length caveat + +The parity-split triangular identity, block Schur displacement formulas, Stein-generator telescoping identity, and bounded-prefix induction in SHALLOW-TOEPLITZ.md check algebraically. In particular the parity children run in parallel, avoiding the earlier erroneous sequential-depth recurrence. The full block-LU recursion also runs its two children in parallel, with O(log N) displacement rank after O(log N) levels. + +That document currently states its circuit theorem for dyadic N. Actual cell interiors are not generally dyadic. Padding every tensor axis to its next power of two would be invalid. A plausible exact extension has been communicated to its author: split an arbitrary N into balanced sizes differing by at most one; a near-square rectangular Toeplitz dirty shear is a square Toeplitz shear plus one extra row/column rank-one shear. The latter can be implemented by a binary tree of unitary 2-coordinate reductions and its inverse, without clean ancilla. The rectangular Stein identity telescopes as before. This extension needs its own written proof/controls before it is used as an established interface. + +No new final kappa is asserted by this audit. + +## 6. Dyadic interior subdivision resolves the length caveat + +No arbitrary-length shallow FFT theorem is actually needed. Refine the interior/boundary partition inside each original physical phase cell of length L as follows. Keep its first and last w vertices as boundary. Starting with the remaining interval of length R=L-2w: + +- while R>4w, choose the largest power of two B<=R-w; +- mark the next B vertices as one interior, the following w vertices as boundary, and replace R by R-B-w; +- once R<=4w, mark all remaining vertices as boundary. + +Every interior now has exactly dyadic length. If R>4w, then `B>(R-w)/2`, so the next remainder is less than R/2. There are `O(1+log(L/w))` interiors and the total boundary count in the cell is `O(w(1+log(L/w)))`. The final boundary group, including the initially reserved last w vertices, has size at most 5w; all inserted separators have size w. + +The width-w matrix H cannot connect two different new interiors: their separating boundary gap has w vertices, so their nearest physical coordinates differ by w+1. Each new interior is still a principal block of the SAME globally fixed Toeplitz-similar cell matrix. Its weights retain the original cell gauge; there is no new rescaling or rerounding at a subdivision boundary. + +Eliminating one dyadic interior fills only between its immediately neighboring boundary groups. Each such group has O(w) vertices. Original H edges also connect only the same group or neighboring groups; an interior has length greater than w in the loop above. Thus, in inherited physical boundary order, the new Schur complement has half-bandwidth O(w), not O(w log d). Only its number of rows grows by O(log d): + +`n_boundary=O((s/d) w log d)`. + +Clipped endpoint cells of size O(w) may be declared wholly boundary, adding only O(w) rows; preserve the original physical period cut. This is the same endpoint convention as the retained bulk review. + +The boundary solve and coupling work therefore gain only polylogarithmic factors. All dyadic interior blocks use the established SHALLOW-TOEPLITZ theorem directly, without padding any tensor axis and without requiring a non-dyadic Fourier circuit. This resolves the length caveat in section 5 for the intended phase-cell application; it does not prove the separate simultaneous tensor-layer routing claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json new file mode 100644 index 0000000000..423d53d1eb --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST-UPDATE.json @@ -0,0 +1,172 @@ +{ + "ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "README.txt": "c0a7a1216652ad7d2f9ce09d16011d015e8205212edce3349f383115c9c287b5", + "REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c", + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "evidence/radical_reduction_ultra/README.md": "7fb6138ac39689c6ffd9da2fab3e4f0e81008423554b8dfffea2d139929bd130", + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "frontier_fusion/T74-APPENDIX.tex": "591f16424301eb186066d8ddea743b0a4115d1f7cd378921c688e1ec413b6d55", + "frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json new file mode 100644 index 0000000000..02f55a7351 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MANIFEST.json @@ -0,0 +1,609 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_AND_MATRIX_COROLLARY_REVIEW", + "files": { + "ALGEBRAIC-STABILITY-INDEPENDENT.md": { + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + "BILATERAL-LDU.md": { + "bytes": 6305, + "sha256": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77" + }, + "CAPPED-GAUGE-AUDIT.md": { + "bytes": 9176, + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f" + }, + "CAPPED-INTERIORS.md": { + "bytes": 7284, + "sha256": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba" + }, + "CAPPED-OUTER-ARITHMETIC.json": { + "bytes": 15832, + "sha256": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec" + }, + "CAPPED-SIGNOFF.md": { + "bytes": 4414, + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a" + }, + "FORWARD-SMALL-A-AUDIT.md": { + "bytes": 6689, + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0" + }, + "HALO-THEOREM.md": { + "bytes": 12777, + "sha256": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + }, + "INDEPENDENT-FINAL-REVIEW.json": { + "bytes": 1375, + "sha256": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501" + }, + "LOG-A-PHASE-SCHUR-AUDIT.md": { + "bytes": 10642, + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272" + }, + "MATRIX-COROLLARY-ARITHMETIC.json": { + "bytes": 16783, + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a" + }, + "MATRIX-COROLLARY-REVIEW.json": { + "bytes": 7362, + "sha256": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6" + }, + "MATRIX-COROLLARY.md": { + "bytes": 5787, + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221" + }, + "MATRIX-LAYOUT-CONTROLS.json": { + "bytes": 1446, + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a" + }, + "MATRIX-LAYOUT-SIGNOFF.md": { + "bytes": 3081, + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4" + }, + "MATRIX-SOURCE-CONSTRUCTIONS.json": { + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + "MATRIX-SOURCE-COVERAGE.json": { + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + "MATRIX-TRANSFER-MANIFEST.json": { + "bytes": 1159, + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2" + }, + "OUTER-ARITHMETIC.json": { + "bytes": 13871, + "sha256": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020" + }, + "OUTER-AUDIT.md": { + "bytes": 13831, + "sha256": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc" + }, + "PHASE-LAYOUT-AUDIT.md": { + "bytes": 11774, + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a" + }, + "PROOF-AND-COVERAGE.md": { + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + "README.txt": { + "bytes": 3032, + "sha256": "c0a7a1216652ad7d2f9ce09d16011d015e8205212edce3349f383115c9c287b5" + }, + "REVIEW-RECEIPT.json": { + "bytes": 3579, + "sha256": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800" + }, + "ROOT-EXACT-REPLAY.json": { + "bytes": 4315, + "sha256": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994" + }, + "ROOT-MATRIX-EXACT-REPLAY.json": { + "bytes": 1875, + "sha256": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225" + }, + "SHALLOW-TOEPLITZ.md": { + "bytes": 15480, + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310" + }, + "SUPPLIER-SUPPORT-AUDIT.md": { + "bytes": 16557, + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6" + }, + "SUPPORT-ADVERSARIAL-AUDIT.md": { + "bytes": 11276, + "sha256": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d" + }, + "SUPPORT-ROUTER.md": { + "bytes": 7755, + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54" + }, + "TENSOR-COMPILER.md": { + "bytes": 13430, + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15" + }, + "check_capped_outer.py": { + "bytes": 5692, + "sha256": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a" + }, + "check_matrix_corollary.py": { + "bytes": 6692, + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f" + }, + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": { + "bytes": 332, + "sha256": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab" + }, + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": { + "bytes": 6305, + "sha256": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77" + }, + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": { + "bytes": 9176, + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f" + }, + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": { + "bytes": 446, + "sha256": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120" + }, + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": { + "bytes": 208, + "sha256": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c" + }, + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": { + "bytes": 235, + "sha256": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90" + }, + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": { + "bytes": 336, + "sha256": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc" + }, + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": { + "bytes": 6689, + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0" + }, + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": { + "bytes": 10642, + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272" + }, + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": { + "bytes": 412, + "sha256": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d" + }, + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": { + "bytes": 411, + "sha256": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52" + }, + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": { + "bytes": 9538, + "sha256": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30" + }, + "evidence/gaussian_fast_ultra/README.md": { + "bytes": 3171, + "sha256": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0" + }, + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": { + "bytes": 11830, + "sha256": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0" + }, + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": { + "bytes": 466, + "sha256": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76" + }, + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": { + "bytes": 3236, + "sha256": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd" + }, + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": { + "bytes": 231, + "sha256": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d" + }, + "evidence/gaussian_fast_ultra/check_bilateral.py": { + "bytes": 1870, + "sha256": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0" + }, + "evidence/gaussian_fast_ultra/check_capped_gauges.py": { + "bytes": 2966, + "sha256": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f" + }, + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": { + "bytes": 948, + "sha256": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61" + }, + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": { + "bytes": 1586, + "sha256": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1" + }, + "evidence/gaussian_fast_ultra/check_forward_cell.py": { + "bytes": 1591, + "sha256": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90" + }, + "evidence/gaussian_fast_ultra/check_log_a_schur.py": { + "bytes": 1938, + "sha256": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41" + }, + "evidence/gaussian_fast_ultra/check_lower.py": { + "bytes": 3977, + "sha256": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95" + }, + "evidence/gaussian_fast_ultra/check_upper_data.py": { + "bytes": 3189, + "sha256": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d" + }, + "evidence/gaussian_fast_ultra/check_upper_merge.py": { + "bytes": 1593, + "sha256": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780" + }, + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": { + "bytes": 928, + "sha256": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f" + }, + "evidence/halo_layout_ultra/HALO-CONTROLS.json": { + "bytes": 2860, + "sha256": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828" + }, + "evidence/halo_layout_ultra/HALO-THEOREM.md": { + "bytes": 12777, + "sha256": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + }, + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": { + "bytes": 632, + "sha256": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76" + }, + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": { + "bytes": 757, + "sha256": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6" + }, + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": { + "bytes": 4130, + "sha256": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25" + }, + "evidence/halo_layout_ultra/README.md": { + "bytes": 2962, + "sha256": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c" + }, + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": { + "bytes": 2910, + "sha256": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26" + }, + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": { + "bytes": 725, + "sha256": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871" + }, + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": { + "bytes": 7755, + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54" + }, + "evidence/halo_layout_ultra/check_embedding.py": { + "bytes": 1172, + "sha256": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464" + }, + "evidence/halo_layout_ultra/check_halo.py": { + "bytes": 7088, + "sha256": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7" + }, + "evidence/halo_layout_ultra/check_ragged.py": { + "bytes": 3554, + "sha256": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78" + }, + "evidence/halo_layout_ultra/check_sparse_shear.py": { + "bytes": 3770, + "sha256": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121" + }, + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": { + "bytes": 1919, + "sha256": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c" + }, + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": { + "bytes": 1375, + "sha256": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501" + }, + "evidence/independent_fusion_review_ultra/core_review.md": { + "bytes": 11639, + "sha256": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1" + }, + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": { + "bytes": 13105, + "sha256": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430" + }, + "evidence/independent_fusion_review_ultra/layout_subreview.md": { + "bytes": 8632, + "sha256": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a" + }, + "evidence/independent_fusion_review_ultra/union_subreview.md": { + "bytes": 4611, + "sha256": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856" + }, + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": { + "bytes": 3590, + "sha256": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da" + }, + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": { + "bytes": 3920, + "sha256": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12" + }, + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": { + "bytes": 1549, + "sha256": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709" + }, + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": { + "bytes": 15480, + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310" + }, + "evidence/inplace_algebra_ultra/SOURCES.json": { + "bytes": 1174, + "sha256": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": { + "bytes": 5815, + "sha256": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": { + "bytes": 511, + "sha256": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c" + }, + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": { + "bytes": 16557, + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6" + }, + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": { + "bytes": 11276, + "sha256": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d" + }, + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": { + "bytes": 2809, + "sha256": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada" + }, + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": { + "bytes": 13430, + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15" + }, + "evidence/inplace_algebra_ultra/check_circuits.py": { + "bytes": 10774, + "sha256": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5" + }, + "evidence/inplace_algebra_ultra/check_exact_algebra.py": { + "bytes": 4388, + "sha256": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab" + }, + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": { + "bytes": 1646, + "sha256": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78" + }, + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": { + "bytes": 10402, + "sha256": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a" + }, + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": { + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": { + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": { + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": { + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + "evidence/matrix_boundary_ultra/check_source_constructions.py": { + "bytes": 6388, + "sha256": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c" + }, + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": { + "bytes": 7284, + "sha256": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba" + }, + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": { + "bytes": 15832, + "sha256": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": { + "bytes": 16783, + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": { + "bytes": 7362, + "sha256": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6" + }, + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": { + "bytes": 5787, + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221" + }, + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": { + "bytes": 13871, + "sha256": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020" + }, + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": { + "bytes": 13831, + "sha256": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc" + }, + "evidence/phase_assembly_ultra/README.md": { + "bytes": 1708, + "sha256": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246" + }, + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": { + "bytes": 3579, + "sha256": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800" + }, + "evidence/phase_assembly_ultra/check_capped_outer.py": { + "bytes": 5692, + "sha256": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a" + }, + "evidence/phase_assembly_ultra/check_matrix_corollary.py": { + "bytes": 6692, + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f" + }, + "evidence/phase_assembly_ultra/check_outer.py": { + "bytes": 5355, + "sha256": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10" + }, + "evidence/phase_layout_audit_ultra/AUDIT.md": { + "bytes": 11774, + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a" + }, + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": { + "bytes": 3292, + "sha256": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c" + }, + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": { + "bytes": 4414, + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a" + }, + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": { + "bytes": 1446, + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a" + }, + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": { + "bytes": 3081, + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4" + }, + "evidence/phase_layout_audit_ultra/PARAMETERS.json": { + "bytes": 762, + "sha256": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92" + }, + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": { + "bytes": 1297, + "sha256": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d" + }, + "evidence/phase_layout_audit_ultra/README.md": { + "bytes": 2558, + "sha256": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af" + }, + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": { + "bytes": 1434, + "sha256": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9" + }, + "evidence/phase_layout_audit_ultra/check_capped_layout.py": { + "bytes": 3232, + "sha256": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd" + }, + "evidence/phase_layout_audit_ultra/check_q_embedding.py": { + "bytes": 2408, + "sha256": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6" + }, + "evidence/phase_layout_audit_ultra/check_union.py": { + "bytes": 5165, + "sha256": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce" + }, + "evidence/radical_reduction_ultra/CONTROLS.json": { + "bytes": 416, + "sha256": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2" + }, + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": { + "bytes": 425, + "sha256": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef" + }, + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": { + "bytes": 329, + "sha256": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38" + }, + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": { + "bytes": 3422, + "sha256": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb" + }, + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": { + "bytes": 12801, + "sha256": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3" + }, + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": { + "bytes": 313, + "sha256": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8" + }, + "evidence/radical_reduction_ultra/LEDGER.json": { + "bytes": 1987, + "sha256": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e" + }, + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": { + "bytes": 362, + "sha256": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4" + }, + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": { + "bytes": 3234, + "sha256": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2" + }, + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": { + "bytes": 4169, + "sha256": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5" + }, + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": { + "bytes": 467, + "sha256": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11" + }, + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": { + "bytes": 399, + "sha256": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452" + }, + "evidence/radical_reduction_ultra/README.md": { + "bytes": 18511, + "sha256": "7fb6138ac39689c6ffd9da2fab3e4f0e81008423554b8dfffea2d139929bd130" + }, + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": { + "bytes": 7276, + "sha256": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5" + }, + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": { + "bytes": 8219, + "sha256": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7" + }, + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": { + "bytes": 322, + "sha256": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2" + }, + "evidence/radical_reduction_ultra/TASK.md": { + "bytes": 2172, + "sha256": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611" + }, + "evidence/radical_reduction_ultra/check_constructions.py": { + "bytes": 6600, + "sha256": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316" + }, + "evidence/radical_reduction_ultra/check_erasure_rounding.py": { + "bytes": 1509, + "sha256": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795" + }, + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": { + "bytes": 2440, + "sha256": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0" + }, + "evidence/radical_reduction_ultra/check_holes.py": { + "bytes": 2909, + "sha256": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8" + }, + "evidence/radical_reduction_ultra/check_ledger.py": { + "bytes": 2289, + "sha256": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5" + }, + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": { + "bytes": 1795, + "sha256": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913" + }, + "evidence/radical_reduction_ultra/check_positive_tree.py": { + "bytes": 3454, + "sha256": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37" + }, + "evidence/radical_reduction_ultra/check_q_ldu.py": { + "bytes": 2689, + "sha256": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc" + }, + "evidence/radical_reduction_ultra/check_sylvester_factor.py": { + "bytes": 1955, + "sha256": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced" + }, + "gaussian_fixed_width_note.tex": { + "bytes": 8328, + "sha256": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab" + }, + "phase_fusion_note.tex": { + "bytes": 33757, + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json new file mode 100644 index 0000000000..54ad0ed498 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-ARITHMETIC.json @@ -0,0 +1,414 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "scope": "Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.", + "review": { + "integrated": "Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.", + "matrix_source": "PROOF-AND-COVERAGE.md", + "effective_stability": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "independent_layout": "MATRIX-LAYOUT-SIGNOFF.md" + }, + "omitted_row": { + "name": "optional full-coordinate-key union surcharge", + "reason": "The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost." + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_union": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "capped_block_power": { + "rational": "6006737803538363603786961767383/8006701850307232414091700000000", + "decimal": "0.75021374791267813012557319136042532178866352100676648857598350268" + }, + "beta_group": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "matrix_exponent": { + "rational": "19/8", + "decimal": "2.375" + }, + "matrix_source_bound": { + "rational": "9/4", + "decimal": "2.25" + }, + "c_boundary": { + "rational": "5/16", + "decimal": "0.3125" + }, + "kappa": { + "rational": "836680052702889/500000000000000000", + "decimal": "0.001673360105405778" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "first_reviewed_transfer": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "group_bit_router": { + "rational": "536821745603195808901091315103570008424470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601278950405581831414454417167161806227872696731761529052912" + }, + "group_scans": { + "rational": "805348355725539986393675267555861382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.25104009637737138807709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix": { + "rational": "6840475465266695248410101923394927751720175749186737/106934890394947765067678508918528712735786696300000000", + "decimal": "0.063968602202727648328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement": { + "rational": "540029788308430619120633021537184169040543916310211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016833601154057784538170479517203762842018888767028492264912297200" + }, + "polynomial_products": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections": { + "rational": "2942281014059281127650388129972348509431467852/1069348903949477650676785089185287127357866963", + "decimal": "2.7514696122027276483282438565912950544955383678699363606505077270" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "epsilon_below_one": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "capped_block_above_band": { + "rational": "2003386878384747396741111767383/8006701850307232414091700000000", + "decimal": "0.25021374791267813012557319136042532178866352100676648857598350268" + }, + "capped_block_below_cell": { + "rational": "26576677783154481335239432113645294978213166844563263/106934890394947765067678508918528712735786696300000000", + "decimal": "0.24853139779727235167175614340870494550446163213006363934949227296" + }, + "group_positive": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "group_below_dimension": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "support_router_span": { + "rational": "60067458903072324140917/80067018503072324140917", + "decimal": "0.75021475791267813012557319136042532178866352100676648857598350268" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "4022423132330408193934897047393826212218815399111/3208046711848432952030355267555861382073600889000000", + "decimal": "0.0012538542900495182026706652308697327068748468631698720745242243534" + }, + "actual_logarithmic_gamma_guard": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "membership_arithmetic_fits_record": { + "rational": "799557574981283569669931024199112872642133037/1069348903949477650676785089185287127357866963", + "decimal": "0.74770504933257909372023186089868585637491382728042674442693505398" + }, + "sparse_union_fraction_decays": { + "rational": "3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "0.00042850582535626025114638272085064357732704201353297715196700536668" + }, + "microbox_halo_volume": { + "rational": "380335532915361620704585/80067018503072324140917", + "decimal": "4.7502147579126781301255731913604253217886635210067664885759835027" + }, + "union_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "matrix_exponent_above_source_bound": { + "rational": "1/8", + "decimal": "0.125" + }, + "matrix_exponent_below_five_halves": { + "rational": "1/8", + "decimal": "0.125" + }, + "short_record_fallback": { + "rational": "127945844731945360830644877923109261450553910111686139566638347524787/128321868473937318081214210702234455282944035560000000000000000000000", + "decimal": "0.99706968308314237827440433476913026729312515313683012792547577565" + }, + "improvement_over_selected": { + "rational": "34995416443/50000000000000000", + "decimal": "6.9990832886E-7" + }, + "improvement_over_first_reviewed_transfer": { + "rational": "437755816907/1000000000000000000", + "decimal": "4.37755816907E-7" + }, + "main_transform_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "84100856093020917/40000000000000000000000", + "decimal": "0.000002102521402325522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "group_bit_router_above_kappa": { + "rational": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "2.2489262558183141445441716716180622787269673176152905291235206499E-11" + }, + "group_scans_above_kappa": { + "rational": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.24936673627196561007709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "0.062295242097321870328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement_above_kappa": { + "rational": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.000010000010000000453817047951720376284201888876702849226491229720034" + }, + "polynomial_products_above_kappa": { + "rational": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.99707178560454470379732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections_above_kappa": { + "rational": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "2.7497962520973218703282438565912950544955383678699363606505077270" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_union_slack": { + "union_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-671293102421548330224240638726085360914759610620097483268321/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "-0.00041850581535625979732933476913026729312515313683012792547577564665" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-265766767138055773857617814368602057929260394866963/1069348903949477650676785089185287127357866963000000", + "decimal": "-0.24853138779727235167175614340870494550446163213006363934949227296" + } + }, + "full_key_sort_on_union": { + "unnecessary_union_full_key_sort_above_kappa": { + "rational": "-3349871895112392252395010152271923003071/13344503083845387356819500000000000000000", + "decimal": "-0.25103009636737138762328042591872403463400943697970053427204949195" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json new file mode 100644 index 0000000000..fea12fbe37 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY-REVIEW.json @@ -0,0 +1,164 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:11:15.272021+00:00", + "kappa": "836680052702889/500000000000000000", + "kappa_decimal": "0.001673360105405778", + "upstream_selected_unchanged": true, + "base_transfer_preserved": "CAPPED-OUTER-ARITHMETIC.json and REVIEW-RECEIPT.json", + "additional_hypothesis": "The supplied Matrix Multiplication in Nine Fourths theorem gives omega_C<=9/4; apply the independently audited effective algebraic transfer at tau=19/8.", + "limitations": [ + "All finite supplier, common-frame, whole-call, semantic precision, fixed-tape and prime-packing assumptions of the first transfer remain.", + "No generated competitive finite matrix formula or practical runtime claim is made; the fixed formula search is effective but may have enormous constant cost.", + "This is a local conditional corollary, not an upstream selected certificate or an unconditional integer-multiplication theorem." + ], + "reviews": [ + { + "reviewer": "root agent", + "result": "Read matrix corollary and independent layout signoff; reproduced exact parameters/ledger and matrix construction controls; approved integrated conditional corollary." + }, + { + "reviewer": "matrix_boundary agent", + "result": "Read all 1022 supplied source lines and audited effective algebraic coefficient, fixed-tape, precision and rank-exponent transfer." + }, + { + "reviewer": "global_macro agent", + "result": "Independent new-parameter no-sort union, metadata, q-ordering and microhalo layout signoff." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read both complete matrix transfer notes and independent layout signoff; constructed and replayed 47-slack ledger and six rejecting controls." + }, + { + "reviewer": "independent_fusion_review agent and independent children", + "result": "No blocking gap found under stated assumptions after full compiler, support, Gaussian, layout and tape-cost review. Generic SPD scale wording corrected without changing parameters. See independent FINAL-REVIEW.json." + } + ], + "arithmetic": { + "positive_slacks": 47, + "rejecting_controls": 6, + "minimum_saving": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "files": [ + { + "bundle_filename": "phase_fusion_note.tex", + "source_path": "work/phase_assembly_ultra/phase_fusion_note.tex", + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "bytes": 33757 + }, + { + "bundle_filename": "MATRIX-COROLLARY.md", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY.md", + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "bytes": 5787 + }, + { + "bundle_filename": "check_matrix_corollary.py", + "source_path": "work/phase_assembly_ultra/check_matrix_corollary.py", + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "bytes": 6692 + }, + { + "bundle_filename": "MATRIX-COROLLARY-ARITHMETIC.json", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json", + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "bytes": 16783 + }, + { + "bundle_filename": "PROOF-AND-COVERAGE.md", + "source_path": "work/matrix_boundary_ultra/PROOF-AND-COVERAGE.md", + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "bytes": 12130 + }, + { + "bundle_filename": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "source_path": "work/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md", + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "bytes": 11743 + }, + { + "bundle_filename": "MATRIX-SOURCE-COVERAGE.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-COVERAGE.json", + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "bytes": 2839 + }, + { + "bundle_filename": "MATRIX-SOURCE-CONSTRUCTIONS.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json", + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "bytes": 21018 + }, + { + "bundle_filename": "MATRIX-TRANSFER-MANIFEST.json", + "source_path": "work/matrix_boundary_ultra/MANIFEST.json", + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "bytes": 1159 + }, + { + "bundle_filename": "MATRIX-LAYOUT-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md", + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "bytes": 3081 + }, + { + "bundle_filename": "MATRIX-LAYOUT-CONTROLS.json", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json", + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "bytes": 1446 + }, + { + "bundle_filename": "PHASE-LAYOUT-AUDIT.md", + "source_path": "work/phase_layout_audit_ultra/AUDIT.md", + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "bytes": 11774 + }, + { + "bundle_filename": "CAPPED-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md", + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "bytes": 4414 + }, + { + "bundle_filename": "CAPPED-GAUGE-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md", + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "bytes": 9176 + }, + { + "bundle_filename": "LOG-A-PHASE-SCHUR-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md", + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "bytes": 10642 + }, + { + "bundle_filename": "FORWARD-SMALL-A-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md", + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "bytes": 6689 + }, + { + "bundle_filename": "SHALLOW-TOEPLITZ.md", + "source_path": "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md", + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "bytes": 15480 + }, + { + "bundle_filename": "TENSOR-COMPILER.md", + "source_path": "work/inplace_algebra_ultra/TENSOR-COMPILER.md", + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "bytes": 13430 + }, + { + "bundle_filename": "SUPPLIER-SUPPORT-AUDIT.md", + "source_path": "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md", + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "bytes": 16557 + }, + { + "bundle_filename": "SUPPORT-ROUTER.md", + "source_path": "work/halo_layout_ultra/SUPPORT-ROUTER.md", + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "bytes": 7755 + } + ], + "post_review_correction": "Generic SPD prefix bound records both M and 1/m, not condition number alone; actual Gaussian bounds already satisfy it." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md new file mode 100644 index 0000000000..f08bb57f9c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-COROLLARY.md @@ -0,0 +1,72 @@ +# Additional corollary using the supplied matrix-exponent theorem + +Status: **PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW**. The independent matrix-transfer and new-parameter layout audits passed, followed by the integrated root review and exact ledger replay. The first, Strassen-based result `kappa=0.001672922349588871` remains separately reviewed and unchanged. Neither result changes the upstream selected certificate. + +This corollary has an **additional hypothesis**: the supplied *Matrix Multiplication in Nine Fourths* theorem gives `omega_C<=9/4`. Its complete-source audit is `PROOF-AND-COVERAGE.md`; the effective approximate-bit transfer is `ALGEBRAIC-STABILITY-INDEPENDENT.md`. The result here retains every supplier and all-size assumption of the first phase-fusion theorem. + +## Effective matrix operation with the required error interface + +Fix `tau=19/8>9/4`. The matrix exponent theorem supplies a fixed block dimension m and rank r with `r0`. All local coefficient pages remain polynomial in p, while `L^g` remains superpolynomial. Microedge correction has exponent `epsilon+beta-3<-1.75`, including the generous old scalar arithmetic bound. Sparse microhalo key passes remain explicitly paid inside that negligible budget. + +All forward q-image group embeddings occur in native axis-major order before the one global low-bit gather. All compression q-image extractions occur after the inverse global gather. The entire Gaussian calculation keeps full dyadic target coordinate ranges, so every globally invoked H stage has complete coarse labels. This schedule needs no per-group gathering of the whole long-axis fields; the q-image scans have the already-paid Vd/g cost. + +The **optional full-group-key sort surcharge on the sparse union is omitted** because it is absent from the actual algorithm. The reviewed union routine extracts the complete rectangle `U_i=E_i x [L]^(g-1)`, transposes only its one polynomial-size field, computes its axis operator, and merges it into U in the original order. It does not radix-sort U. Reintroducing that sort is a rejecting control in the new ledger; it would destroy this parameter choice. This omission relies on the existing positive layout proof, not on the matrix theorem. + +`check_matrix_corollary.py` verifies 47 exact positive slacks and six rejecting controls and writes `MATRIX-COROLLARY-ARITHMETIC.json`. The rejected variants are endpoint equality, zero group guard, zero union slack, the old Vd row, the old full-cell data gauge, and adding a full-key sort to U. The first theorem's records are not overwritten. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json new file mode 100644 index 0000000000..aee3270196 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-CONTROLS.json @@ -0,0 +1,30 @@ +{ + "status": "PASS_MATRIX_COROLLARY_NO_SORT_LAYOUT", + "source_sha256": "b0d4648e16df74fc0a3644baa8a82cbb82842c0aa21abe915a28c0c4c949182a", + "exponents": { + "union_fraction": { + "rational": "-3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "-0.000428505825356260251146382720850643577327042013532977151967005" + }, + "membership": { + "rational": "269791328968194081006854064986174254715733926/1069348903949477650676785089185287127357866963", + "decimal": "0.252294950667420906279768139101314143625086172719573255573065" + }, + "total_union": { + "rational": "320264641396534864583914893734048954038319544983689789/320804671184843295203035526755586138207360088900000000", + "decimal": "0.998316639884594221546182952048279623715798111123297150773509" + }, + "group_scans": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.748959903622628611922902526129555589081788674143596616501459" + }, + "microhalo_fraction": { + "rational": "-380335532915361620704585/80067018503072324140917", + "decimal": "-4.75021475791267813012557319136042532178866352100676648857598" + }, + "rejected_union_full_key": { + "rational": "3334408963974161672450196077539/2668900616769077471363900000000", + "decimal": "1.24935673626196560962328042591872403463400943697970053427205" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md new file mode 100644 index 0000000000..d683e4d495 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/MATRIX-LAYOUT-SIGNOFF.md @@ -0,0 +1,64 @@ +# Matrix-corollary layout: positive signoff + +The no-sort union layout in `AUDIT.md` applies unchanged to +`work/phase_assembly_ultra/MATRIX-COROLLARY.md`. Its algebraic conditions are +closed axis supports E_i and a complete microbox; neither its proof nor its +implementation requires gkappa`. The minimum excess is greater than `10^-11`. Consequently every fixed logarithmic factor and each use of the unconditional quasi-linear short arithmetic kernel can be absorbed in a single positive fraction of that excess. Floors, rounded alpha, and dyadic L alter constants or logarithmic factors. All claims are eventual in p; one fixed finite prefix of inputs can use the retained elementary fallback. This statement becomes an admitted theorem only when the named implementation hypotheses receive the intended full review. + +## Parameter convention + +Let `a_bit=0.001733427039589844234749` and `b=0.001675462676808103522925` be the retained lower bounds certified by the selected PR1094 replay. For applying the older compact recurrence, lower the usable bit saving to `a_eff=(b+q)/2`; this keeps its historical convention `a_eff0` with `(1-t_stop)b>a_eff` and `q<(1-t_stop)b`. + +For each visited coarse block and group, all required local coefficient pages can instead be regenerated in polynomial time in p: there are g local windows of size at most L=Theta(p^8), their rational origins have O(p/d) bits, and the published local coefficient/Schur/circuit constructors are polynomial in that size and requested precision. Recover local phases and anchor gauges from these origins; do not form a raw uncentered global q² exponential on the data. The page contains O(p)-bit online coefficients. Its polynomial setup and sequential loading are amortized by the complete `L^g` payload, which eventually dominates every fixed power of p. This gives an explicit access method even when the coarse labels are permuted; no random global coefficient-table lookup is assumed. + +Global chirps, twists, positive diagonal normalizations and exact scale factors are separable products. The prefix-product scan supplies their products in O(V polylog p), with completed scalar range `O(d alpha^2)=o(p)`. Packed polynomial products retain their saving epsilon. The finite supplier, exact common-label frame, whole-call hosting, semantic depth bound with C1=1, phase precision, prime packing and fixed-tape input/output assumptions are inherited unchanged. They are still conditional interfaces, as in the selected result. + +## Cost ledger, with conservative wide bandwidth + +Let `h_w=1/2` and `h_K=beta+1-epsilon`. Normalize all costs by V. Fixed logarithmic factors are absorbed by strict gaps. + +| Component | power of p | reason | +|---|---:|---| +| main transform | `1-epsilon*q` | deferred reservations | +| constant global coordinate routing | `1-a_eff` | paid support/full router | +| dense Gaussian groups | `epsilon-q*beta` | `(d/g) g^(1-q)` | +| grouped bit routing | `epsilon-a_eff*beta` | same grouping, bit supplier | +| one/fixed group scans | `epsilon-beta` | d/g groups | +| boundary algebra | `(omega-1)*h_w` | batched w-column Strassen | +| sparse union, basic movement | `beta+h_w` | V g w overall | +| sparse union, conservative key surcharge | `beta+h_w+h_K` | full active-group keys | +| polynomial products | `1-epsilon` | retained short polynomial products | +| core-face corrections | `epsilon+beta+3-8+2` | old local maps on sparse copies, with a loose p² allowance | + +Use the rational upper bound `omega<45/16`, checked by `7^16<2^45`. The target balances the first and third rows exactly before a fixed 10^-11 absorption backoff. + +This ledger is accepted only after its circuit tensorizer, grouped sparse route, target-grid core/halo adapter, forward small-a inverse bound, and deferred-reservation interfaces have written proofs. Exact positive inequalities alone do not discharge those interfaces. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json new file mode 100644 index 0000000000..c3977299d4 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PACKAGE-MANIFEST.json @@ -0,0 +1,185 @@ +{ + "ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "FINAL-PACKAGE-REVIEW.json": "3457385de52d8e86853d96026a70aef2e8dece516db9eea020d8774e01d076a8", + "FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "INDEPENDENT-FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "MANIFEST-UPDATE.json": "32c58bcab8e19ef895660331c13d31b5fae7d0c95f7cda4147870f29d8299f6d", + "MANIFEST.json": "9af581d640e9c69d513256cf69babb0717287642134cfc807cedcd79966c1706", + "MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "MATRIX-SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "MATRIX-SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "MATRIX-TRANSFER-MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "NATIVE-RECEIPT-CAPSULE.json": "a04d6bba3d15c11a219536b66a23012797484ae106ec1952ecd7b76f077ddb01", + "OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "PHASE-LAYOUT-AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "PUBLICATION-CHECKS.json": "6e2fb68e6768c3aa4224aacb4900263586fc8114815a51df40f3f9fdf6124217", + "PUBLICATION-SOURCES.json": "6082583794168b1c2320187214b86c93a5a6e76fbbddfcb3bdbb8c5bd34c0586", + "README.md": "91af88b8fc53a22e1e968908f0e449cdfe2154c83f0dddb8a504e661c0c6965c", + "REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "ROOT-EXACT-REPLAY.json": "d36114abe9d7a83c327f49f5ea153c6dcada4a7421f5e74a9a5ceb392cecb994", + "ROOT-MATRIX-EXACT-REPLAY.json": "d6bd4fcb8a528655181b4aa3fd1bad7e6647a4ca5aa76ee7f2cdd800b698b225", + "SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "SOURCES.json": "14ce6fdc7c83e18ccf4fee19ff51062726c960ca44462a45af60dd686167d456", + "SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "TASK.json": "47b82ef23e20991010fae838ad4da9bdac3f947a8fea916a028fd6260f95f5f8", + "TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "VERIFIER-NEGATIVE-CONTROLS.json": "eeb887cdc0c76426c75ddbfc3d4af7ccbbe19d17962c6ad7a1549dafe8dabb5a", + "VERIFY.json": "cb50aa523a0863a457181ca815e69a1b3b4d91ed1006a79263f4a8f18457c669", + "check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json": "eb3ba38d18bac4aceaffba39ef48dbb55bd15e6abcb68cdf66920d9d13ec00ab", + "evidence/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json": "ae8f0eb121a2f4da5c3f982ee6e7f45dab7b18368cadb5d2060602b0393b7120", + "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json": "4c37249f12b4cb4df847d179df8f378fbf1f42917e9fa703b2d847146f29b95c", + "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json": "afbaee9f56f6a66fd9421bba7dfa8c3610c12bd447b01d0e9d79f97d1216aa90", + "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json": "4417a518ba3b6833f06b4f5e33d4f73ea74100b9110cf20e8d1c2070f1833fcc", + "evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json": "046191420a24d8b2c063c190af5e954c85e39357902988c4df79f5abcdf1596d", + "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json": "323cb4acae960a6fa05527df5ede9d48e274883272b8ddb5151ebcee6dd26e52", + "evidence/gaussian_fast_ultra/LOWER-FACTOR.md": "dbc7eff783695e0f50fec57b0f7ca4212d51428eea04fa2ae5e0a9178fa69b30", + "evidence/gaussian_fast_ultra/README.md": "8fb5321b514af9260c44e150125205fe564efd073c456214f76bbdb358279cf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md": "46b98b9c013dc5a94c9f17fd85acd7c1896c8e93ad2ee4a7c34f583895f1daf0", + "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json": "c9e6fd7f338f2cb78a0ed15ee944fde63549ae3d8522ab0874d184f3e252db76", + "evidence/gaussian_fast_ultra/UPPER-LIFTING.md": "69535a48416a5435ea2a5ef4ecfe70fde30c32c4043bfc56f1ae2d7f49cd34bd", + "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json": "c5729bdb36237c0691fba56d149019f78d94e996749532d907a84c35ef01319d", + "evidence/gaussian_fast_ultra/check_bilateral.py": "8d5c79bd4f4c96de5c1fa91553b19e3a62419333b414fc84dec894a4b729d5e0", + "evidence/gaussian_fast_ultra/check_capped_gauges.py": "121279bef47dd490bf29fc72ddbce547176cdaf1154af67dc8b96d7baa8cfc6f", + "evidence/gaussian_fast_ultra/check_cyclic_scan.py": "d25156f852cb95f013e0ee74b319fc8c20d6a7a53fa851543244d5af7898ee61", + "evidence/gaussian_fast_ultra/check_dyadic_interiors.py": "a39617147870719a0296eef77101c90df8fbe716841cb9ed823f36b94254c3e1", + "evidence/gaussian_fast_ultra/check_forward_cell.py": "082a0e46c175f6e59fe1f8c168ca56bc444c71a602c9b7318c0834aae1f2de90", + "evidence/gaussian_fast_ultra/check_log_a_schur.py": "a0f1116ce27ecbff18de7089ce1f56714ed7966dfa0105b20419d408feb7ca41", + "evidence/gaussian_fast_ultra/check_lower.py": "027c77d8ce33c3d5e3c436234668f11bafc3de8658b9c3d03d455eb0e4d71f95", + "evidence/gaussian_fast_ultra/check_upper_data.py": "de4f9df64cf31e94adb9a5d04b38d53d823d864f51632c49c7c80c6a46b5224d", + "evidence/gaussian_fast_ultra/check_upper_merge.py": "95c9908134905e3ebdd030375e36a942c886cfc59edde3c6a419f36da6754780", + "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "evidence/halo_layout_ultra/HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "evidence/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "evidence/halo_layout_ultra/MANIFEST.json": "37946d7691b90d39906d93581839bdf8ae2cf899d459e5520c39e782766e9327", + "evidence/halo_layout_ultra/PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "evidence/halo_layout_ultra/RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "evidence/halo_layout_ultra/RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "evidence/halo_layout_ultra/README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "evidence/halo_layout_ultra/SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "evidence/halo_layout_ultra/check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "evidence/halo_layout_ultra/check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "evidence/halo_layout_ultra/check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "evidence/halo_layout_ultra/check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "evidence/independent_fusion_review_ultra/CORE-SOURCES.json": "2546f47dacc47c2d63dc5bb9cc52ef86c5e02ee159c4fb6e00dfac3f8f34d89c", + "evidence/independent_fusion_review_ultra/FINAL-REVIEW.json": "6b98e5222aa109a35be8b4fc9ec19669daebcc06d542ecec0a9c820da7930501", + "evidence/independent_fusion_review_ultra/core_review.md": "13f2df4d5b240f9b89ca0ae44bba198c935532098ff4c1161631fcbd86b3e8b1", + "evidence/independent_fusion_review_ultra/gaussian_layout_review.md": "ebd7188970f55b5979b1b1a13f874a31ed0ee6c82bee329e7ad0b2a38c42c430", + "evidence/independent_fusion_review_ultra/layout_subreview.md": "637e4698a9fb02978ebc4032d8939ce0db9528e89e908c94d63b9f0d2a41f64a", + "evidence/independent_fusion_review_ultra/union_subreview.md": "738b35a04d6871cd73b14b4165ae69a1feb3a103eb46e064a64a22c4c7426856", + "evidence/inplace_algebra_ultra/CIRCUIT-REPLAY.json": "2ce5cf9ef9461e5897374ad389c26af66aeee85e8f514a9da4ed3bb2028cb1da", + "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json": "694898bfb1afcb3b8b8ef951634ac8919decdde0904350b355d254601ae3dc12", + "evidence/inplace_algebra_ultra/MANIFEST.json": "3b018dc660c6add775c12f75b9e8f5281825aeebc3888a508833ce6106c1229b", + "evidence/inplace_algebra_ultra/READING-COVERAGE.json": "756e52726b161eea27e27f1d519b05d4fb0ebf67ef9a67b33947194d5d02b709", + "evidence/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "evidence/inplace_algebra_ultra/SOURCES.json": "fb3771f66771250aa9f4406ae9e7eb176f9cdef03976cbc9558440c674a4a94a", + "evidence/inplace_algebra_ultra/SUPPLIER-AUDIT-SOURCES.json": "d0c274d6edd6193b09d28e45e7cbfe9236fb35474d35ea3af0664ba36f9e006a", + "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json": "6922b7d7a936d53846569ad3be53fe4f3c63d6cfe794f9279fdc6a1fe411ef0c", + "evidence/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "evidence/inplace_algebra_ultra/SUPPORT-ADVERSARIAL-AUDIT.md": "b1290f8720bf075ea2ad58d6070f3e1fc95c0155f8e33b165bc13439bbb9222d", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json": "db8a5c0dc2be956d83bc7667177252a4968e0ffaee8352e6a5dba5ab983d7ada", + "evidence/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "evidence/inplace_algebra_ultra/check_circuits.py": "06d1861bfe8af543908e26557ffda7e451ff176bceb9bacfaf0f04f234b336d5", + "evidence/inplace_algebra_ultra/check_exact_algebra.py": "5ff7f25c55b370a1d0cda6c84ab9cdf2c7b0de3266d3f2e7a43280a6491074ab", + "evidence/inplace_algebra_ultra/check_supplier_capacity.py": "035ed96b39414eadec46e8de4bf3811b785862fd313deb044f42e17cf2ad3f78", + "evidence/inplace_algebra_ultra/check_tensor_compiler.py": "dc4b1f1884489215a2c2d0e8978a241e99e6c8c9f1d2fa2460c73d2c7d4ba30a", + "evidence/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "evidence/matrix_boundary_ultra/MANIFEST.json": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "evidence/matrix_boundary_ultra/check_source_constructions.py": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c", + "evidence/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json": "5cd5e97f93a9b3e439bfeffb52139d7bb1730de96ad13b59b7e1b20fdca6a3f6", + "evidence/phase_assembly_ultra/MATRIX-COROLLARY.md": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json": "050c61d90236c593fd0827d7edc297e05604884e4ec093659aee46a9ee336020", + "evidence/phase_assembly_ultra/OUTER-AUDIT.md": "94799bfa2794eb867d6ba68593c3e92988ade083e74d895e8d07ae3b8d0670dc", + "evidence/phase_assembly_ultra/README.md": "17c393075292b364899cb7c451cebbc9b20834f9fac934ce3740aba360c27246", + "evidence/phase_assembly_ultra/REVIEW-RECEIPT.json": "97b20e50d3722fcde3831124a107df6c15c0ffdbb9e057b7867f41aaa2481800", + "evidence/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "evidence/phase_assembly_ultra/check_matrix_corollary.py": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "evidence/phase_assembly_ultra/check_outer.py": "6a0c5f8956323615df8bc4b12996832471c0ae607d05429c9d70ad1b50568f10", + "evidence/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json": "e6951790238b4998c632c95aa329ee2cd2527a5d74a2f28bd15249fec6d2419a", + "evidence/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "evidence/phase_layout_audit_ultra/MANIFEST.json": "c98559147bb498ac78af998eed63ab6661af934fa1a0df6844176b1811753fb9", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "evidence/phase_layout_audit_ultra/PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "evidence/phase_layout_audit_ultra/README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "evidence/phase_layout_audit_ultra/check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "evidence/phase_layout_audit_ultra/check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "evidence/phase_layout_audit_ultra/check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "evidence/radical_reduction_ultra/CONTROLS.json": "12d9207e887fda73159a9e2e4776003ca6f905fc3dc45d77ced588a1c9f80cb2", + "evidence/radical_reduction_ultra/ERASURE-ROUNDING-CONTROL.json": "cceb2ade8ce5e18be3871f771955e38258f5eb4e39790c016aab96d8cf0488ef", + "evidence/radical_reduction_ultra/FIXED-A-LDU-CONTROLS.json": "d6bda457fff01e04b6565d84c7bdbac870569a2ba7ef18a1fc8db11b738faf38", + "evidence/radical_reduction_ultra/FIXED-A-PERIODIC-NORM-AUDIT.md": "21027a569588922c491b2c5b4f31e01ddb784f1f20cdf48b7d482d0e85b66bdb", + "evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md": "c6a032ed495325806ddf491c5c85bc822a7fdd613aff906a7be553960d0f85a3", + "evidence/radical_reduction_ultra/HOLES-CONTROLS.json": "3f7e98ce524d5fb2ba2f911a350081340215e806ae945abf15a2fa07988ca2f8", + "evidence/radical_reduction_ultra/LEDGER.json": "87eab0eb334ddc16e50cedbcab56320d2ff056c3dc87d7a5191171bb5a4c206e", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-CONTROLS.json": "b85eca6098847e7b2f77b49a6c8c35e33cf790bc5dd01b95e1334daef9af47f4", + "evidence/radical_reduction_ultra/NEAREST-NEIGHBOR-NORM.md": "7955383d50fc59b5c4c4d839c7e4d630add6208a3a233d7372a80309085ac6b2", + "evidence/radical_reduction_ultra/PARTIAL-FUSION.md": "811a3a0c88a90708add5b12fb0a05c25623f0af155010d5dcacd56021c55cba5", + "evidence/radical_reduction_ultra/POSITIVE-TREE-CONTROLS.json": "7b31811402ddda4668fe8375f6c90a6047511d50836dbb7cfc7ffcf24fe19a11", + "evidence/radical_reduction_ultra/Q-LDU-CONTROLS.json": "370a07aa1a56c656ec1f44d7651dfbe999ad0c19dede9036257cc2f29dc39452", + "evidence/radical_reduction_ultra/README.md": "4d65ea3c8b6a0d5faef819a58c8b8277681d11bed54686e9a7f78de29736e68e", + "evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md": "b4367eac012624f803b3d2e3a72339e050a0071bbec37e6d33b2cf322bd70bc5", + "evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md": "ec2f8a1c4273b81217545d2710bcffdd09b5c9ba9349e887b5f7bf6f5bddfdc7", + "evidence/radical_reduction_ultra/SYLVESTER-CONTROLS.json": "198af9f58c2950f17d8b1861ba4566bb2f6a0108a889a56db328fe67f8faa1a2", + "evidence/radical_reduction_ultra/TASK.md": "5eef77fb23f26f5bfb5dc8e376ed25e769924f2b6420ebfc8671e3b2a2f1f611", + "evidence/radical_reduction_ultra/check_constructions.py": "91387c9bd763a5c55c22a9907947bd07b6002f739aa6feedf6d3a02adea1e316", + "evidence/radical_reduction_ultra/check_erasure_rounding.py": "486efd4692665a548b94b79877abb76ad13157268f05c270c4e75d8f97700795", + "evidence/radical_reduction_ultra/check_fixed_a_ldu.py": "15134147317a7d789c9ea0ebd71db5ff11e59a20ef140f681d87478977734cd0", + "evidence/radical_reduction_ultra/check_holes.py": "99c5dc4601ea88b553f52e235d36fba0aeb867e7fcd54130cdb3eb115a9bb0d8", + "evidence/radical_reduction_ultra/check_ledger.py": "254342c05949e5cefe4f507a35487e0a1ffb7137a60d2b97831d5ad55d7d7ce5", + "evidence/radical_reduction_ultra/check_nearest_neighbor.py": "21bf2be683cefa7a760bf1e1bdaa647f57bf47ab86b13fd7a74e8d650f492913", + "evidence/radical_reduction_ultra/check_positive_tree.py": "46db2ce9122ff57bb4eeaa723db1f351891e671a7eaa7bf4fb61f85dafee9e37", + "evidence/radical_reduction_ultra/check_q_ldu.py": "ec2589ca9abe71d674ba9ccf81f289b1526f56f3001c48d22977accb1be3e4dc", + "evidence/radical_reduction_ultra/check_sylvester_factor.py": "60b21fda4ff451582087d30222a072eb1a214d531277e92883eaf28221aafced", + "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json": "82656563e7c8725f95c4aea7e273805a3d3faf34c495a330f1c91a036765414a", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json": "49a8450289f1c1730c7d11d7c1506ad4af26fe9a1f76341f808a3025123e9519", + "frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md": "b48d3e14083829db81336b639a6cfc698ac0dccc76fa2606d11b4be7a968ddeb", + "frontier_fusion/NATIVE-ADMISSION-BINDING.json": "ec4e89e0513958c1d553736cd06eedbc5f2aca61b40f92aeade3eb882bf588bc", + "frontier_fusion/REPRODUCE.txt": "76808b685f1623813658f5b596a4b8191a07e7c0810550f6fada7fb4a4992913", + "frontier_fusion/T74-APPENDIX.tex": "d053a6b69de2ff4005ee52eb3b673de606326aa0f0e290354675f9f08f915b99", + "frontier_fusion/bind_native_admission.py": "166541ca2b7f3066f4c2421e5a9f1886d58e1fdd7677904976261ab2c82b32cb", + "frontier_fusion/check_frontier_fusion.py": "02f7f9ebf29487331171954c7ceb37ff5315e2f28a9d56096ebbf9fb865c70ab", + "frontier_fusion/independent_substitution_check.py": "579bbde41e90792818c2726b38dcab26cf5a2695d3348731e814175146b0a737", + "gaussian_fixed_width_note.tex": "6f3edb7b238f2b6af4f3e2d98dee90fe6f4ba063a5ccd120422e45c941712aab", + "make_native_capsule.py": "8f342ca212b8d601a11f704042c577c1b088e0079bda04b3065467c2f3c36ea0", + "phase_fusion_note.tex": "b5957f38c98a68f2584a42cedf91d753180dab438129fdf749b441074f00d4e1", + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE": "3918a42010a435782de0fe8c38fab8f7df5d48a375ecf603c2bad1b818a16d6f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/inputs/PR589-EXPECTED.json": "b9f0e5ca038abe837b0007c8fe006f366a6f02009244ac57705a8a200e2301f4", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8", + "verify.py": "93ef0f46e132485da6194587199b8f039e25b1b9f099f93bbdaeac5c0d66de7f" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md new file mode 100644 index 0000000000..bbeeee7431 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PHASE-LAYOUT-AUDIT.md @@ -0,0 +1,242 @@ +# Grouped phase-cell layout audit + +The sparse-union layout in `REFINED-PHASE-FUSION.md` has a constructive +implementation with its stated `V g^2 W polylog(p)/d` per-group movement +budget. It does not require sorting the full tensor or retaining d full +payload scans. The conclusion is conditional on the separately supplied +dense local tensor compiler, rounded phase-cell factorization, and precision +bounds. This audit does not prove those algebraic/analytic inputs. + +The maximum physical bandwidth **W**, including the broad forward map, must +be used in the dyadic carving and support sets below. The narrower inverse +bandwidth alone is insufficient for the broad map. The phase-assembly +branch confirms this convention. + +## Exact operator order and the union that is actually invariant + +Write H in interior/boundary order as `[A B; C D]` and let +`S=D-C A^-1 B`. The displayed identity in the parent note is correct. In +execution order its inverse can be scheduled as + +``` +diag(A^-1,I) +[I 0; -C I] +diag(I,S^-1) +diag(A,I) +[I -B; 0 I] +diag(A^-1,I). +``` + +The middle two diagonal factors commute. Thus there are three dense +interior stages and two sparse windows: the C and S^-1 stages share one +window; B uses the second window. For H itself, reverse and invert this +sequence: the same original B,C and S occur, with signs reversed and dense +A/A^-1 interchanged. No dense A^-1 B or C A^-1 shear is smuggled into the +sparse boundary cost. + +For each active axis i, let J_i be its designated boundary coordinates. +Let E_i contain J_i and every interior coordinate incident to an original +nonzero entry of B_i or C_i. Original physical bandwidth W implies that E_i +lies within O(W) of the carved endpoints. Include physical-period cuts, +artificial phase cuts and clipped microbox endpoints. Dyadic carving gives + +``` +|E_i| <= C (L/d+1) W log d, +mu := max_i |E_i|/L = O(W log d/d + W log d/L) +``` + +inside a length-L microbox. All sparse factors have the block form +`T_i = I_(E_i^c) direct_sum T_i|E_i`. In particular S_i^-1 can be dense on +J_i: J_i is already included in E_i. Let + +``` +U = {x in [L]^g : some x_i belongs to E_i}. +``` + +Then `|U|/L^g <= g mu`. Every sparse tensor-axis operation preserves U and +its complement. If x_i is changed by a nonzero off-diagonal entry, both +its old and new coordinates belong to E_i; otherwise it is unchanged. +This proves closure for an arbitrarily long sequence of these sparse +operations, not just one application. + +Dense A or A^-1 is **not** covered. It can move a near-boundary interior +coordinate into the deep interior. Scatter U before a dense stage and +regather afterwards. `check_union.py` includes an exact example in which +dense A^-1 sends union-supported data outside U. The actual schedule above +therefore uses two union gathers, not one retained union for all six stages. + +## Complete rectangles inside the union: no missing-zero assumption + +For one sparse axis i define + +``` +U_i = {x : x_i in E_i} = E_i x [L]^(g-1). +``` + +This is a **complete rectangle**, and it is wholly present in U regardless +of which other coordinates are near a boundary. All nonidentity data needed +by T_i is in U_i. A line with every other coordinate outside its own E_j +still has every E_i coordinate present. A line with another boundary +coordinate may contain more data, but those extra E_i^c entries are identity +coordinates and need no boundary computation. + +Keep a copy of U in its original microbox lexicographic order, with a short +coordinate/membership header. For each axis i: + +1. Scan U once and copy records with x_i in E_i to an auxiliary stream. + The copied stream is lexicographic E_i x [L]^(g-1). +2. Rename the increasing E_i coordinates by their ordinal 0,...,|E_i|-1. + This is a stream counter; no rank/select query is needed. +3. Expose that one field at the line suffix using the retained small-field + transpose. Its length is at most L=poly(p), so only O(log p) binary + block moves are needed. Pad only this field to its next power of two + temporarily, at a factor below two, and remove that padding before the + next axis. The other fields may be arbitrary spectators. +4. Apply the original B/C or boundary S/S^-1 factor on its complete E_i + line, retaining identity coordinates E_i\J_i when appropriate. +5. Undo the transpose at the actual field length. Merge the ordered E_i + stream back into a fresh copy of U, replacing exactly those entries. + +No array is completed by invented zero coordinates. The finite checker +verifies the extracted rectangle cardinality and the full tensor result. + +The extraction/merge costs O(|U|) per axis. Transposition costs +O(|U_i| polylog p). Consequently one sparse window costs + +``` +O(V [g^2 mu + g mu polylog p]) + = O(V g^2 W polylog p/d) + O(V g^2 W polylog p/L). +``` + +There is no factor `K=g log s` from a computed-key sort in this part of the +algorithm. A more general radix implementation would still fit with extra +small powers of g, but the complete-rectangle construction avoids it. + +## Union extraction and piece catalogues + +Only one full microbox scan is needed to form U, and one to scatter it. +For every complete p-bit coefficient record, compute its g membership flags +from its coordinate tuple and OR them. The flags and coordinate header have +O(g log L) bits. A nonzero number of flags sends the whole record once to U; +it is not duplicated for each active axis. + +This is a charged descriptor calculation. For actual source periods of +bitlength h=Theta(p/d), q_j inversion and phase-cell endpoint calculations +use O(h^2 polylog p) elementary bit operations per axis. Within a phase +cell, the greedy dyadic carve is found by at most O(log d) halvings and +integer comparisons. Thus a conservative membership cost is +`O(g h^2 polylog p)` per record, which is o(p) for +`g=p^(1-epsilon-r-zeta)` and epsilon>2/3. At the proposed epsilon this has +power about 0.005. It is absorbed by reading the p-bit record once. +Alternatively the original remainder phase generator and an odometer give +the same membership flags in sequential coordinate order. + +Factor pages may be regenerated once per complete microbox/group from its +actual coarse origins, using the supplied polynomial-time coefficient +generation. The complete inner microbox and untouched spectator payload +are superpolynomial in p and amortize this polynomial setup. This avoids +random access to a global catalogue in the scrambled coarse order created +by a support-limited gather. Online row/factor pages are then visited in +the ordered extracted E_i line. All page rewinds are within that line or +RHS batch and are included in the corresponding boundary arithmetic. + +## Batched right-hand sides do not add a large transpose + +All other inner coordinates and following tensor axes are independent +right-hand sides for an axis operation. Their count R is superpolynomial. +Batch them in a dyadic width between W and 2W; the final incomplete batch +can be padded once at constant cost. To put the batch index outside the +boundary-row field, move only that polynomial-width row field. This costs +O(log p) times the boundary volume, not a transpose of the long spectator +field. Each W-by-W factor page is scanned once per RHS batch and reused in +the block product. Reverse the small-field layout after the solve. + +Thus the assumed Strassen `W^omega` per W RHS gives the quoted total +`O(V W^(omega-1) polylog p)` boundary arithmetic. This audit checks the +layout and factor reuse; stability and the no-pivot factor theorem remain +the phase-assembly branch's responsibility. + +## q_j embeddings, selections and source order need one group scan + +For a group, each coordinate map `j -> q_j=floor(tj/s+1/2)` is increasing +and injective. Its tensor product preserves lexicographic order on its +image. Enumerate the target-group rectangle once. At target coordinate k, +set + +``` +j=max(0,ceil(s(2k-1)/(2t))). +``` + +The coordinate belongs to the image iff `j9/4`. + +If the surrounding proof allows polylog p factors, the bandwidth's polylogs remain polylogs; no positive power of p is introduced by coefficient approximation or error amplification. The algorithm provides absolute accuracy, which is what local residual bounds use. It makes no relative-error promise for nearly canceled output entries. + +The recursion can also be scheduled with sequential tapes. At one fixed-base node, its fixed number of input block combinations and output block sums require a fixed number of complete scans and fixed block permutations of `O(n^2)` records. Store child inputs consecutively, process children depth-first, and stream their returned blocks into accumulators. Copying a pending-child region or repositioning a finite set of tapes costs another `O(n^2)`-record pass at that node, already covered by the recurrence's addition term. Addresses and recursion descriptions add at most logarithmic factors. If any implementation retains an additional `polylog W` factor, choose the rank scheme first with exponent strictly between 9/4 and the stated target tau, leaving enough fixed exponent slack to absorb it. No algebraic unit-cost random-access assumption is needed for the target power tau. + +## 4. Boundary substitution and the outer ledger + +The existing capped boundary algebra uses W simultaneous right-hand sides. A square product costs `O(W^tau M(p))`; dividing by W² processed entries gives `O(W^(tau-2) M(p))` per entry. One axis has `O(V W/B)` boundary entries, and there are d axes. Its total is consequently + +`O(V (d/B) W^(tau-1) [M(p)/p] polylog p)` + +when V is the total bit volume, as in the phase-assembly notes. There are V/Theta(p) scalar entries, so the factor M(p)/p is the per-bit arithmetic charge. Equivalently, if V counts scalar entries instead, the formula has M(p) without the division. The retained quasi-linear short multiplier has M(p)/p=polylog p. + +This retains the essential d/B factor. With `d=p^epsilon`, `B=p^b`, and `W=p^(1/2) polylog p`, its normalized exponent is + +`epsilon-b+(tau-1)/2`. + +Taking `tau=19/8` gives `(tau-1)/2=11/16` and boundary saving `5/16+b-epsilon`. This is already more than enough to put the basic sparse-union cost near the binding row at b near 3/4. Pushing tau down to the unattained endpoint 9/4 is unnecessary. + +The changed matrix algorithm has the same input/output interface as the former Strassen product. It does not change the original Gaussian matrix, boundary support, anchored gauge, square-block inverse choice, or number of right-hand sides. The surrounding local-residual proof must still supply polynomial bounds on local exact inverses and partial right-hand sides. The new product's error is `poly(p)2^-P`, so that proof applies with a fixed larger guard constant. + +The optional full-coordinate-key surcharge in the old arithmetic ledger would become binding if mechanically retained at b near 3/4. It is not part of the actual rectangle extraction/one-field transpose/ordered-merge algorithm, as confirmed by the separate phase-layout audit. Dropping it is a distinct layout fact, not a consequence of matrix multiplication. It must remain explicitly justified in the final outer ledger. All retained supplier assumptions remain in force. + +No final improved outer exponent is claimed in this note; that requires the whole ledger and the independent group-layout/gauge checks. + +## 5. Exact controls run in this audit + +`check_source_constructions.py` uses only Python's exact rational arithmetic and writes `SOURCE-CONSTRUCTIONS.json`: + +* Finite Fourier/separation support for M=1,...,12: the modular relation has no wraparound and zero weight is exactly g=h,u=v. +* Determinant change of basis for a=1,...,8 and b=2,...,8, for every first-input monomial: quotient and kernel diagonal slices are exactly the two claimed neighboring convolution tensors; the upper-right block vanishes. +* Three-sector identity for a,h=1,...,14: all weights are nonnegative and each of the three retained branches is exactly the claimed tensor after its permitted identification. +* Exact rational diagonal product lower bound through a=300. + +All controls passed. They detect several relevant implementation mistakes but are not a finite substitute for the universal arguments above or for the theorem's nonconstructive rank-existence step. + +## 6. Deliberate limitations + +There is no generated competitive finite matrix scheme, no numeric claim about its constants, no use of a rank formula at exponent exactly 9/4, and no fast algorithm for finding the first successful algebraic tuple. The algorithm remains computable and uniform because the finite search halts under the proved existence statement and its cost is independent of the growing input. The outer conclusion remains conditional on exactly the previously retained supplier/computational assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json new file mode 100644 index 0000000000..befac93552 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-CHECKS.json @@ -0,0 +1,226 @@ +{ + "status": "PASS_PORTABLE_EXACT_PHASE_FUSION_PACKAGE", + "scope": "Exact finite controls and arithmetic plus retained native receipt binding. This does not replay the entire native dependency or discharge all-size hypotheses. The matrix corollary retains an additional external premise.", + "package_files": 180, + "headline_kappa": "1677160151714381/1000000000000000000", + "checks": [ + { + "script": "frontier_fusion/check_frontier_fusion.py", + "artifact": "frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "frontier_fusion/independent_substitution_check.py", + "artifact": "frontier_fusion/INDEPENDENT-SUBSTITUTION-RECEIPT.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_exact_algebra.py", + "artifact": "evidence/inplace_algebra_ultra/EXACT-ALGEBRA.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_tensor_compiler.py", + "artifact": "evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/inplace_algebra_ultra/check_supplier_capacity.py", + "artifact": "evidence/inplace_algebra_ultra/SUPPLIER-CAPACITY-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_lower.py", + "artifact": "evidence/gaussian_fast_ultra/LOWER-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_bilateral.py", + "artifact": "evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_upper_data.py", + "artifact": "evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_upper_merge.py", + "artifact": "evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_capped_gauges.py", + "artifact": "evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_dyadic_interiors.py", + "artifact": "evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_cyclic_scan.py", + "artifact": "evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_forward_cell.py", + "artifact": "evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/gaussian_fast_ultra/check_log_a_schur.py", + "artifact": "evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_halo.py", + "artifact": "evidence/halo_layout_ultra/HALO-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_embedding.py", + "artifact": "evidence/halo_layout_ultra/EMBEDDING-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_ragged.py", + "artifact": "evidence/halo_layout_ultra/RAGGED-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/halo_layout_ultra/check_sparse_shear.py", + "artifact": "evidence/halo_layout_ultra/SPARSE-SHEAR-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_union.py", + "artifact": "evidence/phase_layout_audit_ultra/UNION-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_q_embedding.py", + "artifact": "evidence/phase_layout_audit_ultra/Q-EMBEDDING-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + }, + { + "script": "evidence/phase_layout_audit_ultra/check_capped_layout.py", + "artifact": "evidence/phase_layout_audit_ultra/CAPPED-LAYOUT-CONTROLS.json", + "status": "PASS_EXACT_REPLAY" + } + ], + "cold_native_binding": { + "status": "PASS_FRESH_NATIVE_RUN_BOUND_TO_PINNED_PHASE_FUSION", + "scope": "Existing complete cold native run checked against the pinned source and the independently replayed outer inputs; all-size assumptions remain.", + "source_commit": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "source_manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "native_words": { + "base": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "extra": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884" + }, + "complex_lower": "8398566873921928847865107582977140808726533185752606814031551243089531888024439117235381227291914058448586599984374667388474246199941131401151316949826049729135138281487406840315861844950703424400143642674520874037535671888706933756382975087837881090275422517866488734818622618194142006954783211221019204801330544148296601796623021915319705773977790291402669246008667290619418570040011860763793419/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "profile": { + "1": 1559766, + "2": 337668, + "3": 278058, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "controls": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "canonical_native_receipts_checked": 46, + "all_native_receipt_sha256": { + "native_work/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "native_work/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "native_work/audit-local-566-base.log": "4767093ae54ad03845870bcfd0402f7ee6e4bc4c1dd7801146b7aa2217f0f39d", + "native_work/audit-local-566-extra.log": "b03c4d51b4309fd2b49fdae8f26d4bb68f84d1149f310d21237a95f995b57d19", + "native_work/fine-engine-oracle.log": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3", + "native_work/geometry-controls.log": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9", + "native_work/lift-parent.log": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "native_work/native-new-base/local/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "native_work/native-new-base/local/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "native_work/native-new-base/local/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "native_work/native-new-base/local/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "native_work/native-new-base/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "native_work/native-new-base.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "native_work/native-new-extra/local/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "native_work/native-new-extra/local/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "native_work/native-new-extra/local/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "native_work/native-new-extra/local/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "native_work/native-new-extra/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "native_work/native-new-extra.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "native_work/parent/RESULT.json": "13037d41939ede1de9c80be7a75a051006a457ff2d871cadde2351a39bb254ee", + "native_work/rebind-566.log": "c90f7d555ea88339e4999736f38e9fcf1e63b88637e05ddcb76782f0900134a3", + "native_work/rebuild-words-566.log": "e9825c70278880f4a9566012d700b0d7944f84fbf02b95408896b3a07d29e849", + "native_work/reconstruct-owners.log": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5", + "native_work/retained-provider-and-parent-admission.log": "a84cbfcd6ad1a9a2f8279939fcbcec5457b8b55d3dc9971e3407491a82c1c57e", + "native_work/strict/ADMISSION-CONTROLS.json": "528fa1aec9db41e748774df5b9cbcd86f702c76286423fd0762cbac5510564c3", + "native_work/strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60", + "native_work/strict/BIT-CONTROLS.json": "7c27d56e68b924ac0fefc6353e9e38d2e3f593295cf1a39aade27fba39922e54", + "native_work/strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "native_work/strict/STAGES.json": "abbc3fa255097304f0862c3c390c3bd681485a64c5cf906b7796e6f978faf049", + "native_work/strict/global/audit/ASYNC-AUDIT.json": "37b1b8d81353c99db83edbf3d9d1510906e0ae0a3301165894190d416f1c6d60", + "native_work/strict/global/audit/PREFIX-AND-INVOICE.json": "321d98f8342fb61418aacee7a99a7e54ae284b32a5f142fa692ebe6825d05ea0", + "native_work/strict/global/base/providers/extra/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "native_work/strict/global/base/providers/extra/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "native_work/strict/global/base/providers/extra/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "native_work/strict/global/base/providers/extra/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "native_work/strict/global/base/providers/extra/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "native_work/strict/global/base/providers/gauge44/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "native_work/strict/global/base/providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "native_work/strict/global/base/providers/gauge44/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "native_work/strict/global/base/providers/gauge44/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "native_work/strict/global/base/providers/gauge44/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "native_work/strict/global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "native_work/strict/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "native_work/strict/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "native_work/strict/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "native_work/strict/parent/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "native_work/strict/parent/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/parent/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "native_work/strict/parent/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "native_work/strict/parent/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "native_work/strict/parent/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "native_work/strict-t74.log": "d6a6c941d4107f47f3f8ced6a4f85b48d562bb30aeb9ae7927c3a3a15331af1b", + "native_source/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "native_source/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "native_source/new/PROFILE.json": "f66dd80aff69525144eac18144c13d7d8be3d3c39028b3afa1b59a8edf53e8a3", + "native_source/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" + }, + "run_receipt_sha256": { + "RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60" + } + }, + "environment": { + "python": "3.14.7", + "platform": "macOS-15.7.7-arm64-arm-64bit-Mach-O", + "dependencies": { + "numpy": "2.5.4", + "scipy": "1.18.1", + "sympy": "1.14.0" + } + }, + "native_replay_mode": "Fresh native providers and retained parent; no reuse/cache flags. Complete source verification was run before publication.", + "capsule_generator_replay": "Regenerated canonical capsule byte-identical to committed capsule using explicit --native-source and --native-work paths.", + "registered_python_312": { + "python": "3.12.15", + "sympy": "1.14.0", + "status": "PASS_REGISTERED_RESEARCH_PACKAGE", + "command": "python3.12 scripts/research_package.py --package research/capped-phase-fusion", + "exact_control_replays": 21 + }, + "native_build_requirements": "C++17 compiler and Boost headers; successful run used /opt/homebrew/include for header lookup." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json new file mode 100644 index 0000000000..3f760bee8a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/PUBLICATION-SOURCES.json @@ -0,0 +1,12 @@ +{ + "research_base": "e6f9716621f4e01fc190617934cdfaf072bd976f", + "publication_base": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "supplier": { + "repository": "https://github.com/CrocSwap/integer-mult-bounds", + "pr": 1661, + "commit": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "directory": "research/gmx-t74-p566-ep400", + "manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f" + }, + "scope": "Source snapshots and exact recipe for complete cold replay; historical native receipt hashes are external provenance, not all bundled artifacts." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md new file mode 100644 index 0000000000..f7f3348ee3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/README.md @@ -0,0 +1,162 @@ +# Capped phase-cell fusion: conditional final kappa = 0.001677160151714381 + +This package gives the conditional final integer-multiplication bound + +\[ +T(n)=O\!\left(n(\log n)^{1-\kappa}\right),\qquad +\kappa=\frac{1677160151714381}{10^{18}}=0.001677160151714381. +\] + +The contribution changes the **outer Gaussian resampling reduction**. It uses +shallow in-place Toeplitz circuits, a common Hadamard schedule for multiple +axes, recentered and capped Gaussian cells, and explicitly charged sparse +boundary operations. The finite supplier is the unchanged, pinned +[PR1661](https://github.com/CrocSwap/integer-mult-bounds/pull/1661) T74 construction. +Its complete native verification was run afresh, including both new provider +words and the retained parent. The final exponent is a conditional theorem +from the written transfer argument; finite checks alone do not prove it. + +Read [the proof](phase_fusion_note.tex), especially its T74 substitution section, +and the [independent substitution review](frontier_fusion/INDEPENDENT-SUBSTITUTION-REVIEW.md). +The proof's earlier numerical specializations remain valid historical cases. +“Independent” in this package means separate agent implementations/reviews, +not an independent human referee or a proof-assistant verification. + +## Exact paid inputs and result + +| Quantity | Value | +|---|---:| +| Retained bit saving c | 0.001733427039589844234749 | +| Chosen complex saving b | 0.00167971337478 | +| Effective tensor saving q | b - 10^-10 | +| Effective bit saving a | (q+b)/2 | +| Native dimension m | 73 | +| Native live width W | 66304 | +| Final kappa | 0.001677160151714381 | + +The complete native profile is +`{1:1559766, 2:337668, 3:278058, 4:84912, 5:54612, 8:5328, 48:22748}`. +All decimals above are exact rationals. Exact epsilon, xi, beta, every outer +cost power and all 45 strict inequalities are in +[FRONTIER-FUSION-ARITHMETIC.json](frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json). +Five deliberate bad variants reject. The native moment has an outward rational +upper bound below one; a larger test endpoint is rejected. + +For the same pinned supplier, PR1661's original outer reduction gives +0.0016768966690212993077507..., so the new outer transfer improves its final +exponent by about 2.6348269308e-7. This is an exponent comparison, not a measured +runtime improvement or a claim of global priority. The selected-result record +is not changed by this contribution. + +The supplementary branch gives 0.001677600129305161 **only with the additional +assumption omega_C <= 9/4**, used through a fixed algebraic algorithm of exponent +19/8. That extra premise is not needed for the headline Strassen-based result. +The supplied 9/4 paper, its audit and historical local locator are recorded in +PROOF-AND-COVERAGE.md and MATRIX-SOURCE-COVERAGE.json; it is treated as an explicit +additional premise, not as a theorem certified by this package. + +## Scope and remaining assumptions + +Retained assumptions include the all-size compiler, exact common-label and +mutable-source realization, whole-call hosting, the semantic precision guard +with C1=1, fixed-tape/prime-packing interfaces, paid arbitrary-width equal-chunk +interchange, exact recovery, and the original analytic transfer. The construction +does not prove an unconditional multiplication theorem, a complete Lean theorem, +or a practical finite cutoff. The written proofs address the new outer steps; +finite algebra and layout checks support, but do not replace, those arguments. + +Original assignment: improve the bound using broad mathematical resources. +For repository indexing this is a changed scope of `uniform-transfer-audit`: +it constructs and audits a replacement outer transfer rather than only checking +one inherited implication. [TASK.json](TASK.json) records the scope and next steps. + +## Reproduce + +Python 3.12, with SymPy 1.14.0, is the registered environment. The exact checks +also ran locally with the Python version recorded in PUBLICATION-CHECKS.json. +The package verifier checks its manifest and source pins, works in a temporary +copy, and compares the regenerated mathematical receipts. It does not modify +this directory. From the repository root: + +```sh +python3 -m pip install sympy==1.14.0 +python3 -B research/capped-phase-fusion/verify.py +python3 scripts/research_package.py --package research/capped-phase-fusion --check-only +``` + +The first command after installation is the bounded outer-proof evidence replay, +not a cold native-supplier replay. The native run already completed with all 12 +top-level stages passing, 319680 owners, prefix 1441 charged at 2048, physical row +coefficient 19545 below 20161, and rejected controls: 114 admission, 12 bit, +15 controller, 8 independent owner, 6 geometry. The retained compact RESULT +and [native binding](frontier_fusion/NATIVE-ADMISSION-BINDING.json) record it. + +To reproduce the full native dependency, obtain the exact source commit +`f852af5e178ce035cd46181a29d9330bcbcaa206` from CrocSwap/integer-mult-bounds, +install its documented dependencies (NumPy, SciPy, SymPy, a C++17 compiler and +Boost headers), and run its unmodified command without cache/reuse flags: + +```sh +python3 -B /absolute/pr1661/research/gmx-t74-p566-ep400/verify.py \ + --work /absolute/new-native-work --audit-shards 4 +python3 -B research/capped-phase-fusion/verify.py \ + --native-source /absolute/pr1661/research/gmx-t74-p566-ep400 \ + --native-work /absolute/new-native-work +``` + +The second command binds a completed external native run to this package's +source and mathematical result. It compares regenerated proof-relevant content; +fresh timings and log bytes need not match the historical run. The full 121 MB +assembly and vendor tree are not duplicated here. The receipt capsule adds canonical hashes for 46 JSON receipts. The 58 hashes +in the historical native binding identify external run artifacts; they are not all bundled files. +The original bind_native_admission.py is retained as historical provenance; +use the new top-level verifier for portable binding. + +PACKAGE-MANIFEST.json is the authoritative publication manifest. MANIFEST.json, +MANIFEST-UPDATE.json and earlier review receipts are explicitly historical +snapshots. The copied upstream CLAIM.json is immutable and contains older pending +language; the later completed native RESULT records this contribution's replay. +Hosted CI and independent human review are separate from the local checks. + +## Sources and overlap + +Prepared by **Vlado Vojdanovski with substantial AI assistance**. New material is +Apache-2.0. The original manuscript and source-specific notices retain their +licenses. This is not an official OpenAI release or endorsement. + +The main research snapshot was `e6f9716621f4e01fc190617934cdfaf072bd976f`; +the publication base is recorded in SOURCES.json. Exact T74 source pins are in +PUBLICATION-SOURCES.json and the source manifest. +The [unaltered T74 NOTICE](target002_upstream/pr1661/research/gmx-t74-p566-ep400/NOTICE) +is included. The original +OpenAI #109 framework and the Harvey–van der Hoeven reduction remain inputs. + +The in-place algebra builds on Giorgi–Grenet–Roche, +[*Fast In-place Algorithms for Polynomial Operations*](https://arxiv.org/abs/2002.10304), +and Dumas–Grenet, [*Fast in-place accumulation*](https://arxiv.org/abs/2302.13600). +SHALLOW-TOEPLITZ.md distinguishes their results from the new parity-split, +low-displacement and prefix-stability arguments. The Gaussian factorization +also relates to +[PR489](https://github.com/CrocSwap/integer-mult-bounds/pull/489), which already +gives a branch-free local Gaussian inverse but leaves joint evaluation, +routing and boundary composition open. The present package supplies a different +in-place tensor compiler and capped boundary transfer for those outer costs. +[PR1141](https://github.com/CrocSwap/integer-mult-bounds/pull/1141) concerns a +reversible quadratic phase stream and is related background, not a dependency. +The overlap check does not establish novelty beyond these identified sources. + +## Open next questions + +1. Can a new finite supplier exceed the present complex rate by a substantial + amount? Even a lossless outer transfer cannot reach 0.002 from b<0.00168. + First step: emit a complete side circuit for a lower-cost decoder and measure + its actual rank profile, helper storage and restoration. The missing piece is + the physical circuit, not an idealized central-rank estimate. +2. Can the capped Gaussian transfer be independently checked or formalized with + its complete fixed-tape schedule? First step: independently reconstruct the + sparse-union and support-local routing lemmas. Existing finite tests cover + algebraic identities, not an end-to-end all-size tape implementation. +3. Can the same outer transfer consume a future reviewed supplier without + changing its proof? First step: rebind the endpoint, prefix and completed-call + restoration contract, then replay the exact ledger. The supplier must satisfy + the full functional interface; a numerical endpoint alone is insufficient. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json new file mode 100644 index 0000000000..2521d02ada --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/REVIEW-RECEIPT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:06:22.293042+00:00", + "kappa": "1672922349588871/1000000000000000000", + "kappa_decimal": "0.001672922349588871", + "upstream_selected_unchanged": true, + "scope": "Local all-size conditional transfer, retaining the selected finite suppliers and common-frame, whole-call, precision, fixed-tape and prime-packing hypotheses.", + "reviews": [ + { + "reviewer": "root agent", + "result": "Read standalone TeX, integrated notes and exact ledger; cap, supplier and layout audits passed; authorized local conditional status." + }, + { + "reviewer": "gaussian_fast agent", + "result": "Independent capped-gauge and finite-block audit passed; exact inherited-weight reanchoring and broad derivatives checked." + }, + { + "reviewer": "global_macro agent", + "result": "Independent capped carving, sparse-union, q-image and microedge layout audit passed." + }, + { + "reviewer": "inplace_algebra agent", + "result": "Global selected-H support and capacity audit passed; all g controls need not fit one original axis." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read named proofs and relevant retained source contracts; reconstructed complete cost ledger and reviewed capped interfaces." + } + ], + "phase_assembly_replays": [ + "check_capped_outer.py: 44 positive exact slacks and 5 rejecting controls", + "check_forward_cell.py: 350 cases, 5184 factorization and 16496 completion entries", + "check_union.py: exact five-factor/tensor/complete-rectangle checks, with dense escape negative control", + "check_q_embedding.py: product order and augmented inverse checks" + ], + "files": { + "work/phase_assembly_ultra/phase_fusion_note.tex": "da2bf119be3ed1e44473c380e43643d16bdc93015c80380fc59da33d84e951de", + "work/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "work/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "work/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "work/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "work/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "work/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "work/halo_layout_ultra/SUPPORT-ROUTER.md": "d4d2f5bd0a8eb51d9ebd28e4d1a38d3c69bdbf97471a705b3aa199c184364c52", + "work/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json new file mode 100644 index 0000000000..4f80ff6ecc --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-EXACT-REPLAY.json @@ -0,0 +1,39 @@ +{ + "status": "PASS_ROOT_EXACT_BASELINE_AND_CAPPED_MARGIN_REPLAY", + "selected_commit": "e6f9716621f4e01fc190617934cdfaf072bd976f", + "baseline_complex_moment_upper_minus_one": "-2785787033843904352780990891572049605608726093667665717994302747547920313/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576", + "q_below_seven_step_supplier": "327679999999801168224664734599224105676919239087430234567083836826988376006387856482178928788981393147808286007792385920322253722201767929416477166653535959868879662007824712314966127806177730297423483901027506968664489033051447038531157336856996129340173164228163173132938540666878136418539696486021989985271231781781450073973851986744395930427624741098739356767652210341205493240883041/3276800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "new_kappa": "1672922349588871/1000000000000000000", + "old_kappa": "836330098538459/500000000000000000", + "gain": "262152511953/1000000000000000000", + "powers": { + "main": "160268031909611721506129731833773378546441654700203789/160536597172553998639367526755586138207360088900000000", + "Gaussian": "160268031909611721506129731833773378546441654700203789/160536597172553998639367526755586138207360088900000000", + "routing": "39932981494927675859083/40000000000000000000000", + "grouped routing": "160268031908860553136771869521388943095675654700203789/160536597172553998639367526755586138207360088900000000", + "group scans": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "boundary": "160266426543639995966143338158505822685059581099314789/160536597172553998639367526755586138207360088900000000", + "union": "110071801329447180266588989429368954038319544983689789/160536597172553998639367526755586138207360088900000000", + "key surcharge": "3128222851922485017350588232617/4006701850307232414091700000000", + "polynomial leaves": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "microfaces": "-3062932211310582068590571622361184146220802667/1605365971725539986393675267555861382073600889" + }, + "slacks": { + "main": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "Gaussian": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "routing": "101611088769300917/40000000000000000000000", + "grouped routing": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "group scans": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "boundary": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "union": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "key surcharge": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "polynomial leaves": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "microfaces": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000" + }, + "guards": { + "group": "1/100000000", + "axis": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "membership": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889" + }, + "scope": "Exact baseline moment and arithmetic replay. Mathematical transfer depends on the accompanying proved circuit/layout/precision lemmas and inherited repository assumptions." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json new file mode 100644 index 0000000000..bd509b8377 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/ROOT-MATRIX-EXACT-REPLAY.json @@ -0,0 +1,21 @@ +{ + "status": "PASS_ROOT_MATRIX_CONDITIONAL_LEDGER", + "additional_assumption": "supplied complex matrix multiplication exponent <=9/4, used with strict 19/8 algorithm exponent", + "kappa": "836680052702889/500000000000000000", + "gain_over_selected": "34995416443/50000000000000000", + "epsilon": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "cap": "6006737803538363603786961767383/8006701850307232414091700000000", + "group": "19999559600000000000000/80067018503072324140917", + "slacks": { + "main": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "Gaussian": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "global routing": "84100856093020917/40000000000000000000000", + "grouped routing": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "scans": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "matrix boundary": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "union": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "pointwise products": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "microfaces": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000" + }, + "sparse_fraction_slack": "3430918384747396741111767383/8006701850307232414091700000000" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md new file mode 100644 index 0000000000..bc4349b2da --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SHALLOW-TOEPLITZ.md @@ -0,0 +1,197 @@ +# Shallow, stable, dimension-preserving Toeplitz circuits + +Status: a positive algebraic circuit construction for **dyadic local tiles**. It gives the missing full-Toeplitz primitive in the normalized Sylvester merge. It does not reconcile the anchor coordinates with the original Gaussian gauges; that remains a separate obligation. The construction uses no data ancilla, no zero-initialized coordinate and no fan-out. Fixed coefficient generation is allowed polynomial time in the local tile size and precision. + +## 1. Result + +Let N be a power of two, and let H be an N by N real or complex Toeplitz matrix with + + max(||H-I||_1, ||H-I||_infinity) <= delta < 1/4. + +There is an N-wire linear circuit applying H, with O(log^4 N) rounds of disjoint invertible 2 by 2 gates and diagonal gates, O(N log^4 N) gates, and polynomial-in-N bounds for all coefficients and all partial circuit operator norms and inverse operator norms. Constants depend only on delta. + +For any requested output accuracy 2^-p, rounding the coefficients to p+O(log N) bits gives operator error at most 2^-p; arithmetic at that precision also gives uniform forward error 2^-p on bounded inputs, after allowing the same O(log N) guard bits. A rational approximation to the input Toeplitz coefficients and all required gate coefficients can be generated using poly(N,p) bit operations. This coefficient preprocessing may use polynomial extra memory; the **data circuit** still has exactly N live coordinates. + +The same result applies to upper or lower triangular Toeplitz matrices with max(||T-I||_1,||T-I||_infinity)<=eta for **any fixed eta<1**, with only O(log^2 N) rounds and constants depending on eta. In particular eta=1/2 is permitted for the generator-normalization step below, even though the full-Toeplitz statement uses delta<1/4. Descendants need bounded norm and inverse, not continued distance below 1/4. This independent triangular construction is important: a contiguous bottom-recursion / shear / top-recursion has linear depth even though its work is quasi-linear. + +## 2. Dirty Toeplitz shear is a shallow circuit + +For disjoint m-coordinate vectors x and y, implement + + (x,y) -> (x,y+Tx), + +where T is Toeplitz, in O(log m) rounds when m is dyadic. It is an invertible square map on the existing 2m wires. + +Write the first column and row of T as c_0,...,c_(m-1) and c_0,r_1,...,r_(m-1). Set + + g_0=h_0=c_0/2, + g_j=(c_j+r_(m-j))/2, + h_j=(c_j-r_(m-j))/2, 1 <= j < m. + +Then T=C(g)+C_-(h), where C is a circulant and C_- is a negacyclic circulant. For a unitary m-point FFT F, C(g)=F^* diag(DFT(g)) F. A circulant shear therefore consists of F on x and y in parallel, the disjoint pairwise shears y_j+=DFT(g)_j x_j, and F^* on x and y. Every FFT stage consists of disjoint unitary 2 by 2 butterflies; bit reversal is a disjoint swap stage. + +For gamma=exp(pi i/m), D=diag(1,gamma,...,gamma^(m-1)), + + C_-(h)=D^-1 C(Dh) D. + +Use diagonal twists before and after the same circulant-shear circuit. The two completed shears commute. Source x is restored after each. No circulant inverse is needed, so zero Fourier multipliers cause no problem. Every gate is invertible even when T itself is singular. + +All intermediate norms are polynomial in m and the l1 norm of the Toeplitz symbol. In the 2-norm, FFT and twist stages are unitary, and the spectral diagonal has norm at most the symbol l1 norm. + +## 3. Independent triangular primitive: parity splitting + +Let T_N(f) be lower triangular Toeplitz multiplication by f modulo z^N. Write + + f(z)=e(z^2)+z o(z^2). + +Reorder the existing coordinates into even and odd powers, N=2m. Then + + T_N(f) = [ E ZO ; O E ], + +where E=T_m(e), O=T_m(o), and Z=T_m(z). All these m by m triangular Toeplitz matrices commute. Set + + k=o/e mod z^m, + s=e-z o^2/e mod z^m. + +The exact factorization is + + [ E ZO ; O E ] + = [ I 0 ; T_m(k) I ] + diag(T_m(e),T_m(s)) + [ I T_m(zk) ; 0 I ]. + +Thus apply the right Toeplitz shear, the two child triangular circuits **in parallel**, and the left Toeplitz shear. The recurrence for rounds is + + D_tri(N) <= D_tri(N/2)+O(log N), + +giving D_tri(N)=O(log^2 N). The two recursions act on disjoint coordinates. Inverses are obtained by reversing the gate sequence and inverting every gate, at the same depth. + +Stability is not proved by multiplying coefficient l1 bounds afresh at each depth. Each child is a principal submatrix or principal Schur complement of the original triangular matrix, after a coordinate permutation. If the initial T_N(f) differs from I in both 1- and infinity-norm by at most eta<1, every descendant M satisfies + + ||M-I|| <= eta+eta^2/(1-eta)=eta/(1-eta) + +in both norms, and ||M^-1||_2 <= 1/(1-eta). This follows directly by expressing the descendant as a Schur complement of a principal block of the original matrix; nested elimination and restriction preserve that description. Hence all local diagonal blocks and local Schur multipliers have constant 2-norms. Their triangular Toeplitz coefficient l1 norms are at most sqrt(N) times these constant bounds. The dirty shear circuits from section 2 therefore remain polynomially bounded. + +## 4. Full Toeplitz recursion: displacement rank grows additively + +Use the Sylvester shift displacement + + Delta_m(M)=Z_m M-M Z_m. + +A Toeplitz H has rank Delta_N(H)<=2. At a node of size 2m, partition + + M=[ A B ; C D ], + Z_(2m)=[ Z 0 ; E Z ], E=e_0 e_(m-1)^T, + K=A^-1 B, L=C A^-1, S=D-C A^-1 B. + +The usual block factorization is + + M=[ I 0 ; L I ] diag(A,S) [ I K ; 0 I ]. + +Again A and S run in parallel. To bound ranks, let U=[-C A^-1,I] and V=[-A^-1 B;I]. Then M V=[0;S], U M=[0,S], and direct block multiplication gives + + Delta_m(S)=U Delta_(2m)(M) V-S E A^-1 B. + +Therefore rank Delta(S)<=rank Delta(M)+1. Also, the upper-left block of Delta_(2m)(M) is Delta_m(A)-B E, so rank Delta(A)<=rank Delta(M)+1. At depth d, both children thus have displacement rank at most 2+d. + +The top-right block of Delta(M) equals Delta(B), while its bottom-left equals E A+Delta(C)-D E. Consequently + + rank Delta(B)<=r, + rank Delta(C)<=r+2, + rank Delta(K)<=rank Delta(A)+rank Delta(B)<=2r+1, + rank Delta(L)<=rank Delta(C)+rank Delta(A)<=2r+3. + +All shear matrices have displacement rank O(log N). + +Every recursive M is a principal Schur complement of the original H. Since H=I+R and both ||R||_1 and ||R||_infinity are at most delta, + + max(||M-I||_1,||M-I||_infinity) <= delta/(1-delta), + ||M^-1||_2 <= 1/(1-delta). + +The inverse assertion also follows because M^-1 is a principal submatrix of the inverse of a principal submatrix of H. Thus A,S,K,L are uniformly bounded in 2-norm independently of recursion depth. + +## 5. Bounded-generator shear compiler + +For an m by m matrix T define its Stein displacement + + E_T=T-Z T Z^T=-Delta_m(T) Z^T+T e_0 e_0^T. + +Its rank is at most rank Delta(T)+1. Choose an orthonormal basis g_1,...,g_r for the column space of E_T, and put h_j=E_T^* g_j. With conjugates interpreted appropriately, + + E_T=sum_j g_j h_j^*, + T=sum_j L(g_j) U(conj(h_j)). + +Here L(g) is lower triangular Toeplitz with first column g, and U(h) is upper triangular Toeplitz with first row h. The second identity is the finite telescoping sum T=sum_(k=0)^(m-1) Z^k E_T (Z^T)^k. All g_j have 2-norm 1, and all h_j have 2-norm at most ||E_T||_2=O(1). Their coefficient l1 norms are O(sqrt(m)). + +A zero or tiny first coefficient of h is harmless. Choose an integer gamma >= 2||h||_1 (a fixed conservative gamma=64N suffices under the stated bounds), and set + + P=I+U(h)/gamma. + +P and P^-1 have constant norm, and P is upper triangular Toeplitz. On the same two existing vectors, one generator term is implemented by + + x <- P x, + y <- y+gamma L(g) x, + x <- P^-1 x, + y <- y-gamma L(g) x. + +The result is y<-y+L(g)U(h)x and x is restored. Source transforms use section 3; the other two operations use section 2. Each term costs O(log^2 m) rounds. There are O(log N) terms, hence O(log^3 N) rounds for a full low-displacement-rank shear. + +Although the partial generator sum can be larger than its final T, its norm is at most the sum of O(log N) products of O(sqrt N)-norm factors, hence O(N log N). Within a term the source norm remains constant times its entry norm and the target norm is polynomially bounded. Terms are completed as shears with one common source, so their partial sums add; one must not charge a product of polynomial factors for every generator. + +The full recurrence is therefore + + D_full(N) <= D_full(N/2)+O(log^3 N)=O(log^4 N). + +## 6. Global prefixes, rounding and preprocessing + +At each block-LU node the completed right shear, completed middle block, and completed left shear have constant norm and constant inverse norm. At an intermediate time there is at most one unfinished generator compiler or one unfinished triangular compiler along each recursive path; disjoint paths form a direct sum. If B(N) bounds a full circuit prefix and inverse prefix, this gives B(N)<=max(C B(N/2),N^C), hence B(N)=N^O(1). The same argument applies to suffixes and to the triangular compiler. + +There are N polylog(N) arithmetic gates. Perturbation of one bounded gate by epsilon contributes at most N^C epsilon to the whole operator, by the prefix/suffix bounds. The sum over all gates remains N^O(1) epsilon. Therefore p+O(log N) coefficient/arithmetic bits suffice; there is no N or N^2 precision term on the data. + +The coefficients are fixed before seeing the data. One concrete polynomial-time generation route is: + +1. Approximate the original Toeplitz symbol by dyadic rationals at p+O(log N) bits, preserving Toeplitz structure. The operator perturbation is at most N times the entry perturbation. +2. Compute every recursive Schur matrix as a principal Schur complement of this original rational matrix. Its entries are ratios of minors of that original matrix, so numerator and denominator bitlengths are polynomial in N and p. Avoid an unnecessarily expanded recursive rational expression. +3. For each Stein displacement, use exact rational elimination to select independent columns and rational, unnormalized Gram-Schmidt to obtain orthogonal vectors v_j. Then g_j=v_j/sqrt(v_j^*v_j) and h_j=E_T^*v_j/sqrt(v_j^*v_j). The resulting generators have the bounded norms proved above. Nonzero rational residual norms are at least 2^-poly(N,p), so poly(N,p) offline precision suffices for their normalization. Equivalently a high-accuracy SVD may be used. +4. Compute the finite series divisions and FFT roots to p+O(log N) final bits. All final data-gate coefficients are polynomially bounded. Offline intermediate rational numerators may be longer; they never become data wires. + +This separates polynomial-time coefficient setup from bounded-precision data application. Applying an algebraic-RAM theorem directly to arbitrarily large integers would not provide this separation. + +## 7. Normalized Sylvester merge + +For two b-point children, N=2b, the normalized map supplied by the radical-reduction branch is + + S(B,A)=f(z)B(z)+z^b g(z^-1)A(z), + f(z)=product_lower(1+(x/zeta)z), + g(z^-1)=product_upper(1+(zeta/x)z^-1). + +Let h=g(z^-1)/f(z), K_ij=h_(i-b-j), H_ij=h_(i-j), 0<=i,j0. Every principal submatrix has spectrum in [mu,M]. Every principal Schur complement S also does: S^-1 is a principal block of the inverse of a principal submatrix, whose spectrum is in [1/M,1/mu]. Thus every recursive A,S has norm at most M and inverse norm at most 1/mu. The shears K,L have norm at most kappa=M/mu. The displacement-rank formulas are unchanged. + +Use orthonormal g generators and h of norm O(kappa), and choose gamma>=2||h||_1. The triangular source transform P is still near I, so the depth O(log^4 N) is unchanged. Generator-stage amplitudes and coefficients are poly(N,kappa). Across the O(log N) completed ancestor factors, the bound becomes + + log(max prefix/inverse-prefix norm) + = O(log N * log(2+M+1/mu) + log N). + +If M and 1/mu are exp(O(u)), this is O((u+1)log N). The corresponding data precision is p+O((u+1)log N), and g-axis tensorization adds O(g(u+1)log N) guard bits. This is a usable broad-Gaussian extension once a separate spectral argument supplies the stated eigenvalue interval. Reversing the circuit applies H^-1; the inverse itself need not be Toeplitz. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json new file mode 100644 index 0000000000..a5d007aae1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "files": [ + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "ae6a99f28aa468649eb66a361e764d769363bf11", + "sha256": "10b9e340fd8e354a37a0c4813c90e5de1dd42044b5f6aca4a3fc5a42b685fa32" + }, + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "06c96f5579bb67ed1b86d334e78fbed7da6945f1", + "sha256": "6686ad58f1fbdbc87134a78901b60fd53a20d3984355e91defbbebc9e9fa8075" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md new file mode 100644 index 0000000000..72404c42d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPLIER-SUPPORT-AUDIT.md @@ -0,0 +1,139 @@ +# Independent audit: support-local simultaneous-H supplier + +Conclusion: the retained compact phase supplier can be used at width g with cost + + O(V g^(1-q) polylog(p)) + +without the previously charged additive V p^(1-a), **provided the call is made globally on the complete dyadic tensor, not separately on one fixed coarse-label microbox**. This is conditional on the same accepted finite complex circuit and arbitrary-width equal-chunk interchange as the retained supplier, and on the support-router transfer proved in `work/halo_layout_ultra/SUPPORT-ROUTER.md`. The new support-router's unequal-spacing algebra and its use here have been checked below. + +The full address still has O(p) bits. That quantity remains in descriptor arithmetic, keys and error precision; it no longer determines the width of any newly required fast coordinate interchange. + +## 1. What the actual phase frames touch + +The primary source is `work/integer-mult-current/upstream/build/sections/05-layers.tex`. + +At lines 86–139, a residual basis is a matrix M in GL(m,F_2), extended **inside F_2^m**. At width e=mf it is applied separately to the column + + (x_(1,j),...,x_(m,j)), 0<=j T as prescribed, + T\S -> S\T bijectively, + identity outside S union T + +is a coordinate permutation supported on at most 2gK positions. Its inverse restores the original coarse-coordinate interpretation. The target can be chosen before the payload and a reserved untouched suffix. No stable reordering of every coarse field is required. + +Apply the H supplier to this full global stream, whose complete coarse-coordinate ranges remain present. A fixed coarse-label microbox alone does **not** contain enough complete K-bit fields: its high coarse bits are fixed. Borrowing those fixed labels inside such a microbox would violate the supplier's complete-field hypothesis. This audit approves the global call only. + +The tensor compiler's H schedule is independent of all coarse labels. Those labels affect only diagonal coefficients between complete H calls. The diagonal scan can still be organized by coarse-label microboxes after undoing the global exposure permutation. Coarse-dependent coefficients therefore do not require separate supplier invocations. + +## 3. Deferred reservoirs and the row prefix + +At a phase with h unprocessed selected bits, reserve whole K-bit chunks for two front hG fields, one back hG field, and a leading row prefix. With K=128G, the field reservation is at most 3h/128+O(1) chunks. Row preparation needs O(log h) further chunks, including the product stock for nested bit and complex calls. For h above a fixed polylog(p) threshold the total R(h) is at most h/16. The remaining bounded/polylogarithmic h can be processed individually. + +Every such chunk is one of the current selected chunks. The phase applies C only to the other h-R(h) selected bits and identity to the reserved chunks; the latter are deferred to the next phase. + +This requires one explicit modification to the original exposition: **do not first apply C to the reserved row/front/back selected bits**. That preliminary work in the old all-axis construction only ensured those selected bits were eventually covered. It is not needed to create rows or complete temporary fields. Source `compact-control-layout.tex` lines 30–62 proves that the active invocation is the required C tensor separately on every row and identity on all reserved/spectator coordinates, for arbitrary incoming payloads. Hence dirty, unprocessed reserved selected bits are valid. + +The leading q0 complete chunks have cardinality 2^(q0 K). Choose q0 from the actual product row stock Q_rows=W_complex^D_complex W_bit^D_bit. This preserves the accepted nesting contract; replacing the product by a maximum would be incorrect. Pad the leading row count to a multiple of Q_rows once for this phase, by adding whole rows. The factor is below two. All descendants inherit the same complete within-row fields and the same row stock; no new independent bit coordinates are allocated. + +A completed active invocation is identity on the row label and every temporary coordinate. Each padded zero row is therefore zero at completion and can be deleted. Delete padding and restore the exposure layout **before the next deferred phase**. Consequently row padding does not multiply by 2 at every phase or tensor axis. + +The next deferred phase gathers only its h'=R(h) remaining neighborhoods. A gather/restore can again be extended with support at most 2h'K; it may move previously processed coordinates temporarily but fixes them after the inverse placement. Their values need not be recomputed. There is no need to move all p coordinates back into a stable global axis order. + +## 4. The logarithmic K choice is legal after tightening the statement + +The original compact-control proposition states the sufficient asymptotic condition K/log p -> infinity. K=128G does not satisfy that literal condition. The source proof, however, uses it only at lines 149–154 to obtain + + K >= G+4 ceil(log2 p)+10, + delta_bad <= 5/(128p^3). + +K=128G satisfies the displayed finite inequality directly. The earlier/later-source guard proof, complete-field layout, row stock, scalar gates and semantic guard have no other use of K/log p -> infinity. Thus the transfer must cite the tightened finite guard hypothesis; it must not claim that the new K satisfies the old stronger asymptotic wording. + +With this change, all compact interchanges retain width O(h log p), and the per-node movement overhead is O(V_node h^(1-a) polylog(p)). Here h is the current selected width, not the ambient number d of original Gaussian axes. The supplier's stopping threshold and branching analysis likewise use its own top width g; global p remains only in logarithmic guards and O(p)-bit descriptors. + +## 5. Check of the support-router extension + +The original arbitrary-source router colors active targets by their current location modulo K. Targets in one color have disjoint K-bit guards. The new router stores only the r active control digits, H=rG, even when the target spacings are unequal multiples of K. + +The four-update proof depends solely on disjointness of the guard intervals: on a good address the first y update adds 2zt within a guard, the t update adds its old low bit e without carry, and the second y update adds z(1-2(t+e)). Their net is z(1-2e), changing exactly the selected low bit. The final t update restores t. Nothing uses equality between successive target gaps. A complete F therefore fixes every nontarget source bit, even inside another guard. F; load u from the sources; F; unload implements the desired simultaneous XOR for sources outside the target set. + +All rotations remain globally bijective, because their controls precede the target after the prescribed back-field shuttle. Their current-control inverse is used on bad addresses. The ideal selected-bit XOR preserves the guard/control bad predicate, so the old sparse repair applies unchanged. Its O(p)-bit keys and polynomial per-record arithmetic remain explicit; they are not replaced by a unit-cost sort. + +For a permutation moving k positions, factor it into two involutions and three XOR stages per matching. Three disjoint 3kG-bit reservoirs can be chosen when n>=9kG; the three matching cohorts avoid the respective reservoirs. Each target residue class then uses width at most kG in each control field, rather than ceil(n/K)G. Original equal-width interchanges place and restore the fields. This gives O(V k^(1-a) polylog p), plus descriptor setup. + +When records are short, choose only ell_s=ceil(log2 p)^2 untouched binary bits, not a whole long original axis. Here is explicit noncircular suffix bookkeeping. For a requested permutation pi with moved support at most k, if n>2(k+1)ell_s, a gap in its support contains a consecutive ell_s-bit field S disjoint from the actual last ell_s bits. Use one original equal-ell_s interchange A to move S to the actual suffix. Route the conjugate A pi A^-1 on the n-ell_s prefix only, then undo A. The conjugate fixes that suffix pointwise because pi fixed S. Choose all control reservoirs inside the prefix, after this interchange, and recompute positions and residue classes after their placements. Thus no control operation touches the grouped suffix. Grouping its 2^ell_s complete values into a record preserves the data volume and gives a superpolynomial record length. If n<=2(k+1)ell_s, the retained full-span bound is already O(V(k+1)^(1-a) polylog p), so no suffix grouping is needed for this support bound. The placement costs O(V polylog p), not V ell^(1-a) for the original long axis length ell. + +For the calls here, k=O(hK)=O(h log p), and n/(k log p) tends to infinity because g=p^beta with beta<1 while n is of order p in the retained full tensor. If this inequality fails in a small regime, n=O(k polylog p), so the retained full-span bound is already O(V k^(1-a) polylog p). The support theorem's own temporary reservoirs may have O(kG) bits; this is a polylogarithmic enlargement of support, already priced in the same bound. + +## 6. Complete charge table + +| Operation | Active coordinate/data support | Charge | +| --- | --- | --- | +| Initial and inverse neighborhood exposure | At most 2gK moved bit positions | O(V g^(1-a) polylog p) | +| Deferred phase exposure at width h | At most 2hK positions | O(V h^(1-a) polylog p) | +| Fixed binary residual adapter | h selected bits; compact controls O(hG) | O(V_node h^(1-a) polylog p) | +| Control-field shuttle | At most O(hG)-bit chunks | Original O(V_node(hG)^(1-a)) | +| Modular rotations and exceptional repair | Full scan; O(p)-bit descriptors/keys | O(V_node) after record grouping | +| Residual child concatenation | Existing contiguous first-r slots | Descriptor change only | +| Source/sink/inverse phases | Selected-bit masks and coefficients | O(V_node) | +| Scalar role gates, parking and restoration | Fixed role streams at aligned addresses | O(V_node) | +| Whole-row padding and deletion | One current-phase row prefix | O(V), factor below two, removed before next phase | + +No row in this table requires an interchange of width p. + +Let tau=1-a. The retained stopped branching argument gives O(V h^(1-q) polylog p) for each phase, with q 2(k+1)L. +``` + +Indeed, after excluding the actual suffix, the at most k moved positions +cut the remaining interval into at most k+1 gaps. If every gap had length +less than L, that prefix would have length at most (k+1)L-1. The displayed +inequality contradicts this bound. + +Let A be the old disjoint equal-L swap exchanging S with the actual suffix. +Execute A, route the conjugated permutation A pi A^{-1}, then execute +A^{-1}. Because pi fixes S pointwise, its conjugate fixes the actual suffix +pointwise. It still moves at most k coordinates. All endpoints are now in +the n-L prefix. Choose the three dirty reservoirs in that prefix and run +all compact rotations, original control shuttles, elementary CNOTs, and +bad-hole repair there. Recompute endpoint names after A and after the +reservoir placement. In the application, n-L>=9kG holds with a wide +asymptotic margin. + +The suffix is a complete binary field with arbitrary contents. Reinterpreting +its 2^L values as part of a record gives record length R0*2^L, without +creating, padding, or deleting data. This length exceeds every fixed +polynomial in p. No operation whose cost relies on that record length acts +on its component coordinates. Both instances of A use the already approved +primitive and cost O(V L^(1-a))=O(V polylog p); they do not invoke the new +router. This removes the prospective circularity. + +For the general router outside this sparse branch, the retained +first-L/second-L/actual-last-L candidate convention and matching cohorts +also work. Arbitrary candidates should not be substituted blindly: a +candidate can partially overlap the actual suffix, whereas the old swap +requires equal disjoint fields. After each candidate placement, the same +n-L prefix exclusion is mandatory. If the entire binary span is only +polylogarithmic, the old elementary construction suffices. If +n=O((k+1)polylog p), the old full-span construction gives the desired +support bound up to polylogarithms; its own short-record preparation must +still use the old suffix construction. + +For a full H supplier call, reserve the suffix outside its selected field +and keep it fixed throughout the completed call. If necessary, perform +the same old L-bit placement before exposure, update the logical names of +the neighborhoods, and restore it after inverse exposure. The source +neighborhoods need not remain physically consecutive before exposure: +the exposure permutation explicitly routes their named bits. The target +complete chunks are placed before the reserved suffix. + +## 3. Whole-row padding and the next diagonal scan + +The leading row prefix and the front/back controls are assembled from +complete K-bit neighborhoods in the globally complete binary tensor. +Their bits are not assumed zero or semantically independent of coefficient +values. Completeness means every coordinate value is represented in the +stream. Multiplication by previous coarse-dependent diagonal coefficients +does not remove any address or change this property. + +Deferring the selected bits lying in reserved chunks is valid: the accepted +active invocation is the desired tensor on the other selected bits and +identity on every reserved coordinate, for arbitrary incoming coefficients. +The preliminary individual transforms in the old layout were used to +finish those selected bits, not to create complete row or control ranges. +After deferral, those transforms are performed in later phases instead. + +The row count is rounded once to a multiple of the actual product + +``` +Q_rows = W_complex^D_complex * W_bit^D_bit. +``` + +The padded row label is allowed to be a nonbinary preceding fiber count. +Every within-row field remains a full binary field. The supplier's +interchanges and controls act within those complete fields; the global +exposure router is not applied to the padded row label. Nested bit adapters +consume and restore the bit stock before later complex splits, exactly as +in the retained product-stock argument. + +At the completed invocation boundary, the operator is identity on the row +label. A padded zero row therefore returns to zero even though temporary +role computations may have combined or moved its contents. Delete those +rows before inverse exposure or the next deferred phase. This bounds each +phase's volume by twice its original volume, not by a factor exponential in +the number of phases. + +All H calls in the compiler have the same selected-bit schedule for every +coarse label; label dependence resides in the intervening diagonal tables. +Run one H call on the complete global tensor, complete every deferred +phase, remove padding, and restore the original exposed-coordinate order. +Only then run the next diagonal scan. The microbox layout used for that +scan is the restored layout in which the local coordinates are already +contiguous (or the separately paid low-bit gather layout). No padded row, +partial H result, or temporarily relocated coarse label is presented to +the diagonal-table lookup. Thus scanning different coarse-label tables +does not require separate H invocations or borrowing fixed labels inside +a microbox. + +## 4. The actual parameter inequalities + +The largest exposure moves k=O(gK)=O(p^.093 log p) binary coordinates. +With G=Theta(log p), its three dirty reservoirs require + +``` +9kG = O(p^.093 log^2 p) = o(p). +``` + +The suffix occupies only L=Theta(log^2 p) positions. In particular, + +``` +n/(kG) = Omega(p^.907/log^2 p) -> infinity, +n/((k+1)L) = Omega(p^.907/log^3 p) -> infinity. +``` + +There is ample room both for the old spectator placement and for all +subsequent prefix-only reservoirs. These inequalities concern the full +binary address, not any one original axis. + +The only per-axis inequality is + +``` +K + O(log p) < ell_axis = Theta(p^.002), +``` + +which holds eventually. The original K/log p -> infinity wording must be +replaced, as already noted in `SUPPLIER-SUPPORT-AUDIT.md`, by the finite +guard inequality K>=G+4ceil(log2 p)+10. K=128G satisfies it. + +The supplier's front/back controls are made by concatenating reserved +complete neighborhoods. Their chunk count is + +``` +ceil(2hG/K) + ceil(hG/K) <= 3h/128 + 2. +``` + +The leading row stock adds O(log h) complete chunks. Above a fixed +polylogarithmic cutoff this is at most h/16, and smaller h is handled +individually. No single original axis stores hG control bits. Indeed +gG/ell_axis=Theta(p^.091 log p) diverges; the construction works precisely +because it does not demand this false per-axis fit. + +Consequently the reviewed mechanisms support the proposed +O(V g^(1-q) polylog p) global-call cost under the retained supplier +assumptions. The suffix exclusion and completed-call boundary should be +kept explicit in any final assembly. They are necessary bookkeeping, +not a new exponent restriction or an unproved sorting primitive. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md new file mode 100644 index 0000000000..4f39fa9eaf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/SUPPORT-ROUTER.md @@ -0,0 +1,157 @@ +# Coordinate routing measured by moved support + +This is a conditional extension of the retained compact arbitrary-source +router. It uses the same equal-width chunk interchange with cost +`O(V H^(1-a))`, original fixed-tape modular rotations, counters and sparse +radix repair. It changes the packed-control length from the full address span +to the number of active target positions. No computed-key sort of the full +input is assumed. + +Let a supplied permutation of `n=O(p)` binary address coordinates move at +most `k` positions. The stream is a complete binary rectangle, with arbitrary +preceding fibers and following payload. In the regime used below, +`n/(k log p) -> infinity`; short remaining cases can use the retained +full-span router, since `n=O(k polylog p)` there. The conditional cost is + +``` +O(V (k+1)^(1-a) polylog p + poly(p)). +``` + +All other coordinate positions return to their original values. This is a +support bound, not a bound on how far a moved coordinate travels. + +## Unequally spaced target lemma + +Put `B=2^G`, `G=4 ceil(log2 p)+6`, and `K=64G`. Take target positions +`j_0<...2(k+1)ell`, a gap outside the moved support contains a contiguous ell-bit +field S disjoint from the actual last ell bits. Use an original equal-ell +interchange A to move S to that actual suffix. Route the conjugate +`A pi A^-1` on the n-ell prefix only, then undo A. The conjugate fixes the +suffix pointwise because pi fixed S. Choose every dirty control reservoir +inside the prefix after this interchange, then recompute positions and +residue colors. Thus no control operation touches the enlarged record. +Its 2^ell complete values absorb the polynomial descriptor work; no data +is padded or duplicated. If `n<=2(k+1)ell`, the retained full-span bound +already gives `O(V (k+1)^(1-a) polylog p)`. The placement itself costs only +O(V polylog p). This explicit suffix-conjugation bookkeeping was +independently supplied in `work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md`. + +## The gather uses only S union T + +Let S list the k selected low-coordinate bits in the desired tensor order, +and T list k consecutive destination slots. Send S bijectively to T. Send +the remaining domain slots `T\S` bijectively to the remaining output slots +`S\T`, and fix everything outside `S union T`. This explicitly extends the +requested gather to a coordinate permutation supported on at most 2k bits. + +The other coarse-coordinate bits can be scrambled by this extension. Their +order is retained and described by the inverse permutation; **no stable +compaction of all coarse fields is performed**. A coarse neighbor address +can be decoded, incremented in its logical axis, then encoded in this +physical coarse order when constructing a sparse correction key. + +## Evidence and boundary + +`check_sparse_shear.py` checks all 32,768 addresses for targets 0 and 6 with +guard length 5, including 512 good addresses, inverse composition and every +bad repair. It also checks 4,000 arbitrary/constructed-good addresses with +unequal gaps 9 and 11 and sources inside guard fields. `check_halo.py` +checks three explicit support-at-most-2k gather permutations. + +These controls support the algebra; the cost argument above is the +all-size conditional transfer. It retains the original bit-supplier, +equal-width interchange, fixed-tape and common-label hypotheses. It does +not upgrade an arbitrary full computed-key sort to a fast router. + +Sources: the retained reports `compact-arbitrary-source-routing.md` and +`review-arbitrary-routing.md` under +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json new file mode 100644 index 0000000000..8fc25b910b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TASK.json @@ -0,0 +1,72 @@ +{ + "schema_version": 1, + "task_id": "uniform-transfer-audit", + "priority_revision": 3, + "base_commit": "a5d4f08ac102d1a6da301d89379c75285eca680e", + "original_card": { + "id": "uniform-transfer-audit", + "question": "Can one exact all-size/compiler, precision, hosting or restoration implication be proved or falsified?", + "starting_points": [ + "certificates/selected-result.json", + "docs/audit.md" + ], + "methods": [ + "Prove one missing implication with explicit quantified hypotheses.", + "Find an exact counterexample at the claimed interface boundary." + ], + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read the selected review scope and choose one exact all-size or precision implication.", + "scope": "Positive control / source-bound orientation only; this is not a new construction or full cold replay." + }, + "first_experiment": "Write its quantified inputs and conclusion; find a missing hypothesis or construct a minimal exact adversarial instance.", + "bottleneck_link": "Finite supplier improvements are useful only under the retained transfer obligations.", + "allowed_variations": [ + "Choose one tape, precision, hosting or restoration lemma." + ], + "scope_change_triggers": [ + "Replacing a quantified obligation with another finite smoke test." + ], + "overlap_terms": [ + "uniform transfer", + "all-size", + "precision" + ] + }, + "scope_status": "changed", + "actual_scope": "Construct and audit capped phase-cell fusion and substitute the pinned fully replayed T74 supplier to obtain final conditional kappa=0.001677160151714381.", + "scope_change_reason": "The user explicitly requested stronger bounds using broad resources; the resulting work replaces several outer transfer steps rather than auditing a single inherited implication.", + "bottleneck_link": "The outer reduction repeatedly scans Gaussian axes; in-place tensor compilation and capped sparse boundaries reduce that cost. The unchanged complex supplier still caps the possible final saving.", + "budget_minutes": 180, + "stop_rule": "Publish the verified conditional transfer with exact source bindings and bounded replay; retain larger-supplier research as open work.", + "outcome": "completed", + "evidence": "phase_fusion_note.tex; frontier_fusion/FRONTIER-FUSION-ARITHMETIC.json; frontier_fusion/NATIVE-ADMISSION-BINDING.json; PUBLICATION-CHECKS.json", + "author": "Vlado Vojdanovski", + "ai_assistance": "Substantial AI assistance. No independent human or proof-assistant review claimed.", + "open_questions": [ + { + "question": "Can a new finite supplier materially exceed the present complex rate?", + "why_it_matters": "The current complex endpoint is below .00168 and cannot yield final .002.", + "first_step": "Emit and price a full native side circuit for a lower-cost central decoder.", + "blocked_by": "Actual routing, helper and restoration costs." + }, + { + "question": "Can the full capped transfer be independently formalized?", + "why_it_matters": "Finite algebra checks do not establish all-size tape complexity.", + "first_step": "Reconstruct the sparse-union and support-local routing proofs.", + "blocked_by": "Formal all-size schedule and inherited compiler interfaces." + }, + { + "question": "Can future suppliers be substituted without changing the outer proof?", + "why_it_matters": "The outer gain can compose with later finite improvements.", + "first_step": "Bind endpoint, prefix and completed-call restoration contracts and rerun the ledger.", + "blocked_by": "A complete supplier satisfying the same functional contract." + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md new file mode 100644 index 0000000000..19efb9cb1c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/TENSOR-COMPILER.md @@ -0,0 +1,160 @@ +# Tensorizing local circuits without dimension padding + +Status: an algebraic compiler and scan-cost lemma. It reduces a tensor product of different bounded-depth local circuits to a bounded sequence of simultaneous binary Hadamard calls and diagonal scans on the **same** data volume. The retained supplier must support the stated Hadamard call on selected local bits and restore the agreed endpoint record order. No new fast-transform supplier is asserted here. + +## 1. Interface and conclusion + +Let N=2^m and let g axes each have N local coordinates. A coarse-label block contains V=N^g data records in lexicographic local-coordinate order. On axis a let C_a be an N-wire linear circuit of depth D; every layer consists of disjoint invertible two-coordinate gates and one-coordinate diagonals. The permitted gates are bounded shears, swaps, FFT butterflies, and diagonals. Circuits, pair matchings, coefficients and depths can differ by axis and by coarse label. Their tables are fixed independently of data values. + +Write H=[[1,1],[1,-1]]. A simultaneous Hadamard call means the tensor product of one H acting on one selected bit in each axis, with all remaining local and coarse coordinates as spectators. It acts on existing 2^g-coordinate fibers inside the N^g records; it allocates no new coordinate. The bit selected in an axis may be prescribed by the compiler. + +After padding shorter circuits by identity **operations**, the tensor product C_1 tensor ... tensor C_g is a sequence of + + at most (8m+2)D simultaneous H calls + +and O(Dm) tensor-diagonal scans. A tensor diagonal has the form + + d(i_1,...,i_g;c)=product_(a=1)^g d_a(i_a;c), + +where c is the fixed coarse label. Each diagonal scan uses O(1) amortized coefficient multiplications and O(1) amortized coefficient-table record movements per data record, after loading gN local values. The number of arithmetic-data coordinates remains exactly N^g throughout. + +If all local gate coefficients and inverses are bounded by B and all original prefix and inverse-prefix norms by Lambda, the compiler's local prefix bounds are Lambda times poly(B), up to absolute constants. For polynomial B and Lambda this is N^O(1). The tensor-prefix logarithmic bound is O(g log N). More generally depth D=polylog(p), B=poly(p), N=poly(p) gives an O(g polylog(p)) guard even without a stronger prefix theorem. + +An outer similarity whose logarithmic range is Q_a on axis a adds only sum_a Q_a. Therefore the retained phase-cell case Q_a=O(a d) uses + + p + O(g a d + g polylog(p)) + +working bits. The condition g a d+g polylog(p)=O(p) is sufficient for O(p)-bit records. + +## 2. Fixed Hadamard words, including zero shears + +All formulas below are matrix-product order; execution reads right to left. Let U(t)=[[1,t],[0,1]]. Direct multiplication gives + + H diag(2,1) H diag(-3,1) H = [[-8,-10],[0,-6]], + diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H = U(5/4). + +For q nonzero, conjugate by A_q=diag(4q/5,1): + + U(q)=A_q diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H A_q^-1. + +This has three H factors. To include t=0 with uniformly invertible diagonals, choose a known B>=|t| and c=2B+1. Then + + U(t)=U(t+c) U(-c). + +Both parameters have magnitude at least B+1 and at most 3B+1. This is a **six-H word for every t**, with all scalar coefficients and inverses bounded by poly(B). There is no division by t and no case split at t=0. Transpose the word to obtain the same six-H count for lower shears. + +There are two bounded identity words: + + I = (1/2) H H, + I = diag((1-i)/4,(1+i)/4) H diag(1,i) H diag(1,i) H. + +The second identity uses three H factors. Its middle product before the leading diagonal equals diag(2+2i,2-2i). Complex coefficients are permitted by the retained complex H interface. + +Consequently every gate type can be given **exactly six H factors**, separated by diagonal matrices: + +- Upper/lower shear: the six-H word above. +- Diagonal, including I: append three two-H identity words. +- Swap J: use J=(1/2)H diag(1,-1)H, then append two two-H identity words. +- FFT butterfly H diag(1,w), optionally scaled by 1/sqrt(2): append a two-H identity and a three-H identity. Here |w|=1. + +Combining neighboring diagonal matrices puts every word in one common alternating shape with six H factors and seven diagonals. Thus different gate types, zero parameters and inactive pairs can coexist in one simultaneous schedule without branches or padded data coordinates. + +## 3. Every matching can be routed to adjacent pairs + +For one local layer, assign its oriented pairs (i,j) to positions (2k,2k+1). Unpaired coordinates are assigned arbitrarily to the remaining positions, in pairs carrying diagonal or identity gates. This defines a permutation pi on exactly N coordinates. The layer equals + + P_pi^-1 (direct sum of adjacent-pair gates) P_pi. + +We use a Beneš network of 2m-1 switch layers. At each layer all switches join indices differing in one fixed bit; the bit sequence is + + 0,1,...,m-1,m-2,...,1,0. + +Here is a constructive proof of rearrangeability. Form a bipartite multigraph whose left vertices are input pairs {2j,2j+1} and whose right vertices are output pairs {2k,2k+1}. Input i supplies an edge to output-pair floor(pi(i)/2). Every vertex has degree two, so each component is an even cycle (parallel edges are allowed). Alternately color each cycle's edges 0 and 1. The first switch sends an input edge into the subnetwork of its color; the last switch sends that color to the required output parity. Each color class induces a permutation on N/2 pair indices. Recursively route both color subnetworks in parallel. This gives exactly the displayed bit sequence and uses no storage coordinates. + +The switch is either I or J. Both are obtained from the common two-H word + + S_epsilon=(1/2) H diag(1,epsilon) H, + epsilon=+1 for I, epsilon=-1 for J. + +Thus all axis-dependent switch controls are diagonal entries. A physical switch on bit k simply uses a simultaneous H call selecting bit k in each axis. No interstage wire shuffle is needed. If a supplier accepts only a contiguous selected-bit field, the existing paid bit router must gather that field and undo the gather; that is a supplier-interface cost, not an uncharged permutation. + +Each forward or inverse Beneš route uses 2(2m-1) H calls. The adjacent gates use six. Hence one original matching layer uses + + 2[2(2m-1)]+6 = 8m+2 + +H calls. The schedule is identical on every axis and every coarse-label block; only diagonal tables change. + +## 4. Tensor fusion is literal multiplication, not a sum expansion + +Let the compiled axis-a circuit be D_(a,L) H_(a,L) ... H_(a,1) D_(a,0), with the same number and arrangement of H factors. Kronecker multiplication gives + + tensor_a C_a + = (tensor_a D_(a,L)) (tensor_a H_(a,L)) ... + (tensor_a H_(a,1)) (tensor_a D_(a,0)). + +Every tensor of diagonals is a single diagonal scan. Every tensor of binary H factors is one simultaneous H call. This introduces neither a sum of 2^g branches nor a 2^g padding factor. The 2^g-dimensional Hadamard fibers are subsets of the N^g existing coordinates. + +An axis with no work at a particular original depth receives an identity layer, routed and compiled with the same fixed shape. Its intermediate H operations are still present, but the complete local word is I. Coarse-label variation is equally harmless: for each fixed label the identity above holds separately, and the whole data operator is a direct sum over labels. + +## 5. Uniform intermediate bounds and precision + +A completed switch route is a permutation and has norm one. Each partial switch word has absolute constant norm and inverse norm. Between original local circuit boundaries, at most one original gate word is partially executed. Its length is constant, and its scalar coefficients and inverses are poly(B); all different pairs act as a direct sum. Therefore + + max_prefix ||C_compiled,prefix||, + max_prefix ||C_compiled,prefix^-1|| <= poly(B) Lambda. + +The length O(D log N) does not require multiplying this polynomial bound afresh at every stage: completed original prefixes already have bound Lambda; completed route and padding words have their exact intended endpoints. The corresponding suffix bound is also polynomial when the original endpoint and inverse-prefix bounds are. + +For g tensor factors, the operator norms multiply, so their logarithms add. A microbox coarse-label direct sum takes the maximum over labels, not a product over labels. Hence polynomial local bounds give exp(O(g log N)); using only the rough original bound Lambda<=(2B)^D gives exp(O(gD log B)). Adding the original cell similarity contributes exp(sum Q_a). + +The number of compiled stages is polylog(p). Allocate each rounding or supplied-transform error below the final tolerance divided by this stage count and the prefix/suffix amplification. This costs O(g polylog(p)+sum Q_a) guard bits. Supplier-internal precision charges still must be those already guaranteed for the simultaneous H call; this compiler does not erase them. + +## 6. Product diagonals with constant amortized scan cost + +Fix one diagonal stage and one coarse label. Load the gN coefficients d_a(i) on a coefficient tape in axis order. Use base-N lexicographic enumeration with axis 0 fastest. Store suffix products + + P_j=product_(a=j)^(g-1) d_a(i_a), 1<=j=1) k/N^k = O(V), + +plus O(g) initialization. No division by d_a(i) is used, so this method also permits zero diagonal entries when an external application permits them. Every cached product is recomputed from current factors, never updated by a long chain of multiplicative ratios, so numerical drift does not depend on the number of records scanned. + +The same accounting works on a fixed number of tapes. Keep the coefficient-tape head normally in axis-0's N-record table. Rewinding that table costs O(N) once per N records. A depth-k carry visits the needed tables up to axis k and returns, moving O(kN) coefficient records. Summing over carries gives + + O(V sum_(k>=1) kN/N^k)=O(V) + +record moves. The suffix-product tape is accessed near its front except on carries, with the same geometric bound. Counter/address arithmetic costs only polylog(p) per record. This does not require g work tapes or a random-access lookup every record. + +The table loading cost is O(gN) records per coarse block and stage. For N>=2 it is O(N^g), including small g, and polynomial-time table construction is negligible per N^g block in the retained asymptotic regime g=p^beta tending to infinity. If tables are supplied rather than constructed locally, no additional assumption is needed. Both generation and loading costs must be charged once per visited coarse block, not silently once for the entire input. + +At O(p) working precision, O(1) amortized scalar multiplications per record and O(1) record movements cost O(V_bits polylog(p)) under the retained pointwise-arithmetic kernel, where V_bits counts bit volume. There is no g V_bits coefficient-generation term. + +## 7. Exact controls + +`check_tensor_compiler.py` constructs the network controls and all fixed words. `TENSOR-COMPILER-CONTROLS.json` records: + +- every permutation for N=2,4,8, including all 40,320 permutations at N=8; +- 100 random permutations each at N=16,32,64; +- exact symbolic checks of upper/lower zero and nonzero shears, diagonal, Swap and FFT words; +- an exact two-axis N=4 replay with different axis matchings and gate types: 16 data coordinates, all 256 input-output matrix entries, 18 simultaneous H calls, no dimension expansion. + +The finite controls support the constructive proofs; the cycle coloring, word identities, Kronecker identity and geometric scan sums establish the asymptotic statements. + +## 8. Cost substitution into the retained supplier + +Suppose a simultaneous H call on g selected bits, across V_bits bits of data and spectators, has paid cost O(V_bits g^(1-q) polylog(p)). Suppose also that any required bit-field gather/restore has cost O(V_bits g^(1-a_bit) polylog(p)). For D=polylog(p), N=poly(p), the compiler uses only polylog(p) such calls, and its diagonal scans cost O(V_bits polylog(p)). Thus the grouped local circuit costs + + O(V_bits [g^(1-q)+g^(1-a_bit)+1] polylog(p)). + +When a_bit>q and 00 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_boundary_slack',dict(sigma_boundary=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_PHASE_FUSION_REVIEW', + scope='Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.', + review=dict(integrated_review='Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.', + independent_cap_gauge='CAPPED-GAUGE-AUDIT.md', + independent_cap_layout='CAPPED-SIGNOFF.md', + supplier_support='SUPPLIER-SUPPORT-AUDIT.md'), + **row,controls=controls) + (ROOT/'CAPPED-OUTER-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py new file mode 100644 index 0000000000..3f543803d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/check_matrix_corollary.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Exact corollary ledger, additionally assuming the supplied 9/4 theorem.""" +from fractions import Fraction as Q +from decimal import Decimal,localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,union_slack=None,old_vd=False, + full_cell_gauge=False,add_full_key_sort=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + union_slack=Q(1,10**5) if union_slack is None else union_slack + tau_matrix=Q(19,8) + c=(3-tau_matrix)/2 + stop=Q(1,10**9) + cap=(Q(3,2)+q-(1+q)*(r+zeta)+union_slack)/(2+q) + eps=(1+q*(1-cap-r-zeta))/(1+q) + beta=1-cap-r-zeta + kappa=Q('0.001673360105405778') + selected=Q('0.001672660197076918') + first=Q('0.001672922349588871') + tau_bit,sigma=1-a,1-complex_ + internal=tau_bit+(1-stop)*max(sigma-tau_bit,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_algebraic_matrix=c+cap-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+cap, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd:margins['unreplaced_per_axis_scan']=1-eps + if add_full_key_sort: + margins['unnecessary_union_full_key_sort']=margins['sparse_union_movement']-key + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau_bit, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=cap-Q(1,2), + capped_block_below_cell=eps-cap, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-cap-r-beta, + actual_logarithmic_group_guard=1-cap-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + sparse_union_fraction_decays=cap-beta-Q(1,2), + microbox_halo_volume=8-3-beta, + union_positive_slack=union_slack, + matrix_exponent_above_source_bound=tau_matrix-Q(9,4), + matrix_exponent_below_five_halves=Q(5,2)-tau_matrix, + short_record_fallback=eps-a, + improvement_over_selected=kappa-selected, + improvement_over_first_reviewed_transfer=kappa-first, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['sparse_union_movement']==margins['main_transform']+union_slack + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_union=union_slack,stop=stop, + epsilon=eps,capped_block_power=cap,beta_group=beta, + matrix_exponent=tau_matrix,matrix_source_bound=Q(9,4), + c_boundary=c,kappa=kappa,selected=selected,first_reviewed_transfer=first, + lambda_=lam,lambda_prime=1-q,tau=tau_bit,sigma=sigma, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_union_slack',dict(union_slack=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True)), + ('full_key_sort_on_union',dict(add_full_key_sort=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW', + scope='Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.', + review=dict(integrated='Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.', + matrix_source='PROOF-AND-COVERAGE.md', + effective_stability='ALGEBRAIC-STABILITY-INDEPENDENT.md', + independent_layout='MATRIX-LAYOUT-SIGNOFF.md'), + omitted_row=dict(name='optional full-coordinate-key union surcharge', + reason='The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost.'), + **row,controls=controls) + (ROOT/'MATRIX-COROLLARY-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement_over_selected'])) + print('gain over first transfer',decimal(row['slacks']['improvement_over_first_reviewed_transfer'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json new file mode 100644 index 0000000000..ed4b620d8a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-CONTROLS.json @@ -0,0 +1,7 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "negative_and_zero_origin_instances": 45, + "finite_LDU_and_shift_entries": 750, + "scope": "Finite-origin algebra, exact origin-shift correction, upper inverse formula and simultaneous periodic shifts; bilateral limiting argument is analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md new file mode 100644 index 0000000000..5cad6ee19f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/BILATERAL-LDU.md @@ -0,0 +1,131 @@ +# Bilateral Gaussian LDU and a fixed-width periodic inverse bound + +Independent audit of the parent's infinite-LDU observation. This is an analytic norm theorem. It does **not** assert that the bilateral factors already have a fully priced fast implementation. + +## Statement + +Let `1=1`, define on Z + +`G_ij=exp(-a[(rho*j-q_i)^2-beta_j^2])`. + +Let `r=exp(2a rho)` and `c=prod_(m>=1)(1-r^-m)>0`. Then G has an exact factorization on bounded bilateral sequences + +`G=L C U`, + +where L is unit lower triangular, U is unit upper triangular, C is diagonal, and all factors and their inverses are bounded. Moreover all six factors are invariant under simultaneous index translation by s. Their periodizations therefore factor the periodic Gaussian matrix N, and + +`||N^-1||_infinity <= c^-4 exp(a/2)/(1-exp(-a rho theta))^2`. + +In particular, at the fixed choice `a=1`, + +`||N^-1||_infinity < 16 theta^-2`. + +Any fixed a>=1, including a=4pi if an integer alpha>=2 is retained, gives a constant times theta^-2. No lower bound proportional to log(1/theta) on a is needed for this norm theorem. + +## 1. Finite-origin factorization and the shift correction + +Write `x_i=r^q_i`, `d_i=exp(-a q_i^2)`, and `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Then `G_ij=d_i x_i^j e_j`, including negative indices, and `d_i x_i^i e_i=1`. + +For a finite square principal interval `[l,r0]`, the Vandermonde powers must begin at zero. The correct shifted row diagonal is **d_i x_i^l**, and the power is `j-l`. This removes a possible erroneous origin-dependent diagonal from the upper factor. + +Put + +`C_i(l)=prod_(l<=k=j`, + +`U^l_ij=(e_j/e_i) h_(j-i)(x_l,...,x_i)`, `j>=i`. + +Here h is the complete symmetric polynomial, h_0=1. Upper and lower inverses are + +`(U^l)^-1_ij=(-1)^(j-i)(e_j/e_i) e_(j-i)(x_l,...,x_(j-1))`, + +`(L^l)^-1_ij=(-1)^(i-j) exp(E_ij) C_i(l)/(C_j(l) D_ij)`, + +where + +`D_ij=prod_(j=j`, + +`|(U^l)^-1_ij|<=c^-1 exp(a/4) exp(-a rho theta(j-i))`, `j>=i`. + +Both use only `-1/2<=beta_k<1/2`. Thus their row norms are at most the corresponding constants divided by `1-exp(-a rho theta)`, uniformly in l and the finite size. + +The row sum of G is uniformly finite, since + +`G_i,i+h <= exp(a/4) exp(-a(rho*|h|-1/2)^2)`. + +The same positive Gaussian bound controls all finite-origin L and U factors. + +## 3. Letting the left origin tend to minus infinity + +For fixed i,j, C_i(l) converges to + +`C_i=prod_(k(i+s,j+s)`. Every displayed factor has the same invariance: ratios `x_k/x_i` are preserved, and the Gaussian/prefix expressions shift together. C_i is s-periodic. + +For an invariant matrix A with bounded absolute row sums, set + +`Pi(A)_ij=sum_(n in Z) A_(i,j+ns)`, `0<=i,j=e^2>7, and the elementary product bound gives `c>=1-sum_(m>=1)r^-m>5/6`. Also `1-exp(-rho theta)>=theta/2` for 04W, choose + +`B=min(Bcap, 2^floor(log2(R-W)))`, + +retain the next B vertices as an interior, then the next W vertices as boundary, and decrement R by B+W. Declare the final R<=4W vertices boundary. + +There are `O(L/Bcap+log Bcap)` interiors: while the cap is active, each step removes at least Bcap vertices; after it ceases to be active, the remaining length halves at each step. Every interior length is dyadic and at most Bcap. Every interior produced by the loop is longer than W; two successive interiors are separated by at least W retained coordinates. + +Total boundary count per original cell is + +`O(W(L/Bcap+log Bcap))`. + +Since original cell lengths are Theta(d), total boundary density is + +`O(W/Bcap + W log Bcap/d)=O((W/Bcap) polylog p)` + +when Bcap<=d. The same selected-input and target-output physical period cuts must be preserved. A clipped endpoint cell of O(W) length is wholly boundary. + +Interior elimination only fills between the adjacent boundary groups of one interior. Each group has O(W) vertices: inserted groups have W; an end remainder has at most 5W after joining the reserved end. Hence scalar Schur half-bandwidth remains O(W), independently of the cap and the number of pieces. No retained matrix coefficient is changed by this new partition. + +## 2. Narrow Gaussian: exact recentering of the existing rounded weights + +In one original phase cell, beta_i=theta*i-c and + +`log a_i=-a(1/4-beta_i^2)/theta`. + +For any two coordinates i,j in that same cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Since both beta values lie in [-1/2,1/2), + +`|log(a_i/a_j)|<=a|i-j|`. + +Thus a capped interior of at most Bcap vertices has ideal weight range at most exp(a Bcap), even when the absolute full-cell gauge has range exp(O(ad)). + +The actual matrix uses already-rounded positive weights ahat_i. Suppose, as ensured by the retained high-precision setup, + +`(1-epsilon) a_i <= ahat_i <= a_i`, with epsilon<=1/2. + +Then for an anchor m in the capped interior, + +`(1-epsilon) exp(-a Bcap) <= ahat_i/ahat_m` + +` <= exp(a Bcap)/(1-epsilon)`. + +Replacing ahat_i by `ahat_i/ahat_m` in both diagonal factors of + +`A=diag(ahat) Ghat diag(ahat)^-1` + +is **exact**. It changes neither A nor the fixed globally rounded H. These ratios must be formed in coefficient setup; the data circuit must not apply the full-cell diagonal and hope to cancel it later. One may anchor at the maximum ahat in the piece to make the direct diagonal contractive and its inverse at most `2 exp(a Bcap)`. + +The old setup provides absolute error below `4*2^-P` and ideal minimum at least exp(-a/(4theta)). It suffices that + +`4*2^-P exp(a/(4theta)) <= epsilon`. + +In the retained family a=Theta(log p), theta^-1=O(d), d=p^epsilon0 with fixed epsilon0<1, so ad=o(p). The existing P=Cp setup precision easily gives epsilon<=2^-cp. The **ad cost occurs in offline coefficient accuracy**, not in the runtime norm of the recentered diagonal. It is not multiplied by the number g of simultaneously executed axes. More explicitly, if the raw relative error is delta0<=4*exp(a/(4theta))*2^-P, then an anchored ratio has relative error at most 2delta0/(1-delta0). A g-fold product of anchored diagonals has error bounded by a polynomial factor times g*delta0*exp(O(g*a*Bcap)). Thus the needed precision is P>=p+O(ad+g*a*Bcap+log g+polylog p), rather than p+O(g*a*d). Both added power terms are o(p) in the proposed parameter family. + +## 3. Broad forward Gaussian: local gauges + +Use the target-grid notation from FORWARD-SMALL-A-AUDIT.md. With lambda=1/rho, b0=pi/alpha^2, original phase c, and an anchor m in the capped interior, + +`delta=(1-lambda)m-c`, `x=i-m`, `y=k-m`. + +The exact split is + +`Dcol(i)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(k)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`, + +with a fixed Toeplitz kernel `exp[-b0 lambda(i-k)^2]`. + +Throughout the original selected-target phase cell, `beta'_i=theta*i-rho*c` lies in [-1/2,1/2). Therefore + +`d(log Dcol)/di = -2 b0 lambda beta'_i`, + +`d(log Drow)/dk = 2 b0 lambda^2 beta'_k`. + +Their absolute slopes are at most b0 and b0 respectively. Both diagonal logarithmic ranges on the capped block are at most `b0 Bcap`. At the anchor, Dcol=1 and Drow=alpha^-1 exp(-b0 delta^2), so their absolute values also have logarithmic size `O(b0 Bcap+log alpha)`. + +If a globally rounded broad block was already defined using a different anchor, use exact constant ratios to recenter its two diagonals: divide the column diagonal by its value at m and multiply the row diagonal by the same value. Ideal changes of anchor differ only by reciprocal constants, since the derivatives above are independent of m. Uniform relative coefficient error changes the range by only O(1), just as in the narrow case. This preserves the already-defined rounded block exactly. Alternatively the broad block can be initially defined with the capped anchor, using one globally specified rounding construction. + +Holes remain boundary. The completed narrow and broad interior inverse bounds and the completed global/Schur norm bounds proved earlier do not depend on the cap: every new interior is still a contiguous principal block of the same original phase matrix. + +## 4. Group guard and circuit count + +Each capped narrow diagonal contributes at most `a Bcap+O(1)` to the logarithmic norm; the broad contribution `O(Bcap/alpha^2+log alpha)` is smaller. Shallow Toeplitz circuit amplification contributes polylog(p) per axis. The number of capped blocks per line does not multiply these bounds: they are disjoint direct-sum blocks and their circuits run in parallel, padding completed smaller circuits with identity gates. + +Consequently g simultaneously executed axes require + +`O(g a Bcap + g polylog p)` + +extra logarithmic precision. With `Bcap<=p^b`, `g<=p^beta`, a=Theta(log p), and beta+b=1-r-zeta with r,zeta>0, + +`g a Bcap=O(p^(1-r-zeta) log p)=o(p)`. + +In particular no remaining full-cell term g*a*d may be charged after exact recentering. Offline accuracy still needs to dominate ad=o(p), as above. + +## 5. Schur solves and whole-group ordering + +For the narrow matrix, strict row dominance is inherited by any interior elimination, so all completed Schur and inverse norms remain polynomial under the cap. + +For the broad matrix, completed Schur/inverse norms follow from the square identity-hole completion and polynomial principal-interior bounds in FORWARD-SMALL-A-AUDIT.md. To obtain uniform norms for a banded online factorization, eliminate **whole boundary groups** of W to O(W) vertices, rather than appealing without proof to scalar prefixes inside one group. + +After all interiors and a prefix of whole boundary groups are eliminated, the eliminated set is a direct sum of one physical contiguous prefix and disjoint future interiors: each remaining full group contains at least W uneliminated coordinates, blocking every width-W connection across it. The same holds after adding the next whole group. A physical prefix reduces, under selected/hole ordering, to the small-b normalized Gaussian block plus identity hole columns, so it has polynomial inverse norm. Each future interior also has polynomial inverse norm. Thus every required eliminated-set inverse is polynomial, uniformly in the number of pieces. + +At the final group on a full periodic line, use the already-established full periodic H inverse bound instead of a nonperiodic-prefix bound. For a clipped principal window the complement-gap condition excludes wrap edges, so the prefix statement applies directly. Each block pivot inverse is a principal block of the inverse after adding that group. Block Schur entries are bounded by `H+H H_EE^-1 H`, hence polynomial. There are only O(1) neighboring boundary groups in a band row. The resulting block-L and block-U norms are polynomial; their full inverses are polynomial as well, from `L^-1=U S^-1` and `U^-1=S^-1 L`. A scalar expansion inside a group is unnecessary: precompute its dense O(W)-square inverse and apply the block updates to batches by Strassen. + +This whole-group order prevents the subtle gap in which a partially consumed separator of fewer than W vertices permits a connection to the next interior. It preserves the claimed batched boundary exponent and is unaffected by capped subdivision. + +## Scope + +The capped local-gauge change is valid. The listed exact controls check carving, analytic slope identities and preservation of the already-rounded narrow matrix. The final recurrence arithmetic and tensor routing remain separate reviewed components. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json new file mode 100644 index 0000000000..6ea5c59eab --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CAPPED-GAUGE-CONTROLS.json @@ -0,0 +1,11 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "integers and fractions.Fraction", + "checks": { + "partitions": 27216, + "narrow_slope_pairs": 6132, + "rounded_ratio_and_exact_reanchoring_pairs": 6132, + "broad_slope_pairs": 14754 + }, + "scope": "Capped dyadic carving, narrow exact log-slope, positive perturbed global weights, exact local reanchoring, and broad gauge log-slope. Final tensor schedule/ledger excluded." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json new file mode 100644 index 0000000000..eddd860c96 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/CYCLIC-SCAN-CONTROLS.json @@ -0,0 +1,5 @@ +{ + "status": "all exact assertions passed", + "cyclic_signed_scan_systems": 203, + "scope": "Two-pass cyclic affine recurrence against dense exact inversion; bilateral coefficient estimates are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json new file mode 100644 index 0000000000..e42eac6b93 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/DYADIC-INTERIOR-CONTROLS.json @@ -0,0 +1,6 @@ +{ + "status": "all exact assertions passed", + "cell_partitions": 80000, + "reachable_boundary_records": 6413386, + "scope": "Dyadic lengths, exact coverage, w-wide separation, logarithmic block count, and O(w) Schur boundary span." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json new file mode 100644 index 0000000000..c74f144886 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-CELL-CONTROLS.json @@ -0,0 +1,7 @@ +{ + "status": "all exact assertions passed", + "phase_cell_cases": 350, + "local_two_factorization_entries": 5184, + "selected_completion_entries": 16496, + "scope": "Exact target-grid coordinate conversion, local Toeplitz/Gaussian-normalized factorizations and selected block of square hole completion. Norm estimates are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md new file mode 100644 index 0000000000..0f7f80b3f7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md @@ -0,0 +1,109 @@ +# Broad forward Gaussian: finite-block and completed-matrix conditioning + +This note supports the phase-assembly branch. It distinguishes the broad forward map S from the narrow T used in N=C T D. Its conclusions concern conditioning and local circuit guards; the final simultaneous tensor layout remains that branch's obligation. + +Let the narrow parameter be `a=pi alpha^2=Theta(log p)`, `rho=t/s=1+theta`, and `lambda=1/rho`. The forward map is + +`S_(k,j)=alpha^-1 exp[-b0(j-lambda*k)^2]`, `b0=pi/alpha^2`. + +Equivalently it uses the small resampling parameter + +`b=b0 lambda^2=pi/(alpha^2 rho^2)`. + +## 1. The bilateral bound works at every positive parameter + +The finite and bilateral LDU arguments in BILATERAL-LDU.md use a>=1 only for their final numerical simplification of the product c. For any b>0, define + +`c_b=prod_(m>=1)(1-exp(-2b rho m))`. + +The same proof gives, for the periodic normalized matrix and for every finite contiguous principal block with q-gaps at least 1 and |beta_i|<=1/2, + +`||N_b^-1|| <= c_b^-4 exp(b/2)/(1-exp(-b rho theta))^2`. + +There is an explicit useful product bound. Expand the logarithm and sum nonnegative terms: + +`log(c_b^-1)=sum_(k>=1) 1/[k(exp(2b rho k)-1)]` + +` <=(1/(2b rho)) sum_(k>=1)1/k^2=pi^2/(12b rho)`. + +At `b=pi/(alpha^2 rho^2)`, this implies + +`c_b^-4 <= exp(pi alpha^2 rho/3)=exp(a rho/3)`. + +Since b*rho*theta=pi*theta/(alpha^2 rho)<1 for alpha>=2 and theta<=1, its reciprocal gap is at most `2alpha^2 rho/(pi theta)`. Thus every such normalized block inverse has norm polynomial in p when alpha^2=O(log p) and theta^-1 is polynomial in p. + +## 2. Actual target-grid phase-cell block + +Embed source j at target coordinate i=q_j. On an original phase cell q_j=j+c, every selected target coordinate i in that cell corresponds to j=i-c. A square interior of the forward target-grid matrix is therefore + +`K_(k,i)=alpha^-1 exp[-b0(i-lambda*k-c)^2]`. + +Here both i and k run over one contiguous selected-target interval inside that cell. Put + +`q'_k=k+rho*c`, `beta'_k=rho*k-q'_k=theta*k-rho*c`. + +At a selected coordinate k=q_j, beta'_k is exactly the original beta_j, hence lies in [-1/2,1/2). Also q' has consecutive gap 1. Integrality of q' was never needed in the finite LDU proof; monotone separation and the beta bound suffice. Consequently + +`K=alpha^-1 N_b diag(exp(-b*(beta'_i)^2))`, + +and + +`||K^-1|| <= alpha exp(3b/4) c_b^-4/(1-exp(-b rho theta))^2` + +` =O(alpha^5 rho^2 theta^-2 exp(pi alpha^2 rho/3))=poly(p)`. + +This controls the **completed** interior inverse. It avoids multiplying the large individual diagonal-gauge norms to estimate K inverse. Target holes should be retained as boundary vertices, so every interior coordinate has the asserted original beta bound. + +## 3. Square completion of the global forward map + +Add one identity column e_h for every target hole h, and feed zero into these extra columns. This makes an invertible square t-by-t matrix H_aug without changing the desired forward result. Permute selected q_j rows/columns first and holes second. In that order, + +`H_aug = [ alpha^-1 N_b D_b^-1 0 ; R I ]`, + +where `D_b=diag(exp(b beta_j^2))` and R consists of broad Gaussian rows at holes. A Gaussian lattice-sum bound gives `||R||=O(1)` after the alpha^-1 factor. Thus + +`H_aug^-1=[ alpha D_b N_b^-1 0 ; -R alpha D_b N_b^-1 I ]` + +has polynomial row norm. The matrix itself also has O(1) row norm. Gaussian truncation and sufficiently accurate structure-preserving coefficient rounding perturb both it and all required interior blocks by exponentially small amounts, preserving these polynomial bounds. + +If A is the block-diagonal interior matrix and S is the completed boundary Schur complement, then S inverse is the boundary principal block of H_aug inverse; hence its norm is polynomial. Also + +`||S||<=||H_BB||+||H_BI|| ||A^-1|| ||H_IB||=poly(p)`. + +This is enough for the completed Schur map. To justify a particular sequential block-LU implementation, its prefix factor norms still need to be checked. The natural physical-prefix elimination sets consist of one contiguous selected-source prefix plus disjoint future interiors, with identity hole columns. That geometry offers the same uniform contiguous-block inverse bound; it should be made explicit in the assembly proof. + +## 4. Exact local Toeplitz split and guard range + +Choose an anchor m inside the target cell, and write x=i-m, y=k-m, + +`delta=(1-lambda)m-c`, with |delta|<=1/2. + +Then the exact factorization is + +`K_(k,i)=Drow(y) G(y,x) Dcol(x)`, + +`G(y,x)=exp[-b0 lambda(x-y)^2]`, + +`Dcol(x)=exp[-b0((1-lambda)x^2+2delta*x)]`, + +`Drow(y)=alpha^-1 exp[b0 lambda(1-lambda)y^2+2b0 delta lambda*y-b0 delta^2]`. + +Expansion gives exactly `-b0(delta+x-lambda*y)^2`; no approximate recentering is involved. On a phase cell of O(d) coordinates, the two diagonal logarithmic ranges are O(d/alpha^2). These are smaller than the O(alpha^2 d) narrow inverse gauges already paid by the proposed group size. + +## 5. SPD Toeplitz conditioning for the shallow circuit + +Let `gamma=b0 lambda=pi/(alpha^2 rho)`. The full Gaussian Toeplitz symbol has, by the Gaussian Poisson identity, + +`f(omega)=sqrt(pi/gamma) sum_(k in Z) exp[-(omega+2pi*k)^2/(4gamma)]`. + +For -pi<=omega<=pi, + +`sqrt(pi/gamma) exp[-pi^2/(4gamma)] <= f(omega) <= 1+sqrt(pi/gamma)`. + +Every finite principal Gaussian Toeplitz matrix has eigenvalues between these same bounds, by integrating the squared modulus of its coefficient polynomial against f. At alpha^2=O(log p), its condition number is polynomial in p. Truncation width O(sqrt(p/gamma)) and Cp-bit rounding perturb the matrix far less than its lower eigenvalue, so the actual symmetric rounded Toeplitz Ghat remains SPD with polynomial condition number. + +The low-displacement block-LU circuit of SHALLOW-TOEPLITZ.md extends from near identity to this SPD setting: every principal Schur complement has norm at most lambda_max and inverse norm at most lambda_min^-1, and ranks grow by the same additive displacement recurrence. Shear coefficients are polynomial in p; multiplying these bounds along O(log d) recursive levels gives exp(O(log^2 p)) partial-prefix growth. This calls for O(log^2 p) internal circuit guard bits per axis, rather than claiming the near-identity theorem's O(log p) unchanged. It is still below the group budget dominated by the local Gaussian diagonals. + +Dyadic interior subdivision from LOG-A-PHASE-SCHUR-AUDIT.md applies here too, using the broader width O(sqrt(p alpha^2)). It keeps target holes and separators as boundary, adds only polylogarithmic boundary volume, and lets every interior use a dyadic shallow circuit without 2^g padding. + +No numerical final exponent follows from these conditioning statements alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md new file mode 100644 index 0000000000..3bcf490a8c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md @@ -0,0 +1,140 @@ +# Audit: logarithmic Gaussian width retains the phase-cell Schur solver + +This audit checks the analytic hypotheses of the retained rad20 phase-cell solver at `a=pi alpha^2=Theta(log p)`, `theta=Theta(1/d)`, even though `a theta` tends to zero. It also audits the shallow Toeplitz circuit algebra and identifies the actual matrix that must be precomputed. It does not certify the final tensor layout or multiplication exponent. + +Read inputs: `references/semantic-bulk/rad20/reports/review-bulk-resampling.md`, `review-phase-cell-inverse.md`, `downstream-phase-cell-inverse.md`, and `work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md`. + +## 1. The sharp elementary diagonal-dominance estimate + +Let `rho=1+theta`, `beta_i=rho*i-q_i`, and let the Gaussian row coefficient at integer offset h be + +`n_i,h=exp(-a[(rho*h+beta_i)^2-beta_(i+h)^2])`. + +The h=0 coefficient is 1. Set `g_i=q_i-q_(i-1)` and `g_(i+1)=q_(i+1)-q_i`, each in {1,2}. For the nearest coefficients, + +`n_i,-1=exp(-a*g_i*(2rho-2beta_i-g_i))`, + +`n_i,+1=exp(-a*g_(i+1)*(2rho+2beta_i-g_(i+1)))`. + +If g_i=1, the first exponent is exactly `1+2theta-2beta_i`; if g_i=2, that gap forces `beta_i=1/2-theta`, so the upper exponent is at least `1+2theta+2beta_i`. Consequently + +`n_i,-1+n_i,+1` + +` <=exp(-a(1+2theta-2beta_i))+exp(-a(1+2theta+2beta_i))` + +` <=exp(-2a theta)+exp(-2a(1+theta))`. + +The last step is convexity in beta on [-1/2,1/2]. The two nearest directions cannot both be charged as exp(-2a theta). + +For |h|>=2, + +`(rho*h+beta_i)^2-beta_(i+h)^2 >= h^2-|h|`, + +so their entire two-sided tail is below `4 exp(-2a)` for a>=1. Therefore + +`||N-I||_infinity <= exp(-2a theta)+5 exp(-2a)`. + +This includes nonzero periodic diagonal aliases in the tail; no alias is silently omitted from this bound. + +For p>=101, theta>=1/(4p), and `a>=4 log(16p)`, + +`1-exp(-2a theta) >= 1-exp(-1/(2p)) >=1/(4p)`, + +`5exp(-2a)<=5/(16p)^8<1/(8p)`. + +Hence N has row diagonal-dominance margin at least `1/(8p)` in the following robust sense: after deleting its tiny nonzero diagonal aliases, its diagonal is 1 and its off-diagonal row sum is at most `1-1/(8p)`. In particular the fixed-width inverse theorem is not needed to supply the retained strict row dominance. + +Choose the legal integer alpha by + +`alpha=ceil(sqrt((4/pi)log(16p)))`. + +Then a has the required lower bound and is O(log p). The old sufficient condition `u>=ceil(log2(8p))` need not be reused: the direct estimate above replaces that prerequisite. + +## 2. Actual rounded H, interior matrices, and guard range + +Use exactly the retained structure: + +- `w=ceil(sqrt(16p/u))+2`, u=alpha^2=a/pi; +- cell weights `a_j=exp(-a(1/4-beta_j^2)/theta)`; +- one globally fixed downward dyadic Toeplitz kernel `Ghat_delta` for |delta|<=w, zero outside, with Ghat_0=1; +- positive downward dyadic weights ahat_j; +- within a physical cell, define H_jk **exactly** as `ahat_j Ghat_(j-k)/ahat_k`; +- across cells, use the retained downward Gaussian entries; set H_jj=1. + +Thus the actual interior block being inverted is + +`A_cell=diag(ahat) Ghat_cell diag(ahat)^-1`. + +It is not the unrounded Gaussian matrix, and its retained truncated Ghat is not silently replaced by the infinite Gaussian kernel. + +The weight range is + +`0<=-log a_j<=a/(4theta)=O(a d)` + +under theta between 1/(4d) and 1/(2d-1). The old eventual condition u*d<=p holds whenever d=p^epsilon, epsilon<1, and u=O(log p). It bounds the old rational perturbation calculation by the same `2^(O(p)) eta` allowance. The stronger range `O(a d)` should be used for grouped tensor precision, rather than charging O(p) independently for every axis. + +Choose the coefficient precision high enough that `||H-N||<1/(16p)`, including the Gaussian truncation, omitted diagonal aliases and weight-ratio rounding. The retained bound `p*2^(16p+7)*eta+2^(-46p)` at eta=2^(-32768p) is more than sufficient. Then H has diagonal 1, row gap at least `1/(16p)`, row norm below 2, and inverse norm at most 16p. All clipped principal windows inherit the same row gap. The physical period cut must remain a cell boundary, as in the retained bulk review. + +## 3. Schur complement bounds without an a*theta>1 assumption + +A scalar elimination step on a strictly row-diagonally-dominant matrix cannot decrease its minimum absolute row gap. For pivot k, + +`gap_i(new) >= gap_i(old)+(|a_ik|/|a_kk|) gap_k(old)`. + +The full absolute row sum also cannot increase, since the added update row has off-pivot sum less than |a_kk|. Induction applies regardless of the signs of filled entries. Since the diagonal begins real positive and the correction magnitude is below it, the surviving diagonal remains positive. + +Consequently the exact Schur complement + +`S=H_BB-H_BI H_II^-1 H_IB` + +has row gap at least `1/(16p)`, row norm below 2, positive diagonal, and + +`||S^-1||_infinity<=16p`. + +Principal interior inverses also have norm at most 16p. Rounding S by a row perturbation below 1/(32p) preserves gap at least 1/(32p) and inverse norm at most 32p. A row has O(w) nonzeros; the retained P-grid readily meets this target. These are polynomial bounds on arbitrary signed inputs, with no factor equal to the number of cells. + +The boundary geometry is unchanged: keep first/last w vertices of each physical cell, yielding O(s*w/d) boundary vertices and circular half-bandwidth at most 2w. Schur fill only joins the two end groups of one cell, while original cross-cell entries join neighboring end groups. Actual inverse and LU coefficient tables must be precomputed for this H/S, not imported from the old parameter values. + +Thus the retained banded/cyclic boundary solver's gap-dependent proof remains applicable with fixed constants enlarged. The proposed batched boundary arithmetic still needs its own data-layout and Strassen error audit, but there is no analytic conditioning obstruction at logarithmic a. + +## 4. Apply the shallow circuit directly to Ghat inverse + +Because a is eventually larger than 4pi, the symmetric Toeplitz matrix Ghat_cell satisfies + +`max(||Ghat_cell-I||_1,||Ghat_cell-I||_infinity)<1/8`. + +Downward rounding only decreases this off-diagonal sum. The shallow full-Toeplitz theorem therefore applies directly to Ghat_cell. Reverse the resulting invertible circuit and invert its gates to obtain Ghat_cell inverse. This avoids the two-branch Gohberg-Semencul difference entirely. The interior inverse is: + +1. multiply by diag(ahat)^-1; +2. apply the reversed shallow circuit for Ghat_cell; +3. multiply by diag(ahat). + +Its only superpolynomial individual scale comes from the **local** weight range O(a d). Completed A_cell inverse has polynomial norm by the strict row gap. Across g axes, the uncompleted local weight contribution is at most exp(O(g*a*d)); choosing `g<=p/(d polylog p)` with sufficient logarithmic slack keeps the total data precision O(p). The shallow circuit contributes polynomial-in-d amplification per axis, hence only O(g log d) additional logarithmic range. This is a guard calculation, not a complete simultaneous-layer routing proof. + +## 5. Independent shallow-Toeplitz algebra audit and a length caveat + +The parity-split triangular identity, block Schur displacement formulas, Stein-generator telescoping identity, and bounded-prefix induction in SHALLOW-TOEPLITZ.md check algebraically. In particular the parity children run in parallel, avoiding the earlier erroneous sequential-depth recurrence. The full block-LU recursion also runs its two children in parallel, with O(log N) displacement rank after O(log N) levels. + +That document currently states its circuit theorem for dyadic N. Actual cell interiors are not generally dyadic. Padding every tensor axis to its next power of two would be invalid. A plausible exact extension has been communicated to its author: split an arbitrary N into balanced sizes differing by at most one; a near-square rectangular Toeplitz dirty shear is a square Toeplitz shear plus one extra row/column rank-one shear. The latter can be implemented by a binary tree of unitary 2-coordinate reductions and its inverse, without clean ancilla. The rectangular Stein identity telescopes as before. This extension needs its own written proof/controls before it is used as an established interface. + +No new final kappa is asserted by this audit. + +## 6. Dyadic interior subdivision resolves the length caveat + +No arbitrary-length shallow FFT theorem is actually needed. Refine the interior/boundary partition inside each original physical phase cell of length L as follows. Keep its first and last w vertices as boundary. Starting with the remaining interval of length R=L-2w: + +- while R>4w, choose the largest power of two B<=R-w; +- mark the next B vertices as one interior, the following w vertices as boundary, and replace R by R-B-w; +- once R<=4w, mark all remaining vertices as boundary. + +Every interior now has exactly dyadic length. If R>4w, then `B>(R-w)/2`, so the next remainder is less than R/2. There are `O(1+log(L/w))` interiors and the total boundary count in the cell is `O(w(1+log(L/w)))`. The final boundary group, including the initially reserved last w vertices, has size at most 5w; all inserted separators have size w. + +The width-w matrix H cannot connect two different new interiors: their separating boundary gap has w vertices, so their nearest physical coordinates differ by w+1. Each new interior is still a principal block of the SAME globally fixed Toeplitz-similar cell matrix. Its weights retain the original cell gauge; there is no new rescaling or rerounding at a subdivision boundary. + +Eliminating one dyadic interior fills only between its immediately neighboring boundary groups. Each such group has O(w) vertices. Original H edges also connect only the same group or neighboring groups; an interior has length greater than w in the loop above. Thus, in inherited physical boundary order, the new Schur complement has half-bandwidth O(w), not O(w log d). Only its number of rows grows by O(log d): + +`n_boundary=O((s/d) w log d)`. + +Clipped endpoint cells of size O(w) may be declared wholly boundary, adding only O(w) rows; preserve the original physical period cut. This is the same endpoint convention as the retained bulk review. + +The boundary solve and coupling work therefore gain only polylogarithmic factors. All dyadic interior blocks use the established SHALLOW-TOEPLITZ theorem directly, without padding any tensor axis and without requiring a non-dyadic Fourier circuit. This resolves the length caveat in section 5 for the intended phase-cell application; it does not prove the separate simultaneous tensor-layer routing claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json new file mode 100644 index 0000000000..301815a2c5 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOG-A-SCHUR-CONTROLS.json @@ -0,0 +1,11 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "nearest_exponent_checks": 147618, + "far_exponent_checks": 442854, + "schur_eliminations": 468, + "schur_entries": 19032 + }, + "scope": "Nearest/far Gaussian exponent inequalities and signed/asymmetric Schur row-gap preservation; the transcendental row-sum estimate and tensor transfer are analytic." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json new file mode 100644 index 0000000000..df9fc504c1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-CONTROLS.json @@ -0,0 +1,13 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "instances": 63, + "inverse_entries": 2424, + "tile_entries": 4110, + "suffix_outputs": 1377, + "exponent_bounds": 2424, + "upper_entries": 2424 + }, + "scope": "Nonperiodic Newton L inverse and U inverse algebra; exact signed cross-tile data application; no runtime or tensor-fusion certificate." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md new file mode 100644 index 0000000000..35af6c7b99 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/LOWER-FACTOR.md @@ -0,0 +1,180 @@ +# A fast, stable application of the general Newton lower factor + +Status: a proved one-dimensional **nonperiodic lower-factor** algorithm and exact controls. It does not by itself implement the entire periodic inverse. The upper factor has a polynomial norm bound but its fast normalization/fusion remains to be supplied. No final multiplication exponent is claimed. + +## 1. Exact Gaussian LDU + +Let `rho=1+theta`, `q_i=floor(rho*i+1/2)`, `beta_i=rho*i-q_i`, `x_i=r^q_i`, `r=exp(2a rho)>1`, and `d_i=exp(-a q_i^2)`, for `0<=i=j`, zero otherwise. + +The ordinary monic Newton expansion of `X^j` gives exactly + +`G=L diag(C_i) U`, + +where `L=diag(d_i) T diag(d_i)^-1`, `L_ii=U_ii=1`, and + +`(U^-1)_ij=(-1)^(j-i) (e_j/e_i) e_(j-i)(x_0,...,x_(j-1))`, + +`e_j=exp(-a rho^2 j^2+a beta_j^2)`. + +The pivot calculation is exact: + +`d_i P_i(x_i) e_i = C_i`. + +Define + +`A_i=d_i x_i^i C_i/prod_(k<=i)x_k` + +` =C_i exp(-a beta_i^2-a rho^2 i+2a rho sum_(k<=i) beta_k)`. + +Divided differences give the exact inverse lower entries + +`(L^-1)_ij=(-1)^(i-j) (A_i/A_j)/D_(i,j)`, + +`D_(i,j)=prod_(j=1)(1-r^-m)`. Because `q_(i+1)-q_i>=1`, + +`c<=C_i,D_(i,j)<=1`. + +For `i>=j`, direct summation gives + +`log |A_i/A_j| <= -log c+a/4-a rho theta(i-j)`. + +Consequently + +`||L^-1||_infinity <= c^-2 exp(a/4)/(1-exp(-a rho theta))`. + +For the upper factor, compare every elementary-symmetric term with the product of the largest `j-i` variables. The sorted deficits form a partition, hence + +`1<= e_(j-i)(x_0,...,x_(j-1))/prod_(i<=k=-1/2` gives + +`||U^-1||_infinity <= c^-1 exp(a/4)/(1-exp(-a rho theta))`. + +Also `||diag(C_i)^-1||<=c^-1`. For `a>=1`, `r>=e^2`, so `c` has an absolute positive lower bound. For `a=O(log(1/theta))`, both factor norms are polynomial in `theta^-1`. These bounds apply to **arbitrary signed/complex input vectors**, not only correlated outputs of another factor. + +## 3. One stable scan plus a local correction + +Let + +`D_j^+=prod_(j=0`, + +`0<=1-H_i(x_j)<=sum_(k>i)x_j/x_k <= r^(-h-1)/(1-r^-1)`. + +The sum of discarded correction entries for `h>=W` is therefore at most + +`c^-2 exp(a/4) r^(-W-1)/[(1-r^-1)(1-exp(-a rho theta)/r)]`. + +Thus `W=O((p+a+log(1/theta))/a+1)` makes the omitted correction less than `2^-p` in operator norm. At `a=O(log(1/theta))`, `theta>=p^-O(1)`, this is `O(p/a+1)`. + +Partition the line into pages of W indices. Compute the exact correction on each diagonal page and each immediately lower adjacent page, and omit it elsewhere. Every omitted entry has `h>=W`; every retained tile has O(W) rows/columns. A diagonal page is recursively split into ordered cross tiles plus its diagonal. Only O(log W) tree levels are required. The adjacent-page rectangle can use the tile algorithm below directly. Subtracting the scan's contribution on those same tiles gives exactly the desired retained correction. + +## 4. The bounded-polynomial cross-tile algorithm + +Let every column in J precede every row in `I=[l,b]`, and suppose both sets lie in an index interval of length O(W). Put + +`z_j=x_j/x_l` (j in J), `v_k=x_l/x_k` (l=0) M_m Z^m=sum_j w_j/(1-z_j Z)=Q(Z)/P(Z)`. + +Build a balanced tree with leaf pairs `(P,Q)=(1-z_j Z,w_j)` and merge by + +`P=P_left P_right`, + +`Q=Q_left P_right+Q_right P_left`. + +Truncate to the needed degree at each node. Since `sum z_j<=1/(r-1)`, all product coefficient l1 norms are at most `exp(1/(r-1))<2`; numerator norms are at most twice the absolute input weight sum. The power-series reciprocal of P has l1 norm at most `c^-1`. Standard fast power-series inversion, or doubling the geometric series of `1-P` (whose l1 norm is <1/2 for r>=e^2), is therefore stable with polynomially bounded intermediates. Product-tree complexity is soft-O(|J|+|I|) scalar operations. + +### Fast suffix-polynomial evaluation + +The second operation is the transpose of multiplication by the suffix products. Split `[l+1,b]` at m. Right-hand output rows use the moment vector restricted to their degree range. For left rows, replace the moment vector by + +`M'_h=sum_k [Z^k]prod_(m=1; at a=1 this is `<16 theta^-2`. The independent exact negative-origin controls are BILATERAL-CONTROLS.json. +2. **Complete one-dimensional data application:** LOWER-FACTOR.md supplies the lower factor with logarithmic guard overhead. UPPER-DATA-ALGORITHM.md supplies the upper factor and a direct periodic implementation with `O(s p polylog p)` data cost, shared per-axis coefficient preprocessing, and **Cp internal precision**. This is stated in the target `s>>poly(p)` regime. Exact controls are LOWER-CONTROLS.json, UPPER-DATA-CONTROLS.json, and CYCLIC-SCAN-CONTROLS.json. +3. **Length-preserving upper merge:** UPPER-LIFTING.md proves the Newton merge and bounded exact shear algebra. UPPER-MERGE-CONTROLS.json checks its degree indexing and factorization. +4. **Still open:** a realization of the normalized Hankel/Toeplitz steps with only logarithmic internal guard bits, and a bounded-depth width-preserving tensor circuit. Neither the analytic norm theorem nor the one-dimensional time bound establishes those, and no improved final multiplication exponent is claimed. + +Replay all finite controls with Python 3: + +``` +python3 work/gaussian_fast_ultra/check_lower.py +python3 work/gaussian_fast_ultra/check_upper_merge.py +python3 work/gaussian_fast_ultra/check_bilateral.py +python3 work/gaussian_fast_ultra/check_upper_data.py +python3 work/gaussian_fast_ultra/check_cyclic_scan.py +``` + +The package uses no third-party source result beyond the elementary Newton polynomial identities stated and proved by their constructions. It retains the parent Gaussian notation and does not modify the frozen upstream manuscript. + +Focused phase-fusion audit added later: + +- `LOG-A-PHASE-SCHUR-AUDIT.md`: verifies strict row dominance at a=Theta(log p), polynomial Schur bounds, actual rounded Toeplitz interiors, and dyadic interior subdivision with only a logarithmic increase in boundary count. `LOG-A-SCHUR-CONTROLS.json` and `DYADIC-INTERIOR-CONTROLS.json` contain independent exact checks. +- `FORWARD-SMALL-A-AUDIT.md`: handles the distinct broad forward Gaussian S via b=pi/(alpha^2 rho^2), gives polynomial finite-block/completed-matrix inverse bounds, the exact target-grid chirp factorization, and the SPD Toeplitz circuit guard estimate. `FORWARD-CELL-CONTROLS.json` checks the coordinate and matrix identities. + +These are interface components for the parent's focused partial-fusion proposal. They do not independently certify its full tensor schedule or final exponent. + +- `CAPPED-GAUGE-AUDIT.md` independently validates capped dyadic interiors and exact reanchoring of the already-rounded narrow matrix, with local log range O(aB) rather than O(ad). It also validates the broad O(B/alpha^2) gauge and whole-boundary-group solve order. `CAPPED-GAUGE-CONTROLS.json` contains 27,216 partition checks and exact narrow/broad gauge controls. The capped final exponent ledger remains a separate assembly artifact. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md new file mode 100644 index 0000000000..f07f2c68c7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-ALGORITHM.md @@ -0,0 +1,166 @@ +# A complete upper-inverse data algorithm with linear precision overhead + +Status: the construction below closes the one-dimensional **data application** of the nonperiodic upper inverse in `O(s p polylog p)` bit operations, after fixed per-axis coefficient preprocessing, using `C p` internal precision for an absolute constant C. It does not obtain logarithmic internal guard bits and does not prove tensor fusion. The lower-factor algorithm in LOWER-FACTOR.md does have logarithmic guard overhead. + +Let `p` be the required output precision, `a>=1`, `theta>=p^-O(1)`, and `a=O(p)`. In the target family a is fixed or logarithmic and every line length s grows faster than any fixed power of p. Preprocessing depending on the axis is shared by all its lines, as allowed by the parent reduction; it is not charged anew for every line. The coefficient words actually read by one data application have total `O(s p polylog p)` bits. + +## 1. Upper inverse is a stable suffix scan plus bandwidth O(p/a) + +Use the column diagonal `e_i=exp(-a rho^2 i^2+a beta_i^2)`. Define + +`B_j=e_j prod_(0<=k=i`, write + +`C_i,j=e_(j-i)(x_0,...,x_(j-1))/prod_(i<=k0. Put `d=m-i`, + +`gamma_i=(U^-1)_i,m`, + +`tau_j=(-1)^(j-m)(B_j/B_m)`. + +An exact Laurent-polynomial coefficient identity gives + +`(U^-1)_ij=gamma_i tau_j sum_(h>=0) (alpha_(d+h)/alpha_d) beta_j,h`. + +The signs are already in gamma and tau; the remaining coefficient sum is nonnegative. Both gamma and tau are polynomially bounded, with the same exponential-distance primary bounds as before. + +To verify the identity, write X=x_m Z and factor + +`P_j(X)=X^m prod_(k=1)(1+r^-k) <= 2/c`. + +A truncated product/sum tree computes M_0,...,M_R in `O((|J|+R) polylog p)` scalar operations. At a split, its exact rule is `S=S_left+P_left S_right`, with P a fixed product. Intermediate norms are bounded by a constant times the absolute weighted input sum, independently of tile length. No large Gaussian diagonal occurs in this step. + +## 3. Exponentially small high degrees + +The partition bound on alpha and beta gives + +`alpha_(d+h)/alpha_d <= c^-1 r^(-d*h-h(h+1)/2)`, + +`beta_j,h <= c^-1 r^(-h(h-1)/2)`. + +Thus the h-term, after summing input weights, is bounded by + +`c^-2 r^(-d*h-h^2) sum_j |tau_j u_j|`. + +Group row distances dyadically: D<=d<2D. For that group retain only + +`R=min(|J|, O(sqrt(P)), O(P/D))`, `P=(p+a+log(1/theta))/a`, + +with sufficiently large absolute constants. If |J| is smaller, the polynomial is already exact. Otherwise all omitted terms sum to less than `2^-p` after allowing the polynomial gamma/tau factors. There are O(log p) row groups. + +## 4. Fast normalized Hankel application, with Cp internal bits + +The remaining map for a row group is + +`y_d=sum_(0<=h<=R) (alpha_(d+h)/alpha_d) M_h`. + +Split the d-range into consecutive blocks of length at most R (or the whole group if shorter). For a block beginning at d0, divide all alpha coefficients used by alpha_d0. Then the numerator is one reversed ordinary convolution of that coefficient segment with M. Divide output d by alpha_d/alpha_d0. + +The decisive height bound is local, not global. If k>=0, comparing dominant products and using q-gaps in {1,2} gives + +`c r^(-2*d0*k-k(k+1)) <= alpha_(d0+k)/alpha_d0 <= c^-1`. + +Here the lower bound is needed only when the coefficient exists; every queried alpha index is <=m. If alpha vanishes because its degree exceeds m, store exact zero and never divide by it. Since d0=O(D), k=O(R), and `D R+R^2=O(P)`, every nonzero coefficient ratio and every divisor in this block lies between `exp(-O(aP))` and an absolute constant. Thus **Cp internal precision** suffices for these convolutions and the final divisions. + +The number of scalar operations for one row group is `O(D polylog p)`; its separate bounded-prefix computation costs `O((|J|+R) polylog p)`. Summing the O(log p) row groups gives `O((|I|+|J|) polylog p)` scalar operations per ordered tile. Recursing through one W-page or processing adjacent pages therefore costs `O(W p polylog p)` bits. Over all pages the data cost is + +`O(s p polylog p)`. + +The Gaussian factors gamma and tau can be evaluated from bounded dominant-product ratios rather than raw e_i or B_i. Precomputed alpha tables can similarly be stored with dominant-product gauges. Every alpha segment actually read by the data algorithm has length O(|I|+|J|) per row-group and tile level; this accounts for the coefficient tape scans in the same bound. + +A conservative preprocessing implementation may compute every required alpha table from O(poly(p)) nearby nodes separately, and can therefore cost `s poly(p)` per axis. This is a one-time axis cost, not an unpriced per-line cost. In the parent regime it is negligible compared with the full tensor data volume. A uniformly quasi-linear preprocessing theorem is not asserted here. + +## 5. Complete nonperiodic and periodic application + +Combining this upper map with the lower map and the bounded diagonal gives the complete nonperiodic inverse `G^-1=U^-1 C^-1 L^-1` in `O(s p polylog p)` data time, at Cp internal precision, with polynomial operator norms. Requested final error is achieved by a fixed additional factor in precision plus O(log p+log(1/theta)) endpoint guard bits. + +For the periodic matrix one may either implement the bilateral factors in BILATERAL-LDU.md or use a finite boundary correction. The latter needs only two nonperiodic inverse data applications: + +- Truncate nonzero Gaussian aliases to the two corner blocks of width `b=O(sqrt((p+log(1/theta))/a)+1)`, obtaining `K=G+UV` and a row-norm tail smaller than `2^-Cp`. +- U inserts O(b) boundary coordinates and V reads a bounded O(b)-by-O(b) corner matrix. +- Precompute `S^-1`, `S=I+V G^-1 U`. Its norm is polynomial because `S^-1=I-V K^-1 U` and the periodic inverse norm plus the tiny discarded tail bounds K inverse. +- Apply `x=G^-1 z`, `w=S^-1 Vx`, and return `x-G^-1 Uw`. + +The boundary data work is polynomial in p. For the target line lengths s growing faster than every fixed polynomial in p, it is negligible relative to sp. The updated matrix in the Woodbury inverse identity is K, not the base G. The periodic Gaussian tail and final correction error are bounded using the fixed-a theorem in BILATERAL-LDU.md. + +## What is still not established + +The normalized Hankel step uses Cp working precision because its local alpha divisors may be exp(-Cp). It has not been converted to a circuit whose every intermediate operator has polynomial norm. Therefore this result does not meet the stronger **logarithmic guard at every internal stage** requirement needed by the proposed full-dimensional fusion. It supplies a complete one-dimensional data algorithm and a precise remaining normalization target; it supplies no improved final kappa. + +## 6. Direct periodic implementation from the bilateral factors + +The bilateral theorem also permits the Woodbury step above to be omitted. This is cleaner in the target regime `s>>W`. + +For the bilateral lower inverse, use + +`C_i=prod_(ki)(1-x_i/x_k)`. + +The same lower formula and scan/correction split hold, with the defining products now bilateral. The adjacent A ratio is still given by the beta formula in LOWER-FACTOR.md. For the upper inverse, use elementary polynomials in the infinite prefix `x_k, k=1-exp(-a)`. Intermediate partial products and scan norms have the polynomial bounds already proved. This supplies a stable two-pass scan on the original s records. + +Retain the correction only for one-sided distances below W on the integer cover of the circle. With `s>>W`, each retained coefficient belongs to its diagonal page or the single adjacent cyclic page; virtual negative or beyond-s indices are generated by periodic q/beta formulas. The same local tile algorithms apply. Periodization cannot increase the row norm of any discarded tail, so all the previous error estimates remain valid. + +In the upper tile algorithm, alpha_d is now the coefficient of the infinite small-root prefix + +`prod_(k=d+O(q/a+1)`: a contribution involving an omitted node has partition deficit at least K-d, and summing the corresponding partition tail gives `O(r^(-(K-d)/2))` relative error (bound the tail by r to half the negative deficit times the convergent partition generating product). For the O(W)-degree tables at q=Cp, this is O(W+p/a) nodes, independent of s. Normalized table storage and data access are unchanged. + +Thus, after fixed per-axis coefficient preprocessing, the bilateral factorization itself gives the **periodic** inverse data application in `O(s p polylog p)` time with Cp working precision, in the target regime `s>>poly(p)`. It needs neither a large raw Vandermonde nor a boundary Schur system. The unresolved logarithmic-internal-guard and tensor-fusion qualifications remain exactly as stated above. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json new file mode 100644 index 0000000000..0d9410b6a8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-DATA-CONTROLS.json @@ -0,0 +1,12 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "checks": { + "instances": 75, + "suffix_recurrences": 2715, + "tile_entries": 6413, + "signed_prefix_tree_and_hankel_outputs": 1833, + "alpha_ratio_bounds": 10008 + }, + "scope": "Algebra, signs, degree indexing, suffix-tail recurrence, and signed blocked upper data application. Cp-bit stability and asymptotic data cost are analytic, not certified by finite tests." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md new file mode 100644 index 0000000000..0985ad16cd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-LIFTING.md @@ -0,0 +1,57 @@ +# The upper factor has a length-preserving Newton merge + +This is a structural advance, not yet the missing fast normalized FFT implementation. It concerns the nonperiodic factor from LOWER-FACTOR.md. + +Write `d_i=exp(-a rho^2 i^2+a beta_i^2)` in this note (this is the column diagonal called `e_i` in LOWER-FACTOR.md). The upper inverse is + +`(U^-1)_ij=(d_j/d_i) [X^i] prod_(k=m and h=j-i, the logarithm of the last Gaussian factor is at most + +`a/4-a rho^2 h^2-a rho(2rho-1)h-2a rho^2(i-m)h`. + +Thus D inverse also has row norm `O(exp(a/4))`, and the shear B D inverse has polynomial norm. These statements hold on arbitrary signed/complex records. + +## Remaining realization problem + +The algebra is length preserving and the exact blocks have bounded norm. Directly executing their diagonal-Toeplitz-diagonal presentation is not yet safe for full-dimensional tensor fusion: the raw d_i ratio can have logarithmic range `Theta(a(r-l)^2)`. A local FFT using that presentation therefore reintroduces an O(p) guard for blocks of length sqrt(p/a). + +A plain unit triangular Toeplitz map can be implemented by recursive Toeplitz shears and in-place cyclic/negacyclic Fourier transforms, as suggested by the parent investigation. To close this upper-factor route, that primitive needs a version for the **Gaussian-conjugated** Toeplitz blocks above whose intermediate norms stay polynomial, or a different bounded lifting factorization of them. The final exact block norms alone do not prove the intermediate FFT normalization claim. + +The numerator Sylvester merge in the lower-factor moment tree remains a separate lifting problem; the one-product Newton merge here avoids that two-product merge for the upper factor only. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json new file mode 100644 index 0000000000..7e851839f8 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/UPPER-MERGE-CONTROLS.json @@ -0,0 +1,6 @@ +{ + "status": "all exact assertions passed", + "arithmetic": "fractions.Fraction", + "normalized_node_merges_and_shear_factorizations": 286, + "scope": "Algebra and degree indexing, not bounded FFT realization or tensor fusion." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py new file mode 100644 index 0000000000..b2f527e951 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_bilateral.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import matmul, inv, elem + +def pp2(n):return F(2)**n +def prod(v): + z=F(1) + for x in v:z*=x + return z +def complete(xs,n): + c=[F(1)]+[F(0)]*n + for x in xs: + for k in range(1,n+1):c[k]+=x*c[k-1] + return c[n] +def case(s,t,l,n): + q=lambda i:(2*t*i+s)//(2*s) + x=lambda i:pp2(2*s*t*q(i)) + e=lambda i:pp2(-t*t*i*i+(t*i-s*q(i))**2) + G=lambda i,j:pp2(-(t*j-s*q(i))**2+(t*j-s*q(j))**2) + C=lambda i,o:prod(1-x(k)/x(i) for k in range(o,i)) + L=lambda i,j,o:G(i,j)*prod(1-x(k)/x(i) for k in range(o,j))/C(j,o) if i>=j else F(0) + U=lambda i,j,o:e(j)/e(i)*complete([x(k) for k in range(o,i+1)],j-i) if j>=i else F(0) + ids=list(range(l,l+n)); LL=[[L(i,j,l) for j in ids] for i in ids];UU=[[U(i,j,l) for j in ids] for i in ids] + CC=[[C(i,l) if i==j else F(0) for j in ids] for i in ids] + assert matmul(matmul(LL,CC),UU)==[[G(i,j) for j in ids] for i in ids] + UI=inv(UU) + for ii,i in enumerate(ids): + for jj,j in enumerate(ids): + assert L(i+s,j+s,l+s)==L(i,j,l) + assert U(i+s,j+s,l+s)==U(i,j,l) + assert G(i+s,j+s)==G(i,j) + if j>=i: + assert UI[ii][jj]==(-1)**(j-i)*e(j)/e(i)*elem([x(k) for k in range(l,j)],j-i) + return n*n + +def main(): + instances=entries=0 + for s,t in [(2,3),(3,4),(3,5),(4,5),(4,7)]: + for l in [-5,-2,0]: + for n in [3,4,5]:entries+=case(s,t,l,n);instances+=1 + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','negative_and_zero_origin_instances':instances,'finite_LDU_and_shift_entries':entries,'scope':'Finite-origin algebra, exact origin-shift correction, upper inverse formula and simultaneous periodic shifts; bilateral limiting argument is analytic.'} + Path(__file__).with_name('BILATERAL-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py new file mode 100644 index 0000000000..d6f5a14cb2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_capped_gauges.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json + +def p2(n):return F(2)**n + +def carve(L,W,cap): + if L<=6*W:return [('B',0,L)] + ps=[('B',0,W)];pos=W;R=L-2*W + while R>4*W: + B=min(cap,1<<((R-W).bit_length()-1)) + ps.append(('I',pos,pos+B));pos+=B + ps.append(('B',pos,pos+W));pos+=W;R-=B+W + if R:ps.append(('B',pos,pos+R));pos+=R + ps.append(('B',pos,L)) + return ps + +def main(): + c={'partitions':0,'narrow_slope_pairs':0,'rounded_ratio_and_exact_reanchoring_pairs':0,'broad_slope_pairs':0} + for W in [1,2,3,5,9,17]: + for power in range(2,11): + cap=1<=W for x,y in zip(ins,ins[1:])) + budget=(L+cap-1)//cap+cap.bit_length()+10 + assert len(ins)<=budget + assert sum(b-a for typ,a,b in ps if typ=='B')<=W*budget + c['partitions']+=1 + for s in range(3,31): + for K in range(1,min(s,6)): + rho=F(s+K,s);theta=rho-1;lam=1/rho + q=[(2*(s+K)*i+s)//(2*s) for i in range(s)] + cells={} + for i in range(s):cells.setdefault(q[i]-i,[]).append(i) + # a/log(2)=4*s*K makes every original narrow weight dyadic. + exps=[4*(K*i-s*(q[i]-i))**2-s*s for i in range(s)] + aa=[p2(e) for e in exps];eta=p2(-2*s*s-100) + ah=[x-(1+i%4)*eta for i,x in enumerate(aa)] + for phase,inds in cells.items(): + for start in range(0,len(inds),3): + block=inds[start:start+3];m=block[0] + for i in block: + for j in block: + assert abs(exps[i]-exps[j])<=4*s*K*abs(i-j) + c['narrow_slope_pairs']+=1 + assert F(1,2)*p2(-4*s*K*abs(i-j))<=ah[i]/ah[j]<=2*p2(4*s*K*abs(i-j)) + kernel=F(2,3) if i!=j else F(1) + before=ah[i]*kernel/ah[j] + after=(ah[i]/ah[m])*kernel/(ah[j]/ah[m]) + assert before==after + c['rounded_ratio_and_exact_reanchoring_pairs']+=1 + # Broad gauges on target coordinates in the original physical phase cell. + target=[q[i] for i in inds];anchor=target[len(target)//2] + delta=(1-lam)*anchor-phase + def col(k): + x=k-anchor + return -((1-lam)*x*x+2*delta*x) + def row(k): + y=k-anchor + return lam*(1-lam)*y*y+2*delta*lam*y-delta*delta + for i in target: + for j in target: + assert abs(col(i)-col(j))<=abs(i-j) + assert abs(row(i)-row(j))<=abs(i-j) + c['broad_slope_pairs']+=1 + out={'status':'all exact assertions passed','arithmetic':'integers and fractions.Fraction','checks':c,'scope':'Capped dyadic carving, narrow exact log-slope, positive perturbed global weights, exact local reanchoring, and broad gauge log-slope. Final tensor schedule/ledger excluded.'} + Path(__file__).with_name('CAPPED-GAUGE-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py new file mode 100644 index 0000000000..7f8ebba6af --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_cyclic_scan.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import matmul,inv,eye + +def scan(lam,u): + P=F(1);Q=F(0) + for a,b in zip(lam,u):P=a*P;Q=a*Q+b + prev=Q/(1-P);out=[] + for a,b in zip(lam,u):prev=a*prev+b;out.append(prev) + return out + +count=0 +for n in range(2,31): + for offset in range(7): + lam=[F((-1)**(i+offset)*(i%3+1),5+i%4) for i in range(n)] + u=[F((-1)**i*(2*i+offset+1),i+1) for i in range(n)] + A=eye(n) + for i,a in enumerate(lam):A[i][(i-1)%n]-=a + expected=[r[0] for r in matmul(inv(A),[[x] for x in u])] + assert scan(lam,u)==expected + count+=1 +out={'status':'all exact assertions passed','cyclic_signed_scan_systems':count,'scope':'Two-pass cyclic affine recurrence against dense exact inversion; bilateral coefficient estimates are analytic.'} +Path(__file__).with_name('CYCLIC-SCAN-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py new file mode 100644 index 0000000000..9a970cb94e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_dyadic_interiors.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +from pathlib import Path +import json + +def parts(L,w): + if L<=2*w:return [('B',0,L)] + out=[('B',0,w)];pos=w;R=L-2*w + while R>4*w: + B=1<<((R-w).bit_length()-1) + out.append(('I',pos,pos+B));pos+=B + out.append(('B',pos,pos+w));pos+=w;R-=B+w + if R:out.append(('B',pos,pos+R));pos+=R + out.append(('B',pos,L)) + return out +cases=edges=0 +for w in range(1,41): + for L in range(1,2001): + ps=parts(L,w) + assert ps[0][1]==0 and ps[-1][2]==L + assert all(a[2]==b[1] for a,b in zip(ps,ps[1:])) + ins=[x for x in ps if x[0]=='I'] + assert all((b-a)&(b-a-1)==0 for _,a,b in ins) + assert all(y[1]-x[2]>=w for x,y in zip(ins,ins[1:])) + assert len(ins)<=2+max(0,(max(1,L//w)).bit_length()) + assert sum(b-a for t,a,b in ps if t=='B')<=w*(8+max(1,L//w).bit_length()) + # For each new interior, all boundary neighbors reachable by an original band edge + # lie in its two adjacent retained blocks. Eliminating it can fill only their union. + labels=[-1]*L;bid=0 + for typ,a,b in ps: + if typ=='B': + for i in range(a,b):labels[i]=bid;bid+=1 + for _,a,b in ins: + ns=[labels[i] for i in list(range(max(0,a-w),a))+list(range(b,min(L,b+w))) if labels[i]>=0] + if ns:assert max(ns)-min(ns)<=10*w + edges+=len(ns) + cases+=1 +out={'status':'all exact assertions passed','cell_partitions':cases,'reachable_boundary_records':edges,'scope':'Dyadic lengths, exact coverage, w-wide separation, logarithmic block count, and O(w) Schur boundary span.'} +Path(__file__).with_name('DYADIC-INTERIOR-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py new file mode 100644 index 0000000000..b91b7a6bad --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_forward_cell.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from pathlib import Path +import json + +def p2(k):return F(2)**k +cases=entries=completion=0 +for s in range(3,22): + for t in range(s+1,min(2*s,s+5)+1): + rho=F(t,s);lam=1/rho;q=[(2*t*j+s)//(2*s) for j in range(s)] + cells={} + for j,i in enumerate(q):cells.setdefault(i-j,[]).append(i) + for c,inds in cells.items(): + m=inds[len(inds)//2];delta=F((t-s)*m-t*c,t) + assert abs(delta)<=F(1,2) + for k in inds: + betak=(rho-1)*k-rho*c + assert -F(1,2)<=betak=1+2*th-2*b + assert upper>=1+2*th+2*b + counts['nearest_exponent_checks']+=2 + for h in [-4,-3,-2,2,3,4]: + assert (rho*h+b)**2-beta(i+h)**2>=h*h-abs(h) + counts['far_exponent_checks']+=1 + # Both signs and asymmetric rows: no positivity hypothesis on filled off-diagonals. + for n in range(3,15): + for seed in range(6): + A=[[F(1) if i==j else F(((-1)**(i+j+seed))*((7*i+3*j+seed)%11+1),40*n) for j in range(n)] for i in range(n)] + original_gap=min(gap(A,i) for i in range(n)); original_norm=norm(A) + while len(A)>2: + k=(seed+len(A))%len(A);idx=[i for i in range(len(A)) if i!=k] + B=[[A[i][j]-A[i][k]*A[k][j]/A[k][k] for j in idx] for i in idx] + assert min(gap(B,i) for i in range(len(B)))>=original_gap + assert norm(B)<=original_norm + assert all(B[i][i]>0 for i in range(len(B))) + counts['schur_eliminations']+=1;counts['schur_entries']+=len(B)**2 + A=B + return counts +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Nearest/far Gaussian exponent inequalities and signed/asymmetric Schur row-gap preservation; the transcendental row-sum estimate and tensor transfer are analytic.'} + Path(__file__).with_name('LOG-A-SCHUR-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py new file mode 100644 index 0000000000..1260c26dd1 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_lower.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Exact finite controls for LOWER-FACTOR.md; no floating point.""" +from fractions import Fraction as F +from math import prod +import json +from pathlib import Path + +def matmul(A,B): + return [[sum((a*b for a,b in zip(row,col)),F(0)) for col in zip(*B)] for row in A] +def eye(n): return [[F(i==j) for j in range(n)] for i in range(n)] +def inv(A): + n=len(A); B=[list(r)+list(e) for r,e in zip(A,eye(n))] + for k in range(n): + v=B[k][k]; assert v; B[k]=[x/v for x in B[k]] + for i in range(n): + if i!=k: + v=B[i][k]; B[i]=[x-v*y for x,y in zip(B[i],B[k])] + return [r[n:] for r in B] +def poly_mul(a,b): + out=[F(0)]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b): out[i+j]+=x*y + return out +def newton_poly(xs): + out=[F(1)] + for x in xs: out=poly_mul(out,[-x,F(1)]) + return out +def elem(xs,k): return (-1)**k*newton_poly(xs)[len(xs)-k] +def suffix_pull(vs,M): + """All =i)(1-v_k Z),M>, exact D&C transpose tree.""" + if not vs: return [M[0]] + if len(vs)==1: return [M[0]-vs[0]*M[1],M[0]] + mid=len(vs)//2; left,right=vs[:mid],vs[mid:] + P=[F(1)] + for v in right: P=poly_mul(P,[F(1),-v]) + LM=[sum((P[k]*M[h+k] for k in range(len(P))),F(0)) for h in range(len(left)+1)] + return suffix_pull(left,LM)[:-1]+suffix_pull(right,M[:len(right)+1]) + +def run(): + count={'instances':0,'inverse_entries':0,'tile_entries':0,'suffix_outputs':0,'exponent_bounds':0,'upper_entries':0} + for s in range(3,12): + for t in range(s+1,2*s+1): + rho=F(t,s); q=[(2*t*i+s)//(2*s) for i in range(s)] + beta=[rho*i-q[i] for i in range(s)]; x=[F(2)**k for k in q] + # Arbitrary exact rational diagonal tests all identities independent of Gaussian values. + d=[F(3)**(-q[i]*q[i]) for i in range(s)] + C=[prod((1-x[k]/x[i] for k in range(i)),start=F(1)) for i in range(s)] + D=lambda i,j:prod((1-x[j]/x[k] for k in range(j+1,i+1)),start=F(1)) + A=[d[i]*x[i]**i*C[i]/prod(x[:i+1],start=F(1)) for i in range(s)] + L=[[F(0)]*s for _ in range(s)] + for i in range(s): + for j in range(i+1): + L[i][j]=d[i]/d[j]*prod((x[i]-x[k] for k in range(j)),start=F(1))/prod((x[j]-x[k] for k in range(j)),start=F(1)) + LI=inv(L) + for i in range(s): + for j in range(i+1): + assert LI[i][j]==(-1)**(i-j)*A[i]/A[j]/D(i,j) + count['inverse_entries']+=1 + h=i-j + exponent=-beta[i]**2+beta[j]**2-rho**2*h+2*rho*sum(beta[j+1:i+1],F(0)) + assert exponent<=F(1,4)-rho*(rho-1)*h + count['exponent_bounds']+=1 + # Newton U inverse coefficients and V=L D U, with row diagonal removed. + V=[[x[i]**j for j in range(s)] for i in range(s)] + T=[[L[i][j]*d[j]/d[i] for j in range(s)] for i in range(s)] + U=matmul(inv(T),V) + for i in range(s): + pivot=prod((x[i]-x[k] for k in range(i)),start=F(1)) + U[i]=[v/pivot for v in U[i]] + UI=inv(U) + for i in range(s): + for j in range(i,s): + assert UI[i][j]==(-1)**(j-i)*elem(x[:j],j-i) + count['upper_entries']+=1 + # Every adjacent-cut tile, arbitrary signed inputs, exact moment/suffix algorithm. + u=[F((-1)**j*(2*j+1),j+1) for j in range(s)] + for l in range(1,s): + b=min(s-1,l+3); J=list(range(max(0,l-4),l)); I=list(range(l,b+1)) + z=[x[j]/x[l] for j in J]; v=[x[l]/x[k] for k in range(l+1,b+1)] + w=[(-1)**j*A[l]/A[j]/D(b,j)*u[j] for j in J] + M=[sum((wj*zj**m for wj,zj in zip(w,z)),F(0)) for m in range(len(I))] + pulled=suffix_pull(v,M) + for i,got in zip(I,pulled): + got*=(-1)**i*A[i]/A[l] + expect=sum((LI[i][j]*u[j] for j in J),F(0)) + assert got==expect + count['suffix_outputs']+=1; count['tile_entries']+=len(J) + count['instances']+=1 + return count +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Nonperiodic Newton L inverse and U inverse algebra; exact signed cross-tile data application; no runtime or tensor-fusion certificate.'} + p=Path(__file__).with_name('LOWER-CONTROLS.json');p.write_text(json.dumps(out,indent=2)+'\n'); print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py new file mode 100644 index 0000000000..ad06229d84 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_data.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +"""Exact checks of the upper suffix recurrence, tile identity, and blocked data algorithm.""" +from fractions import Fraction as F +from pathlib import Path +import json +from check_lower import poly_mul, elem + +def prod(xs): + z=F(1) + for x in xs:z*=x + return z + +def add(a,b): + out=[F(0)]*max(len(a),len(b)) + for i,x in enumerate(a):out[i]+=x + for i,x in enumerate(b):out[i]+=x + return out + +def prefix_sum(roots,weights): + """sum weights[j] product_{k=0 + assert delta<=2*F(4)**(-(j-i+1)) + out['suffix_recurrences']+=1 + u=[F((-1)**j*(j+2),j+1) for j in range(s)] + for m in range(1,s): + l=max(0,m-4);r=min(s,m+5);I=list(range(l,m));J=list(range(m,r)) + aa=[elem([x/xs[m] for x in xs[:m]],h) for h in range(m+1)] + tau=[(-1)**(j-m)*BB[j]/BB[m] for j in J] + gamma={i:U(i,m) for i in I} + roots=[xs[m]/xs[k] for k in range(m,r-1)] + moments=prefix_sum(roots,[tau[k]*u[j] for k,j in enumerate(J)]) + R=len(moments)-1 + for i in I: + d=m-i + for j in J: + b=[elem([xs[m]/xs[k] for k in range(m,j)],h) if h<=j-m else F(0) for h in range(R+1)] + v=sum((aa[d+h]/aa[d]*b[h] for h in range(R+1) if d+h<=m),F(0)) + assert gamma[i]*tau[j-m]*v==U(i,j) + out['tile_entries']+=1 + # Blocks of length two for normalized Hankel convolution. + for d0 in range(1,m-l+1,2): + B=min(2,m-l-d0+1) + a=[aa[d0+k]/aa[d0] if d0+k<=m else F(0) for k in range(B+R)] + cv=poly_mul(a,list(reversed(moments))) + for off in range(B): + d=d0+off;i=m-d + got=gamma[i]*cv[off+R]/(aa[d]/aa[d0]) + expected=sum((U(i,j)*u[j] for j in J),F(0)) + assert got==expected + out['signed_prefix_tree_and_hankel_outputs']+=1 + for d in range(1,m+1): + for k in range(m-d+1): + rat=aa[d+k]/aa[d] + assert F(1,2)*F(4)**(-2*d*k-k*(k+1))<=rat<=2 + out['alpha_ratio_bounds']+=1 + out['instances']+=1 + return out +if __name__=='__main__': + out={'status':'all exact assertions passed','arithmetic':'fractions.Fraction','checks':run(),'scope':'Algebra, signs, degree indexing, suffix-tail recurrence, and signed blocked upper data application. Cp-bit stability and asymptotic data cost are analytic, not certified by finite tests.'} + Path(__file__).with_name('UPPER-DATA-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py new file mode 100644 index 0000000000..3dda87e144 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/gaussian_fast_ultra/check_upper_merge.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python3 +from check_lower import F, poly_mul, newton_poly, matmul, eye, inv +from pathlib import Path +import json + +def local(xs,ds,l,r): + n=r-l;A=[[F(0)]*n for _ in range(n)] + for j in range(l,r): + P=newton_poly(xs[l:j]) + for k,p in enumerate(P):A[k][j-l]=ds[j]*p/ds[l+k] + return A + +def main(): + count=0 + for n in range(2,13): + xs=[F(2)**(i+i//3) for i in range(n)] + ds=[F(3)**(-i*i) for i in range(n)] + for l in range(n-1): + for r in range(l+2,n+1): + m=(l+r)//2;n1=m-l;n2=r-m + P=newton_poly(xs[l:m]);M=eye(r-l) + for i in range(l,r): + for j in range(m,r): + k=i-l-(j-m) + M[i-l][j-l]=ds[j]/ds[i]*P[k] if 0<=k4L` and `gL/N=o(1)`. +Write `b=log2 N`, `k=gb`, and `K0=O(g(h+b)+log g)=O(gh)` for a correction key. +Require `K0^2=O(B)` or retain the explicit extra metadata term below. + +The complete cost is + +``` +O(V [ (gb)^(1-a) polylog p + + (gb)^(1-q) polylog p + + polylog p + + (gL/N) (K0 + g polylog p) ]) ++ polynomial(p) setup, +``` + +plus `O((gL/N)V K0^2/B)` if metadata arithmetic is not absorbed by records. +All scans, duplication, sparse sorts, local transposes and final output +order are included. In particular, there is no gV layout term. + +## 1. One support-limited gather + +Within the active group, gather its g low b-bit fields into a contiguous +suffix using the support-at-most-2gb extension proved in +`SUPPORT-ROUTER.md`. The remaining active coarse bits remain in their +possibly scrambled order. Every coarse tile is now one contiguous block +of N^g complete R-payloads. No other active coarse bit is put into a new +stable order, and no spectator coordinate is gathered. + +The initial and inverse gather together cost +`O(V (gb)^(1-a) polylog p)`. The explicit permutation maps each physical +coarse tile name back to its logical vector; that small map is used only +for tile setup and sparse correction metadata. + +## 2. Interior outputs from ordinary cyclic convolution + +Flatten a tile by `phi(x)=sum_i x_i N^(g-1-i)` into Q=N^g slots. Put the +product kernel at offsets `psi(z)=sum_i z_i N^(g-1-i) mod Q` in an ordinary +one-dimensional cyclic convolution kernel. These offsets are distinct: +reduce a putative collision modulo N, use `2L= p^eta`, `g -> infinity`; alternatively a supplied sequential dense +kernel generator is an explicit acceptable input. + +If every tile coordinate satisfies `L<=x_ij: [0,N). +``` + +These 2g rectangles are disjoint and contain every discarded output once. +Their required unwrapped input rectangles have intervals + +``` +ij: [-L,N+L). +``` + +Coordinates outside `[0,N)` are taken from the correct neighboring coarse +tile, including periodic wrap in each actual axis. All input dimensions +are less than 2N; no assumption of independent full 2N padding is used. + +The total copied input volume is exactly + +``` +M = 6L V/N^g * sum_{j=0}^{g-1} N^j (N+2L)^(g-1-j) + = 3V [ (1+2L/N)^g - 1 ] + = O((gL/N)V). +``` + +The corrected output volume is +`V [1-(1-2L/N)^g] = O((gL/N)V)`. The formulas count corner duplication +exactly. An individual corner may have many destinations; its total traffic +is already included in M. No bound by worst-case 2^g multiplicity is charged +to all records. + +## 4. One full scan generates all correction copies + +For each original core tile, recover its logical coarse coordinates once. +Scan its local coordinate tuple with a binary odometer. Maintain flags for +membership in the four fixed edge intervals `[0,L)`, `[0,2L)`, +`[N-2L,N)` and `[N-L,N)`. Only coordinates changed by the odometer update +their flags. The number of coordinate updates over a whole tile is +`Q(1+1/N+...)<2Q`. Comparisons cost O(log N), and counters/head resets use +the retained amortized stream-counter convention. Maintain a count of +active near-boundary flags. A nonexceptional record takes no scan through +the g flags. + +For an exceptional record, enumerate candidate first-boundary axes from +the flag tape and all valid neighboring-tile choices. The exact choices +are the ones implemented in `sparse_copies` in `check_halo.py`: earlier +axes stay in the original tile; the selected face axis has its own or one +adjacent tile; each later axis has its own tile plus an adjacent tile only +when within L of that edge. Every emitted record carries + +``` +(j, side, destination coarse tile, unwrapped local coordinates). +``` + +These are K0=O(gh) bits. Precompute the plus/minus-one forms of each logical +coarse coordinate once per tile. A copy's logical neighbor is generated +by selecting those forms, then encoding the known scrambled coarse order. +All carries, periodic wraps and changed tile order are explicit. Using +ordinary binary arithmetic gives O(K0^2) safe metadata work per copy. + +The full scan costs O(V polylog p). The exceptional flag scans and address +work cost O(M K0^2/B+M) in bit-volume units when R includes the B-bit record. +Their setup per coarse tile is absorbed by its N^g payload. This is not an +unpaid nonlinear boundary-signature evaluation on every payload bit. + +## 5. Sparse radix gather and fixed-tape local processing + +Within each *earlier-coordinate prefix fiber*, stable-radix sort the copies +by the displayed key, with unwrapped local coordinates in ordinary tensor +order. Only the g active axes occur in the key; all following spectator +coordinates remain one R-block payload. A radix pass scans each complete +header and payload, splits into two bucket tapes, concatenates, and resets +the same fixed set of tapes. Since K0=O(B), each pass costs O(M); K0 passes +cost O(M K0). No simultaneous open tape per tile, face or corner is needed. + +Sorted copies form the exact input rectangles of section 3, consecutively. +Process one rectangle at a time. For each axis, expose its current local +coordinate field, apply the length-polynomial one-dimensional convolution, +and crop L positions from each end. Thus its length changes from its input +interval to the corresponding output interval. Other axes remain unchanged +until their own pass. This yields the tensor product of the restricted +one-dimensional maps, hence the exact desired face outputs. + +Every current axis has length at most N+2L=poly(p). Its mixed-radix transpose +is the retained short-field construction: pad **only that field** to its +next power of two temporarily, move its O(log p) bits using O(log p) linear +block interchanges, remove the temporary padding, and use the correct new +field length on return. The temporary factor below two is removed before +the next axis. A rectangle therefore costs its volume times +`O(g polylog p)` for movement and unconditional polynomial-length arithmetic. +Summing over rectangles costs `O(M g polylog p)`. Signed/complex dyadic +convolution can use sign splitting and ordinary Kronecker packing with +O(p+log N)=O(p) guard bits, followed by the unconditional quasilinear integer +multiplier; no improved supplier is used on this sparse path. + +After cropping, attach each output's physical coarse-tile and flat inner +address. Their keys are distinct because the face output partition is +disjoint. A second sparse radix sort orders them as holes in the retained +core-output stream. One merge scan replaces exactly those holes. The inverse +support-limited gather restores the original axis-major stream, including +the initially displaced coarse coordinates. All metadata is discarded. + +## 6. Parameters for the proposed partial fusion + +Use `d=p^epsilon`, `h=Theta(p/d)`, `g=p^(1-epsilon-zeta)` with fixed positive +zeta and epsilon>5/6. Suppose `L=O(p polylog p)` and take the dyadic side +`N=2^ceil((3/2)log2 p)`. The actual S_i eventually exceed every polynomial, +so N divides them and each periodic window is shorter than S_i. + +Then `K0=O(p^(2(1-epsilon)-zeta) polylog p)` and `K0^2=o(p)`. The two sparse +cost multipliers satisfy + +``` +(gL/N) K0 = O(p^(5/2-3epsilon-2zeta) polylog p) = o(1), +(gL/N) g = O(p^(3/2-2epsilon-2zeta) polylog p) = o(1). +``` + +All halo work is therefore O(V polylog p), below the desired +`O(V g^(1-a) polylog p)` routing term. The core convolution is +`O(V g^(1-q) polylog p)` since log N=Theta(log p). + +The bounded-gauge condition cited in `PARTIAL-FUSION.md` remains payable: +with `a0=Theta(log d)` and theta=Theta(1/d), its variation is + +``` +g [a0 theta N + a0/theta] + = O(p^(5/2-2epsilon-zeta) polylog p + + p^(1-zeta) polylog p) + = o(p) +``` + +for epsilon>5/6 and fixed zeta>0. Thus the larger polynomial tile does not +consume the O(p)-bit guard budget. This checks a layout/precision inequality; +it does not establish the missing Gaussian convolution factorization. + +## Diagonal and factorization boundary + +The theorem also applies to a fixed or polylogarithmic composition of these +translation-invariant convolutions and diagonal factors if every diagonal +scan/factor page has a proved sequential O(V polylog p) implementation and +all normalized tile-core and tile-halo values use O(p) bits. A tile-dependent +common scalar gauge may multiply every input to that tile and divide its +outputs; boundary copies must use the **destination** tile's gauge. No +enormous diagonal is formed and later canceled numerically by assertion. + +A concrete sufficient diagonal implementation is available for +`D(x)=product_i d_i(x_i)`. Supply each one-axis factor page in coordinate +order, with all normalized prefix products bounded to O(p) bits. Traverse +the rectangle by nested coordinate loops and retain the g successive prefix +products on work tape. Multiply by the innermost factor once per record; +outer prefix updates occur once per complete inner row, then once per +complete inner rectangle, and so on. With side lengths at least two their +number is less than twice the record count. Singleton axes are folded into +one constant per rectangle. Rewinding a factor page costs its length and is +charged to the corresponding completed row. Ordinary O(p)-bit multiplication +therefore gives O(V polylog p) scan cost with O(gp) temporary bits. This +argument uses bounded normalized **prefix products**; bounds on the final +product alone do not suffice. + +It does **not** cover an unbounded collection of different short kernels +inside one tile, a product-tree level with factor-two padding on all g axes, +or an unspecified transform-dependent sparse correction. Those require a +new representation theorem. In particular, the Gaussian_fast/product-tree +algorithm is not silently substituted for the translation-invariant kernel +assumed here. + +## Finite evidence + +`check_halo.py` verifies 5,632 exact outputs in three two/three-axis cyclic +examples, with asymmetric signed kernels, nontrivial diagonal conjugations, +periodic coarse carries, scrambled coarse order, unique sparse gather/scatter +keys and all local sequential crops. Pure flattening gives 3,040 wrong +boundary outputs across these examples; all are repaired. The exact copied +volumes equal `3V[(1+2L/N)^g-1]` in every case. These are constructive finite +controls; the preceding scan, metadata and volume arguments give the +conditional asymptotic claim. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json new file mode 100644 index 0000000000..48dbb2a6bf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/MANIFEST.json @@ -0,0 +1,20 @@ +{ + "EMBEDDING-CONTROLS.json": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "HALO-CONTROLS.json": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058", + "PARAMETER-CHECK.json": "e38cdfc13f1959186d888383458c9030c4bd3c8c3915aea4743d55637d2f8d76", + "RAGGED-CONTROLS.json": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "RAGGED-PERIODS.md": "c6e4dfe7f58dac7c5a513ffb3a9ab4801ab0717efae5c1e764e570335402ff25", + "README.md": "575a3acfc18a0e05ffe04a8563318a2770ce32cd7bf3a5e6123ce2de39a1cd4c", + "RECTANGULAR-EMBEDDING.md": "e64447bff7e7717802ee049290faaf29e45db3e36a6f7fcec109184478f15f26", + "SPARSE-SHEAR-CONTROLS.json": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871", + "SUPPORT-ROUTER.md": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "check_embedding.py": "597cb5304498456575c99d46a7fb503e04db28d5a7f57857b102b50f703b7464", + "check_halo.py": "0a3257cbb8f37b6cc9bb44019cb114ea2ae9b28738a416bff4bc712d1306e1b7", + "check_ragged.py": "54b761cfe3404d524af3a2abdf09bcea8dfb5cca6199c0c182cee310e3ca8c78", + "check_sparse_shear.py": "6e22c989e6bae92c4cd209c9336aad4359956cf370bdbd5f6b70609144598121", + "embedding.log": "d0182e172f16b55ec64a5edfabb10816e416348ef2db15449f3ed4b47f3fec1f", + "halo.log": "ae370f7d7421f2f96e101a4b9d8082110507c47211220fd6ead065c2366aa828", + "ragged.log": "c3688f65565486b585727374abfbe478f7544aa61381bd73cc6ffa168b4221b6", + "sparse-shear.log": "d3b9763f7ef6a3a5752c6c11a8a4d5f465646ad75b178a1c1b3363540fcc4871" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json new file mode 100644 index 0000000000..5844ead5c0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/PARAMETER-CHECK.json @@ -0,0 +1,10 @@ +{ + "epsilon": "0.99833013302245016130167750009820221155623107175809", + "g_exponent": "0.00166985697754983869832249990179778844376892824191", + "K0_exponent": "0.00333972395509967739664499980359557688753785648382", + "halo_sort_exponent": "-0.4949904190673504839050325002946066346686932152743", + "halo_local_axes_exponent": "-0.4966602860449003226033550001964044231124621435162", + "tile_gauge_exponent": "0.50333972395509967739664499980359557688753785648381", + "K0_squared_exponent": "0.00667944791019935479328999960719115377507571296764", + "initial_gather_exponent": "0.0016669624023127060364416759538459168913455129064535" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json new file mode 100644 index 0000000000..553ea1a36a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-CONTROLS.json @@ -0,0 +1,36 @@ +{ + "status": "PASS_RAGGED_TRUE_PERIOD_SPARSE_HALO", + "cases": [ + { + "S": [ + 19, + 22 + ], + "N": 8, + "L": 1, + "g": 2, + "input_records": 418, + "halo_records": 732, + "full_halo_candidate_pairs": 700, + "corrected_outputs": 274, + "source_and_rectangle_gathers_identical": true, + "true_period_tensor_convolution_checked": true + }, + { + "S": [ + 17, + 18, + 20 + ], + "N": 8, + "L": 1, + "g": 3, + "input_records": 6120, + "halo_records": 18064, + "full_halo_candidate_pairs": 14352, + "corrected_outputs": 4392, + "source_and_rectangle_gathers_identical": true, + "true_period_tensor_convolution_checked": true + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md new file mode 100644 index 0000000000..fdfe26d197 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RAGGED-PERIODS.md @@ -0,0 +1,89 @@ +# True periods inside a near-one dyadic container + +The primary halo theorem extends to arbitrary true periods s_i when an +already supplied dyadic rectangle t_i>=s_i has bounded total inflation +`product t_i / product s_i=O(1)`. Simultaneous zero embedding and its inverse +cost one ordered scan each by `RECTANGULAR-EMBEDDING.md`. This prerequisite +is satisfied only where the inherited near-one capacity bound applies; it +must not be replaced by independently rounding every axis to its next power. + +Take N dividing every t_i. Write `s_i=q_i N+r_i`, `0<=r_i0, one ragged core in axis i. The initial +support-limited gather uses the dyadic storage coordinates, not mixed-radix +division. It may produce invalid all-zero storage tiles; discard those. + +Apply ordinary flat cyclic convolution only to tiles whose every active +side has valid length N. Their interior outputs remain exact. Regular tile +face corrections use the earlier first-boundary-axis rectangles, but every +halo coordinate is now reduced modulo **s_i**, never t_i. + +If any side of a tile is ragged, discard its entire flat-convolution output. +For its actual side lengths r_i(tile), compute every valid output in +`product [0,r_i(tile))` using the input rectangle +`product [-L,r_i(tile)+L)`. All sides are at most N+2L. The same g successive +polynomial-length convolution/crop passes therefore produce exact outputs. +Full ragged tiles and regular face outputs form a disjoint correction set. + +Let Q_i=q_i+1_(r_i>0). The total full-halo volume of *all* valid tiles is + +``` +H_all = product_i [s_i + 2L Q_i]. +``` + +Their all-full-tile contribution is `product_i q_i(N+2L)`. The sum of the +ragged-tile halo volumes is their difference. Expanding by a first ragged +axis, or simply telescoping the product, gives + +``` +H_ragged <= H_all * sum_i (N+2L)/s_i + = O(S gN/s_min), +``` + +since `H_all/S <= exp(2L sum_i Q_i/s_i)=O(1)` when gL/N=o(1). +Regular face input volume is O(S gL/N). Thus total sparse copy volume is + +``` +M=O(V [gL/N + gN/s_min]). +``` + +The new term is smaller than V divided by every fixed polynomial in p when +`s_min=2^Theta(p/d)` and `N,g=poly(p)`. It pays all the same key sorting, +metadata and local computation factors. No new per-axis full scan appears. + +## One source-driven enumerator + +For each valid source coordinate x_i, list the valid destination tiles t +for which an unwrapped representative + +``` +y_i = x_i - tN + k s_i +``` + +lies in `[-L,r_i(t)+L)`. Only the home and neighboring core intervals can +qualify; there are at most three choices because L5/6, +all sparse halo work is O(V polylog p). The initial gather costs +`O(V g^(1-a_bit) polylog p)` and the grouped convolution costs +`O(V g^(1-q) polylog p)`. The cited bounded-gauge variation is still o(p). +Actual parameter exponents are recorded in `PARAMETER-CHECK.json`. + +Read: + +1. `SUPPORT-ROUTER.md`: arbitrary-spacing guarded shears, support-sized + reservoirs, fixed-tape repair, and the support-at-most-2k gather. +2. `HALO-THEOREM.md`: tensor identity, exact sparse halo volume, all record + movement, key lengths, local transposes, final output order and costs. +3. `RECTANGULAR-EMBEDDING.md`: simultaneous near-one zero embedding and crop + in one scan, using B=Omega(p) record width and an O(p)-bit descriptor. +4. `RAGGED-PERIODS.md`: arbitrary true periods inside that dyadic container, + using full ragged tiles as exponentially sparse additional exceptions. + +No rank/select oracle or sort of the complete tensor by a computed key is +used. Full scans preserve stream order. Only sparse correction records +are sorted, with every key bit pass charged. + +Reproduce, from the chat workspace: + +``` +python3 -B work/halo_layout_ultra/check_sparse_shear.py +python3 -B work/halo_layout_ultra/check_halo.py +python3 -B work/halo_layout_ultra/check_embedding.py +python3 -B work/halo_layout_ultra/check_ragged.py +``` + +Controls include an exhaustive 32,768-address shear permutation, 4,000 +unequal-spacing probes, 5,632 regular-grid convolution outputs and 6,538 +true-period inputs for ragged gather/correction checks. Wrong naive cyclic +flattening is explicitly detected before correction. Source/result hashes +are in `MANIFEST.json`. + +This is not a complete Gaussian resampler or a larger multiplication +exponent certificate. The kernel must be translation invariant and +separable; a fixed/polylogarithmic composition with bounded and sequentially +generated diagonal conjugations is admitted. A product tree with many +different short kernels or per-axis factor-two padding is not admitted by +renaming it a convolution. The missing Gaussian representation/normalization +theorem remains separate. The original bit/complex supplier, fixed-tape, +precision and all-size interfaces remain conditional inputs. + +Prepared with substantial OpenAI Codex assistance, continuing the retained +arbitrary-source router and bulk-resampling proofs in +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. +No frozen source or selected certificate was changed. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md new file mode 100644 index 0000000000..191867c72e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/RECTANGULAR-EMBEDDING.md @@ -0,0 +1,51 @@ +# One-pass near-one rectangular embedding and crop + +This supplies the dyadic-container qualification for the halo theorem. It +does not require one full payload scan per axis. + +Let input axes have arbitrary lengths `s_1,...,s_D` and let dyadic target +lengths `t_i>=s_i` be given, with total address width +`A=sum_i log2 t_i=O(p)`. The input and output use lexicographic axis-major +order, the last coordinate changing fastest. Every payload record has at +least `c p` bits, as in the retained coefficient representation. Assume +`T=product t_i <= C product s_i = C S`; C is the separately proved +near-one capacity bound, not a product of per-axis dyadic roundings. + +Enumerate the complete target rectangle in lexicographic order with its +ordinary A-bit binary counter. For each target address x, output the next +source record if `x_i infinity`; short remaining cases can use the retained +full-span router, since `n=O(k polylog p)` there. The conditional cost is + +``` +O(V (k+1)^(1-a) polylog p + poly(p)). +``` + +All other coordinate positions return to their original values. This is a +support bound, not a bound on how far a moved coordinate travels. + +## Unequally spaced target lemma + +Put `B=2^G`, `G=4 ceil(log2 p)+6`, and `K=64G`. Take target positions +`j_0<...2(k+1)ell`, a gap outside the moved support contains a contiguous ell-bit +field S disjoint from the actual last ell bits. Use an original equal-ell +interchange A to move S to that actual suffix. Route the conjugate +`A pi A^-1` on the n-ell prefix only, then undo A. The conjugate fixes the +suffix pointwise because pi fixed S. Choose every dirty control reservoir +inside the prefix after this interchange, then recompute positions and +residue colors. Thus no control operation touches the enlarged record. +Its 2^ell complete values absorb the polynomial descriptor work; no data +is padded or duplicated. If `n<=2(k+1)ell`, the retained full-span bound +already gives `O(V (k+1)^(1-a) polylog p)`. The placement itself costs only +O(V polylog p). This explicit suffix-conjugation bookkeeping was +independently supplied in `work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md`. + +## The gather uses only S union T + +Let S list the k selected low-coordinate bits in the desired tensor order, +and T list k consecutive destination slots. Send S bijectively to T. Send +the remaining domain slots `T\S` bijectively to the remaining output slots +`S\T`, and fix everything outside `S union T`. This explicitly extends the +requested gather to a coordinate permutation supported on at most 2k bits. + +The other coarse-coordinate bits can be scrambled by this extension. Their +order is retained and described by the inverse permutation; **no stable +compaction of all coarse fields is performed**. A coarse neighbor address +can be decoded, incremented in its logical axis, then encoded in this +physical coarse order when constructing a sparse correction key. + +## Evidence and boundary + +`check_sparse_shear.py` checks all 32,768 addresses for targets 0 and 6 with +guard length 5, including 512 good addresses, inverse composition and every +bad repair. It also checks 4,000 arbitrary/constructed-good addresses with +unequal gaps 9 and 11 and sources inside guard fields. `check_halo.py` +checks three explicit support-at-most-2k gather permutations. + +These controls support the algebra; the cost argument above is the +all-size conditional transfer. It retains the original bit-supplier, +equal-width interchange, fixed-tape and common-label hypotheses. It does +not upgrade an arbitrary full computed-key sort to a fast router. + +Sources: the retained reports `compact-arbitrary-source-routing.md` and +`review-arbitrary-routing.md` under +`work/integer-mult-current/references/semantic-bulk/rad20/reports/`. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py new file mode 100644 index 0000000000..54556ee93d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_embedding.py @@ -0,0 +1,22 @@ +"""Exact simultaneous zero embedding/cropping in lexicographic order.""" +from itertools import product +from pathlib import Path +import json,math +HERE=Path(__file__).resolve().parent +def check(s,t): + original=list(product(*(range(n) for n in s)));it=iter(enumerate(original,1)) + embedded=[];valid=[] + for x in product(*(range(n) for n in t)): + if all(a=N-2*L] + for j in active: + for side in (0,1): + choices=[] + for i,a in enumerate(x): + if i=N-L:opts.append((1,a-N)) + else: + if a>=N-2*L:opts.append((0,a)) + if a=N-L:opts.append((1,a-N)) + choices.append(opts) + for selected in product(*choices): + dest=tuple((tile[i]+selected[i][0])%Q[i] for i in range(g)) + y=tuple(v[1] for v in selected) + result.append(((j,side,dest,y),value)) + return result + +def radix(records,key): + pairs=[(key(k),k,v) for k,v in records] + bits=max((k.bit_length() for k,_,_ in pairs),default=0) + for b in range(bits): + zero=[];one=[] + for row in pairs:(one if row[0]>>b&1 else zero).append(row) + pairs=zero+one + assert [k for k,_,_ in pairs]==sorted(k for k,_,_ in pairs) + return [(k,v) for _,k,v in pairs],bits + +def key_encoder(N,L,g,Q): + # Deliberately scramble coarse address significance. This represents the + # displaced coordinate slots in a support-limited gather. + coarse=[(i,j) for i,q in enumerate(Q) for j in range(q.bit_length()-1)] + coarse=coarse[::2]+coarse[1::2][::-1] + def enc(key): + j,side,tile,y=key + out=j*2+side + for i,b in coarse:out=(out<<1)|((tile[i]>>b)&1) + for a in y:out=(out*(N+2*L))+(a+L) + return out + return enc + +def replay(N,L,g,Q): + assert N>4*L and N&(N-1)==0 and all(q>=2 and q&(q-1)==0 for q in Q) + S=[N*q for q in Q];global_ranges=[(0,s) for s in S] + raw={x:1+sum((i+3)*a*a+(i+1)*a for i,a in enumerate(x)) for x in box(global_ranges)} + pre=lambda x:1+sum((i+1)*a for i,a in enumerate(x))%3 + post=lambda x:1+sum((i+2)*a for i,a in enumerate(x))%2 + data={x:v*pre(x) for x,v in raw.items()} + kernels=[[((i+2)*(z+L+1))*(-1 if z==0 else 1) for z in range(-L,L+1)] for i in range(g)] + shifts=list(product(range(-L,L+1),repeat=g)) + weight={z:math.prod(kernels[i][a+L] for i,a in enumerate(z)) for z in shifts} + direct={x:post(x)*sum(weight[z]*data[tuple((a-b)%s for a,b,s in zip(x,z,S))] for z in shifts) for x in data} + merged={};wrong=interior=0 + for tile in product(*(range(q) for q in Q)): + core=[data[tuple(t*N+a for t,a in zip(tile,unflat(u,N,g)))] for u in range(N**g)] + for u in range(N**g): + x=unflat(u,N,g);glob=tuple(t*N+a for t,a in zip(tile,x)) + val=post(glob)*sum(w*core[(u-sum(z[i]*N**(g-1-i) for i in range(g)))%(N**g)] for z,w in weight.items()) + wrong+=val!=direct[glob] + if all(L<=a0 + tiles=math.prod(Q) + expected_copies=tiles*2*sum((N**j)*(3*L)*(N+2*L)**(g-j-1) for j in range(g)) + assert len(copies)==expected_copies + expected_boundary=tiles*(N**g-(N-2*L)**g) + assert boundary==expected_boundary + return dict(N=N,L=L,g=g,coarse_sizes=Q,input_records=len(data),interior_outputs=interior, + corrected_boundary_outputs=boundary,gathered_halo_records=len(copies),predicted_halo_records=expected_copies, + direct_flattening_wrong_outputs=wrong,radix_key_bits=keybits, + exact_tensor_outputs_checked=len(data),diagonal_conjugations_checked=True, + scalar_coefficients='signed asymmetric integer product kernel') + +def main(): + cases=[replay(8,1,2,[2,4]),replay(8,1,3,[2,2,2]),replay(16,2,2,[2,2])] + perms=[gather_permutation([5,7,6],3),gather_permutation([4,4,4],3),gather_permutation([9,6],4)] + out=dict(status='PASS_EXACT_CORE_PLUS_SPARSE_BOUNDARY_TENSOR_CONVOLUTION',cases=cases, + support_limited_gathers=perms, + scope='Finite exact map, sparse-copy completeness, unique scatter, radix ordering and support controls; asymptotic fixed-tape costs are in the companion proof.') + (HERE/'HALO-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2)) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py new file mode 100644 index 0000000000..4665063452 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/halo_layout_ultra/check_ragged.py @@ -0,0 +1,69 @@ +"""Independent source-driven versus rectangle-driven ragged halo gather.""" +from itertools import product +from collections import defaultdict +from pathlib import Path +import json,math +HERE=Path(__file__).resolve().parent +def points(ranges):return product(*(range(a,b) for a,b in ranges)) +def rectangles(S,N,L): + Q=[(s+N-1)//N for s in S];g=len(S) + for tile in product(*(range(q) for q in Q)): + sizes=[min(N,s-t*N) for s,t in zip(S,tile)] + if min(sizes)>(i*G))&((1<>(j+1))&((1<<(K-1))-1))<(1<<(K-1))-2*B + for i,j in enumerate(targets)) + +def ops(targets,sources,G): + out=[] + F=[('y1',1),('t1',1),('y2',1),('t2',-1)] + return F+[('load',1)]+F+[('load',-1)] + +def run(state,targets,sources,G,n,inverse=False): + u,t,y=state;H=len(targets)*G;mask=(1<>j)&1)<<(i*G) for i,j in enumerate(targets)))&mask + elif tag=='t2':t=(t+sign*sum((((y>>j)&1)^(digit(u,i,G)&1))<<(i*G) for i,j in enumerate(targets)))&mask + else:u=(u+sign*sum(((y>>s)&1)<<(i*G) for i,s in enumerate(sources)))&mask + return u,t,y + +def ideal(state,targets,sources): + u,t,y=state + return u,t,y^sum(((y>>s)&1)<=K for a,b in zip(sorted(targets),sorted(targets)[1:])) + assert all(j+K<=n for j in targets) + count=good_count=bad_count=corrected=0;images=set() + for state in states: + count+=1;out=run(state,targets,sources,G,n) + assert run(out,targets,sources,G,n,True)==state + assert good(*out,targets,G,K)==good(*state,targets,G,K) + assert good(*ideal(state,targets,sources),targets,G,K)==good(*state,targets,G,K) + if good(*state,targets,G,K): + good_count+=1;assert out==ideal(state,targets,sources) + else: + bad_count+=1 + fixed=ideal(run(out,targets,sources,G,n,True),targets,sources) + assert fixed==ideal(state,targets,sources) + corrected+=fixed!=out + images.add(out) + return dict(targets=targets,sources=sources,G=G,K=K,n=n,states=count, + good=good_count,bad=bad_count,changed_by_repair=corrected,distinct_images=len(images)) + +def main(): + small=check_case([0,6],[4,8],1,5,11, + product(range(4),range(4),range(1<<11))) + assert small['states']==small['distinct_images']==32768 + rng=random.Random(713) + targets=[1,10,21];sources=[5,15,25];G=2;K=7;n=29 + arbitrary=[(rng.randrange(64),rng.randrange(64),rng.randrange(1< infinity`. Their aggregate and all helper reservoirs + fit the full address because beta<1. There is no necessary constraint + beta<1-epsilon; a group is allowed to be wider than one original axis. +* The width-dependent phase sums are geometric. With q=2`, the exponent is at least +`h^2-|h|`; the two-sided tail is at most `4 exp(-2a)`. Thus the claimed +`exp(-2a theta)+5 exp(-2a)` bound follows. In particular, counting both nearest +neighbors separately at the larger bound would be invalid, but the supplied +argument does not do so. + +The actual H is specified by globally fixed rounded weights and a globally +fixed truncated Toeplitz kernel inside each physical phase cell. Its diagonal +is one, with the omitted aliases included in the perturbation. The candidate's +perturbation budget is strictly below the displayed row-dominance gap. Principal +submatrices preserve this row gap. Adding identity hole rows/columns preserves +it as well, and increases the physical bandwidth by at most the q-image spacing +factor, which is bounded by two. + +For `F=H_aug-I`, `||F||_infinity<=1-delta` with +`delta>=1/(16p)`. Powers through order J agree on a core row whose distance from +the principal-window edge exceeds J times the bandwidth. The two inverse tails +are bounded by `2(1-delta)^J/delta`. With `J=C p^2`, this is exponentially small +in p. The distance requirement is `O(p^(5/2) polylog p)`, below the candidate's +`A=C_A p^3` eventually. The preserved physical period cut and the fact that +true axes exceed every polynomial in p exclude spurious short wrap edges. + +## 2. Broad Gaussian conditioning is a different argument, and it works + +Sources: candidate lines 151–201; +`work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md` lines 13–73 and 75–105; +`work/gaussian_fast_ultra/BILATERAL-LDU.md` lines 25–119. + +For the finite LDU formulas, I checked the origin-shift correction and the +triangular inverse estimates. If `h=j-i`, the elementary-polynomial estimate +for the upper inverse reduces its exponential part to + +`b[beta_j^2-beta_i^2-rho^2 h-2 rho sum_{k=i}^{j-1} beta_k]`. + +Using `|beta_k|<=1/2` gives at most `b/4-b rho theta h`. The lower inverse uses +the corresponding expression with the other sign on the beta sum and has the +same decay. The factors `c_b^-1` and `c_b^-2` come from the explicitly bounded +products. This proves the stated uniform finite-interval bound; integrality of +the q-values is not needed, only gaps at least one and the beta bound. + +The broad target-cell identity also checks directly. With +`q'_k=k+rho c`, `beta'_k=theta k-rho c`, and +`b=b0/rho^2`, one obtains + +`K=alpha^-1 N_b diag(exp(-b beta'^2))`. + +At a selected target index, `beta'_k` equals the original source beta. Therefore +the finite LDU bound really applies to the block K used in the candidate; it is +not a bound for a different narrow matrix. The product estimate +`log(c_b^-1)<=pi^2/(12 b rho)` gives +`c_b^-4<=exp(pi alpha^2 rho/3)=p^O(1)`. The reciprocal gap is also polynomial +because `theta^-1=poly(p)` and `alpha^2=O(log p)`. + +The square identity-hole completion has block form `[A 0; R I]`. Its inverse is +`[A^-1 0; -R A^-1 I]`. Hence bounded Gaussian row sums and the selected-row +inverse bound give a polynomial full inverse bound. Dividing the completion +by four is contractive even on numerical hole errors. Its extra factor of +one half per axis is exactly compensated by the stated `2^D` shift. + +For the Toeplitz core, the Poisson symbol bound supplies a polynomial lower +eigenvalue, since its exponent is `O(alpha^2)=O(log p)`. An exponentially small +truncation/rounding perturbation preserves that bound. The extension from +these SPD cores to shallow circuits is outside this subreview, but the +Gaussian side supplies the conditioning claimed for that extension. + +## 3. Capping changes the runtime gauge, without changing H + +Sources: candidate lines 203–221 and 273–283; +`work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md` lines 31–107; +`work/phase_assembly_ultra/CAPPED-INTERIORS.md` lines 13–29 and 68–70. + +Within a fixed narrow phase cell, + +`log(a_i/a_j)=a(i-j)(beta_i+beta_j)`. + +Its absolute value is at most `a|i-j|`. Taking exact ratios of the already +rounded positive weights at one local anchor cancels the same common scalar +from both sides of the similarity, so the matrix is unchanged. Relative +rounding error of the original weights remains small because their minimum +is `exp(-O(ad))` and the absolute setup precision is `Cp`, with `ad=o(p)`. +Thus the local circuit sees range `O(aB)`, not the original `O(ad)`. + +For the broad split, expansion of the displayed exponents gives exactly +`-b0(delta+x-lambda y)^2`. The two logarithmic derivatives are +`-2 b0 lambda beta'_i` and `2 b0 lambda^2 beta'_k`; each is bounded in absolute +value by b0. Changing anchor changes the two ideal diagonals by reciprocal +constants. Applying the same exact reciprocal change to previously rounded +diagonals preserves their product with the Toeplitz core. Thus the broad +rounding scheme can consistently use the same global matrix and locally +recenter its capped restrictions. + +The number of pieces does not multiply the norm of their direct sum. The +group logarithmic range is consequently `O(gaB+g polylog p)`. The inherited +absolute weight accuracy adds `O(ad)` once to the precision requirement, rather +than once for every tensor axis. The candidate's condition +`beta+xi+r0=1-zeta`, with `a=O(log p)<=p^r0` eventually, makes this range o(p). +The total precision is therefore `p+O(ad+gaB+g polylog p)=O(p)` in both parameter +families. This conclusion concerns asymptotics; no reasonable finite cutoff +is supplied or required by the statement. + +## 4. Boundary factorization and rounding do not introduce a window-count factor + +Sources: candidate lines 225–240; +`work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md` lines 78–98; +`work/integer-mult-current/references/semantic-bulk/rad20/reports/review-phase-cell-inverse.md` +lines 203–301. + +The five-factor identities check by ordinary block multiplication. The shears +use B and C from the original banded matrix. They do not use the generally +dense products `A^-1 B` or `C A^-1`. For forward expansion, F is only applied; +its inverse is not required by that formula. + +For a strictly row-diagonally-dominant matrix, one elimination step gives + +`gap_i(new)>=gap_i(old)+|a_ik/a_kk| gap_k(old)`. + +Its absolute row norm does not increase. Thus the narrow Schur matrix retains +the polynomial gap and bounded row norm. A noncyclic cut of its banded matrix +also retains row dominance. In its LU factors, U has bounded row norm and the +unit-lower factor has only O(W) entries per row, each bounded by the reciprocal +pivot gap. Therefore `||L||=poly(p)`. The identities +`L^-1=U A^-1` and `U^-1=A^-1 L` then give polynomial inverse-factor norms. +The periodic correction has rank O(W) and is controlled by the full completed +inverse, as in the retained identity `K^-1=I-V A^-1 U`. + +The exact partial right-hand sides are consequently polynomially bounded. +Rounding a completed block update creates a row residual bounded by +`poly(p) 2^-P`. Equivalently, rounding and coefficient error can be treated as +a perturbation whose norm is small enough to close the same bound on computed +values. Applying the polynomial full inverse bounds the output error by that +residual. Infinity norm takes the maximum over windows rather than summing +their count. Strassen's fixed recursion contributes polynomial W growth and +O(log W) guard bits, already covered by the precision allowance. + +## 5. Density, stream layout, and global calls + +Sources: candidate lines 207–211, 242–271, and 368–385; +`work/phase_layout_audit_ultra/AUDIT.md` lines 15–188; +`work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md` lines 7–65; +`work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md` lines 16–58; +`work/halo_layout_ultra/HALO-THEOREM.md` lines 88–196. + +The capped carve contributes O(d/B+log B) separators per physical phase cell. +Retaining W-wide separators ensures distinct interiors are uncoupled. Each +elimination only joins adjacent O(W)-sized boundary groups, so the Schur +bandwidth remains O(W). The extra clipped-endpoint term in an L-core is +O(W polylog p), negligible relative to `L W/B polylog p`. + +For the union U, every sparse factor changes its own axis only inside E_i; +therefore it preserves U. The dense A stage does not preserve U, and the +candidate explicitly scatters and regathers around it. For one sparse axis, +`U_i=E_i x [L]^(g-1)` is a complete rectangle inside U. Extracting it in order, +transposing only its polynomial-width axis field, processing, undoing the +transpose, and merging back needs no full g-axis key sort. The full union +scan is charged once per sparse axis, producing the stated g-squared factor +per group. The matrix corollary cannot afford an extra full-key union sort, +but this algorithm does not require one. + +The q-image predicate checks the exact half-open interval +`s(2k-1)<=2tj 2(k+1)L. +``` + +Indeed, after excluding the actual suffix, the at most k moved positions +cut the remaining interval into at most k+1 gaps. If every gap had length +less than L, that prefix would have length at most (k+1)L-1. The displayed +inequality contradicts this bound. + +Let A be the old disjoint equal-L swap exchanging S with the actual suffix. +Execute A, route the conjugated permutation A pi A^{-1}, then execute +A^{-1}. Because pi fixes S pointwise, its conjugate fixes the actual suffix +pointwise. It still moves at most k coordinates. All endpoints are now in +the n-L prefix. Choose the three dirty reservoirs in that prefix and run +all compact rotations, original control shuttles, elementary CNOTs, and +bad-hole repair there. Recompute endpoint names after A and after the +reservoir placement. In the application, n-L>=9kG holds with a wide +asymptotic margin. + +The suffix is a complete binary field with arbitrary contents. Reinterpreting +its 2^L values as part of a record gives record length R0*2^L, without +creating, padding, or deleting data. This length exceeds every fixed +polynomial in p. No operation whose cost relies on that record length acts +on its component coordinates. Both instances of A use the already approved +primitive and cost O(V L^(1-a))=O(V polylog p); they do not invoke the new +router. This removes the prospective circularity. + +For the general router outside this sparse branch, the retained +first-L/second-L/actual-last-L candidate convention and matching cohorts +also work. Arbitrary candidates should not be substituted blindly: a +candidate can partially overlap the actual suffix, whereas the old swap +requires equal disjoint fields. After each candidate placement, the same +n-L prefix exclusion is mandatory. If the entire binary span is only +polylogarithmic, the old elementary construction suffices. If +n=O((k+1)polylog p), the old full-span construction gives the desired +support bound up to polylogarithms; its own short-record preparation must +still use the old suffix construction. + +For a full H supplier call, reserve the suffix outside its selected field +and keep it fixed throughout the completed call. If necessary, perform +the same old L-bit placement before exposure, update the logical names of +the neighborhoods, and restore it after inverse exposure. The source +neighborhoods need not remain physically consecutive before exposure: +the exposure permutation explicitly routes their named bits. The target +complete chunks are placed before the reserved suffix. + +## 3. Whole-row padding and the next diagonal scan + +The leading row prefix and the front/back controls are assembled from +complete K-bit neighborhoods in the globally complete binary tensor. +Their bits are not assumed zero or semantically independent of coefficient +values. Completeness means every coordinate value is represented in the +stream. Multiplication by previous coarse-dependent diagonal coefficients +does not remove any address or change this property. + +Deferring the selected bits lying in reserved chunks is valid: the accepted +active invocation is the desired tensor on the other selected bits and +identity on every reserved coordinate, for arbitrary incoming coefficients. +The preliminary individual transforms in the old layout were used to +finish those selected bits, not to create complete row or control ranges. +After deferral, those transforms are performed in later phases instead. + +The row count is rounded once to a multiple of the actual product + +``` +Q_rows = W_complex^D_complex * W_bit^D_bit. +``` + +The padded row label is allowed to be a nonbinary preceding fiber count. +Every within-row field remains a full binary field. The supplier's +interchanges and controls act within those complete fields; the global +exposure router is not applied to the padded row label. Nested bit adapters +consume and restore the bit stock before later complex splits, exactly as +in the retained product-stock argument. + +At the completed invocation boundary, the operator is identity on the row +label. A padded zero row therefore returns to zero even though temporary +role computations may have combined or moved its contents. Delete those +rows before inverse exposure or the next deferred phase. This bounds each +phase's volume by twice its original volume, not by a factor exponential in +the number of phases. + +All H calls in the compiler have the same selected-bit schedule for every +coarse label; label dependence resides in the intervening diagonal tables. +Run one H call on the complete global tensor, complete every deferred +phase, remove padding, and restore the original exposed-coordinate order. +Only then run the next diagonal scan. The microbox layout used for that +scan is the restored layout in which the local coordinates are already +contiguous (or the separately paid low-bit gather layout). No padded row, +partial H result, or temporarily relocated coarse label is presented to +the diagonal-table lookup. Thus scanning different coarse-label tables +does not require separate H invocations or borrowing fixed labels inside +a microbox. + +## 4. The actual parameter inequalities + +The largest exposure moves k=O(gK)=O(p^.093 log p) binary coordinates. +With G=Theta(log p), its three dirty reservoirs require + +``` +9kG = O(p^.093 log^2 p) = o(p). +``` + +The suffix occupies only L=Theta(log^2 p) positions. In particular, + +``` +n/(kG) = Omega(p^.907/log^2 p) -> infinity, +n/((k+1)L) = Omega(p^.907/log^3 p) -> infinity. +``` + +There is ample room both for the old spectator placement and for all +subsequent prefix-only reservoirs. These inequalities concern the full +binary address, not any one original axis. + +The only per-axis inequality is + +``` +K + O(log p) < ell_axis = Theta(p^.002), +``` + +which holds eventually. The original K/log p -> infinity wording must be +replaced, as already noted in `SUPPLIER-SUPPORT-AUDIT.md`, by the finite +guard inequality K>=G+4ceil(log2 p)+10. K=128G satisfies it. + +The supplier's front/back controls are made by concatenating reserved +complete neighborhoods. Their chunk count is + +``` +ceil(2hG/K) + ceil(hG/K) <= 3h/128 + 2. +``` + +The leading row stock adds O(log h) complete chunks. Above a fixed +polylogarithmic cutoff this is at most h/16, and smaller h is handled +individually. No single original axis stores hG control bits. Indeed +gG/ell_axis=Theta(p^.091 log p) diverges; the construction works precisely +because it does not demand this false per-axis fit. + +Consequently the reviewed mechanisms support the proposed +O(V g^(1-q) polylog p) global-call cost under the retained supplier +assumptions. The suffix exclusion and completed-call boundary should be +kept explicit in any final assembly. They are necessary bookkeeping, +not a new exponent restriction or an unproved sorting primitive. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json new file mode 100644 index 0000000000..80cb2c8083 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER-CONTROLS.json @@ -0,0 +1,154 @@ +{ + "status": "pass", + "arithmetic": "exact symbolic rational/complex", + "routing": [ + { + "N": 2, + "permutations": 2, + "switch_depth": 1 + }, + { + "N": 4, + "permutations": 24, + "switch_depth": 3 + }, + { + "N": 8, + "permutations": 40320, + "switch_depth": 5 + }, + { + "N": 16, + "random_permutations": 100, + "switch_depth": 7 + }, + { + "N": 32, + "random_permutations": 100, + "switch_depth": 9 + }, + { + "N": 64, + "random_permutations": 100, + "switch_depth": 11 + } + ], + "fixed_H_word_checks": [ + { + "kind": "upper", + "parameter": "-10", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "-10", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "-3/7", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "-3/7", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "0", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "0", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "7/9", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "7/9", + "H_calls": 6 + }, + { + "kind": "upper", + "parameter": "10", + "H_calls": 6 + }, + { + "kind": "lower", + "parameter": "10", + "H_calls": 6 + }, + { + "kind": "diag", + "H_calls": 6 + }, + { + "kind": "swap", + "H_calls": 6 + }, + { + "kind": "fft", + "H_calls": 6 + }, + { + "kind": "diag", + "H_calls": 6 + } + ], + "coefficient_odometer": [ + { + "N": 2, + "g": 1, + "records": 2, + "coefficient_products": 2, + "products_per_record": 1.0, + "table_movement_bound": 2, + "zeros_in_table": true + }, + { + "N": 2, + "g": 8, + "records": 256, + "coefficient_products": 510, + "products_per_record": 1.9921875, + "table_movement_bound": 510, + "zeros_in_table": true + }, + { + "N": 4, + "g": 5, + "records": 1024, + "coefficient_products": 1364, + "products_per_record": 1.33203125, + "table_movement_bound": 1364, + "zeros_in_table": true + }, + { + "N": 8, + "g": 4, + "records": 4096, + "coefficient_products": 4680, + "products_per_record": 1.142578125, + "table_movement_bound": 4680, + "zeros_in_table": true + } + ], + "tensor_test": { + "N": 4, + "axes": 2, + "data_coordinates": 16, + "input_output_matrix_entries": 256, + "simultaneous_H_calls": 18, + "expected_H_calls": 18, + "dimension_expansion": false, + "different_axis_matchings": true, + "different_axis_gate_kinds": true, + "local_matching_endpoints_checked": true + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md new file mode 100644 index 0000000000..19efb9cb1c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/TENSOR-COMPILER.md @@ -0,0 +1,160 @@ +# Tensorizing local circuits without dimension padding + +Status: an algebraic compiler and scan-cost lemma. It reduces a tensor product of different bounded-depth local circuits to a bounded sequence of simultaneous binary Hadamard calls and diagonal scans on the **same** data volume. The retained supplier must support the stated Hadamard call on selected local bits and restore the agreed endpoint record order. No new fast-transform supplier is asserted here. + +## 1. Interface and conclusion + +Let N=2^m and let g axes each have N local coordinates. A coarse-label block contains V=N^g data records in lexicographic local-coordinate order. On axis a let C_a be an N-wire linear circuit of depth D; every layer consists of disjoint invertible two-coordinate gates and one-coordinate diagonals. The permitted gates are bounded shears, swaps, FFT butterflies, and diagonals. Circuits, pair matchings, coefficients and depths can differ by axis and by coarse label. Their tables are fixed independently of data values. + +Write H=[[1,1],[1,-1]]. A simultaneous Hadamard call means the tensor product of one H acting on one selected bit in each axis, with all remaining local and coarse coordinates as spectators. It acts on existing 2^g-coordinate fibers inside the N^g records; it allocates no new coordinate. The bit selected in an axis may be prescribed by the compiler. + +After padding shorter circuits by identity **operations**, the tensor product C_1 tensor ... tensor C_g is a sequence of + + at most (8m+2)D simultaneous H calls + +and O(Dm) tensor-diagonal scans. A tensor diagonal has the form + + d(i_1,...,i_g;c)=product_(a=1)^g d_a(i_a;c), + +where c is the fixed coarse label. Each diagonal scan uses O(1) amortized coefficient multiplications and O(1) amortized coefficient-table record movements per data record, after loading gN local values. The number of arithmetic-data coordinates remains exactly N^g throughout. + +If all local gate coefficients and inverses are bounded by B and all original prefix and inverse-prefix norms by Lambda, the compiler's local prefix bounds are Lambda times poly(B), up to absolute constants. For polynomial B and Lambda this is N^O(1). The tensor-prefix logarithmic bound is O(g log N). More generally depth D=polylog(p), B=poly(p), N=poly(p) gives an O(g polylog(p)) guard even without a stronger prefix theorem. + +An outer similarity whose logarithmic range is Q_a on axis a adds only sum_a Q_a. Therefore the retained phase-cell case Q_a=O(a d) uses + + p + O(g a d + g polylog(p)) + +working bits. The condition g a d+g polylog(p)=O(p) is sufficient for O(p)-bit records. + +## 2. Fixed Hadamard words, including zero shears + +All formulas below are matrix-product order; execution reads right to left. Let U(t)=[[1,t],[0,1]]. Direct multiplication gives + + H diag(2,1) H diag(-3,1) H = [[-8,-10],[0,-6]], + diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H = U(5/4). + +For q nonzero, conjugate by A_q=diag(4q/5,1): + + U(q)=A_q diag(-1/8,-1/6) H diag(2,1) H diag(-3,1) H A_q^-1. + +This has three H factors. To include t=0 with uniformly invertible diagonals, choose a known B>=|t| and c=2B+1. Then + + U(t)=U(t+c) U(-c). + +Both parameters have magnitude at least B+1 and at most 3B+1. This is a **six-H word for every t**, with all scalar coefficients and inverses bounded by poly(B). There is no division by t and no case split at t=0. Transpose the word to obtain the same six-H count for lower shears. + +There are two bounded identity words: + + I = (1/2) H H, + I = diag((1-i)/4,(1+i)/4) H diag(1,i) H diag(1,i) H. + +The second identity uses three H factors. Its middle product before the leading diagonal equals diag(2+2i,2-2i). Complex coefficients are permitted by the retained complex H interface. + +Consequently every gate type can be given **exactly six H factors**, separated by diagonal matrices: + +- Upper/lower shear: the six-H word above. +- Diagonal, including I: append three two-H identity words. +- Swap J: use J=(1/2)H diag(1,-1)H, then append two two-H identity words. +- FFT butterfly H diag(1,w), optionally scaled by 1/sqrt(2): append a two-H identity and a three-H identity. Here |w|=1. + +Combining neighboring diagonal matrices puts every word in one common alternating shape with six H factors and seven diagonals. Thus different gate types, zero parameters and inactive pairs can coexist in one simultaneous schedule without branches or padded data coordinates. + +## 3. Every matching can be routed to adjacent pairs + +For one local layer, assign its oriented pairs (i,j) to positions (2k,2k+1). Unpaired coordinates are assigned arbitrarily to the remaining positions, in pairs carrying diagonal or identity gates. This defines a permutation pi on exactly N coordinates. The layer equals + + P_pi^-1 (direct sum of adjacent-pair gates) P_pi. + +We use a Beneš network of 2m-1 switch layers. At each layer all switches join indices differing in one fixed bit; the bit sequence is + + 0,1,...,m-1,m-2,...,1,0. + +Here is a constructive proof of rearrangeability. Form a bipartite multigraph whose left vertices are input pairs {2j,2j+1} and whose right vertices are output pairs {2k,2k+1}. Input i supplies an edge to output-pair floor(pi(i)/2). Every vertex has degree two, so each component is an even cycle (parallel edges are allowed). Alternately color each cycle's edges 0 and 1. The first switch sends an input edge into the subnetwork of its color; the last switch sends that color to the required output parity. Each color class induces a permutation on N/2 pair indices. Recursively route both color subnetworks in parallel. This gives exactly the displayed bit sequence and uses no storage coordinates. + +The switch is either I or J. Both are obtained from the common two-H word + + S_epsilon=(1/2) H diag(1,epsilon) H, + epsilon=+1 for I, epsilon=-1 for J. + +Thus all axis-dependent switch controls are diagonal entries. A physical switch on bit k simply uses a simultaneous H call selecting bit k in each axis. No interstage wire shuffle is needed. If a supplier accepts only a contiguous selected-bit field, the existing paid bit router must gather that field and undo the gather; that is a supplier-interface cost, not an uncharged permutation. + +Each forward or inverse Beneš route uses 2(2m-1) H calls. The adjacent gates use six. Hence one original matching layer uses + + 2[2(2m-1)]+6 = 8m+2 + +H calls. The schedule is identical on every axis and every coarse-label block; only diagonal tables change. + +## 4. Tensor fusion is literal multiplication, not a sum expansion + +Let the compiled axis-a circuit be D_(a,L) H_(a,L) ... H_(a,1) D_(a,0), with the same number and arrangement of H factors. Kronecker multiplication gives + + tensor_a C_a + = (tensor_a D_(a,L)) (tensor_a H_(a,L)) ... + (tensor_a H_(a,1)) (tensor_a D_(a,0)). + +Every tensor of diagonals is a single diagonal scan. Every tensor of binary H factors is one simultaneous H call. This introduces neither a sum of 2^g branches nor a 2^g padding factor. The 2^g-dimensional Hadamard fibers are subsets of the N^g existing coordinates. + +An axis with no work at a particular original depth receives an identity layer, routed and compiled with the same fixed shape. Its intermediate H operations are still present, but the complete local word is I. Coarse-label variation is equally harmless: for each fixed label the identity above holds separately, and the whole data operator is a direct sum over labels. + +## 5. Uniform intermediate bounds and precision + +A completed switch route is a permutation and has norm one. Each partial switch word has absolute constant norm and inverse norm. Between original local circuit boundaries, at most one original gate word is partially executed. Its length is constant, and its scalar coefficients and inverses are poly(B); all different pairs act as a direct sum. Therefore + + max_prefix ||C_compiled,prefix||, + max_prefix ||C_compiled,prefix^-1|| <= poly(B) Lambda. + +The length O(D log N) does not require multiplying this polynomial bound afresh at every stage: completed original prefixes already have bound Lambda; completed route and padding words have their exact intended endpoints. The corresponding suffix bound is also polynomial when the original endpoint and inverse-prefix bounds are. + +For g tensor factors, the operator norms multiply, so their logarithms add. A microbox coarse-label direct sum takes the maximum over labels, not a product over labels. Hence polynomial local bounds give exp(O(g log N)); using only the rough original bound Lambda<=(2B)^D gives exp(O(gD log B)). Adding the original cell similarity contributes exp(sum Q_a). + +The number of compiled stages is polylog(p). Allocate each rounding or supplied-transform error below the final tolerance divided by this stage count and the prefix/suffix amplification. This costs O(g polylog(p)+sum Q_a) guard bits. Supplier-internal precision charges still must be those already guaranteed for the simultaneous H call; this compiler does not erase them. + +## 6. Product diagonals with constant amortized scan cost + +Fix one diagonal stage and one coarse label. Load the gN coefficients d_a(i) on a coefficient tape in axis order. Use base-N lexicographic enumeration with axis 0 fastest. Store suffix products + + P_j=product_(a=j)^(g-1) d_a(i_a), 1<=j=1) k/N^k = O(V), + +plus O(g) initialization. No division by d_a(i) is used, so this method also permits zero diagonal entries when an external application permits them. Every cached product is recomputed from current factors, never updated by a long chain of multiplicative ratios, so numerical drift does not depend on the number of records scanned. + +The same accounting works on a fixed number of tapes. Keep the coefficient-tape head normally in axis-0's N-record table. Rewinding that table costs O(N) once per N records. A depth-k carry visits the needed tables up to axis k and returns, moving O(kN) coefficient records. Summing over carries gives + + O(V sum_(k>=1) kN/N^k)=O(V) + +record moves. The suffix-product tape is accessed near its front except on carries, with the same geometric bound. Counter/address arithmetic costs only polylog(p) per record. This does not require g work tapes or a random-access lookup every record. + +The table loading cost is O(gN) records per coarse block and stage. For N>=2 it is O(N^g), including small g, and polynomial-time table construction is negligible per N^g block in the retained asymptotic regime g=p^beta tending to infinity. If tables are supplied rather than constructed locally, no additional assumption is needed. Both generation and loading costs must be charged once per visited coarse block, not silently once for the entire input. + +At O(p) working precision, O(1) amortized scalar multiplications per record and O(1) record movements cost O(V_bits polylog(p)) under the retained pointwise-arithmetic kernel, where V_bits counts bit volume. There is no g V_bits coefficient-generation term. + +## 7. Exact controls + +`check_tensor_compiler.py` constructs the network controls and all fixed words. `TENSOR-COMPILER-CONTROLS.json` records: + +- every permutation for N=2,4,8, including all 40,320 permutations at N=8; +- 100 random permutations each at N=16,32,64; +- exact symbolic checks of upper/lower zero and nonzero shears, diagonal, Swap and FFT words; +- an exact two-axis N=4 replay with different axis matchings and gate types: 16 data coordinates, all 256 input-output matrix entries, 18 simultaneous H calls, no dimension expansion. + +The finite controls support the constructive proofs; the cycle coloring, word identities, Kronecker identity and geometric scan sums establish the asymptotic statements. + +## 8. Cost substitution into the retained supplier + +Suppose a simultaneous H call on g selected bits, across V_bits bits of data and spectators, has paid cost O(V_bits g^(1-q) polylog(p)). Suppose also that any required bit-field gather/restore has cost O(V_bits g^(1-a_bit) polylog(p)). For D=polylog(p), N=poly(p), the compiler uses only polylog(p) such calls, and its diagonal scans cost O(V_bits polylog(p)). Thus the grouped local circuit costs + + O(V_bits [g^(1-q)+g^(1-a_bit)+1] polylog(p)). + +When a_bit>q and 0= j else row[j-i] + for j in range(n)] for i in range(n)]) + + +def lower(c): + return toep(c) + + +def invseries(f): + n = len(f) + ans = np.zeros(n, complex) + ans[0] = 1 / f[0] + for j in range(1, n): + ans[j] = -sum(f[k] * ans[j-k] for k in range(1, j+1)) / f[0] + return ans + + +def conv(a, b, n): + return np.convolve(a, b)[:n] + + +def diag(indices, values): + return [[((int(i),), np.array([[v]], complex)) for i, v in zip(indices, values)]] + + +def inverse(plan): + return [[(ids, np.linalg.inv(g)) for ids, g in layer] + for layer in reversed(plan)] + + +def parallel(a, b): + return [(a[j] if j < len(a) else []) + (b[j] if j < len(b) else []) + for j in range(max(len(a), len(b)))] + + +def fft(indices): + n = len(indices) + if n <= 1: + return [] + assert n & (n - 1) == 0 + bits = n.bit_length() - 1 + rev = [int(f"{j:0{bits}b}"[::-1], 2) for j in range(n)] + plan = [[((indices[i], indices[j]), np.array([[0, 1], [1, 0]], complex)) + for i, j in enumerate(rev) if i < j]] + size = 2 + while size <= n: + layer = [] + for start in range(0, n, size): + for j in range(size // 2): + w = np.exp(-2j * np.pi * j / size) + layer.append(((indices[start+j], indices[start+j+size//2]), + np.array([[1, w], [1, -w]], complex) / math.sqrt(2))) + plan.append(layer) + size *= 2 + return plan + + +def circ_shear(target, source, kernel): + """target += circulant(kernel) source, using these wires only.""" + p = parallel(fft(target), fft(source)) + lams = np.fft.fft(kernel) + mid = [[((source[j], target[j]), np.array([[1, 0], [lams[j], 1]], complex)) + for j in range(len(source))]] + return p + mid + inverse(p) + + +def toeplitz_shear(target, source, T): + """Cyclic + negacyclic decomposition; source and target are disjoint.""" + n = len(source) + assert T.shape == (n, n) and len(target) == n + c, r = T[:, 0], T[0, :] + g = np.zeros(n, complex) + h = np.zeros(n, complex) + g[0] = h[0] = c[0] / 2 + for j in range(1, n): + g[j] = (c[j] + r[n-j]) / 2 + h[j] = (c[j] - r[n-j]) / 2 + gamma = np.exp(1j * np.pi / n) + d = gamma ** np.arange(n) + twists = parallel(diag(target, d), diag(source, d)) + return (circ_shear(target, source, g) + twists + + circ_shear(target, source, d * h) + inverse(twists)) + + +def triangle_plan(indices, f): + n = len(indices) + STATS["triangle_nodes"] += 1 + STATS["max_triangle_coefficient"] = max( + STATS["max_triangle_coefficient"], float(np.max(np.abs(f)))) + if n == 1: + return diag(indices, f) + assert n % 2 == 0 + m = n // 2 + ev, od = indices[::2], indices[1::2] + e, o = np.asarray(f[::2]), np.asarray(f[1::2]) + k = conv(o, invseries(e), m) + zk = np.r_[0, k[:-1]] + s = e - np.r_[0, conv(o, k, m)[:-1]] + right = toeplitz_shear(ev, od, lower(zk)) + middle = parallel(triangle_plan(ev, e), triangle_plan(od, s)) + left = toeplitz_shear(od, ev, lower(k)) + return right + middle + left + + +def lowdisp_shear(target, source, T): + n = len(source) + Z = np.eye(n, k=-1) + Delta = T - Z @ T @ Z.T + U, vals, Vh = np.linalg.svd(Delta) + cutoff = 1e-11 * max(1.0, vals[0]) + rank = int(np.sum(vals > cutoff)) + STATS["max_displacement_rank"] = max(STATS["max_displacement_rank"], rank) + STATS["generator_shears"] += 1 + result = [] + reconstructed = np.zeros_like(T) + for j in range(rank): + g = U[:, j] + h = vals[j] * Vh[j, :] + STATS["max_generator_entry"] = max( + STATS["max_generator_entry"], float(np.max(np.abs(g))), + float(np.max(np.abs(h)))) + reconstructed += lower(g) @ lower(h).T + gamma = max(1.0, 2 * float(np.sum(np.abs(h)))) + p = h / gamma + p[0] += 1 + # U(h)=J L(h) J. This is a genuinely invertible source transform. + transform = triangle_plan(source[::-1], p) + result += transform + result += toeplitz_shear(target, source, gamma * lower(g)) + result += inverse(transform) + result += toeplitz_shear(target, source, -gamma * lower(g)) + assert np.max(np.abs(T - reconstructed)) < 1e-9 + return result + + +def full_plan(indices, M): + n = len(indices) + STATS["full_nodes"] += 1 + if n == 1: + return diag(indices, [M[0, 0]]) + m = n // 2 + A, B, C, D = M[:m, :m], M[:m, m:], M[m:, :m], M[m:, m:] + K = np.linalg.solve(A, B) + L = np.linalg.solve(A.T, C.T).T + S = D - C @ K + right = lowdisp_shear(indices[:m], indices[m:], K) + mid = parallel(full_plan(indices[:m], A), full_plan(indices[m:], S)) + left = lowdisp_shear(indices[m:], indices[:m], L) + return right + mid + left + + +def replay(plan, n, track=True): + out = np.eye(n, dtype=complex) + peak = 1.0 + min_det = 1.0 + for layer in plan: + used = set() + for ids, g in layer: + assert not used.intersection(ids), "non-disjoint layer" + used.update(ids) + min_det = min(min_det, float(abs(np.linalg.det(g)))) + out[list(ids), :] = g @ out[list(ids), :] + if track: + peak = max(peak, float(np.linalg.norm(out, 2))) + STATS["min_gate_determinant"] = min(STATS["min_gate_determinant"], min_det) + return out, peak + + +def main(): + rng = np.random.default_rng(20261013) + rows = [] + for n in [2, 4, 8, 16]: + f = rng.normal(size=n) / (12 * n) + f[0] += 1 + p = triangle_plan(list(range(n)), f) + actual, peak = replay(p, n) + rows.append({"kind": "triangular", "n": n, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-lower(f)))), + "peak_prefix_norm_2": peak}) + + c = rng.normal(size=n) / (20 * n) + r = rng.normal(size=n) / (20 * n) + c[0] += 1 + H = toep(c, r) + p = full_plan(list(range(n)), H) + actual, peak = replay(p, n, track=n <= 8) + rows.append({"kind": "full_toeplitz", "n": n, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-H))), + "peak_prefix_norm_2": peak if n <= 8 else None, + "input_distance_from_I_2": float(np.linalg.norm(H-np.eye(n), 2))}) + # Destructive control: dropping the second subtraction computes the wrong map. + # Independent direct parity block algebra across a range of sizes. + identities = [] + for n in [2, 4, 8, 16, 32]: + f = rng.normal(size=n) / n + f[0] += 2 + m = n // 2 + e, o = f[::2], f[1::2] + k = conv(o, invseries(e), m) + s = e - np.r_[0, conv(o, k, m)[:-1]] + E, O, K = lower(e), lower(o), lower(k) + Z = np.eye(m, k=-1) + left = np.block([[np.eye(m), np.zeros((m,m))], [K, np.eye(m)]]) + diagblock = np.block([[E, np.zeros((m,m))], [np.zeros((m,m)), lower(s)]]) + right = np.block([[np.eye(m), Z@K], [np.zeros((m,m)), np.eye(m)]]) + order = list(range(0,n,2)) + list(range(1,n,2)) + exact = lower(f)[np.ix_(order,order)] + identities.append({"n": n, "error": float(np.max(np.abs(left@diagblock@right-exact)))}) + sylvester = [] + for b in [1, 2, 4, 8]: + f = np.array([1.0]) + g = np.array([1.0]) + for j in range(b): + f = np.convolve(f, [1.0, 256.0 ** (j-b+0.5)]) + g = np.convolve(g, [1.0, 256.0 ** (-j-0.5)]) + fp = np.r_[f, np.zeros(3*b+2-len(f))] + fi = invseries(fp) + def hc(k): + return sum(g[v]*fi[k+v] for v in range(b+1) if 0 <= k+v < len(fi)) + K = np.array([[hc(i-b-j) for j in range(b)] for i in range(b)]) + H = np.array([[hc(i-j) for j in range(b)] for i in range(b)]) + S = np.zeros((2*b, 2*b), complex) + for j in range(b): + for k in range(b+1): + if j+k < 2*b: + S[j+k, j] += f[k] + if 0 <= b+j-k < 2*b: + S[b+j-k, b+j] += g[k] + inds = list(range(2*b)) + p = toeplitz_shear(inds[:b], inds[b:], K) + p += full_plan(inds[b:], H) + p += triangle_plan(inds, np.r_[f, np.zeros(2*b-len(f))]) + actual, peak = replay(p, 2*b, track=b <= 4) + sylvester.append({"b": b, "total_wires": 2*b, "rounds": len(p), + "gates": sum(map(len, p)), + "max_error": float(np.max(np.abs(actual-S))), + "H_minus_I_norm_1": float(np.linalg.norm(H-np.eye(b), 1)), + "H_minus_I_norm_infinity": float(np.linalg.norm(H-np.eye(b), np.inf)), + "peak_prefix_norm_2": peak if b <= 4 else None}) + # Removing the compensating dirty subtraction must fail. + b = 4 + gi, hi = np.array([1, .02, .01, .005]), np.array([.1, .04, .02, .01]) + pi = hi.copy() + pi[0] += 1 + target = np.block([[np.eye(b), np.zeros((b,b))], [lower(gi)@lower(hi).T, np.eye(b)]]) + pp = triangle_plan(list(range(b))[::-1], pi) + correct = pp + toeplitz_shear(list(range(b, 2*b)), list(range(b)), lower(gi)) + inverse(pp) + broken_actual, _ = replay(correct, 2*b, track=False) + correct += toeplitz_shear(list(range(b, 2*b)), list(range(b)), -lower(gi)) + correct_actual, _ = replay(correct, 2*b, track=False) + omission = {"correct_error": float(np.max(np.abs(correct_actual-target))), + "omit_second_subtraction_error": float(np.max(np.abs(broken_actual-target)))} + result = {"seed": 20261013, "note": "Floating replay supports, does not replace, algebraic proof.", + "controls": rows, "polyphase_identity": identities, + "normalized_sylvester": sylvester, "omission_control": omission, "stats": STATS} + (ROOT / "CIRCUIT-REPLAY.json").write_text(json.dumps(result, indent=2)+"\n") + print(json.dumps(result, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py new file mode 100644 index 0000000000..4f0180c88f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_exact_algebra.py @@ -0,0 +1,157 @@ +"""Exact rational checks of parity LU and displacement rank closure.""" +from fractions import Fraction as F +from pathlib import Path +import json +import random + + +def zeros(n, m=None): + return [[F(0) for _ in range(n if m is None else m)] for _ in range(n)] + + +def eye(n): + a = zeros(n) + for i in range(n): + a[i][i] = F(1) + return a + + +def mm(a,b): + return [[sum(a[i][k]*b[k][j] for k in range(len(b))) + for j in range(len(b[0]))] for i in range(len(a))] + + +def add(a,b,sgn=1): + return [[x+sgn*y for x,y in zip(r,s)] for r,s in zip(a,b)] + + +def inv(a): + n=len(a) + q=[r[:] + s for r,s in zip(a,eye(n))] + for j in range(n): + k=next(k for k in range(j,n) if q[k][j]) + q[j],q[k]=q[k],q[j] + v=q[j][j] + q[j]=[x/v for x in q[j]] + for i in range(n): + if i!=j: + v=q[i][j] + q[i]=[x-v*y for x,y in zip(q[i],q[j])] + return [r[n:] for r in q] + + +def rank(a): + a=[r[:] for r in a] + k=0 + for j in range(len(a[0])): + p=next((i for i in range(k,len(a)) if a[i][j]),None) + if p is None: + continue + a[k],a[p]=a[p],a[k] + v=a[k][j] + a[k]=[x/v for x in a[k]] + for i in range(k+1,len(a)): + v=a[i][j] + a[i]=[x-v*y for x,y in zip(a[i],a[k])] + k+=1 + if k==len(a): + break + return k + + +def block(a,b,c,d): + return [r+s for r,s in zip(a,b)] + [r+s for r,s in zip(c,d)] + + +def lo(f): + return [[f[i-j] if i>=j else F(0) for j in range(len(f))] + for i in range(len(f))] + + +def shift(n): + a=zeros(n) + for i in range(1,n): + a[i][i-1]=F(1) + return a + + +def displacement(a): + z=shift(len(a)) + return add(mm(z,a),mm(a,z),-1) + + +def series_inv(f): + g=[1/f[0]] + for i in range(1,len(f)): + g.append(-sum(f[j]*g[i-j] for j in range(1,i+1))/f[0]) + return g + + +def conv(a,b,n): + return [sum(a[j]*b[i-j] for j in range(i+1) + if j=j else r[j-i] for j in range(n)] for i in range(n)] + walk(H) + receipt={"status":"pass","arithmetic":"exact rational", + "parity_instances":parity,"schur_nodes":trace} + Path(__file__).with_name('EXACT-ALGEBRA.json').write_text(json.dumps(receipt,indent=2)+'\n') + print(json.dumps({"status":"pass","parity_instances":len(parity), + "parity_entries":sum(x['matrix_entries_checked'] for x in parity), + "schur_nodes":len(trace)},indent=2)) + + +if __name__=='__main__': + main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py new file mode 100644 index 0000000000..65b20b8b68 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/inplace_algebra_ultra/check_supplier_capacity.py @@ -0,0 +1,47 @@ +"""Exact capacity controls in the large-g, gG >> single-axis-ell regime.""" +from pathlib import Path +from fractions import Fraction +import hashlib +import json + + +def main(): + # p itself has one million binary exponent bits. Only short descriptions + # and modest exact powers are needed; no input tensor is materialized. + logp=1_000_000 + eps=Fraction(998,1000) + beta=Fraction(93,1000) + interior=Fraction(907,1000) + d_exp=int(eps*logp) + g_exp=int(beta*logp) + ell_exp=logp-d_exp + g=1<ell + assert reserved<=g//16 + assert (g*K*G).bit_length() 2` is a fixed rational number. There is a single, uniform algorithm, with a fixed finite description, with the following properties. + +* Its recursive block multiplication uses a fixed finite bilinear formula whose coefficients are computable algebraic complex numbers. +* Given two `W` by `W` complex dyadic matrices with component magnitudes at most `2^h`, it computes their product with maximum entrywise absolute error at most `2^{-p}` in + +\[ +O\!\left(W^\tau M(p+h+\log(W+1))\right) +\] + +bit operations. Here `M(t)` is a regular integer multiplication bound: `M(t) >= t`, `M(Ct)=O_C(M(t))` for fixed `C`, and precision doubling sums to `O(M(t))`. All constants can depend on the chosen fixed block formula. +* If the input encoding has `h = O(p)`, this is + +\[ +O\!\left(W^\tau M(p+\log(W+1))\right). +\] + +If also `log W = O(p)`, it is exactly `O(W^tau M(p))`, without a suppressed logarithmic factor. In particular this holds for `W = Theta(sqrt(p))`. + +The strict exponent slack is essential to this statement: an exponent infimum does not by itself supply a finite scheme attaining that infimum. If a source proves `omega_C <= 9/4`, one may take any fixed rational `tau` with `9/4 < tau < 5/2`, for example `tau = 19/8`. + +The proof below also gives an exponent strictly below a specified threshold from only the promise that `omega_C` is below that threshold. It does not give useful numerical constants or an efficient way to discover the block formula. + +## 1. A finite exact bilinear formula exists with exponent slack + +Write `R(b)` for the exact complex tensor rank of `b` by `b` matrix multiplication. Use the usual equivalent definition + +\[ +\omega_{\mathbb C}=\inf_{b\ge2}\log_b R(b). +\] + +Thus some fixed integers `b >= 2` and `r` satisfy + +\[ +R(b)\le r= 2`, `r >= 1` satisfying `r < b^tau`; +2. finite encoded algebraic tuples of the required length; +3. exact tests of all rank equations. + +For rational `tau=a/d`, the first comparison is the integer comparison `r^d < b^a`. The search halts under the stated exponent promise, by Sections 1 and 2. Its output supplies the single fixed block formula. This search may be extremely expensive, but its cost is an absolute constant independent of `W,p,h`, so including it does not change the asymptotic bound. The same result can be phrased by fixing the first successful tuple once and for all. + +For just the promise `omega_C < 5/2`, search using `r^2 < b^5`. Upon success choose a rational `sigma` with + +\[ +\max\{2,\log_b r\}<\sigma<5/2. +\] + +The resulting algorithm has exponent at most `sigma < 5/2`. Thus one need not know a numerical gap in advance to obtain a uniform algorithm below the threshold. A practical certificate or practical constant is a separate issue. + +## 4. Each fixed algebraic coefficient has an ordinary `O(M(q))` precision algorithm + +Every chosen coefficient has a fixed minimal polynomial and a fixed isolating region. In characteristic zero its minimal-polynomial root is simple. Fix a rational starting approximation in a sufficiently small Newton convergence neighborhood. Newton iteration with successively doubled precision computes the root to absolute error `2^{-q}` with `O(M(q))` bit operations. + +The polynomial degree, coefficient heights, root separation, initial precision, and bounds on the derivative and its reciprocal are all fixed constants here. Polynomial evaluation, complex division, and the finite number of operations per Newton step cost `O(M(t))` at precision `t`; the usual precision-doubling sum is `O(M(q))`. This is not a claim uniform in algebraic degree or height. + +There are only finitely many block coefficients. Compute their dyadic approximations once at the precision needed for the current multiplication, and reuse them at all recursive nodes. This costs `O(M(q))` total, with a formula-dependent constant, rather than a logarithmic factor per scalar operation. + +## 5. Recursive arithmetic work + +Pad the matrices with zeros to size `N=b^L`, where `W <= N < bW` (and handle `W=1` directly). At each node, form the fixed `r` input linear combinations, recursively multiply the corresponding submatrices, and form the fixed output linear combinations. + +The arithmetic operation count satisfies + +\[ +T(N)\le rT(N/b)+O(N^2). +\] + +Let `rho=log_b r`. If `rho>2`, this is `O(N^rho)`; if `rho=2`, it is `O(N^2 log N)`; and if `rho<2`, it is `O(N^2)`. Every case is `O(N^tau)` because `rho2`. In particular the possible equality case `r=b^2` creates no extra factor in the advertised bound: its logarithm is absorbed by the fixed exponent slack. + +One could instead tensor a fixed formula a fixed number of times and add a zero product to arrange `b^2 < r < b^tau`, obtaining an exact recursion exponent `rho` strictly between two and `tau`. This refinement is unnecessary for the advertised `O(W^tau)` conclusion. + +## 6. Fixed-point roundoff grows only polynomially in the dimension + +Use fixed-point complex arithmetic with `q` fractional bits, round after scalar products, and use dyadic block coefficients whose absolute errors are at most + +\[ +\epsilon=2^{-q}. +\] + +Complex arithmetic introduces only absolute constant factors. Additions may be done exactly on this fixed grid; allowing an additional absolute error `O(epsilon)` after an addition also satisfies the following bounds. + +For a multiplication node with remaining depth `d`, let `a,beta >= 1` bound the maximum absolute entries of its two inputs. There is a fixed constant `K`, depending only on the block formula, such that the computed result obeys + +\[ +\|\widehat T_d(A,B)-AB\|_{\max} +\le \epsilon E_d a\,\beta, +\qquad +E_d\le K E_{d-1}+K b^{d-1},\quad E_0\le K. +\] + +Here the symbol `b` in `b^{d-1}` is the fixed block dimension; `beta` is the second input bound. + +To verify the recurrence, every local input linear combination has fixed length and fixed coefficients. Its rounded value differs from its exact value by at most `c epsilon a` or `c epsilon beta`, and its size is at most `S a` or `S beta`, for fixed `c,S`. Applying the inductive child bound therefore contributes at most + +\[ +c\epsilon E_{d-1}a\beta. +\] + +Perturbing the two child inputs in their *exact* matrix product contributes at most + +\[ +c\epsilon b^{d-1}a\beta, +\] + +because each entry of that child product sums `b^{d-1}` scalar products. Finally, the output reconstruction has fixed length and fixed coefficients. Propagation through its exact coefficients is a fixed factor; coefficient approximation and reconstruction rounding contribute at most + +\[ +c\epsilon\bigl(b^{d-1}+\epsilon E_{d-1}+1\bigr)a\beta. +\] + +For `epsilon <= 1`, all these terms have the stated recurrence after enlarging `K`. Taking `K >= 2b` gives `E_d <= C K^d` for a fixed `C`. Thus at the root + +\[ +\|\widehat T_L(A,B)-AB\|_{\max} +\le C\,2^{-q}K^L a\beta +=2^{-q}N^{O(1)}a\beta. +\] + +For root input magnitude at most `2^h`, take `a=beta=max(1,2^h)` and choose + +\[ +q=p+2\max(h,0)+\lceil L\log_2K\rceil+O(1). +\] + +The final absolute error is then at most `2^{-p}`. + +There is also no hidden exponential-in-precision magnitude growth. Along a path, each preprocessing step multiplies a magnitude envelope by a fixed `S`. A node at depth `t` therefore receives inputs bounded by `S^t a` and `S^t beta`. Its computed output is bounded by its exact product size plus the proved error: + +\[ +\bigl(b^{L-t}+\epsilon C K^{L-t}\bigr)S^{2t}a\beta. +\] + +Local scalar products and partial sums obey the same bound up to fixed factors. All intermediate magnitudes are consequently `N^{O(1)} max(1,2^{2h})`. Only `O(h+log N)` integer bits are needed. The total working bit width is therefore `O(p+h+log N)`. + +The polynomial error estimate exploits the structure of a bilinear recursion: linear preprocessing, one variable-by-variable scalar product at a leaf, and linear reconstruction. Bounding an arbitrary multiplication by the largest intermediate magnitude at every level would give an unnecessarily pessimistic estimate and is not the argument used here. + +## 7. Bit complexity and scope + +Every scalar operation uses `O(p+h+log W)` bits and costs `O(M(p+h+log W))`. Multiplying by the `O(W^tau)` arithmetic operation count proves the statement. Padding, input conversion, output rounding, and storage of the fixed coefficient approximations fit the same bound. + +The result supplies absolute accuracy. It does not promise small relative error in entries canceled nearly to zero. It applies to arbitrary fixed finite complex bilinear formulas; large fixed coefficient heights or norms worsen only the constants and the fixed multiple of `log W` in the precision requirement. + +An exponent theorem alone therefore suffices for computable, stable approximate multiplication with any fixed strictly larger exponent. It does not justify using the exact infimum exponent without slack, treating a varying family of coefficients as fixed, or claiming a concrete efficient implementation without constructing its constants. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json new file mode 100644 index 0000000000..5a943f0fd6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/MANIFEST.json @@ -0,0 +1,35 @@ +{ + "status": "MATRIX_BOUNDARY_TRANSFER_SIGNED_OFF", + "scope": "Full 9/4 source audit plus effective fixed algebraic rank scheme and approximate p-bit transfer; no final outer ledger promotion.", + "target_exponent": "19/8", + "source_rank_exponent_bound": "9/4", + "poly_W_error_growth": true, + "computable_fixed_selection": true, + "files": [ + { + "name": "PROOF-AND-COVERAGE.md", + "bytes": 12130, + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa" + }, + { + "name": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "bytes": 11743, + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f" + }, + { + "name": "SOURCE-COVERAGE.json", + "bytes": 2839, + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc" + }, + { + "name": "SOURCE-CONSTRUCTIONS.json", + "bytes": 21018, + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917" + }, + { + "name": "check_source_constructions.py", + "bytes": 6388, + "sha256": "9d387098403c0355be8e93158df02bae5a435b2366bd28efdf0b127e470c8c1c" + } + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md new file mode 100644 index 0000000000..1a98011b1f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/PROOF-AND-COVERAGE.md @@ -0,0 +1,91 @@ +# Matrix boundary transfer: full-source audit and interface signoff + +Status: the supplied 9/4 source supports the matrix boundary substitution, with strict exponent slack. This is a theorem-level, computable asymptotic transfer. It is not a numerical finite-size rank certificate and it does not remove any supplier or computational-interface assumptions in the outer integer-multiplication argument. + +The independent reader for this note read all 1,022 lines of +`/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex` +in order, including the full character-existence appendix and all bibliography entries, and also read the README. The companion 2.258 paper is unnecessary for this transfer and is not claimed as read in this new audit. + +## 1. Source coverage + +| Source lines | Material read | Audit result | +|---|---|---| +| 1–36 | Preamble, title, abstract | Establishes complex arithmetic setting. | +| 37–141 | Introduction, theorem and proof route | Explicitly promises an asymptotic exponent, not a competitive finite size. | +| 142–203 | Tensor semiring, rank, characters, detecting lemma | Uses exact rank and mutual restriction. Rank need only be subadditive; no false additivity assumption. | +| 204–235 | Oriented dot-product exponents | Monotonic completely multiplicative functions give power laws; tensor product of the three orientations is square matrix multiplication. | +| 236–269 | Degenerations and interpolation | Fixed degeneration degree is handled before the tensor-power limit. No uniform-in-power degree assumption is made. | +| 270–349 | Finite shared-leg separation | Fourier relation is exact since the phase has absolute size below 5M. Surviving weights equal `(g-h)^2`; the retained auxiliary dot index is distinct from the direct-sum block index. | +| 350–391 | Shared-leg entropy | The factor M cancels correctly before the N-th-root limit. Fixed-frequency counts and continuity cover every probability vector. | +| 392–432 | Polynomial multiplication and symmetrized profile | Rank is exactly a+b−1 by interpolation and output flattening. All six leg permutations are needed for the later middle branch. | +| 433–523 | Determinant filtration and discrete concavity | Fixed input/output bases work for every first-input slice. Multiplication preserves the determinant submodule; the forbidden upper-right block vanishes. The residual lower-left block receives positive weight. | +| 524–604 | Three sectors and shifted tripling | Outer sectors equal C(a,h); the middle is obtained by reversing the first basis and exchanging its second/third legs. This is an identification of an individual block and does not apply incompatible maps to the shared first leg. | +| 605–651 | Diagonal growth | Concavity gives the stated two-increment recurrence; H_a grows at least as a^(1/3). | +| 652–689 | Spectral bound, rank bound, recursion | Detecting characters may depend on d. The conclusion is `nu<=9/4`; selecting a fixed rank scheme requires a strict larger exponent. Rectangular block substitution preserves product order. | +| 690–699 | Algebraic-coefficient remark | The source explicitly allows replacing a complex solution of rational rank equations by a point over Qbar. | +| 700–769 | Appendix: invariant state family and multiplicativity | The fixed-point map is continuous, not asserted affine. Freezing its scalar eigenvalue produces a compact convex invariant subset, permitting finite intersections. | +| 770–905 | Appendix: detecting state existence | Finite rational separation gives an additive catalyst. Reuse keeps one s factor; no tensor cancellation is assumed. Amplification with a second multiplication tensor gives the contradiction to k9/4`. + +If the surrounding proof allows polylog p factors, the bandwidth's polylogs remain polylogs; no positive power of p is introduced by coefficient approximation or error amplification. The algorithm provides absolute accuracy, which is what local residual bounds use. It makes no relative-error promise for nearly canceled output entries. + +The recursion can also be scheduled with sequential tapes. At one fixed-base node, its fixed number of input block combinations and output block sums require a fixed number of complete scans and fixed block permutations of `O(n^2)` records. Store child inputs consecutively, process children depth-first, and stream their returned blocks into accumulators. Copying a pending-child region or repositioning a finite set of tapes costs another `O(n^2)`-record pass at that node, already covered by the recurrence's addition term. Addresses and recursion descriptions add at most logarithmic factors. If any implementation retains an additional `polylog W` factor, choose the rank scheme first with exponent strictly between 9/4 and the stated target tau, leaving enough fixed exponent slack to absorb it. No algebraic unit-cost random-access assumption is needed for the target power tau. + +## 4. Boundary substitution and the outer ledger + +The existing capped boundary algebra uses W simultaneous right-hand sides. A square product costs `O(W^tau M(p))`; dividing by W² processed entries gives `O(W^(tau-2) M(p))` per entry. One axis has `O(V W/B)` boundary entries, and there are d axes. Its total is consequently + +`O(V (d/B) W^(tau-1) [M(p)/p] polylog p)` + +when V is the total bit volume, as in the phase-assembly notes. There are V/Theta(p) scalar entries, so the factor M(p)/p is the per-bit arithmetic charge. Equivalently, if V counts scalar entries instead, the formula has M(p) without the division. The retained quasi-linear short multiplier has M(p)/p=polylog p. + +This retains the essential d/B factor. With `d=p^epsilon`, `B=p^b`, and `W=p^(1/2) polylog p`, its normalized exponent is + +`epsilon-b+(tau-1)/2`. + +Taking `tau=19/8` gives `(tau-1)/2=11/16` and boundary saving `5/16+b-epsilon`. This is already more than enough to put the basic sparse-union cost near the binding row at b near 3/4. Pushing tau down to the unattained endpoint 9/4 is unnecessary. + +The changed matrix algorithm has the same input/output interface as the former Strassen product. It does not change the original Gaussian matrix, boundary support, anchored gauge, square-block inverse choice, or number of right-hand sides. The surrounding local-residual proof must still supply polynomial bounds on local exact inverses and partial right-hand sides. The new product's error is `poly(p)2^-P`, so that proof applies with a fixed larger guard constant. + +The optional full-coordinate-key surcharge in the old arithmetic ledger would become binding if mechanically retained at b near 3/4. It is not part of the actual rectangle extraction/one-field transpose/ordered-merge algorithm, as confirmed by the separate phase-layout audit. Dropping it is a distinct layout fact, not a consequence of matrix multiplication. It must remain explicitly justified in the final outer ledger. All retained supplier assumptions remain in force. + +No final improved outer exponent is claimed in this note; that requires the whole ledger and the independent group-layout/gauge checks. + +## 5. Exact controls run in this audit + +`check_source_constructions.py` uses only Python's exact rational arithmetic and writes `SOURCE-CONSTRUCTIONS.json`: + +* Finite Fourier/separation support for M=1,...,12: the modular relation has no wraparound and zero weight is exactly g=h,u=v. +* Determinant change of basis for a=1,...,8 and b=2,...,8, for every first-input monomial: quotient and kernel diagonal slices are exactly the two claimed neighboring convolution tensors; the upper-right block vanishes. +* Three-sector identity for a,h=1,...,14: all weights are nonnegative and each of the three retained branches is exactly the claimed tensor after its permitted identification. +* Exact rational diagonal product lower bound through a=300. + +All controls passed. They detect several relevant implementation mistakes but are not a finite substitute for the universal arguments above or for the theorem's nonconstructive rank-existence step. + +## 6. Deliberate limitations + +There is no generated competitive finite matrix scheme, no numeric claim about its constants, no use of a rank formula at exponent exactly 9/4, and no fast algorithm for finding the first successful algebraic tuple. The algorithm remains computable and uniform because the finite search halts under the proved existence statement and its cost is independent of the growing input. The outer conclusion remains conditional on exactly the previously retained supplier/computational assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json new file mode 100644 index 0000000000..65880dc95c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json @@ -0,0 +1,1356 @@ +{ + "status": "PASS_EXACT_SOURCE_CONTROLS", + "scope": "Finite controls accompany a full universal proof audit; no rank algorithm synthesized.", + "source": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex", + "source_sha256": "c396f2580a711b8b9e51ecf1265cb0e691acd745943f81bfc14ec0df209e1028", + "source_lines": 1022, + "fourier": [ + { + "M": 1, + "potential_terms": 1, + "fourier_survivors": 1, + "weight_zero_terms": 1 + }, + { + "M": 2, + "potential_terms": 16, + "fourier_survivors": 4, + "weight_zero_terms": 4 + }, + { + "M": 3, + "potential_terms": 81, + "fourier_survivors": 13, + "weight_zero_terms": 9 + }, + { + "M": 4, + "potential_terms": 256, + "fourier_survivors": 28, + "weight_zero_terms": 16 + }, + { + "M": 5, + "potential_terms": 625, + "fourier_survivors": 55, + "weight_zero_terms": 25 + }, + { + "M": 6, + "potential_terms": 1296, + "fourier_survivors": 92, + "weight_zero_terms": 36 + }, + { + "M": 7, + "potential_terms": 2401, + "fourier_survivors": 147, + "weight_zero_terms": 49 + }, + { + "M": 8, + "potential_terms": 4096, + "fourier_survivors": 216, + "weight_zero_terms": 64 + }, + { + "M": 9, + "potential_terms": 6561, + "fourier_survivors": 309, + "weight_zero_terms": 81 + }, + { + "M": 10, + "potential_terms": 10000, + "fourier_survivors": 420, + "weight_zero_terms": 100 + }, + { + "M": 11, + "potential_terms": 14641, + "fourier_survivors": 561, + "weight_zero_terms": 121 + }, + { + "M": 12, + "potential_terms": 20736, + "fourier_survivors": 724, + "weight_zero_terms": 144 + } + ], + "determinant_filtration": [ + { + "a": 1, + "b": 2, + "slices_checked": 1 + }, + { + "a": 1, + "b": 3, + "slices_checked": 1 + }, + { + "a": 1, + "b": 4, + "slices_checked": 1 + }, + { + "a": 1, + "b": 5, + "slices_checked": 1 + }, + { + "a": 1, + "b": 6, + "slices_checked": 1 + }, + { + "a": 1, + "b": 7, + "slices_checked": 1 + }, + { + "a": 1, + "b": 8, + "slices_checked": 1 + }, + { + "a": 2, + "b": 2, + "slices_checked": 2 + }, + { + "a": 2, + "b": 3, + "slices_checked": 2 + }, + { + "a": 2, + "b": 4, + "slices_checked": 2 + }, + { + "a": 2, + "b": 5, + "slices_checked": 2 + }, + { + "a": 2, + "b": 6, + "slices_checked": 2 + }, + { + "a": 2, + "b": 7, + "slices_checked": 2 + }, + { + "a": 2, + "b": 8, + "slices_checked": 2 + }, + { + "a": 3, + "b": 2, + "slices_checked": 3 + }, + { + "a": 3, + "b": 3, + "slices_checked": 3 + }, + { + "a": 3, + "b": 4, + "slices_checked": 3 + }, + { + "a": 3, + "b": 5, + "slices_checked": 3 + }, + { + "a": 3, + "b": 6, + "slices_checked": 3 + }, + { + "a": 3, + "b": 7, + "slices_checked": 3 + }, + { + "a": 3, + "b": 8, + "slices_checked": 3 + }, + { + "a": 4, + "b": 2, + "slices_checked": 4 + }, + { + "a": 4, + "b": 3, + "slices_checked": 4 + }, + { + "a": 4, + "b": 4, + "slices_checked": 4 + }, + { + "a": 4, + "b": 5, + "slices_checked": 4 + }, + { + "a": 4, + "b": 6, + "slices_checked": 4 + }, + { + "a": 4, + "b": 7, + "slices_checked": 4 + }, + { + "a": 4, + "b": 8, + "slices_checked": 4 + }, + { + "a": 5, + "b": 2, + "slices_checked": 5 + }, + { + "a": 5, + "b": 3, + "slices_checked": 5 + }, + { + "a": 5, + "b": 4, + "slices_checked": 5 + }, + { + "a": 5, + "b": 5, + "slices_checked": 5 + }, + { + "a": 5, + "b": 6, + "slices_checked": 5 + }, + { + "a": 5, + "b": 7, + "slices_checked": 5 + }, + { + "a": 5, + "b": 8, + "slices_checked": 5 + }, + { + "a": 6, + "b": 2, + "slices_checked": 6 + }, + { + "a": 6, + "b": 3, + "slices_checked": 6 + }, + { + "a": 6, + "b": 4, + "slices_checked": 6 + }, + { + "a": 6, + "b": 5, + "slices_checked": 6 + }, + { + "a": 6, + "b": 6, + "slices_checked": 6 + }, + { + "a": 6, + "b": 7, + "slices_checked": 6 + }, + { + "a": 6, + "b": 8, + "slices_checked": 6 + }, + { + "a": 7, + "b": 2, + "slices_checked": 7 + }, + { + "a": 7, + "b": 3, + "slices_checked": 7 + }, + { + "a": 7, + "b": 4, + "slices_checked": 7 + }, + { + "a": 7, + "b": 5, + "slices_checked": 7 + }, + { + "a": 7, + "b": 6, + "slices_checked": 7 + }, + { + "a": 7, + "b": 7, + "slices_checked": 7 + }, + { + "a": 7, + "b": 8, + "slices_checked": 7 + }, + { + "a": 8, + "b": 2, + "slices_checked": 8 + }, + { + "a": 8, + "b": 3, + "slices_checked": 8 + }, + { + "a": 8, + "b": 4, + "slices_checked": 8 + }, + { + "a": 8, + "b": 5, + "slices_checked": 8 + }, + { + "a": 8, + "b": 6, + "slices_checked": 8 + }, + { + "a": 8, + "b": 7, + "slices_checked": 8 + }, + { + "a": 8, + "b": 8, + "slices_checked": 8 + } + ], + "tripling": [ + { + "a": 1, + "h": 1, + "terms_in_each_branch": 1 + }, + { + "a": 1, + "h": 2, + "terms_in_each_branch": 2 + }, + { + "a": 1, + "h": 3, + "terms_in_each_branch": 3 + }, + { + "a": 1, + "h": 4, + "terms_in_each_branch": 4 + }, + { + "a": 1, + "h": 5, + "terms_in_each_branch": 5 + }, + { + "a": 1, + "h": 6, + "terms_in_each_branch": 6 + }, + { + "a": 1, + "h": 7, + "terms_in_each_branch": 7 + }, + { + "a": 1, + "h": 8, + "terms_in_each_branch": 8 + }, + { + "a": 1, + "h": 9, + "terms_in_each_branch": 9 + }, + { + "a": 1, + "h": 10, + "terms_in_each_branch": 10 + }, + { + "a": 1, + "h": 11, + "terms_in_each_branch": 11 + }, + { + "a": 1, + "h": 12, + "terms_in_each_branch": 12 + }, + { + "a": 1, + "h": 13, + "terms_in_each_branch": 13 + }, + { + "a": 1, + "h": 14, + "terms_in_each_branch": 14 + }, + { + "a": 2, + "h": 1, + "terms_in_each_branch": 2 + }, + { + "a": 2, + "h": 2, + "terms_in_each_branch": 4 + }, + { + "a": 2, + "h": 3, + "terms_in_each_branch": 6 + }, + { + "a": 2, + "h": 4, + "terms_in_each_branch": 8 + }, + { + "a": 2, + "h": 5, + "terms_in_each_branch": 10 + }, + { + "a": 2, + "h": 6, + "terms_in_each_branch": 12 + }, + { + "a": 2, + "h": 7, + "terms_in_each_branch": 14 + }, + { + "a": 2, + "h": 8, + "terms_in_each_branch": 16 + }, + { + "a": 2, + "h": 9, + "terms_in_each_branch": 18 + }, + { + "a": 2, + "h": 10, + "terms_in_each_branch": 20 + }, + { + "a": 2, + "h": 11, + "terms_in_each_branch": 22 + }, + { + "a": 2, + "h": 12, + "terms_in_each_branch": 24 + }, + { + "a": 2, + "h": 13, + "terms_in_each_branch": 26 + }, + { + "a": 2, + "h": 14, + "terms_in_each_branch": 28 + }, + { + "a": 3, + "h": 1, + "terms_in_each_branch": 3 + }, + { + "a": 3, + "h": 2, + "terms_in_each_branch": 6 + }, + { + "a": 3, + "h": 3, + "terms_in_each_branch": 9 + }, + { + "a": 3, + "h": 4, + "terms_in_each_branch": 12 + }, + { + "a": 3, + "h": 5, + "terms_in_each_branch": 15 + }, + { + "a": 3, + "h": 6, + "terms_in_each_branch": 18 + }, + { + "a": 3, + "h": 7, + "terms_in_each_branch": 21 + }, + { + "a": 3, + "h": 8, + "terms_in_each_branch": 24 + }, + { + "a": 3, + "h": 9, + "terms_in_each_branch": 27 + }, + { + "a": 3, + "h": 10, + "terms_in_each_branch": 30 + }, + { + "a": 3, + "h": 11, + "terms_in_each_branch": 33 + }, + { + "a": 3, + "h": 12, + "terms_in_each_branch": 36 + }, + { + "a": 3, + "h": 13, + "terms_in_each_branch": 39 + }, + { + "a": 3, + "h": 14, + "terms_in_each_branch": 42 + }, + { + "a": 4, + "h": 1, + "terms_in_each_branch": 4 + }, + { + "a": 4, + "h": 2, + "terms_in_each_branch": 8 + }, + { + "a": 4, + "h": 3, + "terms_in_each_branch": 12 + }, + { + "a": 4, + "h": 4, + "terms_in_each_branch": 16 + }, + { + "a": 4, + "h": 5, + "terms_in_each_branch": 20 + }, + { + "a": 4, + "h": 6, + "terms_in_each_branch": 24 + }, + { + "a": 4, + "h": 7, + "terms_in_each_branch": 28 + }, + { + "a": 4, + "h": 8, + "terms_in_each_branch": 32 + }, + { + "a": 4, + "h": 9, + "terms_in_each_branch": 36 + }, + { + "a": 4, + "h": 10, + "terms_in_each_branch": 40 + }, + { + "a": 4, + "h": 11, + "terms_in_each_branch": 44 + }, + { + "a": 4, + "h": 12, + "terms_in_each_branch": 48 + }, + { + "a": 4, + "h": 13, + "terms_in_each_branch": 52 + }, + { + "a": 4, + "h": 14, + "terms_in_each_branch": 56 + }, + { + "a": 5, + "h": 1, + "terms_in_each_branch": 5 + }, + { + "a": 5, + "h": 2, + "terms_in_each_branch": 10 + }, + { + "a": 5, + "h": 3, + "terms_in_each_branch": 15 + }, + { + "a": 5, + "h": 4, + "terms_in_each_branch": 20 + }, + { + "a": 5, + "h": 5, + "terms_in_each_branch": 25 + }, + { + "a": 5, + "h": 6, + "terms_in_each_branch": 30 + }, + { + "a": 5, + "h": 7, + "terms_in_each_branch": 35 + }, + { + "a": 5, + "h": 8, + "terms_in_each_branch": 40 + }, + { + "a": 5, + "h": 9, + "terms_in_each_branch": 45 + }, + { + "a": 5, + "h": 10, + "terms_in_each_branch": 50 + }, + { + "a": 5, + "h": 11, + "terms_in_each_branch": 55 + }, + { + "a": 5, + "h": 12, + "terms_in_each_branch": 60 + }, + { + "a": 5, + "h": 13, + "terms_in_each_branch": 65 + }, + { + "a": 5, + "h": 14, + "terms_in_each_branch": 70 + }, + { + "a": 6, + "h": 1, + "terms_in_each_branch": 6 + }, + { + "a": 6, + "h": 2, + "terms_in_each_branch": 12 + }, + { + "a": 6, + "h": 3, + "terms_in_each_branch": 18 + }, + { + "a": 6, + "h": 4, + "terms_in_each_branch": 24 + }, + { + "a": 6, + "h": 5, + "terms_in_each_branch": 30 + }, + { + "a": 6, + "h": 6, + "terms_in_each_branch": 36 + }, + { + "a": 6, + "h": 7, + "terms_in_each_branch": 42 + }, + { + "a": 6, + "h": 8, + "terms_in_each_branch": 48 + }, + { + "a": 6, + "h": 9, + "terms_in_each_branch": 54 + }, + { + "a": 6, + "h": 10, + "terms_in_each_branch": 60 + }, + { + "a": 6, + "h": 11, + "terms_in_each_branch": 66 + }, + { + "a": 6, + "h": 12, + "terms_in_each_branch": 72 + }, + { + "a": 6, + "h": 13, + "terms_in_each_branch": 78 + }, + { + "a": 6, + "h": 14, + "terms_in_each_branch": 84 + }, + { + "a": 7, + "h": 1, + "terms_in_each_branch": 7 + }, + { + "a": 7, + "h": 2, + "terms_in_each_branch": 14 + }, + { + "a": 7, + "h": 3, + "terms_in_each_branch": 21 + }, + { + "a": 7, + "h": 4, + "terms_in_each_branch": 28 + }, + { + "a": 7, + "h": 5, + "terms_in_each_branch": 35 + }, + { + "a": 7, + "h": 6, + "terms_in_each_branch": 42 + }, + { + "a": 7, + "h": 7, + "terms_in_each_branch": 49 + }, + { + "a": 7, + "h": 8, + "terms_in_each_branch": 56 + }, + { + "a": 7, + "h": 9, + "terms_in_each_branch": 63 + }, + { + "a": 7, + "h": 10, + "terms_in_each_branch": 70 + }, + { + "a": 7, + "h": 11, + "terms_in_each_branch": 77 + }, + { + "a": 7, + "h": 12, + "terms_in_each_branch": 84 + }, + { + "a": 7, + "h": 13, + "terms_in_each_branch": 91 + }, + { + "a": 7, + "h": 14, + "terms_in_each_branch": 98 + }, + { + "a": 8, + "h": 1, + "terms_in_each_branch": 8 + }, + { + "a": 8, + "h": 2, + "terms_in_each_branch": 16 + }, + { + "a": 8, + "h": 3, + "terms_in_each_branch": 24 + }, + { + "a": 8, + "h": 4, + "terms_in_each_branch": 32 + }, + { + "a": 8, + "h": 5, + "terms_in_each_branch": 40 + }, + { + "a": 8, + "h": 6, + "terms_in_each_branch": 48 + }, + { + "a": 8, + "h": 7, + "terms_in_each_branch": 56 + }, + { + "a": 8, + "h": 8, + "terms_in_each_branch": 64 + }, + { + "a": 8, + "h": 9, + "terms_in_each_branch": 72 + }, + { + "a": 8, + "h": 10, + "terms_in_each_branch": 80 + }, + { + "a": 8, + "h": 11, + "terms_in_each_branch": 88 + }, + { + "a": 8, + "h": 12, + "terms_in_each_branch": 96 + }, + { + "a": 8, + "h": 13, + "terms_in_each_branch": 104 + }, + { + "a": 8, + "h": 14, + "terms_in_each_branch": 112 + }, + { + "a": 9, + "h": 1, + "terms_in_each_branch": 9 + }, + { + "a": 9, + "h": 2, + "terms_in_each_branch": 18 + }, + { + "a": 9, + "h": 3, + "terms_in_each_branch": 27 + }, + { + "a": 9, + "h": 4, + "terms_in_each_branch": 36 + }, + { + "a": 9, + "h": 5, + "terms_in_each_branch": 45 + }, + { + "a": 9, + "h": 6, + "terms_in_each_branch": 54 + }, + { + "a": 9, + "h": 7, + "terms_in_each_branch": 63 + }, + { + "a": 9, + "h": 8, + "terms_in_each_branch": 72 + }, + { + "a": 9, + "h": 9, + "terms_in_each_branch": 81 + }, + { + "a": 9, + "h": 10, + "terms_in_each_branch": 90 + }, + { + "a": 9, + "h": 11, + "terms_in_each_branch": 99 + }, + { + "a": 9, + "h": 12, + "terms_in_each_branch": 108 + }, + { + "a": 9, + "h": 13, + "terms_in_each_branch": 117 + }, + { + "a": 9, + "h": 14, + "terms_in_each_branch": 126 + }, + { + "a": 10, + "h": 1, + "terms_in_each_branch": 10 + }, + { + "a": 10, + "h": 2, + "terms_in_each_branch": 20 + }, + { + "a": 10, + "h": 3, + "terms_in_each_branch": 30 + }, + { + "a": 10, + "h": 4, + "terms_in_each_branch": 40 + }, + { + "a": 10, + "h": 5, + "terms_in_each_branch": 50 + }, + { + "a": 10, + "h": 6, + "terms_in_each_branch": 60 + }, + { + "a": 10, + "h": 7, + "terms_in_each_branch": 70 + }, + { + "a": 10, + "h": 8, + "terms_in_each_branch": 80 + }, + { + "a": 10, + "h": 9, + "terms_in_each_branch": 90 + }, + { + "a": 10, + "h": 10, + "terms_in_each_branch": 100 + }, + { + "a": 10, + "h": 11, + "terms_in_each_branch": 110 + }, + { + "a": 10, + "h": 12, + "terms_in_each_branch": 120 + }, + { + "a": 10, + "h": 13, + "terms_in_each_branch": 130 + }, + { + "a": 10, + "h": 14, + "terms_in_each_branch": 140 + }, + { + "a": 11, + "h": 1, + "terms_in_each_branch": 11 + }, + { + "a": 11, + "h": 2, + "terms_in_each_branch": 22 + }, + { + "a": 11, + "h": 3, + "terms_in_each_branch": 33 + }, + { + "a": 11, + "h": 4, + "terms_in_each_branch": 44 + }, + { + "a": 11, + "h": 5, + "terms_in_each_branch": 55 + }, + { + "a": 11, + "h": 6, + "terms_in_each_branch": 66 + }, + { + "a": 11, + "h": 7, + "terms_in_each_branch": 77 + }, + { + "a": 11, + "h": 8, + "terms_in_each_branch": 88 + }, + { + "a": 11, + "h": 9, + "terms_in_each_branch": 99 + }, + { + "a": 11, + "h": 10, + "terms_in_each_branch": 110 + }, + { + "a": 11, + "h": 11, + "terms_in_each_branch": 121 + }, + { + "a": 11, + "h": 12, + "terms_in_each_branch": 132 + }, + { + "a": 11, + "h": 13, + "terms_in_each_branch": 143 + }, + { + "a": 11, + "h": 14, + "terms_in_each_branch": 154 + }, + { + "a": 12, + "h": 1, + "terms_in_each_branch": 12 + }, + { + "a": 12, + "h": 2, + "terms_in_each_branch": 24 + }, + { + "a": 12, + "h": 3, + "terms_in_each_branch": 36 + }, + { + "a": 12, + "h": 4, + "terms_in_each_branch": 48 + }, + { + "a": 12, + "h": 5, + "terms_in_each_branch": 60 + }, + { + "a": 12, + "h": 6, + "terms_in_each_branch": 72 + }, + { + "a": 12, + "h": 7, + "terms_in_each_branch": 84 + }, + { + "a": 12, + "h": 8, + "terms_in_each_branch": 96 + }, + { + "a": 12, + "h": 9, + "terms_in_each_branch": 108 + }, + { + "a": 12, + "h": 10, + "terms_in_each_branch": 120 + }, + { + "a": 12, + "h": 11, + "terms_in_each_branch": 132 + }, + { + "a": 12, + "h": 12, + "terms_in_each_branch": 144 + }, + { + "a": 12, + "h": 13, + "terms_in_each_branch": 156 + }, + { + "a": 12, + "h": 14, + "terms_in_each_branch": 168 + }, + { + "a": 13, + "h": 1, + "terms_in_each_branch": 13 + }, + { + "a": 13, + "h": 2, + "terms_in_each_branch": 26 + }, + { + "a": 13, + "h": 3, + "terms_in_each_branch": 39 + }, + { + "a": 13, + "h": 4, + "terms_in_each_branch": 52 + }, + { + "a": 13, + "h": 5, + "terms_in_each_branch": 65 + }, + { + "a": 13, + "h": 6, + "terms_in_each_branch": 78 + }, + { + "a": 13, + "h": 7, + "terms_in_each_branch": 91 + }, + { + "a": 13, + "h": 8, + "terms_in_each_branch": 104 + }, + { + "a": 13, + "h": 9, + "terms_in_each_branch": 117 + }, + { + "a": 13, + "h": 10, + "terms_in_each_branch": 130 + }, + { + "a": 13, + "h": 11, + "terms_in_each_branch": 143 + }, + { + "a": 13, + "h": 12, + "terms_in_each_branch": 156 + }, + { + "a": 13, + "h": 13, + "terms_in_each_branch": 169 + }, + { + "a": 13, + "h": 14, + "terms_in_each_branch": 182 + }, + { + "a": 14, + "h": 1, + "terms_in_each_branch": 14 + }, + { + "a": 14, + "h": 2, + "terms_in_each_branch": 28 + }, + { + "a": 14, + "h": 3, + "terms_in_each_branch": 42 + }, + { + "a": 14, + "h": 4, + "terms_in_each_branch": 56 + }, + { + "a": 14, + "h": 5, + "terms_in_each_branch": 70 + }, + { + "a": 14, + "h": 6, + "terms_in_each_branch": 84 + }, + { + "a": 14, + "h": 7, + "terms_in_each_branch": 98 + }, + { + "a": 14, + "h": 8, + "terms_in_each_branch": 112 + }, + { + "a": 14, + "h": 9, + "terms_in_each_branch": 126 + }, + { + "a": 14, + "h": 10, + "terms_in_each_branch": 140 + }, + { + "a": 14, + "h": 11, + "terms_in_each_branch": 154 + }, + { + "a": 14, + "h": 12, + "terms_in_each_branch": 168 + }, + { + "a": 14, + "h": 13, + "terms_in_each_branch": 182 + }, + { + "a": 14, + "h": 14, + "terms_in_each_branch": 196 + } + ], + "growth": { + "maximum_a": 300, + "exact_product_inequalities": "PASS" + }, + "negative_controls": { + "drop_fourier_phase": "reject: weights need not be nonnegative, e.g. M=2,h=2,g=1,u=1,v=2 has weight -5", + "keep_only_one_outer_branch": "reject: factor 3 requires both outer branches and the leg-swapped middle branch", + "arbitrary_arithmetic_circuit": "reject: stability proof requires recursive bilinear structure; unbounded sequential multiplication does not follow", + "endpoint_exponent_9/4": "reject: rank infimum only supplies fixed algorithms strictly above 9/4", + "arbitrary_complex_constants": "reject: computability requires algebraic-point replacement or explicit computable coefficients" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json new file mode 100644 index 0000000000..c6275bc1cb --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/SOURCE-COVERAGE.json @@ -0,0 +1,114 @@ +{ + "status": "FULL_SOURCE_READ_AND_AUDITED", + "source": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex", + "sha256": "c396f2580a711b8b9e51ecf1265cb0e691acd745943f81bfc14ec0df209e1028", + "line_count": 1022, + "coverage": [ + { + "first_line": 1, + "last_line": 36, + "topic": "preamble and abstract", + "read": true + }, + { + "first_line": 37, + "last_line": 141, + "topic": "introduction and theorem", + "read": true + }, + { + "first_line": 142, + "last_line": 203, + "topic": "tensor semiring and rank", + "read": true + }, + { + "first_line": 204, + "last_line": 235, + "topic": "dot exponents", + "read": true + }, + { + "first_line": 236, + "last_line": 269, + "topic": "interpolation", + "read": true + }, + { + "first_line": 270, + "last_line": 349, + "topic": "finite shared-leg separation", + "read": true + }, + { + "first_line": 350, + "last_line": 391, + "topic": "entropy", + "read": true + }, + { + "first_line": 392, + "last_line": 432, + "topic": "polynomial profile", + "read": true + }, + { + "first_line": 433, + "last_line": 523, + "topic": "determinant filtration", + "read": true + }, + { + "first_line": 524, + "last_line": 604, + "topic": "tripling", + "read": true + }, + { + "first_line": 605, + "last_line": 651, + "topic": "diagonal growth", + "read": true + }, + { + "first_line": 652, + "last_line": 689, + "topic": "rank and arithmetic conclusion", + "read": true + }, + { + "first_line": 690, + "last_line": 699, + "topic": "algebraic coefficients", + "read": true + }, + { + "first_line": 700, + "last_line": 769, + "topic": "multiplicativity appendix", + "read": true + }, + { + "first_line": 770, + "last_line": 905, + "topic": "detecting-state existence appendix", + "read": true + }, + { + "first_line": 906, + "last_line": 1022, + "topic": "bibliography and ending", + "read": true + } + ], + "readme": { + "path": "/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/README.md", + "sha256": "1857fc06d04a43588207ba2f726679c50a418299a5fd0313423a354680a783a7", + "read": true + }, + "companion_2_258_claimed_read": false, + "companion_required": false, + "proof_dependencies": "The required new interpolation, determinant, entropy, growth and spectral detection arguments are contained in this source. Standard background dependencies are listed in PROOF-AND-COVERAGE.md.", + "finite_rank_scheme_generated": false, + "outer_improvement_claimed_by_this_audit": false +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py new file mode 100644 index 0000000000..c8e362e90d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/matrix_boundary_ultra/check_source_constructions.py @@ -0,0 +1,164 @@ +#!/usr/bin/env python3 +"""Exact finite controls for the constructions in the supplied 9/4 paper. + +These checks are controls for an end-to-end human proof audit, not substitutes +for the universal proofs or an executable fast matrix multiplication scheme. +""" +from fractions import Fraction as Q +from pathlib import Path +import hashlib +import json + +ROOT = Path(__file__).resolve().parent +SOURCE = Path('/Users/vlado/Downloads/math-main/preprints/Matrix-Multiplication-Nine-Fourths-October-2-2026/build/paper.tex') + +def inverse(a): + n = len(a) + t = [[Q(v) for v in row] + [Q(i == j) for j in range(n)] + for i, row in enumerate(a)] + for j in range(n): + p = next(i for i in range(j, n) if t[i][j]) + t[j], t[p] = t[p], t[j] + z = t[j][j] + t[j] = [v/z for v in t[j]] + for i in range(n): + if i != j: + z = t[i][j] + t[i] = [v-z*w for v,w in zip(t[i],t[j])] + return [row[n:] for row in t] + +def mm(a,b): + return [[sum(x*y for x,y in zip(row,col)) for col in zip(*b)] + for row in a] + +def basis(e): + # Ambient coordinates: u^(e-i)v^i s, then u^(e-i)v^i w. + n = 2*(e+1) + cols = [] + for i in range(e+1): + v = [Q(0)]*n + v[i] = 1 + cols.append(v) + v = [Q(0)]*n + v[-1] = 1 + cols.append(v) + for j in range(e): + v = [Q(0)]*n + v[j+1] = -1 + v[e+1+j] = 1 + cols.append(v) + return [list(row) for row in zip(*cols)] + +def check_determinant(): + cases = [] + for a in range(1,9): + for b in range(2,9): + ei, eo = b-1, a+b-2 + bi, bo = basis(ei), basis(eo) + inv = inverse(bo) + for k in range(a): + mult = [[Q(0)]*(2*b) for _ in range(2*(a+b-1))] + for side in range(2): + for i in range(b): + mult[side*(a+b-1)+i+k][side*b+i] = 1 + t = mm(inv,mm(mult,bi)) + qo, qi = a+b, b+1 + for i,row in enumerate(t): + for j,val in enumerate(row): + if i < qo and j < qi: + assert val == Q(i == j+k) + elif i < qo and j >= qi: + assert val == 0 + elif i >= qo and j >= qi: + assert val == Q(i-qo == j-qi+k) + # Only the lower-left block may remain, with weight +1. + cases.append({'a':a,'b':b,'slices_checked':a}) + return cases + +def check_fourier(): + cases = [] + for m in range(1,13): + terms = surviving = zeros = 0 + for h in range(1,m+1): + for g in range(1,m+1): + for u in range(1,m+1): + for v in range(1,m+1): + terms += 1 + phase = u-v+2*(g-h) + assert abs(phase) < 5*m + if phase % (5*m) == 0: + surviving += 1 + assert phase == 0 + weight = g*g+h*u-h*h-h*v + assert weight == (g-h)**2 >= 0 + if weight == 0: + zeros += 1 + assert g == h and u == v + assert zeros == m*m + cases.append({'M':m,'potential_terms':terms, + 'fourier_survivors':surviving,'weight_zero_terms':zeros}) + return cases + +def check_tripling(): + cases = [] + for a in range(1,15): + for h in range(1,15): + B=3*h+a-1 + sectors=[set(),set(),set()] + for x in range(a): + for y in range(B): + z=x+y + sy=0 if y= 0 + if weight==0: + assert sy==sz + if sy==0: + t=(x,y,z) + elif sy==2: + t=(x,y-(2*h+a-1),z-(2*h+a-1)) + else: + # Swap second/third legs; reverse first-leg basis. + t=(a-1-x,z-(h+a-1),y-h) + assert t[2]==t[0]+t[1] + sectors[sy].add(t) + expected={(x,y,x+y) for x in range(a) for y in range(h)} + assert all(s==expected for s in sectors) + cases.append({'a':a,'h':h,'terms_in_each_branch':a*h}) + return cases + +def check_growth(): + h=Q(1) + for a in range(1,301): + if a>1: h *= 1+Q(1,3*(a-1)) + assert h**3 >= a + assert Q(3*a-1,2) >= a + return {'maximum_a':300,'exact_product_inequalities':'PASS'} + +if __name__ == '__main__': + raw=SOURCE.read_bytes() + result={ + 'status':'PASS_EXACT_SOURCE_CONTROLS', + 'scope':'Finite controls accompany a full universal proof audit; no rank algorithm synthesized.', + 'source':str(SOURCE), + 'source_sha256':hashlib.sha256(raw).hexdigest(), + 'source_lines':len(raw.splitlines()), + 'fourier':check_fourier(), + 'determinant_filtration':check_determinant(), + 'tripling':check_tripling(), + 'growth':check_growth(), + 'negative_controls':{ + 'drop_fourier_phase': 'reject: weights need not be nonnegative, e.g. M=2,h=2,g=1,u=1,v=2 has weight -5', + 'keep_only_one_outer_branch':'reject: factor 3 requires both outer branches and the leg-swapped middle branch', + 'arbitrary_arithmetic_circuit':'reject: stability proof requires recursive bilinear structure; unbounded sequential multiplication does not follow', + 'endpoint_exponent_9/4':'reject: rank infimum only supplies fixed algorithms strictly above 9/4', + 'arbitrary_complex_constants':'reject: computability requires algebraic-point replacement or explicit computable coefficients', + }, + } + (ROOT/'SOURCE-CONSTRUCTIONS.json').write_text(json.dumps(result,indent=2)+'\n') + print(result['status']) + print('source lines',result['source_lines']) + print('fourier M cases',len(result['fourier'])) + print('determinant cases',len(result['determinant_filtration'])) + print('tripling cases',len(result['tripling'])) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md new file mode 100644 index 0000000000..62c3fa27b6 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-INTERIORS.md @@ -0,0 +1,72 @@ +# Conditional refinement: cap interior length independently of d + +This is a separate follow-up to the uncapped proof audit. Its current status is **PASS_CONDITIONAL_PHASE_FUSION_REVIEW**, following the independent capped-gauge and capped-layout audits and an integrated root review. It preserves the weaker `OUTER-ARITHMETIC.json` as history. Under the retained supplier assumptions and the reviewed interfaces, the capped construction below gives `kappa=0.001672922349588871`. The only new analytic change is the anchored O(aB) local gauge; all altered operation counts are derived explicitly here. No upstream selected certificate is changed. + +Let the original phase-cell scale remain `d=p^epsilon`, and cap dyadic interior lengths at `B=2^floor(b log2 p)`, where `1/20. The supplier support proof needs each individual K-neighborhood to fit its original axis and total moved support o(p); it does **not** require all g controls to fit within one original axis. The sufficient auxiliary inequality `beta<1-epsilon` in the uncapped ledger must therefore be removed in this follow-up. + +The changed principal exponents, normalized by V, are + +| Component | exponent | +|---|---:| +| main transform | `1-epsilon*q` | +| fused Gaussian circuits | `epsilon-q*beta` | +| boundary algebra | `epsilon-b+(omega-1)/2` | +| sparse union movement | `epsilon+beta+1/2-b` | +| grouped scans | `epsilon-beta` | + +For the boundary row, one axis has O(V W/B) boundary records. A band solve or coupling product on W simultaneous right-hand sides costs O(W^(omega-2)) per boundary record, so all d axes cost `O(V (d/B) W^(omega-1) polylog p)`. The new factor d/B must not be omitted. For the sparse union, its fraction within a group is O(gW/B polylog p); g sequential axis operations and d/g groups give `O(V (dg/B) W polylog p)`. These are precisely the third and fourth changed rows. + +All other costs in `OUTER-AUDIT.md` remain paid. Global routing has saving a_eff; packed polynomial products have saving epsilon. Even a conservative full active-group key surcharge adds only `beta+1-epsilon` to the union exponent. Sparse core-face corrections have exponent at most `epsilon+beta-3`, using the former p² per-record allowance on their O(gA/L) copied volume. + +With the rational bound omega<45/16, put c=(3-omega_upper)/2=3/32 and take a positive boundary slack s_boundary=10^-5. Balancing the two dominant rows while leaving that boundary slack gives + +``` +epsilon=(1+q+q*(c-s_boundary-r-zeta))/(1+q)^2, +b=epsilon*(1+q)-c+s_boundary, +beta=1-b-r-zeta, +kappa_limit=epsilon*q. +``` + +Using the same q, r and zeta as the uncapped candidate yields approximately + +``` +epsilon = 0.9984838711085557536432677624420451614... +b = 0.9064167934681446247757331487619919695... +beta = 0.0935821965318553752242668512380080305... +kappa_limit = 0.0016729223595888711324653863199468081... +kappa = 0.001672922349588871 +``` + +The boundary saving equals `kappa_limit+10^-5`. The union movement exponent is below 0.686, and even its optional full-key surcharge leaves it below 0.781. The per-record phase metadata exponent `beta+2(1-epsilon)` is below 0.097, so calculating all g membership predicates remains cheaper than scanning one p-bit record. Core-face repair costs remain negligible at L=p^8. + +The common compiled H calls are still made globally across complete coarse-label ranges. Each selected bit needs only its own K=128G neighborhood to fit its original axis. Since `1-epsilon>0`, this holds eventually even though gK is larger than one axis width. The total support is O(g polylog p)=o(p), because beta<1. All support-router reservoirs, product row stock and exact endpoint restoration are those of the independently audited supplier. + +At the displayed parameters, `b>1/2`, `epsilon>b`, `beta>0`, `epsilon>beta`, `1-b-r-beta=zeta>0`, and `1-epsilon-r>0`. These respectively pay the wide-band separation, cap below original cell scale, growing group payload, number of groups, compiled local-gauge precision, and global gamma/rounding range. The raw global rounded weights may still have O(ad) logarithmic range during offline generation. The **data** only sees exact anchored ratios of range O(aB); approximating those ratios to the retained precision introduces `exp(o(p))` error amplification, already paid by the strict group guard. + +The assembled group endpoints are the same full normalized Haug inverse or Saug/4 operators as in the uncapped proof. Changing the interior partition changes only their factorization. It does not change their completed contraction bounds, intended zero-hole semantics, principal-core locality, or the final `2^D` scale compensation. Consequently the uncapped precision and error argument applies with the improved group gauge budget. + +`check_capped_outer.py` computes 44 exact positive slacks, every displayed cost margin, and five rejecting controls. The full-cell-gauge control is especially relevant: it fails, so the stronger result depends on the independently reviewed anchored-gauge proof. The local review retains the original supplier and all-size conditional assumptions. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..56c871f4f3 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json @@ -0,0 +1,388 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "scope": "Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.", + "review": { + "integrated_review": "Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.", + "independent_cap_gauge": "CAPPED-GAUGE-AUDIT.md", + "independent_cap_layout": "CAPPED-SIGNOFF.md", + "supplier_support": "SUPPLIER-SUPPORT-AUDIT.md" + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_boundary": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "capped_block_power": { + "rational": "3631741843538363603786961767383/4006701850307232414091700000000", + "decimal": "0.90641679346814462477573314876199196952827856807257517068829472760" + }, + "beta_group": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "c_boundary": { + "rational": "3/32", + "decimal": "0.09375" + }, + "kappa": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "268565262942277133237794921812759660918434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223595888711324653863199468081193809860282087059757458669773" + }, + "group_bit_router": { + "rational": "268565263693445502595657234197195111684434199796211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016729223642679809590581550811601506812813875517947775721171084429" + }, + "group_scans": { + "rational": "152667615602647020756995267555861382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.095098325423299621580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra": { + "rational": "270170628914002673224188597080315522300507800685211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.0016829223595888711324653863199468081193809860282087059757458669773" + }, + "sparse_union_movement": { + "rational": "50464795843106818372778537326217184169040543916310211/160536597172553998639367526755586138207360088900000000", + "decimal": "0.31435072582773349590819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key": { + "rational": "878478998384747396741111767383/4006701850307232414091700000000", + "decimal": "0.21925240040443387432719944628597590858483570421772551206488418280" + }, + "polynomial_products": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections": { + "rational": "4668298183036122054984246889917045528294403556/1605365971725539986393675267555861382073600889", + "decimal": "2.9079339323595888711324653863199468081193809860282087059757458670" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "1602932029994465428113567090153200000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.99848387110855575364326776244204516140889758204436646471254886062" + }, + "epsilon_below_one": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "capped_block_above_band": { + "rational": "1628390918384747396741111767383/4006701850307232414091700000000", + "decimal": "0.40641679346814462477573314876199196952827856807257517068829472760" + }, + "capped_block_below_cell": { + "rational": "14780135356012934699216517036255884934639500533689789/160536597172553998639367526755586138207360088900000000", + "decimal": "0.092067077640411128867534613680053191880619013971791294024254133023" + }, + "group_positive": { + "rational": "3749559600000000000000/40067018503072324140917", + "decimal": "0.093582196531855375224266851238008030471721431927424829311705272400" + }, + "group_below_dimension": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "support_router_span": { + "rational": "36317458903072324140917/40067018503072324140917", + "decimal": "0.90641780346814462477573314876199196952827856807257517068829472760" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "2432336365102832740121783727393826212218815399111/1605365971725539986393675267555861382073600889000000", + "decimal": "0.0015151288914442463567322375579548385911024179556335352874511393772" + }, + "actual_logarithmic_gamma_guard": { + "rational": "2433941731074558280108177402661382073600889/1605365971725539986393675267555861382073600889", + "decimal": "0.0015161288914442463567322375579548385911024179556335352874511393772" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "1452698356122892965636680000000000000000000000/1605365971725539986393675267555861382073600889", + "decimal": "0.90490167457670037841900091120403713093717615011694163540084358822" + }, + "membership_arithmetic_fits_record": { + "rational": "1450264414391818407356571822597338617926399111/1605365971725539986393675267555861382073600889", + "decimal": "0.90338554568525613206226867364608229234607373216130810011339244885" + }, + "microbox_halo_volume": { + "rational": "196585532915361620704585/40067018503072324140917", + "decimal": "4.9064178034681446247757331487619919695282785680725751706882947276" + }, + "boundary_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "short_record_fallback": { + "rational": "64009691972259592449574424556617076733497945671686139566638347524787/64214638869021599455747010702234455282944035560000000000000000000000", + "decimal": "0.99680840848174765012034276244204516140889758204436646471254886062" + }, + "improvement": { + "rational": "262152511953/1000000000000000000", + "decimal": "2.62152511953E-7" + }, + "main_transform_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "101611088769300917/40000000000000000000000", + "decimal": "0.000002540277219232522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16053659929910823493457211548686499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.0000000132465386319946808119380986028208705975745866977328894739E-11" + }, + "group_bit_router_above_kappa": { + "rational": "23565343623489446617301566056346499459924678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "1.4679109959058155081160150681281387551794777572117108442914158359E-11" + }, + "group_scans_above_kappa": { + "rational": "149981962989277909354528141831190997013103046461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.093425403073710750580999088795962869062823849883058364599156411777" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "16053675770915329774760246132770162507235468814678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.000010000010000000132465386319946808119380986028208705975745866977329" + }, + "sparse_union_movement_above_kappa": { + "rational": "501962305817699072325318247537501456629907596625064678309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.31267780347814462490819853508193877764765955410078387666404059458" + }, + "sparse_union_full_key_above_kappa": { + "rational": "8717760973112293445939482696586781065293/40067018503072324140917000000000000000000", + "decimal": "0.21757947805484500332719944628597590858483570421772551206488418280" + }, + "polynomial_products_above_kappa": { + "rational": "1600246377381096316711099964428529614939502157461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "0.99681094875896688264326776244204516140889758204436646471254886062" + }, + "microbox_face_corrections_above_kappa": { + "rational": "4665612530422752943581779764192375143233905713461962568309893681/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "2.9062610100100000001324653863199468081193809860282087059757458670" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_boundary_slack": { + "boundary_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-251710882294553122358948322009002986896953538037431690106319/1605365971725539986393675267555861382073600889000000000000000000", + "decimal": "-0.00015679345814462464326776244204516140889758204436646471254886062281" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-147801337506469629736765306425806173787781184600889/1605365971725539986393675267555861382073600889000000", + "decimal": "-0.092067067640411128867534613680053191880619013971791294024254133023" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json new file mode 100644 index 0000000000..54ad0ed498 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json @@ -0,0 +1,414 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "scope": "Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.", + "review": { + "integrated": "Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.", + "matrix_source": "PROOF-AND-COVERAGE.md", + "effective_stability": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "independent_layout": "MATRIX-LAYOUT-SIGNOFF.md" + }, + "omitted_row": { + "name": "optional full-coordinate-key union surcharge", + "reason": "The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost." + }, + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "complex_saving": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r_spare": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "sigma_union": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "epsilon": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "capped_block_power": { + "rational": "6006737803538363603786961767383/8006701850307232414091700000000", + "decimal": "0.75021374791267813012557319136042532178866352100676648857598350268" + }, + "beta_group": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "matrix_exponent": { + "rational": "19/8", + "decimal": "2.375" + }, + "matrix_source_bound": { + "rational": "9/4", + "decimal": "2.25" + }, + "c_boundary": { + "rational": "5/16", + "decimal": "0.3125" + }, + "kappa": { + "rational": "836680052702889/500000000000000000", + "decimal": "0.001673360105405778" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "first_reviewed_transfer": { + "rational": "1672922349588871/1000000000000000000", + "decimal": "0.001672922349588871" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "536821741596582186168602666269628307658470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "group_bit_router": { + "rational": "536821745603195808901091315103570008424470315421211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016733601278950405581831414454417167161806227872696731761529052912" + }, + "group_scans": { + "rational": "805348355725539986393675267555861382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.25104009637737138807709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix": { + "rational": "6840475465266695248410101923394927751720175749186737/106934890394947765067678508918528712735786696300000000", + "decimal": "0.063968602202727648328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement": { + "rational": "540029788308430619120633021537184169040543916310211/320804671184843295203035526755586138207360088900000000", + "decimal": "0.0016833601154057784538170479517203762842018888767028492264912297200" + }, + "polynomial_products": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections": { + "rational": "2942281014059281127650388129972348509431467852/1069348903949477650676785089185287127357866963", + "decimal": "2.7514696122027276483282438565912950544955383678699363606505077270" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "epsilon_positive": { + "rational": "3204021080669390695403468340153200000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.99874514570995048179732933476913026729312515313683012792547577565" + }, + "epsilon_below_one": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "capped_block_above_band": { + "rational": "2003386878384747396741111767383/8006701850307232414091700000000", + "decimal": "0.25021374791267813012557319136042532178866352100676648857598350268" + }, + "capped_block_below_cell": { + "rational": "26576677783154481335239432113645294978213166844563263/106934890394947765067678508918528712735786696300000000", + "decimal": "0.24853139779727235167175614340870494550446163213006363934949227296" + }, + "group_positive": { + "rational": "19999559600000000000000/80067018503072324140917", + "decimal": "0.24978524208732186987442680863957467821133647899323351142401649732" + }, + "group_below_dimension": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "support_router_span": { + "rational": "60067458903072324140917/80067018503072324140917", + "decimal": "0.75021475791267813012557319136042532178866352100676648857598350268" + }, + "group_gauge_power_slack": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "actual_logarithmic_group_guard": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "global_gamma_power_slack": { + "rational": "4022423132330408193934897047393826212218815399111/3208046711848432952030355267555861382073600889000000", + "decimal": "0.0012538542900495182026706652308697327068748468631698720745242243534" + }, + "actual_logarithmic_gamma_guard": { + "rational": "4025631179042256626886927402661382073600889/3208046711848432952030355267555861382073600889", + "decimal": "0.0012548542900495182026706652308697327068748468631698720745242243534" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "group_key_fits_record": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.74895990362262861192290252612955558908178867414359661650145927833" + }, + "membership_arithmetic_fits_record": { + "rational": "799557574981283569669931024199112872642133037/1069348903949477650676785089185287127357866963", + "decimal": "0.74770504933257909372023186089868585637491382728042674442693505398" + }, + "sparse_union_fraction_decays": { + "rational": "3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "0.00042850582535626025114638272085064357732704201353297715196700536668" + }, + "microbox_halo_volume": { + "rational": "380335532915361620704585/80067018503072324140917", + "decimal": "4.7502147579126781301255731913604253217886635210067664885759835027" + }, + "union_positive_slack": { + "rational": "1/100000", + "decimal": "0.00001" + }, + "matrix_exponent_above_source_bound": { + "rational": "1/8", + "decimal": "0.125" + }, + "matrix_exponent_below_five_halves": { + "rational": "1/8", + "decimal": "0.125" + }, + "short_record_fallback": { + "rational": "127945844731945360830644877923109261450553910111686139566638347524787/128321868473937318081214210702234455282944035560000000000000000000000", + "decimal": "0.99706968308314237827440433476913026729312515313683012792547577565" + }, + "improvement_over_selected": { + "rational": "34995416443/50000000000000000", + "decimal": "6.9990832886E-7" + }, + "improvement_over_first_reviewed_transfer": { + "rational": "437755816907/1000000000000000000", + "decimal": "4.37755816907E-7" + }, + "main_transform_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "84100856093020917/40000000000000000000000", + "decimal": "0.000002102521402325522925" + }, + "fused_gaussian_above_kappa": { + "rational": "16040234287175308991291365140577147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "1.0000000453817047951720376284201888876702849226491229720034381634E-11" + }, + "group_bit_router_above_kappa": { + "rational": "36073302400837752235461073644407147466485957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "2.2489262558183141445441716716180622787269673176152905291235206499E-11" + }, + "group_scans_above_kappa": { + "rational": "399990069170827316553169929437873914639085240389379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.24936673627196561007709747387044441091821132585640338349854072167" + }, + "boundary_algebraic_matrix_above_kappa": { + "rational": "33307674429019250694161274836955713292695810709060319172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "0.062295242097321870328243856591295054495538367869936360650507727037" + }, + "sparse_union_movement_above_kappa": { + "rational": "16040249599476451935460767629144447487515470930957516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.000010000010000000453817047951720376284201888876702849226491229720034" + }, + "polynomial_products_above_kappa": { + "rational": "1599326431642752671058066465736543223602284795889379902516731679/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "0.99707178560454470379732933476913026729312515313683012792547577565" + }, + "microbox_face_corrections_above_kappa": { + "rational": "1470245804132326338277304830206155329249828857963126634172243893/534674451974738825338392544592643563678933481500000000000000000", + "decimal": "2.7497962520973218703282438565912950544955383678699363606505077270" + } + }, + "controls": { + "endpoint_equality": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + }, + "zero_group_guard": { + "group_gauge_power_slack": { + "rational": "0", + "decimal": "0" + } + }, + "zero_union_slack": { + "union_positive_slack": { + "rational": "0", + "decimal": "0" + } + }, + "old_per_axis_scan": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-671293102421548330224240638726085360914759610620097483268321/1604023355924216476015177633777930691036800444500000000000000000", + "decimal": "-0.00041850581535625979732933476913026729312515313683012792547577564665" + } + }, + "unrecentered_full_cell_gauge": { + "unrecentered_group_gauge": { + "rational": "-265766767138055773857617814368602057929260394866963/1069348903949477650676785089185287127357866963000000", + "decimal": "-0.24853138779727235167175614340870494550446163213006363934949227296" + } + }, + "full_key_sort_on_union": { + "unnecessary_union_full_key_sort_above_kappa": { + "rational": "-3349871895112392252395010152271923003071/13344503083845387356819500000000000000000", + "decimal": "-0.25103009636737138762328042591872403463400943697970053427204949195" + } + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json new file mode 100644 index 0000000000..fea12fbe37 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY-REVIEW.json @@ -0,0 +1,164 @@ +{ + "status": "PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:11:15.272021+00:00", + "kappa": "836680052702889/500000000000000000", + "kappa_decimal": "0.001673360105405778", + "upstream_selected_unchanged": true, + "base_transfer_preserved": "CAPPED-OUTER-ARITHMETIC.json and REVIEW-RECEIPT.json", + "additional_hypothesis": "The supplied Matrix Multiplication in Nine Fourths theorem gives omega_C<=9/4; apply the independently audited effective algebraic transfer at tau=19/8.", + "limitations": [ + "All finite supplier, common-frame, whole-call, semantic precision, fixed-tape and prime-packing assumptions of the first transfer remain.", + "No generated competitive finite matrix formula or practical runtime claim is made; the fixed formula search is effective but may have enormous constant cost.", + "This is a local conditional corollary, not an upstream selected certificate or an unconditional integer-multiplication theorem." + ], + "reviews": [ + { + "reviewer": "root agent", + "result": "Read matrix corollary and independent layout signoff; reproduced exact parameters/ledger and matrix construction controls; approved integrated conditional corollary." + }, + { + "reviewer": "matrix_boundary agent", + "result": "Read all 1022 supplied source lines and audited effective algebraic coefficient, fixed-tape, precision and rank-exponent transfer." + }, + { + "reviewer": "global_macro agent", + "result": "Independent new-parameter no-sort union, metadata, q-ordering and microhalo layout signoff." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read both complete matrix transfer notes and independent layout signoff; constructed and replayed 47-slack ledger and six rejecting controls." + }, + { + "reviewer": "independent_fusion_review agent and independent children", + "result": "No blocking gap found under stated assumptions after full compiler, support, Gaussian, layout and tape-cost review. Generic SPD scale wording corrected without changing parameters. See independent FINAL-REVIEW.json." + } + ], + "arithmetic": { + "positive_slacks": 47, + "rejecting_controls": 6, + "minimum_saving": "0.0016733601154057784538170479517203762842018888767028492264912297200" + }, + "files": [ + { + "bundle_filename": "phase_fusion_note.tex", + "source_path": "work/phase_assembly_ultra/phase_fusion_note.tex", + "sha256": "08ecb1876695beee25484158e14cfd57c3d48f551a8a41d5abc998d71d674555", + "bytes": 33757 + }, + { + "bundle_filename": "MATRIX-COROLLARY.md", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY.md", + "sha256": "2d7fb1088e58bb86e574277733e082f135362215a69add71d9090213d32c9221", + "bytes": 5787 + }, + { + "bundle_filename": "check_matrix_corollary.py", + "source_path": "work/phase_assembly_ultra/check_matrix_corollary.py", + "sha256": "30db2d8e0f40fcc5c91e25f74cdc54e46aa4a0353c725345f9bcf5744e0b617f", + "bytes": 6692 + }, + { + "bundle_filename": "MATRIX-COROLLARY-ARITHMETIC.json", + "source_path": "work/phase_assembly_ultra/MATRIX-COROLLARY-ARITHMETIC.json", + "sha256": "c6efc4d2f6d17159cefebf5c2dd6099a6327fe0911c5dd87623cad96c7d6c56a", + "bytes": 16783 + }, + { + "bundle_filename": "PROOF-AND-COVERAGE.md", + "source_path": "work/matrix_boundary_ultra/PROOF-AND-COVERAGE.md", + "sha256": "db7509d754bb7fc3381419e0fed2674f22a9d57d34e8420fd5afa3c688fde9aa", + "bytes": 12130 + }, + { + "bundle_filename": "ALGEBRAIC-STABILITY-INDEPENDENT.md", + "source_path": "work/matrix_boundary_ultra/ALGEBRAIC-STABILITY-INDEPENDENT.md", + "sha256": "7873e7d9a99fdc9de3ee224b9925d3e277e9773d7f5f8c2d0f1c19b0e52bc87f", + "bytes": 11743 + }, + { + "bundle_filename": "MATRIX-SOURCE-COVERAGE.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-COVERAGE.json", + "sha256": "fdc6849f97999a6cf99cdaa50591d24f78d6fb0bc580315f205452e5906b35cc", + "bytes": 2839 + }, + { + "bundle_filename": "MATRIX-SOURCE-CONSTRUCTIONS.json", + "source_path": "work/matrix_boundary_ultra/SOURCE-CONSTRUCTIONS.json", + "sha256": "114c1d8fb70592455a80c73d8a1bc6bfc9aca4e7395a420b6331d5474b4d1917", + "bytes": 21018 + }, + { + "bundle_filename": "MATRIX-TRANSFER-MANIFEST.json", + "source_path": "work/matrix_boundary_ultra/MANIFEST.json", + "sha256": "35d98d7579a16dae36530b4e5f4d0b8f925a069daa3f6fe1ea5276916167e0c2", + "bytes": 1159 + }, + { + "bundle_filename": "MATRIX-LAYOUT-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md", + "sha256": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "bytes": 3081 + }, + { + "bundle_filename": "MATRIX-LAYOUT-CONTROLS.json", + "source_path": "work/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json", + "sha256": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "bytes": 1446 + }, + { + "bundle_filename": "PHASE-LAYOUT-AUDIT.md", + "source_path": "work/phase_layout_audit_ultra/AUDIT.md", + "sha256": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "bytes": 11774 + }, + { + "bundle_filename": "CAPPED-SIGNOFF.md", + "source_path": "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md", + "sha256": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "bytes": 4414 + }, + { + "bundle_filename": "CAPPED-GAUGE-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md", + "sha256": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "bytes": 9176 + }, + { + "bundle_filename": "LOG-A-PHASE-SCHUR-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md", + "sha256": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "bytes": 10642 + }, + { + "bundle_filename": "FORWARD-SMALL-A-AUDIT.md", + "source_path": "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md", + "sha256": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "bytes": 6689 + }, + { + "bundle_filename": "SHALLOW-TOEPLITZ.md", + "source_path": "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md", + "sha256": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "bytes": 15480 + }, + { + "bundle_filename": "TENSOR-COMPILER.md", + "source_path": "work/inplace_algebra_ultra/TENSOR-COMPILER.md", + "sha256": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "bytes": 13430 + }, + { + "bundle_filename": "SUPPLIER-SUPPORT-AUDIT.md", + "source_path": "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md", + "sha256": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "bytes": 16557 + }, + { + "bundle_filename": "SUPPORT-ROUTER.md", + "source_path": "work/halo_layout_ultra/SUPPORT-ROUTER.md", + "sha256": "6ddb322e11883c1177ba6cd1a77d23a1dac827d7290b32eaf642457b1d762a54", + "bytes": 7755 + } + ], + "post_review_correction": "Generic SPD prefix bound records both M and 1/m, not condition number alone; actual Gaussian bounds already satisfy it." +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md new file mode 100644 index 0000000000..f08bb57f9c --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/MATRIX-COROLLARY.md @@ -0,0 +1,72 @@ +# Additional corollary using the supplied matrix-exponent theorem + +Status: **PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW**. The independent matrix-transfer and new-parameter layout audits passed, followed by the integrated root review and exact ledger replay. The first, Strassen-based result `kappa=0.001672922349588871` remains separately reviewed and unchanged. Neither result changes the upstream selected certificate. + +This corollary has an **additional hypothesis**: the supplied *Matrix Multiplication in Nine Fourths* theorem gives `omega_C<=9/4`. Its complete-source audit is `PROOF-AND-COVERAGE.md`; the effective approximate-bit transfer is `ALGEBRAIC-STABILITY-INDEPENDENT.md`. The result here retains every supplier and all-size assumption of the first phase-fusion theorem. + +## Effective matrix operation with the required error interface + +Fix `tau=19/8>9/4`. The matrix exponent theorem supplies a fixed block dimension m and rank r with `r0`. All local coefficient pages remain polynomial in p, while `L^g` remains superpolynomial. Microedge correction has exponent `epsilon+beta-3<-1.75`, including the generous old scalar arithmetic bound. Sparse microhalo key passes remain explicitly paid inside that negligible budget. + +All forward q-image group embeddings occur in native axis-major order before the one global low-bit gather. All compression q-image extractions occur after the inverse global gather. The entire Gaussian calculation keeps full dyadic target coordinate ranges, so every globally invoked H stage has complete coarse labels. This schedule needs no per-group gathering of the whole long-axis fields; the q-image scans have the already-paid Vd/g cost. + +The **optional full-group-key sort surcharge on the sparse union is omitted** because it is absent from the actual algorithm. The reviewed union routine extracts the complete rectangle `U_i=E_i x [L]^(g-1)`, transposes only its one polynomial-size field, computes its axis operator, and merges it into U in the original order. It does not radix-sort U. Reintroducing that sort is a rejecting control in the new ledger; it would destroy this parameter choice. This omission relies on the existing positive layout proof, not on the matrix theorem. + +`check_matrix_corollary.py` verifies 47 exact positive slacks and six rejecting controls and writes `MATRIX-COROLLARY-ARITHMETIC.json`. The rejected variants are endpoint equality, zero group guard, zero union slack, the old Vd row, the old full-cell data gauge, and adding a full-key sort to U. The first theorem's records are not overwritten. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json new file mode 100644 index 0000000000..3ea510f010 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-ARITHMETIC.json @@ -0,0 +1,369 @@ +{ + "status": "PASS_EXACT_ARITHMETIC_PENDING_FULL_PROOF_REVIEW", + "scope": "Exact outer arithmetic; no automatic theorem promotion.", + "parameters": { + "a_bit": { + "rational": "1733427039589844234749/1000000000000000000000000", + "decimal": "0.001733427039589844234749" + }, + "a_eff": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "b": { + "rational": "67018507072324140917/40000000000000000000000", + "decimal": "0.001675462676808103522925" + }, + "q": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "r": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "zeta": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "t_stop": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "tau": { + "rational": "39932981494927675859083/40000000000000000000000", + "decimal": "0.998324537373191896477075" + }, + "sigma": { + "rational": "39932981492927675859083/40000000000000000000000", + "decimal": "0.998324537323191896477075" + }, + "lambda_": { + "rational": "39932981495927675859083/40000000000000000000000", + "decimal": "0.998324537398191896477075" + }, + "lambda_prime": { + "rational": "39932981496927675859083/40000000000000000000000", + "decimal": "0.998324537423191896477075" + }, + "epsilon": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "beta_group": { + "rational": "2232601179454534595653922461/1337801233538154942727800000000", + "decimal": "0.0016688586641154860236595852075226892595352564485308467912706704140" + }, + "kappa": { + "rational": "1672664764353193/1000000000000000000", + "decimal": "0.001672664764353193" + }, + "selected": { + "rational": "836330098538459/500000000000000000", + "decimal": "0.001672660197076918" + }, + "omega_upper": { + "rational": "45/16", + "decimal": "2.8125" + }, + "microbox_power": { + "rational": "8", + "decimal": "8" + }, + "halo_power": { + "rational": "3", + "decimal": "3" + } + }, + "margins": { + "main_transform": { + "rational": "89507719937020873513319867914705021786833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647743531934852000135266363446297676282242654233956353352070" + }, + "global_coordinate_router": { + "rational": "67018505072324140917/40000000000000000000000", + "decimal": "0.001675462626808103522925" + }, + "fused_gaussian": { + "rational": "89507719937020873513319867914705021786833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647743531934852000135266363446297676282242654233956353352070" + }, + "group_bit_router": { + "rational": "89507719941486075872228937106012866708833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "0.0016726647744366364184057878278193238901437626872421862180618775466" + }, + "group_scans": { + "rational": "22332767690774713639/6689006167690774713639", + "decimal": "0.0033387273282309720473191704150453785190705128970616935825413408280" + }, + "boundary_batched_algebra": { + "rational": "3/32", + "decimal": "0.09375" + }, + "sparse_union_movement": { + "rational": "666668015589622936768246077539/1337801233538154942727800000000", + "decimal": "0.49833114133588451397634041479247731074046474355146915320872932959" + }, + "sparse_union_full_key": { + "rational": "220733820683822664680148692513/445933744512718314242600000000", + "decimal": "0.49499241400765354192902124437743193222139423065440745962618798876" + }, + "polynomial_products": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "microbox_face_corrections": { + "rational": "300000101/100000000", + "decimal": "3.00000101" + } + }, + "slacks": { + "actual_bit_above_effective": { + "rational": "3622775798858794489/62500000000000000000000", + "decimal": "0.000057964412781740711824" + }, + "complex_above_effective": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "complex_below_one_over_32": { + "rational": "1182981492927675859083/40000000000000000000000", + "decimal": "0.029574537323191896477075" + }, + "q_positive": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "complex_endpoint": { + "rational": "1/10000000000", + "decimal": "1E-10" + }, + "q_below_effective_bit": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "stop_positive": { + "rational": "1/1000000000", + "decimal": "1E-9" + }, + "stop_below_one": { + "rational": "999999999/1000000000", + "decimal": "0.999999999" + }, + "leaf_saving_above_effective_bit": { + "rational": "1932981492927675859083/40000000000000000000000000000000", + "decimal": "4.8324537323191896477075E-11" + }, + "q_below_internal": { + "rational": "1/20000000000", + "decimal": "5E-11" + }, + "q_below_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_above_tau": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_above_sigma": { + "rational": "3/40000000000", + "decimal": "7.5E-11" + }, + "lambda_above_internal": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_lambda": { + "rational": "1/40000000000", + "decimal": "2.5E-11" + }, + "lambda_prime_above_leaf": { + "rational": "3932981492927675859083/40000000000000000000000000000000", + "decimal": "9.8324537323191896477075E-11" + }, + "lambda_prime_below_one": { + "rational": "67018503072324140917/40000000000000000000000", + "decimal": "0.001675462576808103522925" + }, + "epsilon_positive": { + "rational": "1335567281179454534595653922461/1337801233538154942727800000000", + "decimal": "0.99833013133588451397634041479247731074046474355146915320872932959" + }, + "epsilon_below_one": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "group_positive": { + "rational": "2232601179454534595653922461/1337801233538154942727800000000", + "decimal": "0.0016688586641154860236595852075226892595352564485308467912706704140" + }, + "group_below_dimension": { + "rational": "6666673400000000000000/6689006167690774713639", + "decimal": "0.99666127267176902795268082958495462148092948710293830641745865917" + }, + "group_controls_below_one_axis_width": { + "rational": "101/100000000", + "decimal": "0.00000101" + }, + "support_router_span": { + "rational": "1335568632358700408132146077539/1337801233538154942727800000000", + "decimal": "0.99833114133588451397634041479247731074046474355146915320872932959" + }, + "group_guard": { + "rational": "1/100000000", + "decimal": "1E-8" + }, + "alpha_logarithm_absorption": { + "rational": "1/1000000", + "decimal": "0.000001" + }, + "local_gauge_sublinear": { + "rational": "2232614557466869977203349739/1337801233538154942727800000000", + "decimal": "0.0016688686641154860236595852075226892595352564485308467912706704140" + }, + "core_above_band": { + "rational": "666666664410377063231753922461/1337801233538154942727800000000", + "decimal": "0.49833013133588451397634041479247731074046474355146915320872932959" + }, + "record_suffix": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "prime_interval_packing": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "semantic_dimension_guard": { + "rational": "2233952358700408132146077539/1337801233538154942727800000000", + "decimal": "0.0016698686641154860236595852075226892595352564485308467912706704140" + }, + "microbox_larger_than_halo": { + "rational": "6686773566511320179043346077539/1337801233538154942727800000000", + "decimal": "4.9983311413358845139763404147924773107404647435514691532087293296" + }, + "short_record_fallback": { + "rational": "266665169042112715270864145879634872642133037/267560246707630988545560000000000000000000000", + "decimal": "0.99665466870907641045341541479247731074046474355146915320872932959" + }, + "improvement": { + "rational": "182691051/40000000000000000", + "decimal": "4.567276275E-9" + }, + "main_transform_above_kappa": { + "rational": "535120519379309041437662627170833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0000000485200013526636344629767628224265423395635335207002345453E-11" + }, + "global_coordinate_router_above_kappa": { + "rational": "111914498196420917/40000000000000000000000", + "decimal": "0.000002797862454910522925" + }, + "fused_gaussian_above_kappa": { + "rational": "535120519379309041437662627170833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0000000485200013526636344629767628224265423395635335207002345453E-11" + }, + "group_bit_router_above_kappa": { + "rational": "539585721738218110628970472092833155436737/53512049341526197709112000000000000000000000000000000", + "decimal": "1.0083443418405787827819323890143762687242186218061877546565878974E-11" + }, + "group_scans_above_kappa": { + "rational": "11144302765537169372248646690369700673/6689006167690774713639000000000000000000", + "decimal": "0.0016660625638777790473191704150453785190705128970616935825413408280" + }, + "boundary_batched_algebra_above_kappa": { + "rational": "92077335235646807/1000000000000000000", + "decimal": "0.092077335235646807" + }, + "sparse_union_movement_above_kappa": { + "rational": "3322151613022877139574479034385369700673/6689006167690774713639000000000000000000", + "decimal": "0.49665847657153132097634041479247731074046474355146915320872932959" + }, + "sparse_union_full_key_above_kappa": { + "rational": "1099939615110700808645159678128456566891/2229668722563591571213000000000000000000", + "decimal": "0.49331974924330034892902124437743193222139423065440745962618798876" + }, + "polynomial_products_above_kappa": { + "rational": "6666647940972035128711518258995369700673/6689006167690774713639000000000000000000", + "decimal": "0.99665746657153132097634041479247731074046474355146915320872932959" + }, + "microbox_face_corrections_above_kappa": { + "rational": "2998328345235646807/1000000000000000000", + "decimal": "2.998328345235646807" + } + }, + "controls": { + "complex_endpoint_equality": { + "rejected_slacks": { + "complex_above_effective": { + "rational": "0", + "decimal": "0" + }, + "complex_endpoint": { + "rational": "0", + "decimal": "0" + }, + "q_below_effective_bit": { + "rational": "0", + "decimal": "0" + }, + "leaf_saving_above_effective_bit": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "q_below_internal": { + "rational": "0", + "decimal": "0" + }, + "q_below_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + }, + "lambda_above_tau": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_sigma": { + "rational": "0", + "decimal": "0" + }, + "lambda_above_internal": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_lambda": { + "rational": "0", + "decimal": "0" + }, + "lambda_prime_above_leaf": { + "rational": "-67018507072324140917/40000000000000000000000000000000", + "decimal": "-1.675462676808103522925E-12" + } + } + }, + "zero_group_guard": { + "rejected_slacks": { + "group_guard": { + "rational": "0", + "decimal": "0" + } + } + }, + "old_per_axis_scan": { + "rejected_slacks": { + "unreplaced_per_axis_scan_above_kappa": { + "rational": "-18703131735503606020965614630299327/6689006167690774713639000000000000000000", + "decimal": "-0.0000027961002377069763404147924773107404647435514691532087293295859953" + } + } + } + }, + "theorem_obligations": [ + "retained finite suppliers and exact common-frame/mutable-source compiler", + "deferred reservations and paid global synthetic layout", + "shallow Toeplitz plus SPD extension and tensor compiler", + "small-a forward conditioning and exact target-grid square completion", + "grouped sparse-union route and batched boundary arithmetic", + "dyadic core with sparse microbox-face repair and monotone q-image scans", + "scalar product-diagonal scan and retained all-size semantic/prime/error transfer" + ] +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md new file mode 100644 index 0000000000..974b8db67f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/OUTER-AUDIT.md @@ -0,0 +1,93 @@ +# Phase-cell fusion: outer assembly audit + +Status: assembly audit in progress. The exact arithmetic in this directory is a **conditional target**, not a replacement of the selected certificate. The remaining proof interfaces are recorded explicitly below. + +## Conditional transfer statement + +Assume the same finite bit/complex suppliers, common-label arithmetic compiler, semantic guard and all-size fixed-tape interfaces as the selected conditional PR1094 result. Also assume the new deferred-reservation, support-limited H supplier, shallow-circuit tensorization, and grouped sparse/core-halo lemmas below have their stated uniform implementations. Then the retained integer-multiplication reduction runs in + +`O(n (log n)^(1-kappa))`, `kappa=0.001672664764353193`. + +Here p=Theta(log n) and the live scalar bit volume V=Theta(n). Global one-axis preprocessing is polynomial in the original axis sizes and p, hence `n^o(1)`. Table construction or page loading repeated per coarse block is charged to its superpolynomial `L^g` payload by the tensor/scan lemmas; it is included in the displayed V costs, rather than called one global preprocessing operation. Every cost row below is `O(V p^e polylog p)` with `1-e>kappa`. The minimum excess is greater than `10^-11`. Consequently every fixed logarithmic factor and each use of the unconditional quasi-linear short arithmetic kernel can be absorbed in a single positive fraction of that excess. Floors, rounded alpha, and dyadic L alter constants or logarithmic factors. All claims are eventual in p; one fixed finite prefix of inputs can use the retained elementary fallback. This statement becomes an admitted theorem only when the named implementation hypotheses receive the intended full review. + +## Parameter convention + +Let `a_bit=0.001733427039589844234749` and `b=0.001675462676808103522925` be the retained lower bounds certified by the selected PR1094 replay. For applying the older compact recurrence, lower the usable bit saving to `a_eff=(b+q)/2`; this keeps its historical convention `a_eff0` with `(1-t_stop)b>a_eff` and `q<(1-t_stop)b`. + +For each visited coarse block and group, all required local coefficient pages can instead be regenerated in polynomial time in p: there are g local windows of size at most L=Theta(p^8), their rational origins have O(p/d) bits, and the published local coefficient/Schur/circuit constructors are polynomial in that size and requested precision. Recover local phases and anchor gauges from these origins; do not form a raw uncentered global q² exponential on the data. The page contains O(p)-bit online coefficients. Its polynomial setup and sequential loading are amortized by the complete `L^g` payload, which eventually dominates every fixed power of p. This gives an explicit access method even when the coarse labels are permuted; no random global coefficient-table lookup is assumed. + +Global chirps, twists, positive diagonal normalizations and exact scale factors are separable products. The prefix-product scan supplies their products in O(V polylog p), with completed scalar range `O(d alpha^2)=o(p)`. Packed polynomial products retain their saving epsilon. The finite supplier, exact common-label frame, whole-call hosting, semantic depth bound with C1=1, phase precision, prime packing and fixed-tape input/output assumptions are inherited unchanged. They are still conditional interfaces, as in the selected result. + +## Cost ledger, with conservative wide bandwidth + +Let `h_w=1/2` and `h_K=beta+1-epsilon`. Normalize all costs by V. Fixed logarithmic factors are absorbed by strict gaps. + +| Component | power of p | reason | +|---|---:|---| +| main transform | `1-epsilon*q` | deferred reservations | +| constant global coordinate routing | `1-a_eff` | paid support/full router | +| dense Gaussian groups | `epsilon-q*beta` | `(d/g) g^(1-q)` | +| grouped bit routing | `epsilon-a_eff*beta` | same grouping, bit supplier | +| one/fixed group scans | `epsilon-beta` | d/g groups | +| boundary algebra | `(omega-1)*h_w` | batched w-column Strassen | +| sparse union, basic movement | `beta+h_w` | V g w overall | +| sparse union, conservative key surcharge | `beta+h_w+h_K` | full active-group keys | +| polynomial products | `1-epsilon` | retained short polynomial products | +| core-face corrections | `epsilon+beta+3-8+2` | old local maps on sparse copies, with a loose p² allowance | + +Use the rational upper bound `omega<45/16`, checked by `7^16<2^45`. The target balances the first and third rows exactly before a fixed 10^-11 absorption backoff. + +This ledger is accepted only after its circuit tensorizer, grouped sparse route, target-grid core/halo adapter, forward small-a inverse bound, and deferred-reservation interfaces have written proofs. Exact positive inequalities alone do not discharge those interfaces. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md new file mode 100644 index 0000000000..c9bd9bfd6f --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/README.md @@ -0,0 +1,15 @@ +# Reviewed conditional phase-cell fusion + +With the explicit additional supplied matrix-exponent premise `omega_C<=9/4`, the reviewed local corollary gives **`kappa=0.001673360105405778`**, a gain of `6.9990832886e-7` over the selected conditional exponent. Its status is `PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW`. + +The separate Strassen-based transfer gives `kappa=0.001672922349588871` with status `PASS_CONDITIONAL_PHASE_FUSION_REVIEW`, without that additional matrix premise. Both retain the original supplier and all-size computational assumptions. The upstream selected certificate is unchanged. + +- `phase_fusion_note.tex` is the standalone proof note. +- `CAPPED-INTERIORS.md` records the local gauge and boundary-count change. +- `check_capped_outer.py` recomputes 44 positive rational slacks and five rejecting controls; `CAPPED-OUTER-ARITHMETIC.json` records the reviewed local status. +- `MATRIX-COROLLARY.md` and `check_matrix_corollary.py` give the additional corollary; `MATRIX-COROLLARY-ARITHMETIC.json` contains 47 positive slacks and six rejecting controls. `MATRIX-COROLLARY-REVIEW.json` records its separate review and source hashes. +- `OUTER-AUDIT.md`, `check_outer.py`, and `OUTER-ARITHMETIC.json` preserve the weaker uncapped arithmetic as history. + +Run `python3 -B work/phase_assembly_ultra/check_capped_outer.py` and `python3 -B work/phase_assembly_ultra/check_matrix_corollary.py` from the workspace root. + +The old `Vd` row and the unrecentered full-cell gauge both reject this result. The improvement uses the reviewed Gaussian circuits, support-limited compact supplier, anchored capped gauges, and grouped sparse/halo scans. Tightening the old arithmetic alone cannot produce it. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json new file mode 100644 index 0000000000..2521d02ada --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/REVIEW-RECEIPT.json @@ -0,0 +1,53 @@ +{ + "status": "PASS_CONDITIONAL_PHASE_FUSION_REVIEW", + "created_utc": "2026-10-14T02:06:22.293042+00:00", + "kappa": "1672922349588871/1000000000000000000", + "kappa_decimal": "0.001672922349588871", + "upstream_selected_unchanged": true, + "scope": "Local all-size conditional transfer, retaining the selected finite suppliers and common-frame, whole-call, precision, fixed-tape and prime-packing hypotheses.", + "reviews": [ + { + "reviewer": "root agent", + "result": "Read standalone TeX, integrated notes and exact ledger; cap, supplier and layout audits passed; authorized local conditional status." + }, + { + "reviewer": "gaussian_fast agent", + "result": "Independent capped-gauge and finite-block audit passed; exact inherited-weight reanchoring and broad derivatives checked." + }, + { + "reviewer": "global_macro agent", + "result": "Independent capped carving, sparse-union, q-image and microedge layout audit passed." + }, + { + "reviewer": "inplace_algebra agent", + "result": "Global selected-H support and capacity audit passed; all g controls need not fit one original axis." + }, + { + "reviewer": "phase_assembly agent", + "result": "Read named proofs and relevant retained source contracts; reconstructed complete cost ledger and reviewed capped interfaces." + } + ], + "phase_assembly_replays": [ + "check_capped_outer.py: 44 positive exact slacks and 5 rejecting controls", + "check_forward_cell.py: 350 cases, 5184 factorization and 16496 completion entries", + "check_union.py: exact five-factor/tensor/complete-rectangle checks, with dense escape negative control", + "check_q_embedding.py: product order and augmented inverse checks" + ], + "files": { + "work/phase_assembly_ultra/phase_fusion_note.tex": "da2bf119be3ed1e44473c380e43643d16bdc93015c80380fc59da33d84e951de", + "work/phase_assembly_ultra/CAPPED-INTERIORS.md": "983c5cab2d2398f2192a8aec07daecb655f2de136e12a37f75672a14d27172ba", + "work/phase_assembly_ultra/check_capped_outer.py": "b4555c77de7a3ed4abc708a8d93363ef7c9a914be1091f80ab3ddea83f71230a", + "work/phase_assembly_ultra/CAPPED-OUTER-ARITHMETIC.json": "22caac9ec2ecf4d5743b7eb946b633911fbac55a714399556e87e2eae0457dec", + "work/inplace_algebra_ultra/SHALLOW-TOEPLITZ.md": "b384b93f3fb4a8c97da2e617ebc14d55cebb0a739070e7f8dbb66f63e24e9310", + "work/inplace_algebra_ultra/TENSOR-COMPILER.md": "4d3b8466598a864a234b978e25976648d4e761840aad9153dd18d73d3dfe4d15", + "work/inplace_algebra_ultra/SUPPLIER-SUPPORT-AUDIT.md": "bd5b06eca043c5c871227264f6a954473c55cd16ec85bb420ff538fb8ec1d8d6", + "work/gaussian_fast_ultra/LOG-A-PHASE-SCHUR-AUDIT.md": "e05d6b8596c80b6e8676569a0ff464a29fa704c3304143f58914f47cdf38b272", + "work/gaussian_fast_ultra/BILATERAL-LDU.md": "0d65e66d227464dda1a19f781ae0a0be671cbfd347c41e37ec954f3d629d8a77", + "work/gaussian_fast_ultra/FORWARD-SMALL-A-AUDIT.md": "e37aaa30b15671a1dff00676b14572213efaaac99df202dbba5e09f57af487c0", + "work/gaussian_fast_ultra/CAPPED-GAUGE-AUDIT.md": "1030a34922709ab8d3434a4c57a4a58934ae268c237fb598cb415697da411c9f", + "work/phase_layout_audit_ultra/AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "work/phase_layout_audit_ultra/CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "work/halo_layout_ultra/SUPPORT-ROUTER.md": "d4d2f5bd0a8eb51d9ebd28e4d1a38d3c69bdbf97471a705b3aa199c184364c52", + "work/halo_layout_ultra/HALO-THEOREM.md": "cb9e1da38400b658f9209e465b4e5896fadd17dc66afa862f38bae8d8c1f2058" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py new file mode 100644 index 0000000000..83223e0a2b --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_capped_outer.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Independent rational ledger for capped phase interiors; proof review separate.""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,sigma_boundary=None,old_vd=False,full_cell_gauge=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + sigma_boundary=Q(1,10**5) if sigma_boundary is None else sigma_boundary + c=Q(3,32) + stop=Q(1,10**9) + eps=(1+q+q*(c-sigma_boundary-r-zeta))/(1+q)**2 + b=eps*(1+q)-c+sigma_boundary + beta=1-b-r-zeta + kappa=Q('0.001672922349588871') + selected=Q('0.001672660197076918') + tau,s=1-a,1-complex_ + internal=tau+(1-stop)*max(s-tau,Q(0)) + leaf=s+stop*(1-s) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_batched_algebra=c+b-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+b, + sparse_union_full_key=1-eps-beta-Q(1,2)+b-key, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd: margins['unreplaced_per_axis_scan']=1-eps + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau, + lambda_above_sigma=lam-s, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=b-Q(1,2), + capped_block_below_cell=eps-b, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-b-r-beta, + actual_logarithmic_group_guard=1-b-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + microbox_halo_volume=8-3-beta, + boundary_positive_slack=sigma_boundary, + short_record_fallback=eps-a, + improvement=kappa-selected, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['boundary_batched_algebra']==margins['main_transform']+sigma_boundary + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_boundary=sigma_boundary,stop=stop, + epsilon=eps,capped_block_power=b,beta_group=beta, + omega_upper=Q(45,16),c_boundary=c,kappa=kappa,selected=selected, + lambda_=lam,lambda_prime=1-q,tau=tau,sigma=s, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert 7**16<2**45 + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_boundary_slack',dict(sigma_boundary=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_PHASE_FUSION_REVIEW', + scope='Local conditional transfer and exact arithmetic; inherited supplier and all-size interfaces remain assumptions. No upstream selected certificate is changed.', + review=dict(integrated_review='Root reviewed the complete standalone note, integrated proof chain, exact ledger, and independent cap/supplier/layout audits.', + independent_cap_gauge='CAPPED-GAUGE-AUDIT.md', + independent_cap_layout='CAPPED-SIGNOFF.md', + supplier_support='SUPPLIER-SUPPORT-AUDIT.md'), + **row,controls=controls) + (ROOT/'CAPPED-OUTER-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py new file mode 100644 index 0000000000..3f543803d7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_matrix_corollary.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +"""Exact corollary ledger, additionally assuming the supplied 9/4 theorem.""" +from fractions import Fraction as Q +from decimal import Decimal,localcontext +from pathlib import Path +import json + +ROOT=Path(__file__).resolve().parent + +def decimal(x): + with localcontext() as ctx: + ctx.prec=65 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def calculate(q=None,zeta=None,union_slack=None,old_vd=False, + full_cell_gauge=False,add_full_key_sort=False): + bit=Q('0.001733427039589844234749') + complex_=Q('0.001675462676808103522925') + q=complex_-Q(1,10**10) if q is None else q + a=(q+complex_)/2 + r=Q(1,10**6) + zeta=Q(1,10**8) if zeta is None else zeta + union_slack=Q(1,10**5) if union_slack is None else union_slack + tau_matrix=Q(19,8) + c=(3-tau_matrix)/2 + stop=Q(1,10**9) + cap=(Q(3,2)+q-(1+q)*(r+zeta)+union_slack)/(2+q) + eps=(1+q*(1-cap-r-zeta))/(1+q) + beta=1-cap-r-zeta + kappa=Q('0.001673360105405778') + selected=Q('0.001672660197076918') + first=Q('0.001672922349588871') + tau_bit,sigma=1-a,1-complex_ + internal=tau_bit+(1-stop)*max(sigma-tau_bit,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q+a)/2 + key=beta+1-eps + margins=dict( + main_transform=eps*q, + global_coordinate_router=a, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a*beta, + group_scans=1-eps+beta, + boundary_algebraic_matrix=c+cap-eps, + sparse_union_movement=1-eps-beta-Q(1,2)+cap, + polynomial_products=eps, + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd:margins['unreplaced_per_axis_scan']=1-eps + if add_full_key_sort: + margins['unnecessary_union_full_key_sort']=margins['sparse_union_movement']-key + slacks=dict( + actual_bit_above_effective=bit-a, + complex_above_effective=complex_-a, + complex_below_one_over_32=Q(1,32)-complex_, + q_positive=q, + complex_endpoint=complex_-q, + q_below_effective_bit=a-q, + stop_positive=stop, + stop_below_one=1-stop, + leaf_saving_above_effective_bit=(1-stop)*complex_-a, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau_bit, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=1-q-lam, + lambda_prime_above_leaf=1-q-leaf, + epsilon_positive=eps, + epsilon_below_one=1-eps, + capped_block_above_band=cap-Q(1,2), + capped_block_below_cell=eps-cap, + group_positive=beta, + group_below_dimension=eps-beta, + support_router_span=1-beta, + group_gauge_power_slack=1-cap-r-beta, + actual_logarithmic_group_guard=1-cap-beta, + global_gamma_power_slack=1-eps-r, + actual_logarithmic_gamma_guard=1-eps, + alpha_logarithm_absorption=r, + group_key_fits_record=1-key, + membership_arithmetic_fits_record=1-beta-2*(1-eps), + sparse_union_fraction_decays=cap-beta-Q(1,2), + microbox_halo_volume=8-3-beta, + union_positive_slack=union_slack, + matrix_exponent_above_source_bound=tau_matrix-Q(9,4), + matrix_exponent_below_five_halves=Q(5,2)-tau_matrix, + short_record_fallback=eps-a, + improvement_over_selected=kappa-selected, + improvement_over_first_reviewed_transfer=kappa-first, + ) + if full_cell_gauge: + slacks['unrecentered_group_gauge']=1-eps-r-beta + slacks.update({name+'_above_kappa':value-kappa for name,value in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + assert margins['sparse_union_movement']==margins['main_transform']+union_slack + return dict(parameters=dict(a_bit=bit,a_eff=a,complex_saving=complex_,q=q, + r_spare=r,zeta=zeta,sigma_union=union_slack,stop=stop, + epsilon=eps,capped_block_power=cap,beta_group=beta, + matrix_exponent=tau_matrix,matrix_source_bound=Q(9,4), + c_boundary=c,kappa=kappa,selected=selected,first_reviewed_transfer=first, + lambda_=lam,lambda_prime=1-q,tau=tau_bit,sigma=sigma, + microbox_power=Q(8),halo_power=Q(3)),margins=margins,slacks=slacks) + +def encode(o): + if isinstance(o,Q):return dict(rational=str(o),decimal=decimal(o)) + if isinstance(o,dict):return {k:encode(v) for k,v in o.items()} + return o + +if __name__=='__main__': + row=calculate() + assert all(value>0 for value in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + tests=[('endpoint_equality',dict(q=Q('0.001675462676808103522925'))), + ('zero_group_guard',dict(zeta=Q(0))), + ('zero_union_slack',dict(union_slack=Q(0))), + ('old_per_axis_scan',dict(old_vd=True)), + ('unrecentered_full_cell_gauge',dict(full_cell_gauge=True)), + ('full_key_sort_on_union',dict(add_full_key_sort=True))] + for name,kwargs in tests: + bad=calculate(**kwargs) + failed={k:v for k,v in bad['slacks'].items() if v<=0} + assert failed,name + controls[name]=failed + output=dict(status='PASS_CONDITIONAL_MATRIX_PHASE_FUSION_REVIEW', + scope='Additional matrix-conditioned corollary. Assumes supplied omega_C<=9/4 theorem and the effective algebraic stability transfer, as well as all first-transfer assumptions.', + review=dict(integrated='Root read the matrix corollary and independent layout signoff, reproduced the exact parameters and ledger, and replayed matrix source construction controls.', + matrix_source='PROOF-AND-COVERAGE.md', + effective_stability='ALGEBRAIC-STABILITY-INDEPENDENT.md', + independent_layout='MATRIX-LAYOUT-SIGNOFF.md'), + omitted_row=dict(name='optional full-coordinate-key union surcharge', + reason='The actual U_i complete-rectangle extraction, one-field transpose, and ordered merge do not sort union records. Sparse microhalo keys remain paid in their separate cost.'), + **row,controls=controls) + (ROOT/'MATRIX-COROLLARY-ARITHMETIC.json').write_text(json.dumps(encode(output),indent=2)+'\n') + print(output['status']) + for name in ['epsilon','capped_block_power','beta_group','kappa']: + print(name,decimal(row['parameters'][name])) + print('minimum margin',decimal(min(row['margins'].values()))) + print('gain over selected',decimal(row['slacks']['improvement_over_selected'])) + print('gain over first transfer',decimal(row['slacks']['improvement_over_first_reviewed_transfer'])) + print('positive strict slacks',len(row['slacks'])) + print('controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py new file mode 100644 index 0000000000..2bd3f6eb68 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_assembly_ultra/check_outer.py @@ -0,0 +1,131 @@ +#!/usr/bin/env python3 +"""Exact arithmetic only. This does not automatically certify proof obligations.""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +import json + +ROOT = Path(__file__).resolve().parent + +def dec(x): + with localcontext() as ctx: + ctx.prec = 65 + return str(Decimal(x.numerator) / Decimal(x.denominator)) + +def compute(q=None, zeta=None, old_vd=False): + b = Q('0.001675462676808103522925') + a_bit = Q('0.001733427039589844234749') + q = b-Q(1,10**10) if q is None else q + r = Q(1,10**6) + zeta = Q(1,10**8) if zeta is None else zeta + a_eff = (q+b)/2 + t_stop = Q(1,10**9) + tau, sigma = 1-a_eff, 1-b + lam_prime = 1-q + lam = 1-(q+a_eff)/2 + internal = tau + (1-t_stop)*max(sigma-tau,Q(0)) + leaf = sigma+t_stop*(1-sigma) + eps = (1+q-q*(r+zeta))/(1+2*q) + beta = 1-eps-r-zeta + kappa = Q('0.001672664764353193') + selected = Q('0.001672660197076918') + omega_upper = Q(45,16) + # alpha^2=O(log p), so w=O(sqrt(p) polylog(p)). + wide = Q(1,2) + key = beta+1-eps + margins = dict( + main_transform=eps*q, + global_coordinate_router=a_eff, + fused_gaussian=1-eps+q*beta, + group_bit_router=1-eps+a_eff*beta, + group_scans=1-eps+beta, + boundary_batched_algebra=1-(omega_upper-1)*wide, + sparse_union_movement=1-beta-wide, + sparse_union_full_key=1-beta-wide-key, + polynomial_products=eps, + # gA/L copies, g sequential passes, each p^2 conservatively. + microbox_face_corrections=1-(eps+beta+3-8+2), + ) + if old_vd: + margins['unreplaced_per_axis_scan'] = 1-eps + slacks = dict( + actual_bit_above_effective=a_bit-a_eff, + complex_above_effective=b-a_eff, + complex_below_one_over_32=Q(1,32)-b, + q_positive=q, + complex_endpoint=b-q, + q_below_effective_bit=a_eff-q, + stop_positive=t_stop, + stop_below_one=1-t_stop, + leaf_saving_above_effective_bit=(1-t_stop)*b-a_eff, + q_below_internal=1-internal-q, + q_below_leaf=1-leaf-q, + lambda_above_tau=lam-tau, + lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, + lambda_prime_above_lambda=lam_prime-lam, + lambda_prime_above_leaf=lam_prime-leaf, + lambda_prime_below_one=q, + epsilon_positive=eps, + epsilon_below_one=1-eps, + group_positive=beta, + group_below_dimension=eps-beta, + group_controls_below_one_axis_width=1-eps-beta, + support_router_span=1-beta, + group_guard=1-eps-r-beta, + alpha_logarithm_absorption=r, + local_gauge_sublinear=1-eps-r, + core_above_band=eps-wide, + record_suffix=1-eps, + prime_interval_packing=1-eps, + semantic_dimension_guard=1-eps, + microbox_larger_than_halo=Q(8-3)-beta, + short_record_fallback=eps-a_eff, + improvement=kappa-selected, + ) + slacks.update({name+'_above_kappa':val-kappa for name,val in margins.items()}) + assert eps*q == 1-eps+q*beta + return dict(parameters=dict(a_bit=a_bit,a_eff=a_eff,b=b,q=q,r=r,zeta=zeta, + t_stop=t_stop,tau=tau,sigma=sigma,lambda_=lam,lambda_prime=lam_prime, + epsilon=eps,beta_group=beta,kappa=kappa,selected=selected, + omega_upper=omega_upper,microbox_power=Q(8),halo_power=Q(3)), + margins=margins,slacks=slacks) + +def convert(o): + if isinstance(o,Q): return {'rational':str(o),'decimal':dec(o)} + if isinstance(o,dict): return {k:convert(v) for k,v in o.items()} + return o + +if __name__ == '__main__': + row=compute() + assert 7**16 < 2**45 + assert all(x>0 for x in row['slacks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + controls={} + for name,kw in [('complex_endpoint_equality',{'q':Q('0.001675462676808103522925')}), + ('zero_group_guard',{'zeta':Q(0)}), + ('old_per_axis_scan',{'old_vd':True})]: + bad=compute(**kw) + failed={n:v for n,v in bad['slacks'].items() if v<=0} + assert failed, name + controls[name]={'rejected_slacks':failed} + result=dict(status='PASS_EXACT_ARITHMETIC_PENDING_FULL_PROOF_REVIEW', + scope='Exact outer arithmetic; no automatic theorem promotion.', + **row, controls=controls, + theorem_obligations=[ + 'retained finite suppliers and exact common-frame/mutable-source compiler', + 'deferred reservations and paid global synthetic layout', + 'shallow Toeplitz plus SPD extension and tensor compiler', + 'small-a forward conditioning and exact target-grid square completion', + 'grouped sparse-union route and batched boundary arithmetic', + 'dyadic core with sparse microbox-face repair and monotone q-image scans', + 'scalar product-diagonal scan and retained all-size semantic/prime/error transfer', + ]) + path=ROOT/'OUTER-ARITHMETIC.json' + path.write_text(json.dumps(convert(result),indent=2)+'\n') + print(result['status']) + print('kappa',dec(row['parameters']['kappa'])) + print('minimum margin',dec(min(row['margins'].values()))) + print('gain',dec(row['slacks']['improvement'])) + print('positive exact slacks',len(row['slacks'])) + print('negative controls',', '.join(controls)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md new file mode 100644 index 0000000000..bbeeee7431 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/AUDIT.md @@ -0,0 +1,242 @@ +# Grouped phase-cell layout audit + +The sparse-union layout in `REFINED-PHASE-FUSION.md` has a constructive +implementation with its stated `V g^2 W polylog(p)/d` per-group movement +budget. It does not require sorting the full tensor or retaining d full +payload scans. The conclusion is conditional on the separately supplied +dense local tensor compiler, rounded phase-cell factorization, and precision +bounds. This audit does not prove those algebraic/analytic inputs. + +The maximum physical bandwidth **W**, including the broad forward map, must +be used in the dyadic carving and support sets below. The narrower inverse +bandwidth alone is insufficient for the broad map. The phase-assembly +branch confirms this convention. + +## Exact operator order and the union that is actually invariant + +Write H in interior/boundary order as `[A B; C D]` and let +`S=D-C A^-1 B`. The displayed identity in the parent note is correct. In +execution order its inverse can be scheduled as + +``` +diag(A^-1,I) +[I 0; -C I] +diag(I,S^-1) +diag(A,I) +[I -B; 0 I] +diag(A^-1,I). +``` + +The middle two diagonal factors commute. Thus there are three dense +interior stages and two sparse windows: the C and S^-1 stages share one +window; B uses the second window. For H itself, reverse and invert this +sequence: the same original B,C and S occur, with signs reversed and dense +A/A^-1 interchanged. No dense A^-1 B or C A^-1 shear is smuggled into the +sparse boundary cost. + +For each active axis i, let J_i be its designated boundary coordinates. +Let E_i contain J_i and every interior coordinate incident to an original +nonzero entry of B_i or C_i. Original physical bandwidth W implies that E_i +lies within O(W) of the carved endpoints. Include physical-period cuts, +artificial phase cuts and clipped microbox endpoints. Dyadic carving gives + +``` +|E_i| <= C (L/d+1) W log d, +mu := max_i |E_i|/L = O(W log d/d + W log d/L) +``` + +inside a length-L microbox. All sparse factors have the block form +`T_i = I_(E_i^c) direct_sum T_i|E_i`. In particular S_i^-1 can be dense on +J_i: J_i is already included in E_i. Let + +``` +U = {x in [L]^g : some x_i belongs to E_i}. +``` + +Then `|U|/L^g <= g mu`. Every sparse tensor-axis operation preserves U and +its complement. If x_i is changed by a nonzero off-diagonal entry, both +its old and new coordinates belong to E_i; otherwise it is unchanged. +This proves closure for an arbitrarily long sequence of these sparse +operations, not just one application. + +Dense A or A^-1 is **not** covered. It can move a near-boundary interior +coordinate into the deep interior. Scatter U before a dense stage and +regather afterwards. `check_union.py` includes an exact example in which +dense A^-1 sends union-supported data outside U. The actual schedule above +therefore uses two union gathers, not one retained union for all six stages. + +## Complete rectangles inside the union: no missing-zero assumption + +For one sparse axis i define + +``` +U_i = {x : x_i in E_i} = E_i x [L]^(g-1). +``` + +This is a **complete rectangle**, and it is wholly present in U regardless +of which other coordinates are near a boundary. All nonidentity data needed +by T_i is in U_i. A line with every other coordinate outside its own E_j +still has every E_i coordinate present. A line with another boundary +coordinate may contain more data, but those extra E_i^c entries are identity +coordinates and need no boundary computation. + +Keep a copy of U in its original microbox lexicographic order, with a short +coordinate/membership header. For each axis i: + +1. Scan U once and copy records with x_i in E_i to an auxiliary stream. + The copied stream is lexicographic E_i x [L]^(g-1). +2. Rename the increasing E_i coordinates by their ordinal 0,...,|E_i|-1. + This is a stream counter; no rank/select query is needed. +3. Expose that one field at the line suffix using the retained small-field + transpose. Its length is at most L=poly(p), so only O(log p) binary + block moves are needed. Pad only this field to its next power of two + temporarily, at a factor below two, and remove that padding before the + next axis. The other fields may be arbitrary spectators. +4. Apply the original B/C or boundary S/S^-1 factor on its complete E_i + line, retaining identity coordinates E_i\J_i when appropriate. +5. Undo the transpose at the actual field length. Merge the ordered E_i + stream back into a fresh copy of U, replacing exactly those entries. + +No array is completed by invented zero coordinates. The finite checker +verifies the extracted rectangle cardinality and the full tensor result. + +The extraction/merge costs O(|U|) per axis. Transposition costs +O(|U_i| polylog p). Consequently one sparse window costs + +``` +O(V [g^2 mu + g mu polylog p]) + = O(V g^2 W polylog p/d) + O(V g^2 W polylog p/L). +``` + +There is no factor `K=g log s` from a computed-key sort in this part of the +algorithm. A more general radix implementation would still fit with extra +small powers of g, but the complete-rectangle construction avoids it. + +## Union extraction and piece catalogues + +Only one full microbox scan is needed to form U, and one to scatter it. +For every complete p-bit coefficient record, compute its g membership flags +from its coordinate tuple and OR them. The flags and coordinate header have +O(g log L) bits. A nonzero number of flags sends the whole record once to U; +it is not duplicated for each active axis. + +This is a charged descriptor calculation. For actual source periods of +bitlength h=Theta(p/d), q_j inversion and phase-cell endpoint calculations +use O(h^2 polylog p) elementary bit operations per axis. Within a phase +cell, the greedy dyadic carve is found by at most O(log d) halvings and +integer comparisons. Thus a conservative membership cost is +`O(g h^2 polylog p)` per record, which is o(p) for +`g=p^(1-epsilon-r-zeta)` and epsilon>2/3. At the proposed epsilon this has +power about 0.005. It is absorbed by reading the p-bit record once. +Alternatively the original remainder phase generator and an odometer give +the same membership flags in sequential coordinate order. + +Factor pages may be regenerated once per complete microbox/group from its +actual coarse origins, using the supplied polynomial-time coefficient +generation. The complete inner microbox and untouched spectator payload +are superpolynomial in p and amortize this polynomial setup. This avoids +random access to a global catalogue in the scrambled coarse order created +by a support-limited gather. Online row/factor pages are then visited in +the ordered extracted E_i line. All page rewinds are within that line or +RHS batch and are included in the corresponding boundary arithmetic. + +## Batched right-hand sides do not add a large transpose + +All other inner coordinates and following tensor axes are independent +right-hand sides for an axis operation. Their count R is superpolynomial. +Batch them in a dyadic width between W and 2W; the final incomplete batch +can be padded once at constant cost. To put the batch index outside the +boundary-row field, move only that polynomial-width row field. This costs +O(log p) times the boundary volume, not a transpose of the long spectator +field. Each W-by-W factor page is scanned once per RHS batch and reused in +the block product. Reverse the small-field layout after the solve. + +Thus the assumed Strassen `W^omega` per W RHS gives the quoted total +`O(V W^(omega-1) polylog p)` boundary arithmetic. This audit checks the +layout and factor reuse; stability and the no-pivot factor theorem remain +the phase-assembly branch's responsibility. + +## q_j embeddings, selections and source order need one group scan + +For a group, each coordinate map `j -> q_j=floor(tj/s+1/2)` is increasing +and injective. Its tensor product preserves lexicographic order on its +image. Enumerate the target-group rectangle once. At target coordinate k, +set + +``` +j=max(0,ceil(s(2k-1)/(2t))). +``` + +The coordinate belongs to the image iff `j infinity`. Individual guarded neighborhoods +fit the original long axis; the collection of all g controls does not have +to fit in a single axis. This is the same support proof already audited. + +Microedge correction is unchanged. The underlying rounded operator and its +physical bandwidth do not change when a factorization receives more cuts. +Only the principal restriction and Schur decomposition are repartitioned. +The retained Neumann/principal-window comparison still applies to that +same operator. With L=p^8 and halo A=p^3, the additional output fraction is +O(g p^-5), now about p^-4.9064. Its sparse gather, true-period correction and +old sequential local solvers are still negligible. Capping does not turn +this into a dense non-dyadic tensor halo. + +The pinned independent arithmetic checks give approximately + +``` +epsilon = .9984838711085558 +b = .9064167934681446 +beta = .0935821965318554 + +per-group union movement power = -.2192524004044339 +total union movement power = .6856492741722665 +total group scan power = .9049016745767004 +membership descriptor power = .0966144543147439. +``` + +`check_capped_layout.py` independently checks finite capped partitions, +dyadic block sizes, separator distances, worst-pattern elimination fill, +and these exact rational layout inequalities against the pinned candidate +JSON. No layout blocker was found. + +This signoff is specifically for carving, sparse support, actual stream +movement, descriptors, and inherited microedge placement. It does not +independently prove the newly anchored broad/narrow Gaussian formulas or +their final precision bound. Those remain the algebraic/analytic cap audit. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json new file mode 100644 index 0000000000..1fd05118b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MANIFEST.json @@ -0,0 +1,16 @@ +{ + "AUDIT.md": "54aafc7afd09fe1a5312e69fad09c87422690543ab75c6ae35f6cbcc26b3eb8a", + "CAPPED-LAYOUT-CONTROLS.json": "6c1342c436fb487a5aa39cf563d2a2e2fddd94d3e441a6f4889cb1e2b73a478c", + "CAPPED-SIGNOFF.md": "70e9175ebde200f8b016236adc88c4a1c4858945e7c3e5c453a8b6a5f79a263a", + "MATRIX-LAYOUT-CONTROLS.json": "f8bd8729cb8438188e90fb9149f598b825461c97b4ed290584ca4367f812a48a", + "MATRIX-LAYOUT-SIGNOFF.md": "4c8c62f723232e842dc3bbdcc4defcc8ff1aeb86ba9f694661899dc6783b13c4", + "PARAMETERS.json": "9f72cfffa34844764ca65a6b4431cc5c779141751df746019db9d3ad8f1dee92", + "Q-EMBEDDING-CONTROLS.json": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "README.md": "0ec721f76dfa943e808afd3c2cc39ee69f1a6e5f4f77ba3c7c1373ad60db25af", + "UNION-CONTROLS.json": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9", + "check_capped_layout.py": "267d93ab5114ec160f88a6e65fd34c9f0696a686c36ba2dd194d6b70fa32a6bd", + "check_q_embedding.py": "ac858a14bbaf37e0e412a7ada282cd1586632f52b8a979733e775f50130969b6", + "check_union.py": "74608380d72567edcd4470c8d226b15848f9d3a4e5d77d652bdd8963480ab9ce", + "q-embedding.log": "24ead3534482397c00c23ad3dbbd4e930e02290e00c97765353d8783c6575c7d", + "union.log": "6c5262144215cc603bbc3bee93a9a6d9d2318d0177a59115fe560762998498f9" +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json new file mode 100644 index 0000000000..aee3270196 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-CONTROLS.json @@ -0,0 +1,30 @@ +{ + "status": "PASS_MATRIX_COROLLARY_NO_SORT_LAYOUT", + "source_sha256": "b0d4648e16df74fc0a3644baa8a82cbb82842c0aa21abe915a28c0c4c949182a", + "exponents": { + "union_fraction": { + "rational": "-3430918384747396741111767383/8006701850307232414091700000000", + "decimal": "-0.000428505825356260251146382720850643577327042013532977151967005" + }, + "membership": { + "rational": "269791328968194081006854064986174254715733926/1069348903949477650676785089185287127357866963", + "decimal": "0.252294950667420906279768139101314143625086172719573255573065" + }, + "total_union": { + "rational": "320264641396534864583914893734048954038319544983689789/320804671184843295203035526755586138207360088900000000", + "decimal": "0.998316639884594221546182952048279623715798111123297150773509" + }, + "group_scans": { + "rational": "2402698356122892965636680000000000000000000000/3208046711848432952030355267555861382073600889", + "decimal": "0.748959903622628611922902526129555589081788674143596616501459" + }, + "microhalo_fraction": { + "rational": "-380335532915361620704585/80067018503072324140917", + "decimal": "-4.75021475791267813012557319136042532178866352100676648857598" + }, + "rejected_union_full_key": { + "rational": "3334408963974161672450196077539/2668900616769077471363900000000", + "decimal": "1.24935673626196560962328042591872403463400943697970053427205" + } + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md new file mode 100644 index 0000000000..d683e4d495 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/phase_layout_audit_ultra/MATRIX-LAYOUT-SIGNOFF.md @@ -0,0 +1,64 @@ +# Matrix-corollary layout: positive signoff + +The no-sort union layout in `AUDIT.md` applies unchanged to +`work/phase_assembly_ultra/MATRIX-COROLLARY.md`. Its algebraic conditions are +closed axis supports E_i and a complete microbox; neither its proof nor its +implementation requires g2*W and B&(B-1)==0 and n>=2*W + J=set(range(W))|set(range(n-W,n));blocks=[];c=W;stop=n-W + while stop-c>=B+W: + blocks.append(list(range(c,c+B)));J.update(range(c+B,c+B+W));c+=B+W + while stop-c>4*W: + rem=stop-c;k=1<<((rem-2*W).bit_length()-1) + assert k<=B + J.update(range(c,c+W));blocks.append(list(range(c+W,c+W+k))) + J.update(range(c+W+k,c+2*W+k));c+=2*W+k + J.update(range(c,stop)) + assert sorted(J|{j for b in blocks for j in b})==list(range(n)) + assert sum(map(len,blocks))+len(J)==n + assert all(len(b)<=B and len(b)&(len(b)-1)==0 for b in blocks) + assert all(b[0]-a[-1]>W for a,b in zip(blocks,blocks[1:])) + assert len(J)<=10*W*((n+B-1)//B+B.bit_length()+1) + return blocks,J + +def fill_bound(n,blocks,J,W): + adj=[set(j for j in range(n) if j!=i and abs(i-j)<=W) for i in range(n)] + for block in blocks: + for v in block: + nbr=list(adj[v]) + for x in nbr: + adj[x].update(y for y in nbr if y!=x);adj[x].discard(v) + adj[v].clear() + order={v:i for i,v in enumerate(sorted(J))} + bandwidth=max((abs(order[i]-order[j]) for i in J for j in adj[i]),default=0) + assert bandwidth<=2*W + return bandwidth + +def main(): + total=0;examples=[] + for W in (1,2,3,4): + for B in (8,16,32,64): + if B<=2*W:continue + for n in range(2*W,4*B+1): + blocks,J=carve(n,B,W);total+=1 + n=4*B+7;blocks,J=carve(n,B,W);bw=fill_bound(n,blocks,J,W) + examples.append(dict(W=W,B=B,n=n,blocks=len(blocks),boundary=len(J),schur_boundary_bandwidth=bw)) + raw=SOURCE.read_bytes();source=json.loads(raw);p={k:Q(v['rational']) for k,v in source['parameters'].items()} + e,b,g=p['epsilon'],p['capped_block_power'],p['beta_group'];w=Q(1,2);h=1-e + exponents=dict(per_group_union_movement=2*g+w-b,total_union_movement=e+g+w-b, + total_group_scans=e-g,metadata_membership=g+2*h,microbox_key=g, + global_sparse_key=g+h,guarded_support_span=g, + sparse_microhalo_volume=g+3-8, + hypothetical_fullkey_union=e+2*g+h+w-b) + assert Q(1,2)1, theta=rho-1, q_i=floor(rho i+1/2), beta_i=rho i-q_i for all integer i. Define + +``` +x_i=exp(2a rho q_i), e_i=exp(-a rho^2 i^2+a beta_i^2), +G_ij=exp(-a q_i^2) x_i^j e_j, +r=exp(2a rho), c=product_(m>=1)(1-r^-m)>0. +``` + +The sequence x_i increases at least by a factor r at every step and tends geometrically to zero toward minus infinity. + +## Finite-origin identities + +For an integer origin l, Newton interpolation of columns j>=l gives, on every finite principal interval starting at l, + +``` +C_i(l)=product_(l<=k=j, +U_ij(l)=(e_j/e_i) h_(j-i)(x_l,...,x_i), j>=i, +G=L(l) diag(C_i(l)) U(l). +``` + +Here h denotes complete homogeneous symmetric polynomials, and both triangular factors have diagonal one. The powers arising from moving the monomial origin from zero to l cancel exactly: the pivot is C_i(l), not a residual power of x_i. + +Since C_i(l)>=c and the normalized complete-homogeneous coefficient is at most c^-1, + +``` +|L_ij(l)| <= c^-1 G_ij, +|U_ij(l)| <= c^-1 G_ij. +``` + +All limits as l tends to minus infinity exist, including fixed-degree h over the infinite summable past. The displayed Gaussian domination permits passing the factorization to the bilateral limit. + +## Inverse factors + +For i>=j and h=i-j, + +``` +(L(l)^-1)_ij=(-1)^h C_i(l)/C_j(l) + * exp(a[-beta_i^2+beta_j^2-rho^2 h+2rho sum_(j=i and h=j-i, + +``` +(U(l)^-1)_ij=(-1)^h (e_j/e_i) e_h(x_l,...,x_(j-1)). +``` + +The latter e_h is elementary symmetric, distinct from the scalar normalization e_j. Its dominant product consists of x_i,...,x_(j-1), so its normalized value is at most c^-1. + +Using |beta_i|<=1/2 in the two exact exponents gives uniform estimates + +``` +|(L(l)^-1)_ij| <= c^-2 exp(a/4-a rho theta h), +|(U(l)^-1)_ij| <= c^-1 exp(a/4-a rho theta h). +``` + +These pass to the bilateral limits. Products of triangular factors and their inverse factors have only finitely many terms for each supported matrix entry, so both inverse identities survive directly. All four factors define bounded absolutely row-summable operators. + +## Periodization + +Every limiting factor is simultaneously s-periodic in its row and column indices. For a bounded absolutely row-summable periodic array A, define + +``` +Pi(A)_ij=sum_(n in Z) A_(i,j+ns), 0<=i,j=1**, this is O(theta^-2), with a constant depending only on a. Thus a fixed admissible integer Gaussian width alpha suffices for the norm and perturbation estimates. No logarithmic growth of alpha is needed for conditioning. + +The theorem changes an analytic parameter constraint. Applying these factors quickly on the tape remains a separate constructive obligation. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md new file mode 100644 index 0000000000..59d9128d75 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/HOLES-AND-Q-LDU.md @@ -0,0 +1,211 @@ +# Independent checks of Gaussian interpolation and holes completion + +Status: exact algebraic identities and analytic bounds below; no complete new inverse implementation, and no final kappa claim. This continues the parent investigation after the first outer-reduction package. + +## 1. Local scaled Vandermonde identity + +Write `a=pi*alpha^2`, `rho=t/s`, `q_i=floor(rho*i+1/2)`, and `beta_j=rho*j-q_j`. On any nonwrapping index interval, + +``` +N_ij = exp[-a*(rho*j-q_i)^2 + a*beta_j^2] + = exp[-a*q_i^2] * (exp[2a*rho*q_i])^j + * exp[-a*rho^2*j^2+a*beta_j^2]. +``` + +Translations of both index origins preserve a diagonally scaled Vandermonde representation. If the local span is L, centered nodes have logarithms O(aL), and the product-tree polynomials, Lagrange denominators, and outer diagonals have logarithmic height O(aL^2+L). Thus L=O(sqrt(p/a)) is compatible with Cp-bit working precision. Distinct nodes are explicitly separated, so the inverse of a *single supplied principal block* can be computed by multipoint interpolation with that precision and O(L p polylog p) bit cost. + +This does not justify independent short blocks. The current inverse has strong directed coupling near the end of a phase cell. Its exact q-LDU below shows why a halo of width merely sqrt(p/a) can lose much more than 2^-p. + +## 2. Exact Gaussian Toeplitz LDU in a no-gap phase cell + +Within a cell `q_i=i+c`, put `theta=rho-1`, + +``` +q=exp(-a*rho), Q=q^2, +P_j=product_(k=1..j) (1-Q^k), P_0=1, +D_i=exp(a*theta*i^2-2a*c*i), +G_ij=q^((i-j)^2). +``` + +Then `N=diag(D_i)*G*diag(D_i)^-1`. With the Gaussian binomial + +``` +{i choose j}_Q = P_i/(P_j*P_(i-j)), +``` + +the exact lower factor and its inverse are + +``` +L_ij = q^((i-j)^2) * {i choose j}_Q, i>=j, +Linv_ij = (-q)^(i-j) * {i choose j}_Q, i>=j, +G = L * diag(P_j) * L^T. +``` + +These follow from the ordinary Newton factorization of the Vandermonde matrix at nodes Q^-i; eliminating its successive monic Newton polynomials gives the displayed Gaussian binomial factors and pivot P_j. The inverse follows from the finite q-binomial theorem, or multiplying the two triangular factors and grouping equal powers of Q. `check_q_ldu.py` verifies both identities exactly at 30 rational q/size choices (1,155 matrix entries), including diagonal conjugations. + +Each triangular application is a diagonally scaled Toeplitz convolution: + +``` +L = diag(P_i) T_(q^(h^2)/P_h) diag(P_i)^-1, +Linv = diag(P_i) T_((-q)^h/P_h) diag(P_i)^-1. +``` + +The N factors add only the D_i conjugations. Their inverse lower entries have exponent + +``` +a*((2*beta_i-rho)*h - theta*h^2), h=i-j. +``` + +Since beta_i<=1/2, + +``` +abs((D Linv D^-1)_ij) + <= C exp[-a*theta*h*(h+1)], +C = product_(k>=1)(1-Q^k)^-1. +``` + +The upper inverse obeys the same bound using beta_i>=-1/2. For a>=pi and rho>1, C<2 by a geometric bound on the logarithm of the infinite product. Hence both inverse triangular factors have row norm O(1+(a theta)^-1/2). The P_j diagonal is bounded between 1/C and 1. This avoids using cancellation of exponentially large factors to bound the *completed* inverse. Over one cell, the explicit D_i range costs O(a/theta) guard bits, so the retained condition alpha^2/theta=O(p) still suffices for a straightforward implementation. + +This supplies a clean alternative to the retained Gohberg–Semencul interior solve. The latter already has linear convolution cost; a new exponent requires treating the gaps between cells or their boundary system. + +## 3. Exact complementary hole positions + +Let 11, x_k=r^k, and V_t=(x_k^j)_(0<=k,j=k, and 0 otherwise, +(V_holes^T)_(j,h) = x_h^j. +``` + +The coefficient of X^(t-1-j) in P(X)/(X-x_h) equals +`sum_(k=0..j) p_(t-k) x_h^(j-k)`, by synthetic division from the leading end. Lagrange interpolation gives the identity. + +Given values only on selected nodes, set the H missing values initially to zero and do one full interpolation. Solve A for the missing values that cancel the H degree-tail coefficients, then interpolate with the completed values. The resulting polynomial has degree=1, + +``` +abs(B_ij) <= exp[-a*rho*(rho'*k^2-k)]. +``` + +Indeed the relevant distance is at least rho'k-1/2, and the subtractive delta_j^2 is at most 1/4. Thus off-diagonal row sums are bounded by a convergent geometric Gaussian tail, with first exponent a rho(rho'-1). For small theta, rho' is Theta(1/theta), so this exponent is Theta(a/theta). To obtain error 2^-p a direct truncated solve only needs complementary width + +``` +O(1+sqrt(p/(a*rho*rho'))) = O(1+sqrt(p theta/a)). +``` + +This rigorously confirms the conditioning and narrow-band part of the parent's holes-completion proposal. It is not a cost proof for the complete original inverse: the Toeplitz T and full geometric interpolation must first be implemented with their enormous diagonal scalings canceled symbolically. + +## 6. A useful normalized erasure-coefficient bound + +Let hole exponents h_0<...=g, let R=r^g>1, and e_k be the kth elementary symmetric polynomial in r^h. Let M_k be the product of the k largest nodes. Then + +``` +1 <= e_k/M_k <= product_(j>=1)(1-R^-j)^-1. +``` + +For any selected k-index subset, compare its indices with the k largest indices. Its nonnegative deficits form a partition, and its product divided by M_k is at most R to the negative partition size. Summing over partitions proves the bound. The contribution from deficit >=m is at most + +``` +R^(-m/2) * product_(j>=1)(1-R^(-j/2))^-1. +``` + +For R>=4 the latter product is below 4, so retaining deficit less than `m >= (2p+4)/log2 R` suffices for relative error below 2^-p. Thus normalized coefficients have bounded height even when unnormalized coefficients contain Theta(a theta t^2) exponent bits. Only O(p theta/a) partition energy near the subset boundary is relevant. + +Likewise, for a nonhole i, pull `product_h max(r^i,r^h)` out of |E(r^i)|. The residual is `product_h(1-r^-|i-h|)`, which lies between `product_(k>=1)(1-r^-k)^2` and 1. It is uniformly bounded away from zero for fixed r>1. These are positive products and sums; the bounds do not depend on fortuitous numerical cancellation. + +The unresolved algorithmic question is performing the needed polynomial multiplication/division while storing these *degree-dependent* scales, rather than one common scale. Feeding the raw coefficients to an ordinary FFT requires Theta(a theta t^2) bits; declaring that cost absent is invalid. The positive partition estimates give a concrete starting point for a banded or locally normalized implementation. + +## 7. Correct boundary of the result + +- Exact q-LDU, exact hole indexing, exact completion, complementary conditioning, and the normalized erasure bounds above are established algebraically. +- `Q-LDU-CONTROLS.json` and `HOLES-CONTROLS.json` contain finite independent checks. +- No stable all-size global holes solver is implemented here. Its fully paid precision/tape cost remains open. +- No final multiplication exponent follows from these identities alone. + +## 8. Weighted full-geometric interpolation: a stable local implementation + +This is a further positive lemma for one component of holes completion. It does **not** complete the Toeplitz/complement adapters. + +Let beta=H/t=theta/rho, let h_l be the actual holes above, and let h*_l=(l+1/2)/beta be the ideal equally spaced holes. For x in [0,t], define + +``` +R(x) = 2a*rho * sum_l (x-h_l)_+ - a*theta*x^2. +``` + +This is the logarithm of the dominant erasure evaluation after canceling the full-geometric Gaussian input diagonal, up to a constant independent of x. That constant can be kept symbolically and canceled at the final adapter. + +For ideal holes, put m=floor(beta*x+1/2). Then + +``` +sum_l (x-h*_l)_+ = m*x - m^2/(2beta), +R*(x) = -(a*rho/beta)*(m-beta*x)^2, +-a*rho/(4beta) <= R*(x) <= 0. +``` + +Since |h_l-h*_l|<=1/2, compare increments on [x,x+v]. Holes below both endpoints give the same increment v under both locations, and holes above both give zero. Only O(beta*v+1) holes whose ideal or actual locations meet the interval can contribute; each contributes an error at most 1/2. Consequently, for 0<=x<=x+v<=t, + +``` +|[R-R*](x+v)-[R-R*](x)| <= a*theta*v + O(a*rho), +|R(x+v)-R(x)| <= a*theta*v + K, +K <= 4a/theta (01. It is a norm lemma, not a complete fast inverse algorithm. + +Let s>=5, s=1. The exact periodic normalized Gaussian matrix is + +``` +N_(i,j mod s) = sum_(k congruent j-i mod s) + exp[-a*((beta_i+rho*k)^2-beta_(i+k)^2)]. +``` + +Its principal k=0 term is one. Let L be its k=-1 weighted cyclic shift and U its k=+1 shift. Thus + +``` +L_i = exp[-a*((beta_i-rho)^2-beta_(i-1)^2)], +U_i = exp[-a*((beta_i+rho)^2-beta_(i+1)^2)]. +``` + +All other k terms form R. The aliases k=±s and beyond remain in R; they are not discarded. + +For h consecutive lower factors the exponent telescopes to + +``` +beta_i^2-beta_(i-h)^2 - 2rho sum_(j=0..h-1) beta_(i-j) + h rho^2 + >= h rho theta - 1/4. +``` + +The upper factors obey the same bound. Therefore both alternating Neumann inverses exist, including over arbitrarily many cyclic wraps, and + +``` +||(I+L)^-1||, ||(I+U)^-1|| + <= B = exp(a/4)/(1-exp(-a rho theta)) + <= 2 exp(a/4)/theta. +``` + +The final inequality uses a>=1 and 0=2, + +``` +(beta_i+rho*k)^2-beta_(i+k)^2 + >= (rho*|k|-1/2)^2-1/4 + >= k^2-|k|. +``` + +Consequently + +``` +||R|| <= 2 exp(-2a)/(1-exp(-4a)) < 4 exp(-2a). +``` + +Write `A=(I+L)(I+U)`. Then N=A+(R-LU), and + +``` +||A^-1(R-LU)|| <= 5 B^2 exp(-2a) + <= 20 theta^-2 exp(-3a/2). +``` + +If `a>=4 ln(16/theta)`, this is bounded above by +`20 theta^4/16^6 < 1/2`. Hence + +``` +||N^-1|| <= 2 B^2 <= 8 exp(a/2)/theta^2. +``` + +Choose the integer `alpha=ceil(sqrt(4 ln(16/theta)/pi))`. With +`a0=4 ln(16/theta)`, the elementary ceiling inequality gives +`a<=2a0+2pi`; therefore + +``` +||N^-1|| <= 8 exp(pi) 16^4 theta^-6. +``` + +This is an explicit polynomial bound. For theta=Theta(1/d), alpha^2=O(log d) and the total original tensor scale has logarithm O(d log d)=o(p) for every fixed d=p^epsilon, epsilon<1. The period and aliases introduce no exception. + +## Exact controls + +`check_nearest_neighbor.py` checks 69 admissible finite (s,t) pairs and 93,976 product identities/bounds, including all skip gaps and two complete cyclic wraps. It uses exact rational exponents and no floating point. The exponential conclusions follow from monotonicity and the displayed convergent geometric sums. The output is `NEAREST-NEIGHBOR-CONTROLS.json`. + +## Remaining algorithmic obligation + +This lemma establishes that logarithmic alpha squared is analytically permitted. The old inverse implementation still incurs too much work at that alpha. A fast stable inverse, such as a fully normalized holes-completion algorithm, must still supply its actual movement, rounding and operation count. Erasing the inverse cost from the outer ledger would not follow from this norm proof alone. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md new file mode 100644 index 0000000000..876f44a23e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/PARTIAL-FUSION.md @@ -0,0 +1,60 @@ +# Partial tensor fusion: a strictly better prospective outer balance + +This is a prospective cost theorem, not an implemented resampler. It changes the full-fusion target to a smaller interface whose precision is payable. + +Suppose the normalized holes construction is completed so that a g-axis Gaussian group is a fixed number of tensor geometric/Toeplitz convolutions, diagonal factors, and corrections supported on the hole rows, and suppose its halo gather/scatter has the same asymptotic cost. Let d=p^epsilon and a=Theta(log d), theta=Theta(1/d). + +The exact normalizations developed in HOLES-AND-Q-LDU.md have local logarithmic range O(a/theta)=O(a d) per axis. Therefore g axes can be fused with O(p) guard bits if + +``` +g*a*d = O(p). +``` + +Taking `g=p^(1-epsilon-zeta)` for fixed zeta>0 pays the logarithm and leaves strict slack. There are d/g groups. A group convolution using the retained supplier with saving q costs, after division by full volume, + +``` +g^(1-q) polylog p. +``` + +Thus all Gaussian groups cost + +``` +(d/g)*g^(1-q) = d/g^q + = p^[epsilon-q*(1-epsilon-zeta)]. +``` + +Its saving is `(1+q)*(1-epsilon)-q*zeta`. The main synthetic transform, using deferred reservations, retains saving epsilon*q. Ignoring the arbitrarily small fixed zeta and strict absorption gaps, balancing yields + +``` +epsilon=(1+q)/(1+2q), +kappa=q*(1+q)/(1+2q). +``` + +This exceeds the old `q/(1+q)` by exactly + +``` +q^3 / ((1+q)*(1+2q)). +``` + +That is a new outer balance, rather than tighter rational margins in the old family. At the selected complex endpoint the difference is about 4.7e-9. For example take q equal to the selected complex saving minus 10^-10, zeta=10^-8, the displayed epsilon, and kappa ten^-11 below the smaller main/Gaussian margin. The resulting exact arithmetic target is approximately + +``` +0.00167266475042434534254271472, +``` + +about 4.55335e-9 above the selected 0.001672660197076918. This is only a prospective target until both missing interfaces below are established. + +## Other paid terms + +The bit routing saving is larger than q at the selected pair. Moving a group of O(g log p) small coordinate bits across spectator fields costs O(V g^(1-a_bit) polylog p) per group, hence O(V d/g^a_bit polylog p), below the convolution cost since a_bit>q. A superpolynomial untouched spectator suffix remains available while processing a group, so the compact supplier's descriptor work can still be paid; pointwise small-polynomial products require a separately paid small-field transpose but only logarithmic-width fields. + +The g-axis scalar normalization costs O(g a), and the stronger local weights cost O(g a d); both fit O(p) by construction. For local convolution window L=O(p/a+d), take a dyadic microtile N≫gL. The total halo volume is bounded by `(1+O(L/N))^g=O(1)`. The gauge increment bound implies total logarithmic variation O(g[a theta N+a/theta]); with N=Theta(gL), the extra condition is g^2<=O(d). It holds at the proposed epsilon near one, since 2(1-epsilon)q`, and requires `dK=o(p)`. Thus even if all Gaussian work disappeared, retaining that reservation argument would still force `epsilon<1/(1+q)`. It is insufficient to erase just the Gaussian row from a ledger. + +The selected outer logic was read in `research/complex-pr615-ceiling/vendor/multicold/engines/outer.py`; its seven margins and 47 slacks match the current 1094 assembly. The underlying detailed interfaces are in upstream sections 02, 04, 05, 06, 07, 08, 09, 10 and the cited `references/semantic-bulk/rad20/reports/` transfer notes. In particular, the current bulk Gaussian proof already uses local principal windows and short fields; proposing that same improvement again would not change the selected result. + +## 2. Deferred reservations: removing the power-width reservation condition + +This is an all-size **conditional transfer argument**, assuming the retained complete rectangular compact gadget, exact common-frame circuit, arbitrary coordinate router, and linear semantic guard. It does not require a new finite supplier identity. + +Let `G=4 ceil(log2 p)+6`, and choose `K=128G`. At a layer on `h` still-unprocessed selected bits, reserve enough complete K-bit chunks to provide the two front H-bit fields, one back H-bit field, and row bits, where `H=hG`. The number of reserved chunks is + +``` +R(h) = ceil(3hG/K) + O(log h). +``` + +For `h` above a fixed polynomial in `log p`, `R(h) <= h/16`. Select those chunks from the still-unprocessed axes. Apply the retained compact circuit to the other `h-R(h)` bits, borrowing all three dirty fields from the reserved subset. At the completed-call boundary it is exactly `C` on the active bits and identity on every reserved or spectator bit, for arbitrary initial coefficients and arbitrary dirty addresses. Therefore all reserved bits retain their original complete ranges and can be processed next. + +Repeat on the reserved subset. The processed subsets are disjoint. Stop once `h=polylog(p)` and apply those remaining kernels individually. This is **not** a recursive call on a truncated record or a clean-scratch claim: the entire original stream is still present, with the same full polynomial suffix, and every previously processed coordinate is an untouched spectator. Completed kernels on disjoint selected bits commute. All row padding is removed before moving to the next phase, so temporary factor-two padding never multiplies across phases. + +To establish the time bound, retain the original `m,W,s` recurrence and stop its internal recursion at `d^beta`. With `sigma=1-b`, any `lambda>max(1-a,sigma)` gives, with logarithmic factors suppressed, + +``` +F(h) <= O(h^lambda + h^sigma d^(beta*(1-sigma)) + 1). +``` + +This follows because a packed local basis change has width `O(hG)` and hence cost `O(V h^(1-a) polylog p)`. The term formerly written `(h d^c)^(1-a)` is now `h^(1-a) polylog p`. All compact-gadget exceptional fractions remain polynomially small with K=128G; the retained repair proof uses the current call's O(p)-bit address and is not replaced by a global exception count. + +Since `h_j <= d/16^j` above the polylogarithmic tail, + +``` +sum_j F(h_j) + = O((d^lambda + d^(sigma+beta*(1-sigma))) polylog p). +``` + +The extra physical rearrangements of complete existing fields cost +`O(V p^(1-a) polylog p)` by the retained arbitrary coordinate router, over O(log d) phases. Its polynomial descriptor work is paid by the unchanged superpolynomial polynomial-record suffix, at every internal call. This is additive, not free routing. + +Consequently, for every fixed `q < min(a,(1-beta)*b)`, the whole layer has + +``` +O(V [d^(1-q) + p^(1-a)] polylog p). +``` + +The common guard remains O(d): each completed phase changes semantic numerator/denominator bounds by O(h_j), and `sum h_j=O(d)`. Only the currently active phase contributes its internal excess. There is still exactly one truncation after the entire normalized layer. No power K=d^c and no condition c>q remains. K=o(ell) now follows from `ell=p^(1-epsilon)` for every fixed epsilon<1. + +The extra top round on the long axes can use the same layer after a paid coordinate rearrangement collecting its selected bits and K-bit complete neighborhoods. The common rounds use a single paid global layout router, rather than `p/K` separate K-swaps. Thus the transformed version of the synthetic cost is + +``` +O(V [p^(1-a) + ell*d^(1-q)] polylog p). +``` + +This is the strongest positive transfer established by the present note. It removes the geometric source of `q/(1+q)` in the compact compiler. It does not remove the independent O(Vd) Gaussian and scalar costs. + +### Checks + +`check_constructions.py` checks 1,000 exact reservation schedules and 5,460 entries of actual Gaussian-rational `C` tensor matrices. Every axis is processed once; the phasewise output equals the independently calculated closed tensor matrix. Omitting the deferred subset is a retained failing control. These checks support the written argument; they are not an all-size compiler implementation. + +## 3. Batched right-hand sides for the Gaussian boundary inverse + +This refinement applies to the precomputed noncyclic banded L/U factors in the retained principal-window solver. It uses the many spectator lines carrying the same axis matrix. + +For a triangular matrix with scalar bandwidth w, group consecutive rows into blocks of a power-of-two width `B in [w,2w)`. There is only one preceding block in a lower solve (one following block for an upper solve). Precompute each diagonal-block inverse. For B simultaneous right-hand sides, the update is + +``` +X_j = L_jj^-1 * (Y_j - L_j,j-1 * X_j-1). +``` + +Two B-by-B products implement each update. The seven-product identity gives `O(B^omega)` scalar operations, `omega=log_2(7)`. For z boundary rows and R>=B right-hand sides, splitting the columns into B-column batches gives + +``` +O(z R B^(omega-2)) +``` + +scalar work. Incomplete edge blocks and the last RHS batch are zero-padded only for the current product; this is a constant temporary volume increase, not a tensor-axis padding factor. The matrices may vary from row block to row block. No Toeplitz assumption is made. + +The original boundary has `z=O(M w/d + w)` rows in a length-M local window. Summed over axes and lines, the old regular contribution `V w^2` becomes + +``` +O(V w^(omega-1) polylog p). +``` + +The artificial-end contribution is handled by a polynomial-size microbox L; it is +`O(V d w^(omega-1)/L polylog p)`. The O(Vd polylog p) local field motion and interior-convolution cost is still paid and is still present. + +### Tape layout + +Expose the same axis and factor page used by the retained solver. Gather B adjacent RHS indices with a B-valued local field, moving that O(log p)-bit field across the current row field by the retained small-field transposition. It costs O(V log p) per axis. This charge belongs to the existing d-pass term. Read factor pages and RHS row blocks sequentially. Keep the immediately preceding solved B-by-B block on a fixed work tape. Products use a depth-first seven-product recursion, parking/restoring the other finitely many matrices at each node; scanning and quadrant rearrangement is O(B^2) per level and is dominated by B^omega. There is no random factor lookup and no separate tape for every RHS. + +### Precision + +Keep the retained O(p)-bit rounded factor entries and compute each B-by-B product exactly as a dyadic matrix product before one component rounding. An individual seven-product recursion has depth log B. Additions grow integers by only O(log B) bits at every product boundary, so exact products and their sums have O(p+log B)=O(p) bits. A block inverse is precomputed at the retained high precision, with its row-norm perturbation charged explicitly. + +Round after a completed block update, not between scalar products. The residual of the completed triangular system is bounded rowwise by `poly(p)*2^-P*(1+||X||)`, with P the retained large constant multiple of p. The retained inverse-norm bounds then give a uniform global solution error after absorption, independent of the number of row blocks. This is the same residual closure used by the original banded solver; it must be instantiated with new block-factor rounding constants in any adoption. An unproved claim of numerical stability of fast floating-point multiplication is unnecessary. + +For `u=p^r`, `w^2=O(p^(1-r))`. The revised regular boundary exponent is + +``` +((omega-1)/2)*(1-r), +``` + +whose saving at r=0 is `(3-log_2 7)/2 > 0.096`. Thus an implemented version could remove the old requirement r>kappa while keeping `epsilon+r<1`. It cannot remove the separate O(Vd) scan term by itself. + +### Exact checks and remaining check + +The script independently compares seven-product multiplication against classical multiplication, then compares 60 varied-size blocked triangular solves against exact Gaussian-elimination inverses (1,976 output entries). A dropped-predecessor-block control fails. This establishes finite algebraic orientation, padding and dependencies. A complete adaptation of the original numerical residual constants is still required before adopting the changed analytic interface. + +## 4. A concrete route toward tensor Gaussian fusion + +This section is **conjectural construction work**, not an established algorithm. The missing step is stated so it can be attacked. + +A possible way to avoid d separate Gaussian passes is to compute the tensor Gaussian on a microbox through one tensor convolution. For `rho=s/t`, a real Gaussian row has the exact scalar identity + +``` +exp[-a(j-rho*k)^2] + = exp[-a(1-rho)j^2] + exp[+a*rho(1-rho)k^2] + exp[-a*rho(j-k)^2]. +``` + +Integer translations of j and k add only linear factors, so each local rectangle is a diagonal, Toeplitz convolution, diagonal. Across axes, the diagonal factors fuse into one per-record multiplication. The central convolution is a tensor cyclic convolution after sufficient halos. + +With the current theta≈1/d, a local Gaussian halo has radius +`A=O(alpha*sqrt(p))`. To keep product halo volume constant, the core needs length `L=Omega(dA)`. But the fused diagonal logarithmic range is then +`O(d*theta*L^2/alpha^2)=O(d^2 p)`, not O(p). Thus the most obvious tensor-chirp fusion fails its precision ledger. This explicit failure should prevent a false positive. + +One changed hypothesis makes that favorable: choose source primes much closer to t, with `theta=Theta(d^-3)`. Then at `L=Theta(dA)`, that logarithmic range is O(p), and the product halo overhead is still constant. Such prime lengths are available eventually for every fixed epsilon<1: the explicit prime-counting error from Fiori–Kadiri–Swidinsky, Corollary 22, is `O(x sqrt(log x) exp(-c sqrt(log x)))`; on an interval of width `x/d^3`, with `log x=Theta(p^(1-epsilon))`, its error is o(x/(d^3 log x)). The interval contains far more than d primes, so distinct choices and `S/T=1-o(1)` follow. Trial division setup remains `n^o(1)`. This is an asymptotic existence argument with an enormous cutoff, not a practical prime-search claim. + +However two serious costs remain unproved: + +1. A power-of-two convolution window N has a useful core N-2A. Reinterpreting an axis by these variable non-dyadic cores is not the known binary-coordinate router. Padding every N-2A field to the next power of two costs 2^d. Performing the known small-field reshape one axis at a time costs Vd. A new simultaneous variable-core gather/scatter is needed, with full payload movement charged. +2. The inverse Gaussian correction is not itself one convolution. With theta=d^-3, the current phase-cell similarity weights range like `exp(O(u/theta))`, too large for its old O(p)-bit proof. The generic banded solve can avoid those enormous weights, but the present batched bound still has a d factor outside its favorable structured regime. The tensor inverse needs a different stable factorization or a sparse-boundary construction with a fully paid ledger. + +Therefore “choose closer primes” plus “use a multidimensional FFT” is not a proved bypass. It is an explicit construction program with two specified lemmas. + +## 5. Exact optimistic target and fully paid comparison + +Assume a new tensor-resampling interface gives + +``` +O(V [p^(1-a) + d^(1-q) + w^(omega-1)] polylog p) +``` + +for the complete expansion and inverse, including variable-core layout, coefficient factors, stable inverse, all restoration and only O(p)-bit records. Combine it with Section 2. The complete normalized saving is at least + +``` +min(a, epsilon*q, 1-epsilon*(1-q), + 1-((omega-1)/2)*(1-r), epsilon), +``` + +with strict `epsilon+r<1`, `q 0`, the complex endpoint exceeds q by `0.000000462676808103522925`, and the gamma gap is `0.000005`. The target exceeds the selected kappa by `0.000002319802923082` (about 0.1386894%). Letting epsilon approach one and q approach b would recover the complex saving itself, up to arbitrary strict slack. + +**Fully paid ledger today:** without the unproved tensor-resampling interface, the unchanged Vd term remains. It imposes `kappa<1-epsilon`, so maximizing the proven/reused terms still gives at most `b/(1+b)`. Sections 2 and 3 alone do not improve final kappa. Under the displayed sample, the paid Gaussian margin is only `0.00001`, so that sample FAILS the current interface. It is deliberately not emitted as a passing outer certificate. + +## 6. Reproduction and evidence + +Run from the parent workspace: + +``` +python3 work/radical_reduction_ultra/check_constructions.py +python3 work/radical_reduction_ultra/check_ledger.py +``` + +`CONTROLS.json` contains exact finite controls. `LEDGER.json` contains the optimistic row and the correctly rejected fully paid row. Neither imports a producer or mutates the source checkout. + +## Open next questions + +- Instantiate Section 2 against the exact current compact field-layout code and reject malformed reservoir choices. This is a bounded integration task; it could remove a real interface restriction even before a new final exponent is obtained. +- Carry the block residual argument in Section 3 through the retained P=32768p constants and factor-page format. The algebraic and layout reductions are explicit; numerical certification is the remaining bounded task. +- For the fusion program, first prove or disprove a simultaneous variable-core gather/scatter with O(V p^(1-a) polylog p) cost and no 2^d padding. This isolates the data-layout bottleneck before more analytic effort. +- Seek a stable tensor inverse for near-identity Gaussian resampling with theta≈d^-3 that avoids both enormous diagonal similarities and d sequential full scans. A finite small-d result is not enough; require the exact operator, record width and mass recurrence. + +## Primary sources and attribution + +- CrocSwap/integer-mult-bounds pinned upstream and transfer reports, in particular 02-streams, 04-swap, 05-layers, 06-transforms, 07-resampling, 08-assembly, 09-exact-arithmetic, 10-transposition; reviewed contributions by Douglas Colkitt and the cited independent contributors are retained unchanged. +- Harvey and van der Hoeven's original Gaussian resampling and multiplication interfaces are inherited through those source proofs. +- V. Strassen, *Gaussian Elimination is Not Optimal*, Numerische Mathematik 13 (1969), 354–356, DOI `10.1007/BF02165411`. The seven-product identity is reproduced and independently checked here; no modern matrix multiplication exponent is needed. +- A. Fiori, H. Kadiri, J. Swidinsky, *Sharper bounds for the error term in the prime number theorem*, arXiv:2206.12557v2, Corollary 22: https://arxiv.org/pdf/2206.12557 . Used only for the clearly marked close-prime construction program. + +## Later constructive developments + +The positive interpolation-tree and global two-tail results are in `STABLE-POSITIVE-TREE.md`, with exact controls in `POSITIVE-TREE-CONTROLS.json`. They provide bounded gauges for every signed-data intermediate and show that all high-level rank-one contributions collapse to two global running sums. Its Section 6 gives a normalized Sylvester factorization into a dirty Toeplitz shear, one well-conditioned full Toeplitz map, and one triangular Toeplitz map; `SYLVESTER-CONTROLS.json` checks that identity. + +The stronger fixed-width Gaussian norm theorem is independently audited in `FIXED-A-PERIODIC-NORM-AUDIT.md`, with `FIXED-A-LDU-CONTROLS.json`. It replaces the earlier sufficient logarithmic-width condition: for any fixed admissible a>=1, the periodic inverse has norm O(theta^-2). This is an analytic parameter improvement, not a completed fast inverse. + +The outer partial-fusion candidate in `PARTIAL-FUSION.md` remains prospective. Neither the stable, shallow in-place algebra for plain Toeplitz matrices nor bounded final Gaussian conditioning alone proves that the curved Gaussian coefficient gauges can be processed with only O(p) total guard bits when many axes are fused. That interface, and the actual halo movement cost, must be resolved before claiming a new kappa. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md new file mode 100644 index 0000000000..51920b3b76 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/REFINED-PHASE-FUSION.md @@ -0,0 +1,125 @@ +# A narrower positive route: fuse retained phase-cell interiors + +Status: a complete parameter ledger for a concrete conditional transfer. It avoids the unresolved normalized-erasure adapter. It still requires the new shallow in-place structured-matrix circuit to be integrated with the retained fast tensor supplier and a grouped sparse boundary gather. No new selected certificate is asserted. + +## Construction + +Keep the already reviewed phase-cell Schur decomposition, with + +``` +d=p^epsilon, u=alpha^2=Theta(p^r), w=Theta(p^((1-r)/2)), +0(1-r)/2. +``` + +The positive r may be arbitrarily small; it eventually dominates the old logarithmic lower bound on u. Thus this route can retain the established diagonal-dominance, rounded H, local inverse, and Schur residual proofs. The stronger fixed-a theorem is not needed here. + +Within each no-gap phase cell, the interior matrix is exactly + +``` +A=diag(a_j) G diag(a_j)^-1, +G_ij=G_(i-j), log(max a_j/min a_j)=O(u d). +``` + +The retained G is a symmetric truncated Gaussian Toeplitz matrix with `||G-I||<1/8`; hence G and G^-1 are uniformly conditioned. Apply its inverse by the new shallow in-place low-displacement circuit, rather than summing the two Gohberg-Semencul branches. The circuit's Toeplitz coefficients and Schur generators are precomputed. This is the algebraic connection to the new in-place work; the old source proof did not provide such a tensor-fusible circuit. + +Fuse + +``` +g=p^beta, beta=1-epsilon-r-zeta, +``` + +axes at a time, with fixed zeta>0. The total diagonal similarity guard is +`O(g u d)=O(p^(1-zeta))=o(p)`. Polylogarithmic circuit depth and bounded polynomial factor growth add only `O(g polylog p)=o(p)` bits. Every completed group has polynomial norm; error is allocated at the completed-group boundaries, preserving the retained O(p)-bit record model. + +### Dyadic interiors without exponential padding + +Inside a phase cell, repeatedly choose the largest power of two K such that `K+2w` fits the remaining interval, while its remaining length exceeds 4w. Make a piece of length K+2w, designate w endpoints on each side as boundary, and use its K remaining indices as the interior. The leftover interval of length at most 4w is all boundary. + +The remaining length at least halves on each step. Thus there are O(log d) pieces per original cell, every interior has dyadic length, and the total boundary size grows by only O(log d). No padding by a factor two per tensor axis is used. Schur fill still joins only the two w-sized endpoint groups of a piece, so its scalar bandwidth remains O(w). Distinct dyadic size classes require only O(log p) circuit schedules; inactive axes use identity stages. + +### Boundary arithmetic + +Let R denote the number of spectator right-hand sides, which eventually exceeds every polynomial in p. Batch them in groups of w. Every dense w-by-w block multiplication in the banded forward/backward solve, the border correction, and the boundary/interior couplings then costs O(w^omega) scalar products for w right-hand sides, omega=log_2(7)<2.8081. The retained no-pivot factors are precomputed; Strassen creates only polynomial intermediate growth in w, hence O(log p) extra guard bits. Use the existing global residual argument to bound the completed solve error. + +There are O(s*w*log(d)/d) boundary rows per axis. Consequently the total boundary arithmetic over all d axes is + +``` +O(V * w^(omega-1) * polylog(p)), +``` + +where V counts p-bit data volume. This includes H_BI and H_IB couplings; doing those couplings scalarly would incorrectly reintroduce V*w^2. + +### Five stages separate fused interiors from sparse corrections + +For the interior/boundary order write H=[A B; C D] and S=D-C A^-1 B. The exact identity + +``` +H^-1 = diag(A^-1,I) [I -B;0 I] diag(A,S^-1) + [I 0;-C I] diag(A^-1,I) +``` + +is verified by multiplication. Thus the only full-interior stages are A and A^-1. The two shears use original banded B and C, whose support is within O(w) of each artificial cell boundary. The middle factor splits into the commuting interior A and boundary S^-1. + +For a g-axis group, collect the union U of the O(w log d)-wide endpoint slabs. Its volume is O(V*g*w*log(d)/d). All sparse shear and boundary stages preserve this union; outside it they are identity. Process the g axis operators sequentially on U, without g scans of the full V data. Even a deliberately loose movement cost is + +``` +O(V*g^2*w*polylog(p)/d) per group, +O(V*g*w*polylog(p)) over all d/g groups. +``` + +Add one full scan per group to gather/scatter U, for O(V*d/g). This is below the proposed fused interior cost at the displayed parameters. Dense boundary arithmetic is still batched as above and costs O(V*w^(omega-1)*polylog p); scanning inactive entries in U is included in the movement bound. + +The union-slab gather/scatter and the evaluation of its piece catalogues must be implemented in the retained macro-routing model. The address fields have polynomial length and g*polylog(p)=o(p), but that observation alone is not a tape routing proof. Importantly, the cost budget now tolerates a sequential factor g on the **sparse union**, so the required route is weaker than a fully fused boundary solver. + +## Paid exponents + +Let q be strictly below the supplied complex saving and below the bit saving. The proposed dominant costs, normalized by V, are + +| Component | Power of p | Saving | +|---|---:|---:| +| Main transform with deferred reservations | 1-epsilon*q | epsilon*q | +| Fused Gaussian interior / convolution groups | epsilon-q*beta | 1-epsilon+q*beta | +| Group bit routing | epsilon-a_bit*beta | 1-epsilon+a_bit*beta | +| Sparse group scans | epsilon-beta | 1-epsilon+beta | +| Boundary algebra | (omega-1)*(1-r)/2 | 1-(omega-1)*(1-r)/2 | +| Sequential operations on sparse union | beta+(1-r)/2 | (1+r)/2-beta | + +Every entry has an explicit cost source above. The similarity/normalization condition is `epsilon+r+beta<1`. The old full-axis scan Vd is not part of the claimed implementation; until its replacement is proved, this remains conditional. + +Ignoring arbitrarily small zeta and strict absorption margins, balancing the first two rows gives + +``` +epsilon=(1+q-q*r)/(1+2q), +beta=(q-(1+q)*r)/(1+2q), +kappa=q*(1+q-q*r)/(1+2q). +``` + +This is feasible for `0 0. +``` + +Thus positive r is compatible with a strictly larger exponent, while retaining the old phase-cell analytic hypotheses. + +One explicit arithmetic target uses + +``` +q=0.001675462576808103522925, +r=0.000001, +zeta=0.00000001, +epsilon=(1+q-q*(r+zeta))/(1+2q), +beta=1-epsilon-r-zeta, +kappa=epsilon*q-0.00000000001. +``` + +It yields + +``` +epsilon = 0.9983301313358845139763404147924773... +beta = 0.0016688586641154860236595852075227... +kappa = 0.0016726647643531934852000135266363... +``` + +The proposed kappa exceeds the selected 0.001672660197076918 by about 4.5672763e-9. Its boundary saving is greater than 0.09595, its sparse-scan saving is greater than 0.0033387, its sparse-union saving exceeds 0.49833, and the bit saving is strictly larger than q. This target is deliberately **not** promoted: the new circuit/supplier integration and grouped sparse tape route must first be proved. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md new file mode 100644 index 0000000000..687c668a9d --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/STABLE-POSITIVE-TREE.md @@ -0,0 +1,187 @@ +# Positive interpolation trees and two global inverse tails + +Status: exact algebra and an error bound for a compressed inverse representation. This note does not yet claim that the local tree operators admit the pure convolution factorization required for tensor fusion. + +## 1. Setup and signs + +Let `x_i=r^{q_i}`, `r=exp(2 a rho)>1`, and `q_i=floor(rho i+1/2)` for `0<=iu) x_j, +W_I(k)=d_(u-k)/M_I, 0<=k<|I|. +``` + +The equality `u-k=s-1-(k+c_I)` is the connection to the final reversed degree. + +Suppose `||y||_infinity<=1` and `||N0^-1||_infinity<=B`. Replace all leaves by their absolute values and call the resulting polynomial `R_I^+`. Completing the interval by the single outside monomial that chooses every node above I and no node below I gives + +``` +M_I * [z^k] R_I^+ <= [z^(k+c_I)] R_all^+ <= B d_(u-k). +``` + +Consequently + +``` +|[z^k] R_I| <= [z^k] R_I^+ <= B W_I(k). +``` + +This holds for every node of any contiguous binary interpolation tree, for arbitrary signed inputs. It does not require roots to remain correlated after rounding. In particular, it avoids the independently-rounded-erasure-quotient failure in ERASURE-ROUNDING-CONTROL.json. + +The merge identity is + +``` +R_(A union B)=F_B R_A + F_A R_B, +``` + +where A is the lower child and B the upper child. All fixed polynomial coefficients in this identity are positive. Each intermediate contribution, after multiplication by the chosen outside monomial, is a sub-sum of the final absolute Lagrange sum. Therefore bounded intermediate amplitude follows from the completed inverse bound, including in the presence of cancellation between input leaves. + +This is a height bound, not by itself a fast multiplication theorem. The gauges are degree dependent. Ordinary convolution of their unscaled coefficients can still require excessive precision. + +## 3. Partition bound for arbitrary selected nodes + +For any increasing nodes satisfying `x_(i+1)/x_i>=r`, let `e_k` be the kth elementary symmetric polynomial, and `M_k` the product of the k largest nodes. Comparing a selected k-subset to the k largest indices gives a partition of nonnegative index deficits. Hence + +``` +1 <= e_k/M_k <= C_r, +C_r=product_(h>=1)(1-r^-h)^-1. +``` + +For `r>=4`, `C_r<2`. This applies to every interval and to intervals with a node deleted. It controls the normalized fixed polynomial factors used by the tree. + +## 4. Two globally compatible far fields + +Write `E_k=e_k(x_0,...,x_(s-1))`, with E_0=1. Let `k=s-1-j`. + +If `i<=j-m`, then + +``` +0 <= 1-e_k(X without x_i)/E_k + = x_i e_(k-1)(X without x_i)/E_k + <= C_r x_i/x_(j+1) + <= C_r r^(-m-1). +``` + +The endpoint k=0 is exact and is read separately. If `i>=j+m`, then + +``` +e_k(X without x_i) + = E_(k+1)/x_i - e_(k+1)(X without x_i)/x_i, +``` + +and the second term relative to `E_(k+1)/x_i` is at most + +``` +C_r x_(j-1)/x_i <= C_r r^(-m-1). +``` + +The endpoint j=0 is again exact. Thus, after allowing a harmless factor `1/(1-C_r r^(-m-1))` to convert the relative approximation to a bound by the true positive entry, the two far fields are + +``` +(N0^-1 y)_j ~= (-1)^k [ + E_k/d_j * sum_(i<=j-m) w_i + +E_(k+1)/d_j * sum_(i>=j+m) w_i/x_i + + exact local strip |i-j|= (p log 2 + log(4 C_r B))/(log r) +``` + +makes the far-field approximation error at most `2^(-p-1)`. In the retained regime, `log B=O(log d)` and `log r=Theta(a)`, so `m=O(p/a+1)`. + +## 5. What must still be paid + +The construction reduces the data application problem to two globally compatible weighted running sums and a width-O(p/a) local strip. All coefficients, barycentric weights, and normalized tree factors may be precomputed: the source axis length is exp(O(p/d)), and any fixed polynomial power of it remains negligible compared with the full tensor volume. + +For a single axis, bounded positive interpolation trees are a plausible route to the local strip in `O(s p polylog p)` bit operations. To turn this into an exponent improvement, however, one must give a fixed sequence of convolution, diagonal, and permitted data-movement operations that can be fused over many axes. A merge written as a *sum* of two convolutions is not sufficient: tensoring it naively generates exponentially many branches. Neither the positive height bound nor the two-tail representation silently resolves that issue. + +## 6. A branch-free reduction of a normalized Sylvester merge + +This is an exact algebraic reduction, with a bounded-symbol condition. It reduces the remaining in-place question to one full Toeplitz map rather than a sum of two polynomial products. + +Take two children of size b. Choose an anchor zeta strictly between their node sets and rescale the variable. After swapping/scaling the child registers the merge has the form + +``` +S(B,A)=f(z) B(z)+z^b g(z^-1) A(z), +f(z)=product_(lower nodes x)(1+(x/zeta) z), +g(z^-1)=product_(upper nodes x)(1+(zeta/x) z^-1). +``` + +If zeta is the geometric mean of the largest lower node and smallest upper node, every displayed root parameter is at most `r^-1/2`. The sum of all parameters on either side is at most + +``` +eta = r^-1/2/(1-r^-1). +``` + +Thus the l1 norms of f and g are at most exp(eta), and the l1 norms of their reciprocal series are at most exp(eta/(1-r^-1/2)). All are constant and approach one as a increases. + +Let T_f be the 2b-by-2b lower triangular Toeplitz multiplication matrix for f. Put + +``` +h(z)=g(z^-1)/f(z), +K_ij=h_(i-b-j), +H_ij=h_(i-j), 0<=i,j>axis&1): + j=i|(1<4: + h=len(pending); r=(3*h*g+row_bits+k-1)//k + if r>=h or h-r<1:break + reserved=pending[:r];active=pending[r:] + assert r*k >= 3*h*g+row_bits + stages.append(dict(active=active,reserved=reserved)) + pending=reserved + stages.append(dict(active=pending,reserved=[])) + flat=[x for s in stages for x in s['active']] + assert sorted(flat)==list(range(d)) and len(set(flat))==d + return stages + +def run(): + global OPS + rng=random.Random(128731);mm=0;solve=0;rhs_entries=0 + for size in (1,2,4,8): + for _ in range(5): + A=[[F(rng.randint(-3,3),4) for _ in range(size)] for _ in range(size)] + B=[[F(rng.randint(-3,3),4) for _ in range(size)] for _ in range(size)] + before=OPS + assert mul(A,B)==classical(A,B) + assert OPS-before==7**(size.bit_length()-1) + mm+=1 + for width in (1,2,4,8): + for n in (1,3,7,10,17): + for k in (1,3,9): + A=[[F(0) for _ in range(n)] for _ in range(n)] + for i in range(n): + A[i][i]=F(1) + for j in range(max(0,i-width),i):A[i][j]=F(rng.randint(-2,2),8*width) + B=[[F(rng.randint(-4,4),8) for _ in range(k)] for _ in range(n)] + X=block_solve(A,B,width) + assert classical(A,X)==B + assert X==classical(inverse(A),B) + solve+=1;rhs_entries+=n*k + schedule_cases=0;exact_entries=0 + for d in range(1,1001): + s=reserve_schedule(d,128,1,8) + assert sum(len(t['active']) for t in s)==d + assert len(s)<=d + schedule_cases+=1 + for d in range(1,7): + s=reserve_schedule(d,8,1) + for col in range(1<>bit&1 else a) + assert v[row]==z;exact_entries+=1 + # Meaningful failure controls: the unresolved reserved coordinates matter. + s=reserve_schedule(6,8,1) + v=[ga(int(i==0)) for i in range(64)] + full=c_axes(v,range(6),6) + omitted=c_axes(v,s[0]['active'],6) + assert omitted!=full + # A wrong block dependency (drop the preceding solved block) fails. + A=[[F(1),F(0)],[F(1,4),F(1)]]; B=[[F(1)],[F(1)]] + assert B!=block_solve(A,B,1) + result=dict(status='PASS_EXACT_SCOPED_CONTROLS',strassen_cases=mm, + blocked_lower_solve_cases=solve,rhs_entries=rhs_entries, + reserve_schedules=schedule_cases,complex_tensor_matrix_entries=exact_entries, + negative_controls=['omit_reserved_axes','drop_preceding_solve_block'], + scalar_products_executed=OPS, + scope='Finite exact identities only; not a tape simulator or all-size compiler proof.') + print(json.dumps(result,indent=2)) + Path(__file__).with_name('CONTROLS.json').write_text(json.dumps(result,indent=2)+'\n') +if __name__=='__main__':run() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py new file mode 100644 index 0000000000..1f5f8e821a --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_erasure_rounding.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +"""Exact failure control for independent coefficient rounding before erasure division.""" +from fractions import Fraction as F +from pathlib import Path +import json + +def pmul(a,b): + c=[0]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b):c[i+j]+=x*y + return c +s,t=29,32;H=t-s;rho=F(t,s) +q=[(2*t*i+s)//(2*s) for i in range(s)] +holes=[i for i in range(t) if i not in q] +assert holes==[5,16,27] +# exp(2*a*rho)=2^(2s); then natural source coefficient scale is 2^(-t*j*j). +base=2**(2*s);E=[1] +for h in holes:E=pmul(E,[-base**h,1]) +E0=abs(E[0]);P=1000;j=20 +# Relative 2^-P perturbation of Q_0. Exactly compute the formal quotient error. +delta=F(E0,2**P) +c=[F(0)]*(j+1) +for k in range(j+1): + rhs=delta if k==0 else F(0) + c[k]=(rhs-sum(E[h]*c[k-h] for h in range(1,min(H,k)+1)))/E[0] +error=abs(c[j])*(2**(t*j*j)) +min_error=F(2)**(t*j*j-2*s*holes[0]*j-P) +assert error>=min_error and min_error==2**6000 +assert delta/E0==F(1,2**P) +res=dict(status='PASS_ERASURE_ROUNDING_FAILURE_CONTROL',s=s,t=t,holes=holes, + relative_input_error='2^-1000',coefficient_index=j, + normalized_output_error_lower='2^6000', + exact_error_numerator_bits=error.numerator.bit_length(), + scope='Independent coefficient perturbation destroys divisibility by E. Not an impossibility result for correlated or exact-root-preserving algorithms.') +Path(__file__).with_name('ERASURE-ROUNDING-CONTROL.json').write_text(json.dumps(res,indent=2)+'\n') +print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py new file mode 100644 index 0000000000..ac7f96cd00 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_fixed_a_ldu.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +from fractions import Fraction as F +from math import prod,ceil +from pathlib import Path +import json + +def p2(k):return F(2)**k +def mm(a,b):return [[sum(a[i][k]*b[k][j] for k in range(len(b))) for j in range(len(b))] for i in range(len(a))] +def symmetric(xs,n,complete): + p=[F(1)]+[F(0)]*n + for x in xs: + if complete: + for j in range(1,n+1):p[j]+=x*p[j-1] + else: + for j in range(n,0,-1):p[j]+=x*p[j-1] + return p[n] +def test(s,t,l,n): + ids=list(range(l,l+n));q={i:(2*t*i+s)//(2*s) for i in ids} + x={i:p2(2*s*t*q[i]) for i in ids} + e={i:p2(-t*t*i*i+(t*i-s*q[i])**2) for i in ids} + g=lambda i,j:p2(-(t*j-s*q[i])**2+(t*j-s*q[j])**2) + c={i:prod(1-x[k]/x[i] for k in ids if k=j else F(0)) + ur.append(e[j]/e[i]*symmetric([x[k] for k in ids if k<=i],j-i,True) if j>=i else F(0)) + if i>=j: + h=i-j + exponent=-(t*i-s*q[i])**2+(t*j-s*q[j])**2-t*t*h+2*t*sum(t*k-s*q[k] for k in ids if j=i: + h=j-i;z=(-1)**h*e[j]/e[i]*symmetric([x[k] for k in ids if k=j else F(0) for j in range(H)] for i in range(H)] + Ht=[[x[h]**j for h in holes] for j in range(H)] + D=[[1/peval(derivative,x[holes[i]]) if i==j else F(0) for j in range(H)] for i in range(H)] + A=[[Vi[t-1-j][h] for h in holes] for j in range(H)] + assert mm(mm(T,Ht),D)==A + # Complete a partial values vector to a degree0 for v in slacks.values()) +paid=dict(margins,unfused_gaussian=1-eps) +assert min(paid.values()) < k +assert 1-eps < selected +assert k>selected +# Require the missing map to be declared; calculations do not discharge it. +result=dict(status='PASS_OPTIMISTIC_LEDGER_AND_PAID_REJECTION', + selected_kappa=str(selected), target_kappa=str(k), + absolute_gain=str(k-selected), + proposed_parameters={name:str(v) for name,v in + dict(a=a,q=q,epsilon=eps,r=r,beta=beta).items()}, + omega_upper=str(omega_upper),omega_control='7^16 < 2^45', + optimistic_margins={name:str(v) for name,v in margins.items()}, + optimistic_slacks={name:str(v) for name,v in slacks.items()}, + fully_paid_margins={name:str(v) for name,v in paid.items()}, + fully_paid_accepts_target=False, + missing_lemma='Stable complete tensor Gaussian resampling including variable-core movement in stated cost and O(p) record width.', + scope='Arithmetic conditional target and explicit rejected existing-interface row; not a new multiplication certificate.') +Path(__file__).with_name('LEDGER.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(result,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py new file mode 100644 index 0000000000..d56f21f6b7 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_nearest_neighbor.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +"""Exact exponent checks for the polynomial-condition nearest-neighbor lemma.""" +from fractions import Fraction as F +from pathlib import Path +import json +cases=products=0 +for t in range(6,29): + for s in range(max(5,(4*t+4)//5),t): + rho=F(t,s);theta=rho-1 + if theta>F(1,4):continue + q=[(2*t*j+s)//(2*s) for j in range(s)] + beta=[rho*j-q[j] for j in range(s)] + assert all(-F(1,2)<=v=h*rho*theta-F(1,4) + assert usum>=h*rho*theta-F(1,4) + products+=2 + cases+=1 +# With a >=4 log(16/theta), the proposed perturbation ratio is <=20 theta^4/16^6. +assert F(20,16**6)*F(1,4)**4 < F(1,2) +res=dict(status='PASS_EXACT_NEAREST_NEIGHBOR_EXPONENTS',parameter_pairs=cases, + cyclic_product_bounds=products,cycle_lengths_up_to=28, + controls=['all skip gaps checked','two full cyclic wraps checked'], + scope='Exact exponent identities and inequalities; real exponential conclusions follow from monotonicity and geometric sums.') +Path(__file__).with_name('NEAREST-NEIGHBOR-CONTROLS.json').write_text(json.dumps(res,indent=2)+'\n') +print(json.dumps(res,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py new file mode 100644 index 0000000000..ebce2a90cf --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_positive_tree.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +"""Exact controls for the positive interpolation tree and two global tails.""" +from fractions import Fraction as F +from math import prod +from pathlib import Path +import json + +def mul(a,b): + c=[F(0)]*(len(a)+len(b)-1) + for i,x in enumerate(a): + for j,y in enumerate(b): c[i+j]+=x*y + return c + +def add(a,b): + c=[F(0)]*max(len(a),len(b)) + for i,x in enumerate(a): c[i]+=x + for i,x in enumerate(b): c[i]+=x + return c + +def factor(xs): + p=[F(1)] + for x in xs: p=mul(p,[F(1),x]) + return p + +def test(s,H,r): + t=s+H + qi=[(2*t*i+s)//(2*s) for i in range(s)] + xs=[F(r)**q for q in qi] + es=factor(xs) + ws=[] + for i in range(s): + den=prod(xs[i]-xs[j] for j in range(s) if j!=i) + ws.append(F((i*7+3)%11-5,den)) + whole=[F(0)]*s + abswhole=[F(0)]*s + for i in range(s): + e=factor(xs[:i]+xs[i+1:]) + whole=add(whole,[ws[i]*v for v in e]) + abswhole=add(abswhole,[abs(ws[i])*v for v in e]) + # Arbitrary positive target coefficient weights suffice for the exact + # completion inequality; these reproduce a Gaussian-shaped gauge. + ds=[F(1,r**(j*j)) for j in range(s)] + B=max(abswhole[s-1-j]/ds[j] for j in range(s)) + checked=0 + def tree(l,u): + nonlocal checked + if u-l==1: + fi=[F(1),xs[l]]; ri=[ws[l]]; ai=[abs(ws[l])] + else: + m=(l+u)//2 + fl,rl,al=tree(l,m); fr,rr,ar=tree(m,u) + fi=mul(fl,fr) + ri=add(mul(fr,rl),mul(fl,rr)) + ai=add(mul(fr,al),mul(fl,ar)) + Mh=prod(xs[u:]) + for k in range(u-l): + target=s-u+k + assert abs(ri[k])<=ai[k] + assert Mh*ai[k]<=abswhole[target] + assert ai[k]<=B*ds[u-1-k]/Mh + checked+=1 + return fi,ri,ai + ff,rr,aa=tree(0,s) + assert ff==es and rr==whole and aa==abswhole + left=factor(xs[:s//2]) + broken=[F(0)]*s + for i in range(s//2): + wrong=factor(xs[:i]+xs[i+1:s//2]) + broken=add(broken,[ws[i]*v for v in wrong]) + for i in range(s//2,s): + right=factor(xs[s//2:i]+xs[i+1:]) + broken=add(broken,[ws[i]*v for v in mul(left,right)]) + assert broken != whole + tails=0 + for j in range(s): + k=s-1-j + for i in range(s): + e=factor(xs[:i]+xs[i+1:])[k] + if i=e + assert (app-e)*r**(m+1)<=4*app + tails+=1 + if i>j: + m=i-j + app=es[k+1]/xs[i] + assert app>=e + assert (app-e)*r**(m+1)<=4*app + tails+=1 + return checked,tails + +n=nodes=tails=0 +for s in range(3,15): + for H in range(1,min(s,5)): + for r in (4,8): + c,d=test(s,H,r) + n+=1; nodes+=c; tails+=d +out={"status":"pass", "arithmetic":"exact rational", "instances":n, + "tree_coefficient_completion_inequalities":nodes, + "far_field_relative_error_inequalities":tails, + "negative_controls":["Omitting the upper-child factor changes the root polynomial.", + "The omitted upper-child factor is detected in every instance."], + "claims_excluded":["Fast normalized convolution implementation", "Tensor fusion", "New final exponent"]} +Path(__file__).with_name('POSITIVE-TREE-CONTROLS.json').write_text(json.dumps(out,indent=2)+'\n') +print(json.dumps(out,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py new file mode 100644 index 0000000000..63f7d6eab0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/evidence/radical_reduction_ultra/check_q_ldu.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Exact rational controls for Gaussian Toeplitz q-LDU and shifted exponents.""" +from fractions import Fraction as F +from pathlib import Path +import json + +def mm(a,b):return [[sum(x*y for x,y in zip(r,c)) for c in zip(*b)] for r in a] +def tr(a):return list(map(list,zip(*a))) +def ident(n):return [[F(i==j) for j in range(n)] for i in range(n)] +def powq(q,n):return q**n + +def factors(q,n): + Q=q*q;P=[F(1)] + for j in range(1,n):P.append(P[-1]*(1-Q**j)) + bc=lambda i,j:P[i]/(P[j]*P[i-j]) + L=[[q**((i-j)**2)*bc(i,j) if i>=j else F(0) for j in range(n)] for i in range(n)] + Li=[[(-q)**(i-j)*bc(i,j) if i>=j else F(0) for j in range(n)] for i in range(n)] + D=[[P[i] if i==j else F(0) for j in range(n)] for i in range(n)] + return L,Li,D + +cases=0;entries=0 +for q in (F(1,2),F(1,3),F(2,3)): + for n in range(1,11): + L,Li,D=factors(q,n) + G=[[q**((i-j)**2) for j in range(n)] for i in range(n)] + assert mm(mm(L,D),tr(L))==G + assert mm(L,Li)==ident(n) and mm(Li,L)==ident(n) + # Integer-power diagonal conjugation is an exact finite surrogate. + diagonal=[q**(i*i-3*i) for i in range(n)] + Lt=[[L[i][j]*diagonal[i]/diagonal[j] for j in range(n)] for i in range(n)] + Lit=[[Li[i][j]*diagonal[i]/diagonal[j] for j in range(n)] for i in range(n)] + assert mm(Lt,Lit)==ident(n) + cases+=1;entries+=n*n + +exponent_cases=0 +for rho in (F(1001,1000),F(17,16),F(3,2)): + theta=rho-1 + for c in (-2,0,3): + for i in range(15): + for j in range(i+1): + h=i-j;beta=theta*i-c + # D_i/D_j times q^h for the inverse L factor. + raw=theta*(i*i-j*j)-2*c*(i-j)-rho*h + condensed=(2*beta-rho)*h-theta*h*h + assert raw==condensed + exponent_cases+=1 + +# Rational validation of the perturbation bound in the worked 24x24 witness. +rbound=F(24,2**23);linv_bound=F(24) +error=linv_bound**2*rbound/(1-linv_bound*rbound) +assert linv_bound*rbound<1 and errora. These are the actual strict rate relations used by the +support-local compiler and its stopped recursion, not an assumption that +all bit operations have the complex supplier's exact endpoint. + +## Functional interface + +The reviewed outer proof consumes a globally complete dyadic tensor call +which applies normalized H0 simultaneously on the selected active bits, +acts as identity on arbitrary dirty helper/coarse/spectator coordinates at +completed-call boundaries, accepts O(p)-bit coefficient encodings, and costs +O(V g^(1-q) polylog p). The supply is used as a completed operator, with its +own scalar phases and working storage included. Outer Gaussian blocks do +not directly inspect the local donor edits, per-rank multiplicities, owner +replica count, or a particular parent-word ordering. + +The T74 source retains the same local normalized target, common-label and +mutable-source contract, whole-call hosting, exact wrappers/phases, and +restoration interface. Its new parent uses m=73 as before, with maximum +residual rank48 and fixed finite W=66304. Replacing the old finite stock W +by this fixed W changes constants and the O(log g) product-row reservation, +not any exponent in the support-local argument. The local word has480 +helpers, also unchanged in its interface. All donor reads are intended to +preserve the exact full local endpoint; our separate rational rebuild check +confirmed that algebra. The complete unmodified native/frame/phase replay has +now passed and certifies the recorded normalized implementation of those endpoints. +The source pin and hashes of the native, strict, control, and physical-invoice +receipts are bound in `NATIVE-ADMISSION-BINDING.json`. + +The larger fixed prefix allowance (2048 bits in the T74 global invoice) +also changes a constant in the linear semantic guard. The capped proof allows +a fixed supplier-dependent constant in O(g), and later O(g*a*B), with an O(p) +record constant chosen accordingly. It does not require the former numeric +prefix constant to remain512 or1024. The strict power guards B+X+r<1 and +E+r<1 remain in force and were checked independently. + +The neighborhood exposure still involves O(g log p) actual selected bits; +the T74 finite word neither requests ambient-p address permutations nor +changes the complete-field requirement. The retained bit supplier supplies +the same arbitrary-width equal-chunk interchange interface with more rate +than the chosen a. Source and sink scalings converting H0 to the raw H used +by the tensor compiler remain O(g) guard terms. There is no new finite-field +bridge or a new assumption that per-microbox coarse labels are complete. + +Thus the substitution does not require a new analytic lemma, removal of a +charged row, or a new kind of workspace. The updated finite supplier is now +verified by `work/target002_upstream/full-1661-verification/RESULT.json`, whose +status is `PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION`. The binding includes +the complete source manifest and actual fresh native, strict-assembly, physical +invoice, and control receipt hashes. The two rates above are completed conditional +substitutions: their remaining conditions are exactly the inherited all-size, +hosting, precision/tape, exact-recovery, and analytic hypotheses described above; +the matrix branch additionally requires omega_C<=9/4. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json new file mode 100644 index 0000000000..72d30de3fd --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/NATIVE-ADMISSION-BINDING.json @@ -0,0 +1,155 @@ +{ + "status": "PASS_FRESH_NATIVE_ADMISSION_BOUND_TO_CONDITIONAL_SUBSTITUTION", + "scope": "Unmodified PR1661 complete fresh finite/native/global verifier passed; the independently reviewed phase-fusion recomposition retains all inherited all-size, hosting, precision/tape, exact-recovery and analytic hypotheses. The matrix corollary additionally assumes omega_C<=9/4.", + "source_pr": 1661, + "source_head": "f852af5e178ce035cd46181a29d9330bcbcaa206", + "source_manifest_sha256": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "complex_lower_pinned": "8398566873921928847865107582977140808726533185752606814031551243089531888024439117235381227291914058448586599984374667388474246199941131401151316949826049729135138281487406840315861844950703424400143642674520874037535671888706933756382975087837881090275422517866488734818622618194142006954783211221019204801330544148296601796623021915319705773977790291402669246008667290619418570040011860763793419/5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_lower_used": "0.00167971337478", + "native_profile": { + "1": 1559766, + "2": 337668, + "3": 278058, + "4": 84912, + "5": 54612, + "8": 5328, + "48": 22748 + }, + "full_status": "PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION", + "control_counts": { + "admission": 114, + "bit": 12, + "controller": 15, + "independent_owner": 8, + "geometry": 6 + }, + "new_native_provider_checks": [ + { + "provider": "base", + "word_sha256": "0740b6f33927b9e60c9a7f35e7fcb2fd9ac6e2d3982112428b302a6966a18c73", + "native_steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 0.8915401669219136 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 0.6126613330561668 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 4.12045537494123 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 1.6204181250650436 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 105.53502279194072 + } + ] + }, + { + "provider": "extra", + "word_sha256": "17cc6c177c89eb264514e1efb3685ab9a621f3952a8f393a6a5eb28cf77e2884", + "native_steps": [ + { + "step": "native", + "exit_code": 0, + "seconds": 0.8948857497889549 + }, + { + "step": "ledgers", + "exit_code": 0, + "seconds": 0.6080808339174837 + }, + { + "step": "local-replay", + "exit_code": 0, + "seconds": 4.124318625079468 + }, + { + "step": "wrappers", + "exit_code": 0, + "seconds": 1.615505084162578 + }, + { + "step": "phases", + "exit_code": 0, + "seconds": 104.45134279201739 + } + ] + } + ], + "claimed_upstream_kappa": "2096120836276624134688388746584953339514362520423949513323080069393667100216231635208104119737345042388668831200716016971801652042353643495728574611972682561506611546576106026399087419654954846560528338423252093335760585442384781219905020477867156522858637805447097010230458679015075893421495530515714751141439077307948959746873853766585216530792933519877595664647309255912786892895226283571949929/1250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "recomposed_final_kappa": { + "strassen": "0.001677160151714381", + "matrix_9_4": "0.001677600129305161" + }, + "receipt_sha256": { + "target002_upstream/full-1661-verification/RESULT.json": "11c57817a4d43a489010a13af7621d37eeedc398308c036e63a2a97119443861", + "target002_upstream/full-1661-verification/STAGES.json": "c2edb01a61c03e04bf48e605422ff83c1d304e4d586268959d4ea24b743640fb", + "target002_upstream/full-1661-verification/audit-local-566-base.log": "4767093ae54ad03845870bcfd0402f7ee6e4bc4c1dd7801146b7aa2217f0f39d", + "target002_upstream/full-1661-verification/audit-local-566-extra.log": "b03c4d51b4309fd2b49fdae8f26d4bb68f84d1149f310d21237a95f995b57d19", + "target002_upstream/full-1661-verification/fine-engine-oracle.log": "ea6df7be568d6461ac54e0d56754797de0f70f2f1ecc335114791445b75795d3", + "target002_upstream/full-1661-verification/geometry-controls.log": "0a3ecf05cfa2bebb61fffd2fbb4b244c03d742069e2705d02512699bbf4b01f9", + "target002_upstream/full-1661-verification/lift-parent.log": "9578ab17094f120d54af46f9e0601714c09a2978faa0d7949823099d06d931d4", + "target002_upstream/full-1661-verification/native-new-base/local/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "target002_upstream/full-1661-verification/native-new-base/local/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "target002_upstream/full-1661-verification/native-new-base/local/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "target002_upstream/full-1661-verification/native-new-base/local/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "target002_upstream/full-1661-verification/native-new-base/local/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "target002_upstream/full-1661-verification/native-new-base.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "target002_upstream/full-1661-verification/native-new-extra/local/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "target002_upstream/full-1661-verification/native-new-extra/local/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "target002_upstream/full-1661-verification/native-new-extra/local/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "target002_upstream/full-1661-verification/native-new-extra/local/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "target002_upstream/full-1661-verification/native-new-extra/local/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "target002_upstream/full-1661-verification/native-new-extra.log": "5ca9f310247cb601c905ff30597baa4634847395d7826e9ab926a9876ced2514", + "target002_upstream/full-1661-verification/parent/RESULT.json": "13037d41939ede1de9c80be7a75a051006a457ff2d871cadde2351a39bb254ee", + "target002_upstream/full-1661-verification/rebind-566.log": "c90f7d555ea88339e4999736f38e9fcf1e63b88637e05ddcb76782f0900134a3", + "target002_upstream/full-1661-verification/rebuild-words-566.log": "e9825c70278880f4a9566012d700b0d7944f84fbf02b95408896b3a07d29e849", + "target002_upstream/full-1661-verification/reconstruct-owners.log": "363a74def2d33de399e70eab63d987832b079286cb7c58f9ffa87e186ae761f5", + "target002_upstream/full-1661-verification/retained-provider-and-parent-admission.log": "a84cbfcd6ad1a9a2f8279939fcbcec5457b8b55d3dc9971e3407491a82c1c57e", + "target002_upstream/full-1661-verification/strict/ADMISSION-CONTROLS.json": "528fa1aec9db41e748774df5b9cbcd86f702c76286423fd0762cbac5510564c3", + "target002_upstream/full-1661-verification/strict/ASSEMBLY.json": "36f8c00c200cc375512ad0e881e91b42daba10c962fce37465040cb717b5cc60", + "target002_upstream/full-1661-verification/strict/BIT-CONTROLS.json": "7c27d56e68b924ac0fefc6353e9e38d2e3f593295cf1a39aade27fba39922e54", + "target002_upstream/full-1661-verification/strict/RESULT.json": "5fef4a6d07d561d9eae7d0e900e86b02fe905239a15a46a9f93826f89069a970", + "target002_upstream/full-1661-verification/strict/STAGES.json": "abbc3fa255097304f0862c3c390c3bd681485a64c5cf906b7796e6f978faf049", + "target002_upstream/full-1661-verification/strict/global/audit/ASYNC-AUDIT.json": "37b1b8d81353c99db83edbf3d9d1510906e0ae0a3301165894190d416f1c6d60", + "target002_upstream/full-1661-verification/strict/global/audit/PREFIX-AND-INVOICE.json": "321d98f8342fb61418aacee7a99a7e54ae284b32a5f142fa692ebe6825d05ea0", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/CLIFFORD-REVIEW.json": "1c367f0a64d4dad8d11496fe707c859512f7f2f3b2ca479c493c936a6444a023", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/INDEPENDENT-LOCAL-REPLAY.json": "8efdbce010bcc13af65069ee1c5f612d7c3e79cf8e6d7d7d162299a4434d1ec7", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/LOCAL-CHECKS.json": "bc6a2ddb1b27a3b1af02e32eba3140f67c66debcb3521c100136774854a6aa57", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/SCALAR-FRAME-AUDIT.json": "d4fc1d25c9ad00ed058aef75a7281641028f035da1d9d95a59a1c87913cd6bce", + "target002_upstream/full-1661-verification/strict/global/base/providers/extra/WRAPPER-CHECKS.json": "84a5bc26df5fb70dc12852a868962bcdfad3b85d85408edfd1f343e898a78c0e", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/CLIFFORD-REVIEW.json": "629abac83fc0fcf54134b3c07222b8f857991dc8bc2e80e9fc9a6daa301c2cfe", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/INDEPENDENT-LOCAL-REPLAY.json": "13b391f04b89dbfd8324a9a22796e938194162ca04522a5fb778d00f20cb2b57", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/LOCAL-CHECKS.json": "9628c1d94f0599fc128ef583703fe83ef1e6f73465484c207f67b62abab2b785", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/SCALAR-FRAME-AUDIT.json": "c7d48f60d0e3ed2f024e29b69bc7e2920251d040148b18dfe4444f4f68062ba7", + "target002_upstream/full-1661-verification/strict/global/base/providers/gauge44/WRAPPER-CHECKS.json": "fc7e24778302326fdacfd08dd3d5e63483cf4539cd5022a6c77f016752fac1a3", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "target002_upstream/full-1661-verification/strict/global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/CLIFFORD-REVIEW.json": "ee9b86428278392d2c933f76d60e51f5af90d4ab67e4d3937ed2fa416e7755ab", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/INDEPENDENT-LOCAL-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/INDEPENDENT-REPLAY.json": "ad3f2b941127688f98ce6872d00f110644f1c2b156f8adad1b6700e838ed0e26", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/LOCAL-CHECKS.json": "79177449e404403964ce1b2f4a9a8bd49e1916daba3123d7fd7f5cfd1f1ac0ea", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/SCALAR-FRAME-AUDIT.json": "73b3601a6239502475a272ea0c46945fd42034486aaf43e66a212eb4f012ca44", + "target002_upstream/full-1661-verification/strict/parent/complex-global/base/split-centres/WRAPPER-CHECKS.json": "9a09146e686c4f535b04fdef3753fe01dad8f5e8881a69408a91394acb5b48f5", + "target002_upstream/full-1661-verification/strict-t74.log": "d6a6c941d4107f47f3f8ced6a4f85b48d562bb30aeb9ae7927c3a3a15331af1b", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json": "70aacd45f9e6fac8675687cf50da32e0ad4e479d9a5c28f2afd1550311ae8849", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/MANIFEST.json": "d90d49eaa68e48c6992a07972e736ef4b9cd80274361cbbc1ec980d43f29ad7f", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/PROFILE.json": "f66dd80aff69525144eac18144c13d7d8be3d3c39028b3afa1b59a8edf53e8a3", + "target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json": "d6b6a2140f3a61ae8cfdd8b51a1131934d63d2dd8573c1b13eb2b9528f3c3db8" + } +} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt new file mode 100644 index 0000000000..42c6bb3033 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/REPRODUCE.txt @@ -0,0 +1,22 @@ +ARITHMETIC REPLAY (Python 3.11 or newer; standard library only) +From this phase_fusion_review directory: + python3 frontier_fusion/check_frontier_fusion.py + python3 frontier_fusion/independent_substitution_check.py + +These replay the rational native moment and both outer ledgers, including +negative controls. They do not rerun the entire native supplier. + +COMPLETE NATIVE REPLAY +Obtain CrocSwap/integer-mult-bounds at exact commit +f852af5e178ce035cd46181a29d9330bcbcaa206. Follow the requirements in +research/gmx-t74-p566-ep400/ and run its unmodified verify.py with a fresh +--work directory and --audit-shards 4. The retained RESULT.json and +NATIVE-ADMISSION-BINDING.json identify the completed fresh run and bind +its native, owner, phase, invoice, arithmetic and control receipts. +The full 121 MB long-precision assembly and its vendor tree are not duplicated +in this review bundle. Their hashes are retained; obtain/replay the pinned +source to reproduce those larger files. + +The two final exponents retain the inherited all-size hypotheses. The larger +value additionally assumes the supplied omega_C <= 9/4 theorem. Numerical and +finite native verification alone do not prove those external hypotheses. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex new file mode 100644 index 0000000000..78278aea07 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/T74-APPENDIX.tex @@ -0,0 +1,53 @@ +\section{Updated T74 supplier and final exponents}\label{sec:t74} + +The preceding proofs are parameterized by the effective supplier rate. We now substitute the independently replayed T74 complex supplier from \href{https://github.com/CrocSwap/integer-mult-bounds/pull/1661}{PR1661}, pinned at commit \texttt{f852af5e178ce035cd46181a29d9330bcbcaa206}. This is a new input to the same outer proof, with contributor attribution retained in the source package. The original numerical statements above remain valid special cases. + +Use the exact finite decimals +\[ + b_T=0.00167971337478,\qquad q_T=b_T-10^{-10}, + \qquad a_T=(q_T+b_T)/2. +\] +The independently retained bit rate $a_*=0.001733427039589844234749$ satisfies $q_T0 for x in assembly['outer'].values()) +checks=[] +for key,word in [('base','gauge44-word-566.json.gz'),('extra','extra-word-566.json.gz')]: + d=RUN/('native-new-'+key) + st=read(d/'STEPS.json') + assert [z['step'] for z in st]==['native','ledgers','local-replay','wrappers','phases'] + assert all(z['exit_code']==0 for z in st) + assert gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((SRC/'new'/word).read_bytes()) + checks.append({'provider':key,'word_sha256':sha(SRC/'new'/word),'native_steps':st}) +paths={RUN/'RESULT.json',RUN/'STAGES.json',RUN/'parent/RESULT.json',RUN/'strict/RESULT.json',RUN/'strict/STAGES.json',RUN/'strict/ASSEMBLY.json',SRC/'MANIFEST.json',SRC/'CLAIM.json',SRC/'new/SPEC.json',SRC/'new/PROFILE.json'} +for base in [RUN/'native-new-base',RUN/'native-new-extra',RUN/'strict']: + for f in base.rglob('*.json'): + if any(tag in f.name.upper() for tag in ['CONTROL','CHECK','REVIEW','AUDIT','REPLAY','INVOICE','STAGES']):paths.add(f) +for z in steps:paths.add(RUN/(z['name']+'.log')) +report={'status':'PASS_FRESH_NATIVE_ADMISSION_BOUND_TO_CONDITIONAL_SUBSTITUTION', + 'scope':'Unmodified PR1661 complete fresh finite/native/global verifier passed; the independently reviewed phase-fusion recomposition retains all inherited all-size, hosting, precision/tape, exact-recovery and analytic hypotheses. The matrix corollary additionally assumes omega_C<=9/4.', + 'source_pr':1661,'source_head':'f852af5e178ce035cd46181a29d9330bcbcaa206','source_manifest_sha256':r['manifest_sha256'], + 'complex_lower_pinned':assembly['complex_lower'],'complex_lower_used':'0.00167971337478','native_profile':assembly['complex_profile'], + 'full_status':r['status'],'control_counts':r['controls'],'new_native_provider_checks':checks, + 'claimed_upstream_kappa':r['kappa'],'recomposed_final_kappa':{'strassen':'0.001677160151714381','matrix_9_4':'0.001677600129305161'}, + 'receipt_sha256':{str(f.relative_to(W)):sha(f) for f in sorted(paths)}} +(P/'NATIVE-ADMISSION-BINDING.json').write_text(json.dumps(report,indent=2)+'\n') +print(report['status'],len(paths),'bound receipt files') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py new file mode 100644 index 0000000000..a8112e3cef --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/check_frontier_fusion.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python3 +"""Recombine the pinned T74 supplier with the reviewed phase-fusion proof. + +This checks arithmetic and provenance, not the independent native replay. +The latter's completion is recorded separately; no all-size premise is waived. +""" +from fractions import Fraction as Q +from decimal import Decimal, localcontext +from pathlib import Path +from math import factorial +import hashlib, json + +HERE=Path(__file__).resolve().parent +WORK=HERE.parent +SPEC=WORK/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json' +CLAIM=WORK/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/CLAIM.json' +spec=json.loads(SPEC.read_text()) +certified_complex=Q(spec['expected']['complex_lower']) +bit=Q('0.001733427039589844234749') +# Keep short independently checkable decimals strictly inside both endpoints. +b=Q('0.00167971337478') +q=b-Q(1,10**10) +a=(q+b)/2 +online=Q(spec['expected']['kappa']) +old=Q('0.001673360105405778') +assert b=2:x/=2;k+=1 + lo,hi=unit_log(x) + return down(lo+k*ln2[0]),up(hi+k*ln2[1]) +def exp(x): + assert 0<=x<1 + N=12 + lo=sum((x**j/factorial(j) for j in range(N)),Q(0)) + hi=lo+x**N/factorial(N)/(1-x/(N+1)) + return down(lo),up(hi) +def moment(endpoint): + lo=hi=Q(0) + for r,n in profile.items(): + l,h=log(Q(m,r)); weight=Q(n*r,m*W) + lo+=weight*exp(endpoint*l)[0] + hi+=weight*exp(endpoint*h)[1] + return down(lo),up(hi) + +native=moment(b) +assert native[1]<1 +assert moment(Q('0.001679713374785'))[0]>1 + +def ledger(kind, *, q_=q, zeta=Q(1,10**8), slack=Q(1,10**5), + old_scan=False, full_gauge=False, full_key=False): + r=Q(1,10**6); stop=Q(1,10**9) + if kind=='strassen': + c=Q(3,32) + eps=(1+q_+q_*(c-slack-r-zeta))/(1+q_)**2 + xi=eps*(1+q_)-c+slack + else: + c=Q(5,16) + xi=(Q(3,2)+q_-(1+q_)*(r+zeta)+slack)/(2+q_) + eps=(1+q_*(1-xi-r-zeta))/(1+q_) + beta=1-xi-r-zeta + saving=eps*q_ + # Deliberate strict 1e-11 gap after decimal truncation. + kappa=Q((saving*10**18).__floor__(),10**18)-Q(1,10**11) + # kappa is derived, not silently asserted to equal an expected decimal. + tau=1-a; sigma=1-b + internal=tau+(1-stop)*max(sigma-tau,Q(0)) + leaf=sigma+stop*(1-sigma) + lam=1-(q_+a)/2 + key=beta+1-eps + margins={ + 'main_transform':saving, + 'global_coordinate_router':a, + 'fused_gaussian':1-eps+q_*beta, + 'group_bit_router':1-eps+a*beta, + 'group_scans':1-eps+beta, + 'boundary_algebraic_matrix':c+xi-eps, + 'sparse_union_movement':1-eps-beta-Q(1,2)+xi, + 'polynomial_products':eps, + 'microbox_face_corrections':1-(eps+beta+3-8+2), + } + if kind=='strassen':margins['sparse_union_full_key']=margins['sparse_union_movement']-key + if old_scan:margins['old_per_axis_scan']=1-eps + if full_key and kind!='strassen':margins['unnecessary_full_key_sort']=margins['sparse_union_movement']-key + checks={ + 'actual_bit_above_effective':bit-a, + 'complex_above_effective':b-a, + 'q_positive':q_, 'complex_endpoint':b-q_, + 'q_below_effective':a-q_, 'stop_positive':stop, + 'stop_below_one':1-stop, + 'leaf_saving_above_effective':(1-stop)*b-a, + 'q_below_internal':1-internal-q_, 'q_below_leaf':1-leaf-q_, + 'lambda_above_tau':lam-tau, 'lambda_above_sigma':lam-sigma, + 'lambda_above_internal':lam-internal, + 'lambda_prime_above_lambda':1-q_-lam, + 'lambda_prime_above_leaf':1-q_-leaf, + 'epsilon_positive':eps,'epsilon_below_one':1-eps, + 'cap_above_band':xi-Q(1,2),'cap_below_cell':eps-xi, + 'group_positive':beta,'group_below_dimension':eps-beta, + 'support_router_span':1-beta, + 'group_gauge_power_slack':1-xi-r-beta, + 'actual_logarithmic_group_guard':1-xi-beta, + 'global_gamma_power_slack':1-eps-r, + 'actual_logarithmic_gamma_guard':1-eps, + 'alpha_logarithm_absorption':r, + 'group_key_fits_record':1-key, + 'membership_arithmetic_fits_record':1-beta-2*(1-eps), + 'microbox_halo_volume':8-3-beta, + 'positive_layout_slack':slack, + 'short_record_fallback':eps-a, + 'improvement_over_online_final':kappa-online, + 'improvement_over_previous_local_final':kappa-old, + 'complex_below_one_over_32':Q(1,32)-b, + } + if kind!='strassen': + checks['sparse_union_fraction_decays']=xi-beta-Q(1,2) + checks['matrix_exponent_above_supplied_bound']=Q(19,8)-Q(9,4) + checks['matrix_exponent_below_five_halves']=Q(5,2)-Q(19,8) + if full_gauge:checks['unrecentered_group_gauge']=1-eps-r-beta + checks.update({n+'_above_kappa':v-kappa for n,v in margins.items()}) + assert margins['main_transform']==margins['fused_gaussian'] + if kind=='strassen':assert margins['boundary_algebraic_matrix']==saving+slack + else:assert margins['sparse_union_movement']==saving+slack + return {'kind':kind,'kappa':kappa,'epsilon':eps,'xi':xi,'beta':beta, + 'q':q_,'a':a,'r0':r,'zeta':zeta,'slack':slack, + 'margins':margins,'strict_checks':checks} + +def encode(x): + if isinstance(x,Q): + with localcontext() as c: + c.prec=60 + return {'rational':str(x),'decimal':str(Decimal(x.numerator)/Decimal(x.denominator))} + if isinstance(x,dict):return {str(k):encode(v) for k,v in x.items()} + if isinstance(x,(list,tuple)):return [encode(v) for v in x] + return x + +rows={};controls={} +for kind in ['strassen','matrix_9_4']: + row=ledger(kind) + assert all(v>0 for v in row['strict_checks'].values()) + assert min(row['margins'].values())==row['margins']['main_transform'] + rows[kind]=row + variants=[('endpoint_equality',{'q_':b}),('zero_group_guard',{'zeta':Q(0)}), + ('zero_layout_slack',{'slack':Q(0)}),('old_per_axis_scan',{'old_scan':True}), + ('full_cell_gauge',{'full_gauge':True})] + if kind!='strassen':variants.append(('full_key_sort',{'full_key':True})) + controls[kind]={} + for name,kwargs in variants: + bad=ledger(kind,**kwargs) + failed={n:v for n,v in bad['strict_checks'].items() if v<=0} + assert failed,(kind,name) + controls[kind][name]=failed +out={'status':'PASS_EXACT_T74_PHASE_FUSION_ARITHMETIC', + 'scope':'Conditional recomposition of pinned supplier and already-reviewed outer proofs. Full fresh native replay is a separately tracked requirement; inherited all-size assumptions remain.', + 'complex_lower_short':b,'complex_lower_pinned':certified_complex, + 'native_moment':native,'profile':profile,'m':m,'W':W, + 'online_final_kappa':online,'rows':rows,'rejecting_controls':controls, + 'source_sha256':{str(p.relative_to(WORK)):hashlib.sha256(p.read_bytes()).hexdigest() for p in [SPEC,CLAIM]}} +(HERE/'FRONTIER-FUSION-ARITHMETIC.json').write_text(json.dumps(encode(out),indent=2)+'\n') +print(out['status']) +for name,row in rows.items(): + print(name,'FINAL KAPPA',encode(row['kappa'])['decimal'], + 'positive checks',len(row['strict_checks']), + 'gain over online',encode(row['kappa']-online)['decimal']) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py new file mode 100644 index 0000000000..04ec764940 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/frontier_fusion/independent_substitution_check.py @@ -0,0 +1,45 @@ +"""Independent balance-equation check, not an execution of the proposed ledger.""" +from fractions import Fraction as F +from pathlib import Path +from decimal import Decimal,localcontext +import json,hashlib +D=Path(__file__).resolve().parent;W=D.parent +src=W/'target002_upstream/pr1661/research/gmx-t74-p566-ep400/new/SPEC.json' +spec=json.loads(src.read_text());pinned=F(spec['expected']['complex_lower']) +b=F('0.00167971337478');q=b-F(1,10**10);eff=(q+b)/2;actual_bit=F('0.001733427039589844234749') +r=F(1,10**6);z=F(1,10**8);s=F(1,10**5) +assert 0eff +assert 7**16<2**45 +rows={} +for name,c,expected in [('strassen',F(3,32),F('0.001677160151714381')),('matrix_9_4',F(5,16),F('0.001677600129305161'))]: + if name=='strassen': + # Solve E(1+q)+q X=1+q(1-r-z), X-E(1+q)=s-c. + E=(1+q*(1-r-z+c-s))/(1+q)**2;X=E*(1+q)+s-c + else: + # Solve E(1+q)+q X=1+q(1-r-z), 2X-E(1+q)=1/2+s-r-z. + X=(F(3,2)+q+s-(1+q)*(r+z))/(2+q);E=(1+q*(1-r-z-X))/(1+q) + B=1-r-z-X + assert E*q==1-E+q*B + assert (c+X-E==E*q+s) if name=='strassen' else (1-E-B-F(1,2)+X==E*q+s) + assert F(1,2)0 and 1-E-r>0 + assert 1-B>0 and 1-B-2*(1-E)>0 + margins={'transform':E*q,'global_router':eff,'gaussian':1-E+q*B,'group_router':1-E+eff*B,'group_scans':1-E+B,'boundary':c+X-E,'sparse_union':1-E-B-F(1,2)+X,'polynomials':E,'microfaces':4-E-B} + if name=='strassen':margins['union_key_sort']=margins['sparse_union']-(B+1-E) + else:assert X-B-F(1,2)>0 + K=F((E*q*10**18).__floor__(),10**18)-F(1,10**11) + assert K==expected and min(margins.values())==E*q and all(v>K for v in margins.values()) + with localcontext()as cc:cc.prec=55 + rows[name]={'epsilon':str(E),'cap':str(X),'beta':str(B),'kappa':str(K),'margin_above_kappa':str(E*q-K),'checked_margin_count':len(margins)} +native_path=W/'target002_upstream/full-1661-verification/RESULT.json' +native_ok=False +if native_path.exists(): + native=json.loads(native_path.read_text()) + assert native['status']=='PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION' + assert F(native['kappa'])==F(spec['expected']['kappa']) + native_ok=True +report={'status':('PASS_INDEPENDENT_CONDITIONAL_SUBSTITUTION_REVIEW' if native_ok else 'PASS_INDEPENDENT_CONDITIONAL_SUBSTITUTION_REVIEW_PENDING_NATIVE'),'source_sha256':hashlib.sha256(src.read_bytes()).hexdigest(),'scope':('Independent balance derivation, margin comparisons, and functional-interface review; completed fresh finite/native admission is bound separately, with inherited all-size assumptions retained.' if native_ok else 'Independent balance derivation, margin comparisons, and functional-interface review; full fresh native admission remains pending.'),'rows':rows,'native_required_output':'target002_upstream/full-1661-verification/RESULT.json'} +(D/'INDEPENDENT-SUBSTITUTION-RECEIPT.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps(report,indent=2)) diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex new file mode 100644 index 0000000000..e7a2c00d4e --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/gaussian_fixed_width_note.tex @@ -0,0 +1,212 @@ +\documentclass[11pt]{article} +\usepackage[T1]{fontenc} +\usepackage{lmodern,microtype,amsmath,amssymb,amsthm} +\usepackage[margin=1in]{geometry} +\usepackage[colorlinks=true,allcolors=blue]{hyperref} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{corollary}[theorem]{Corollary} +\newcommand{\norm}[1]{\left\lVert#1\right\rVert_\infty} +\newcommand{\Z}{\mathbb Z} +\title{Fixed-Width Gaussian Resampling Is Polynomially Conditioned} +\author{Research note prepared with OpenAI Codex} +\date{October 13, 2026} +\begin{document} +\maketitle +\begin{abstract} +An exact bilateral Newton factorization proves that the Gaussian +resampling inverse has norm $O(\theta^{-2})$ at a fixed Gaussian width, +where $\theta>0$ is the oversampling gap. This removes the width-growth +requirement from the conditioning argument. The proof uses convergent +infinite triangular factors and then periodizes them; it does not assert +operator-norm convergence of finite sections. A fast implementation and +its tensor cost remain separate obligations. No improved final +integer-multiplication exponent is claimed in this note. +\end{abstract} + +Let $1\le s5/6$. +At $a=1$, concavity gives +$1-e^{-\rho\theta}\ge1-e^{-\theta}\ge(1-e^{-1})\theta>3\theta/5$, +and $e^{1/2}<2$; substitution gives the stated constant $16$. +\end{proof} + +\begin{corollary}[The width may be fixed] +For the resampling convention $a=\pi\alpha^2$, one may take the fixed +integer $\alpha=2$ in the inverse-conditioning and normalization +argument. If all $d$ gaps satisfy $\theta_i\ge d^{-C}$ for a fixed $C$, +the total logarithmic normalization loss is $O(d\log d)$. +\end{corollary} +\begin{proof} +The theorem bounds each inverse by a fixed constant times $d^{2C}$. +The separate diagonal has norm at most $e^{a/4}$, a fixed constant. +Taking powers of two large enough to normalize these factors costs +$O(\log d)$ bits per axis; logarithms add under tensor products. +\end{proof} + +\paragraph{Scope and provenance.} +This strengthens the conditioning-only result in the earlier note +\emph{A Polynomial Condition Bound for Gaussian Resampling}. The +matrix is the one in Section~7 of the +\href{https://github.com/CrocSwap/integer-mult-bounds/tree/e6f9716621f4e01fc190617934cdfaf072bd976f}{inspected repository snapshot}. +Classical Newton interpolation and symmetric-polynomial identities are +used explicitly above; no generic-rank assumption is used. Two independent +agents checked the limiting and periodization arguments. Exact rational +controls cover negative and zero origins, finite $LDU$, inverse entries, +origin shifts and simultaneous periodicity. + +This theorem does not supply the new numerical implementation at these +parameters. Stable factor application, in-place tensor composition, +coefficient generation and all tape movement must still be priced. +The repository's inspected conditional exponent remains +$\kappa=0.001672660197076918$; no larger final exponent is certified here. +\end{document} diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py new file mode 100644 index 0000000000..45a5aeb417 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/make_native_capsule.py @@ -0,0 +1,32 @@ +"""One-time capsule creation from the independently completed source-bound run.""" +from pathlib import Path +import argparse,json,hashlib,sys +sys.set_int_max_str_digits(500000) +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--native-source',type=Path,required=True) +ap.add_argument('--native-work',type=Path,required=True) +ap.add_argument('--output',type=Path,required=True) +a=ap.parse_args() +source=a.native_source.resolve();run=a.native_work.resolve() +b=json.loads((P/'frontier_fusion/NATIVE-ADMISSION-BINDING.json').read_text()) +def normalized(x): + if isinstance(x,dict):return {k:normalized(v)for k,v in x.items()if k not in {'seconds','log_sha256'}} + if isinstance(x,list): + y=[normalized(v)for v in x] + return sorted(y,key=lambda v:v['name']) if y and all(isinstance(v,dict)and'name'in v and'exit_code'in v for v in y) else y + if isinstance(x,str):return x.replace(str(run),'{native-work}').replace(str(source),'{native-source}') + return x +out={'schema':'phase-fusion-native-receipt-capsule/1','scope':'Canonical semantic hashes of the completed native JSON receipts. Elapsed seconds, stage-log digests, and the two root directory prefixes are normalized; concurrent named stage records are sorted. Actual current stage-log hashes are checked separately. Log byte hashes identify the historical run but are not compared across fresh runs.','source_commit':b['source_head'],'source_manifest_sha256':b['source_manifest_sha256'],'receipts':[]} +for rel,raw in b['receipt_sha256'].items(): + if rel.startswith('target002_upstream/full-1661-verification/'): + kind='native_work';r=rel.removeprefix('target002_upstream/full-1661-verification/');f=run/r + else: + prefix='target002_upstream/pr1661/research/gmx-t74-p566-ep400/' + assert rel.startswith(prefix);kind='native_source';r=rel.removeprefix(prefix);f=source/r + blob=f.read_bytes();assert hashlib.sha256(blob).hexdigest()==raw + row={'root':kind,'path':r,'historical_sha256':raw} + if f.suffix=='.json':row['semantic_sha256']=hashlib.sha256(json.dumps(normalized(json.loads(blob)),sort_keys=True,separators=(',',':')).encode()).hexdigest() + out['receipts'].append(row) +a.output.write_text(json.dumps(out,indent=2)+'\n') +print(len(out['receipts']),'receipts',sum('semantic_sha256'in r for r in out['receipts']),'canonical JSON hashes') diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex new file mode 100644 index 0000000000..4351a73450 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1673/capped-phase-fusion/phase_fusion_note.tex @@ -0,0 +1,460 @@ +\documentclass[11pt]{article} +\usepackage[margin=1in]{geometry} +\usepackage{amsmath,amssymb,amsthm,booktabs,longtable,array} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref} +\newtheorem{theorem}{Theorem} +\newtheorem{lemma}[theorem]{Lemma} +\newtheorem{proposition}[theorem]{Proposition} +\newtheorem{corollary}[theorem]{Corollary} +\newcommand{\norm}[1]{\left\lVert #1\right\rVert} +\newcommand{\diag}{\operatorname{diag}} +\newcommand{\poly}{\operatorname{poly}} +\newcommand{\plog}{\operatorname{polylog}} +\newcommand{\file}[1]{\href{#1}{\texttt{\detokenize{#1}}}} +\title{Capped phase-cell fusion in the conditional multiplication reduction} +\author{Research note prepared with OpenAI Codex assistance} +\date{13 October 2026} +\begin{document} +\maketitle + +\noindent\textbf{Review status: PASS\_CONDITIONAL\_PHASE\_FUSION\_REVIEW.} The capped local-gauge and layout changes have independent audits, followed by an integrated review of this note and its 44 exact strict slacks. The result below is conditional on the same finite suppliers and all-size computational interfaces as the retained selected result; it is not an unconditional integer-multiplication theorem and does not change the upstream selected certificate. + +\noindent\textbf{Updated final bounds.} The completely replayed T74 substitution in Section~\ref{sec:t74} gives $\kappa_T=0.001677160151714381$, or $\kappa_{T,M}=0.001677600129305161$ with the additional supplied matrix-exponent premise. Neither reaches the continuing target $0.002$. + +\section{Statement, inputs, and parameters} + +The retained selected saving is +\[ + \kappa_{\rm old}=0.001672660197076918. +\] +The retained independently replayed supplier lower bounds are +\[ + a_*=0.001733427039589844234749,\qquad + b_*=0.001675462676808103522925. +\] +Here $a_*$ is the bit saving and $b_*$ is the complex saving. They are supplied inputs, not recomputed finite constructions in this note. Put +\[ + q=b_*-10^{-10},\qquad a_{\rm eff}=(b_*+q)/2, + \qquad r_0=10^{-6},\quad \zeta=10^{-8},\quad s_0=10^{-5}, + \qquad c_0=3/32. +\] +The effective bit saving is deliberately weakened so that +$q2|t|+1$. Both nonzero parameters have controlled inverses, so zero shears cause no singular diagonal. Two- and three-$H$ identity words pad all permitted gate types to the same six-$H$ shape. Thus one original matching layer uses at most $(8m+2)$ simultaneous $H$ stages. + +For $g$ different axis circuits, Kronecker multiplication tensors the corresponding $H$ stages and multiplies the diagonal factors. There is no expansion into $2^g$ branches and no data padding. Coarse labels may select different switch and coefficient tables, while the stage schedule stays common. A tensor diagonal has coefficient $\prod_i d_i(x_i)$. In lexicographic order, cached prefix products are recomputed only on odometer carries; the total number of extra products is bounded by $L^g\sum_{k\geq1}k/L^k=O(L^g)$. Scanning the one-axis tables on a fixed number of tapes has the same amortized bound. Consequently each diagonal costs $O(V\plog p)$ rather than $O(Vg)$. + +Crucially, an $H$ stage is invoked \emph{globally across all complete coarse-label ranges}. A fixed coarse-label microbox does not contain complete high-coordinate bits to borrow. Each chosen local bit is placed in a complete $K$-bit neighborhood of its original axis, with +\[ + G=4\lceil\log_2p\rceil+6,\qquad K=128G. +\] +An individual neighborhood fits because $K+O(\log p)=o(\log s_i)$. The $gK$ selected positions can be exposed by a permutation supported on at most $2gK$ positions; the complement need not be stably compacted. Coarse labels are restored before the next diagonal is evaluated. + +The retained compact supplier's residual basis acts on its selected bits, not on the entire ambient address. Its control shuttles have width $O(hG)$ at a node with $h$ active bits. Reserve whole neighborhoods for the two front fields, one back field, and the full product row stock required by nested bit and complex calls. The completed active call is the desired kernel on active bits and identity on arbitrary dirty reserved coordinates. Thus these reserved selected bits can be deferred, rather than processed individually first. Their count is at most $h/16$ above a polylogarithmic tail. Padding adds whole rows only for the current phase and is deleted before the next one. + +The original sufficient wording $K/\log p\to\infty$ is replaced by the finite inequality actually used in its proof, $K\geq G+4\lceil\log_2p\rceil+10$. The present $K$ satisfies it. The support router implements all needed placements with support $O(h\plog p)$, and its short-record construction borrows only $\lceil\log_2p\rceil^2$ suffix bits. It does not move an entire long axis. + +Using supplier stopping exponent $10^{-9}$ gives a strict leaf saving above $a_{\rm eff}$ and $q$. The retained stopped recurrence and the geometric sum of deferred widths yield +\[ + O\bigl(Vg^{1-q}\plog p\bigr) +\] +for a complete global selected-bit call, including all exposure/restoration. The retained supplier implements $H_0=H/2$; multiplying by $2^g$ costs one shift scan and $O(g)$ guard bits. The full circuit therefore costs the same bound up to polylogarithms. The derivations and restrictions are in \file{TENSOR-COMPILER.md}, \file{SUPPLIER-SUPPORT-AUDIT.md}, and \file{SUPPORT-ROUTER.md}. + +\section{The two actual Gaussian operators} + +\subsection{Narrow compression and target-grid completion} +For one axis put $q_j=\lfloor\rho j+1/2\rfloor$ and $\beta_j=\rho j-q_j$. The retained narrow normalized Gaussian is $N=CTD$, where $C$ selects the $q_j$ target rows. Its off-diagonal row sum satisfies +\[ + \norm{N-I}_\infty\leq e^{-2a\theta}+5e^{-2a}. +\] +The two nearest directions must be bounded together; charging each by $e^{-2a\theta}$ would not give this result. With the chosen $a\geq4\log(16p)$ and $\theta\geq1/(4p)$, the row gap is at least $1/(8p)$ eventually. The globally fixed, truncated, structure-preserving rounded matrix $H$ can be chosen with $\norm{H-N}<1/(16p)$, diagonal exactly one, gap at least $1/(16p)$, row norm below two, and $\norm{H^{-1}}_\infty\leq16p$. Every local inverse uses a principal restriction of this same $H$. + +Let $E$ inject source coordinate $j$ at target coordinate $q_j$. On the full dyadic target grid define +\[ + H_{\rm aug}=EHC+(I-EC). +\] +It is permutation-similar to $H\oplus I$, so it inherits row dominance and inverse bounds. Its physical target bandwidth is at most $2w+2$, since $q$ increments by one or two. Its inverse on selected rows is $EH^{-1}C$. A diagonal normalization on selected rows, zero on holes, followed by the increasing $q$-image extraction gives exactly the retained compression approximation. + +\subsection{Broad expansion} +The broad forward matrix is distinct: +\[ + S_{kj}=\alpha^{-1}e^{-b_0(j-\lambda k)^2},\qquad + b_0=\pi/\alpha^2,\quad\lambda=1/\rho. +\] +Embed source values at the $q_j$ coordinates, zero elsewhere. Give every hole input column an identity column. The resulting square matrix $M$ agrees with $S$ on the intended zero-hole input. In selected/hole order, +\[ + M=\begin{bmatrix}\alpha^{-1}N_bD_b^{-1}&0\\ R&I\end{bmatrix}, + \quad b=\pi/(\alpha^2\rho^2),\quad + D_b=\diag(e^{b\beta_j^2}). +\] +The Gaussian row sum of $R$ is bounded. In particular $\norm{M}<3$ eventually; use $M/4$ as the completed forward map, making it contractive also on numerical errors in hole coordinates. Relative to the former $S/2$ normalization this contributes an extra $2^{-D}$ over $D$ axes. A single exact $2^D$ shift compensates it, increasing the retained scalar exponent $\Gamma$ by $D=o(p)$. + +On a phase cell $q_j=j+c$, a selected target block has entries +\[ + K_{ki}=\alpha^{-1}e^{-b_0(i-c-\lambda k)^2}. +\] +Its inverse is polynomially bounded even though an uncentered diagonal split can have a large range. The finite Gaussian LDU proof only uses gaps at least one and $|\beta|\leq1/2$. For +\[ + c_b=\prod_{m\geq1}(1-e^{-2b\rho m}) +\] +it gives +\[ + \norm{K^{-1}}_\infty + \leq\frac{\alpha e^{3b/4}c_b^{-4}} + {(1-e^{-b\rho\theta})^2}. +\] +Indeed $q'_k=k+\rho c$ has unit gaps and $\beta'_{q_j}=\beta_j$. Also +\[ + \log c_b^{-1} + =\sum_{h\geq1}\frac1{h(e^{2b\rho h}-1)} + \leq\frac{\pi^2}{12b\rho}, + \qquad c_b^{-4}\leq e^{\pi\alpha^2\rho/3}. +\] +Since $\alpha^2=O(\log p)$ and $\theta^{-1}=\poly(p)$, the bound is polynomial in $p$, uniformly over all contiguous cell subblocks. + +For a block anchor $m$, set $x=i-m$, $y=k-m$, and $\delta=(1-\lambda)m-c$, with $|\delta|\leq1/2$. The exact Toeplitz split is +\begin{align*} + K_{ki}&=D_{\rm row}(y)G(y,x)D_{\rm col}(x),\\ + G(y,x)&=e^{-b_0\lambda(x-y)^2},\\ + D_{\rm col}(x)&=e^{-b_0((1-\lambda)x^2+2\delta x)},\\ + D_{\rm row}(y)&=\alpha^{-1}e^{b_0\lambda(1-\lambda)y^2+ + 2b_0\delta\lambda y-b_0\delta^2}. +\end{align*} +The Gaussian Poisson formula bounds the symbol of $G$, with $\gamma=b_0\lambda$, between +\[ + \sqrt{\pi/\gamma}\,e^{-\pi^2/(4\gamma)} + \quad\hbox{and}\quad1+\sqrt{\pi/\gamma}. +\] +Thus every finite principal $G$ is SPD with polynomial condition number. Truncating at width $W$ and rounding symmetrically to sufficiently many $Cp$ bits preserve these bounds. The SPD shallow circuit applies. See \file{LOG-A-PHASE-SCHUR-AUDIT.md}, \file{BILATERAL-LDU.md}, and \file{FORWARD-SMALL-A-AUDIT.md} for the analytic details and exact local-identity controls. + +\section{Capping and recentering the phase interiors} + +All target holes and original physical period cuts are boundary coordinates. Selected target coordinates are consecutive inside an original phase cell, so no interior circuit is applied to a masked Toeplitz matrix. Use the maximum physical bandwidth $W$ for both directions. + +In each original $O(d)$-length cell, retain $W$ endpoints and repeatedly choose the largest dyadic interior of size at most $B$ that fits with a following $W$ separator. Once no full $B$ block remains, the dyadic-tail procedure halves the remaining length at every step until its size is $O(W)$, which is all boundary. There are $O(d/B+\log B)$ interiors and +\[ + O\bigl(W(d/B+\log B)\bigr) +\] +boundary coordinates per cell. Since $B=o(d)$, the boundary density is $O((W/B)\plog p)$. Each eliminated interior touches only its two neighboring $O(W)$ boundary groups. Schur fill therefore has half-bandwidth $O(W)$, regardless of the number of capped blocks. + +For the narrow exact cell weights +\[ + \omega_j=e^{-a(1/4-\beta_j^2)/\theta}, +\] +one step changes their logarithm by $2a\beta_j+a\theta=O(a)$. On a capped block use the exact rounded-weight ratio $\widehat\omega_j/\widehat\omega_m$ around one anchor. The common scalar cancels from the similarity, and its logarithmic range is $O(aB)$. The retained global rounding changes this by $O(1)$, because its $Cp$ precision dominates the original $O(ad)=o(p)$ range. This is symbolic recentering of the same matrix, not a new local rerounding. For the broad split, $|x|,|y|\leq B$ and $B\leq d$ give diagonal ranges +\[ + O\bigl((B+B^2/d)/\alpha^2\bigr)=O(B/\alpha^2)\subset O(aB). +\] +The number of blocks does not multiply circuit depth: they run as a direct sum on the $L$ existing coordinates. + +\section{Five factors, sparse windows, and batched boundaries} + +For either square operator write $Q=\left[\begin{smallmatrix}A&B_1\\C_1&D_1\end{smallmatrix}\right]$ in interior/boundary order, and $F=D_1-C_1A^{-1}B_1$. Exact multiplication gives +\begin{align} + Q^{-1}&=\diag(A^{-1},I)E_{-B_1}\diag(A,F^{-1}) + E_{-C_1}\diag(A^{-1},I),\\ + Q&=\diag(A,I)E_{C_1}\diag(A^{-1},F)E_{B_1}\diag(A,I). +\end{align} +The off-diagonal factors use the original banded $B_1,C_1$. The forward formula uses $F$ only as a matrix application; it does not require a forward Schur inverse or a forward LU-prefix assertion. For the narrow inverse, row diagonal dominance survives elimination. Its Schur row gap stays at least $1/\poly(p)$ and its row norm is bounded, so the retained no-pivot boundary solver applies. + +Batch independent right-hand sides in a dyadic width between $W$ and $2W$. A banded triangular solve becomes block updates +\[ + X_j=L_{jj}^{-1}(Y_j-L_{j,j-1}X_{j-1}). +\] +Precomputed diagonal inverses and two square block products implement each update. The seven-product recursion gives exponent $\omega=\log_2 7<45/16$, the latter inequality checked exactly by $7^{16}<2^{45}$. The same batching handles boundary/interior coupling products. Intermediate Strassen additions grow only polynomially in $W$. Round after a completed block update and bound its residual. Each local window has polynomial length $L$, the no-pivot factors and exact partial right-hand sides have polynomial bounds, and the completed system inverse has polynomial norm. Thus the uniform local residual is $\poly(p)2^{-P}$; there is no factor equal to the global number of windows. The total boundary cost is +\[ + O\bigl(V(d/B)W^{\omega-1}\plog p\bigr). +\] + +For a group let $J_i$ be its boundary set, and let $E_i$ also include every interior coordinate incident to $B_1$ or $C_1$. Then $|E_i|/L=O((W/B)\plog p)$ and each sparse factor fixes $E_i^c$. The union +\[ + U=\{x\in[L]^g:\exists i,\ x_i\in E_i\} +\] +has fraction $O(gW/B\plog p)$. It is closed under the sparse factors, including a possibly dense inverse on $J_i$. It is \emph{not} closed under a dense $A$ stage. Use two sparse windows, with scatter/regather around the intervening dense stage. + +For one sparse axis, $U_i=E_i\times[L]^{g-1}$ is a complete rectangle wholly present in $U$. Scan $U$, extract $U_i$, number $E_i$ in increasing order by a stream counter, transpose only this polynomial-size field, perform its boundary operation, and merge back. Only this one field is temporarily padded, and the padding is deleted before the next axis. Each sparse window costs $O(Vg^2W/B\plog p)$ per group. Across $d/g$ groups this is +\[ + O\bigl(V(dg/B)W\plog p\bigr). +\] +Every group also has a fixed number of full scans costing $O(V)$. Membership calculations use $O(g(\log s)^2\plog p)=o(p)$ bit operations per $p$-bit record. Detailed fixed-tape extraction and batching are in \file{PHASE-LAYOUT-AUDIT.md}. + +\section{Core faces, ordered embedding, and precision} + +The increasing map $j\mapsto q_j$ permits one product scan for a whole group. Enumerate the dyadic target rectangle. For target $k$, put +\[ + j=\max\{0,\lceil s(2k-1)/(2t)\rceil\}. +\] +It lies in the image exactly when $j0.000428$. The old core-face cost has exponent $\epsilon_M+\beta_M-3<-1.75$. + +The main and grouped Gaussian savings are equal, while the sparse-union saving has an exact $s_U$ surplus: +\begin{align*} + \epsilon_Mq&=1-\epsilon_M+q\beta_M,\\ + 1-\epsilon_M-\beta_M-1/2+\xi_M&=\epsilon_Mq+s_U. +\end{align*} +Their minimum equals +\[ + 0.001673360115405778453817047951720376\ldots>\kappa_M+10^{-11}. +\] +The new boundary saving is $5/16+\xi_M-\epsilon_M>0.0639$, so it is not binding. Global routing, group scans, packed products and core-face repairs have strictly larger savings. + +The optional full-key surcharge in the earlier conservative table is absent here: the actual sparse-union algorithm extracts complete rectangles $U_i$, transposes one field, and performs an ordered merge. It does not sort union records. In contrast, all sparse \emph{microhalo} radix keys remain paid in their negligible correction volume. Adding a full-key sort on the union is an explicit rejecting control; omitting it follows from the layout proof, not from the matrix exponent. The new parameter range and q-image ordering are independently checked in \file{MATRIX-LAYOUT-SIGNOFF.md}. + +The exact ledger \file{check_matrix_corollary.py} verifies 47 positive strict slacks and six rejecting controls, recorded in \file{MATRIX-COROLLARY-ARITHMETIC.json}. The gain over the upstream selected saving is $6.9990832886\times10^{-7}$. The gain over the separate Strassen result is $4.37755816907\times10^{-7}$. The strict minimum gap absorbs all remaining fixed logarithms as before. +\end{proof} + +\noindent\textbf{Corollary review status: PASS\_CONDITIONAL\_MATRIX\_PHASE\_FUSION\_REVIEW.} The additional matrix transfer, new-parameter layout and exact arithmetic passed their independent audits and integrated root review. Corollary~\ref{cor:matrix} retains its explicit additional matrix-exponent premise. The first theorem and its separate reviewed arithmetic receipt remain unchanged. + +\section{Updated T74 supplier and final exponents}\label{sec:t74} + +The preceding proofs are parameterized by the effective supplier rate. We now substitute the independently replayed T74 complex supplier from \href{https://github.com/CrocSwap/integer-mult-bounds/pull/1661}{PR1661}, pinned at commit \texttt{f852af5e178ce035cd46181a29d9330bcbcaa206}. This is a new input to the same outer proof, with contributor attribution retained in the source package. The original numerical statements above remain valid special cases. + +Use the exact finite decimals +\[ + b_T=0.00167971337478,\qquad q_T=b_T-10^{-10}, + \qquad a_T=(q_T+b_T)/2. +\] +The independently retained bit rate $a_*=0.001733427039589844234749$ satisfies $q_T0 for x in assembly['outer'].values()),'native strict inequalities failed') + words={} + for key,word in [('base','gauge44-word-566.json.gz'),('extra','extra-word-566.json.gz')]: + d=run/('native-new-'+key);st=read(d/'STEPS.json') + need([s['step'] for s in st]==['native','ledgers','local-replay','wrappers','phases'] and all(s['exit_code']==0 for s in st),'native word coverage failed: '+key) + need(gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((source/'new'/word).read_bytes()),'native word payload differs: '+key) + words[key]=sha(source/'new'/word) + caps=read(package/'frontier_fusion/NATIVE-ADMISSION-BINDING.json') + need(result['controls']==caps['control_counts'],'cold control coverage differs') + capsule=read(package/'NATIVE-RECEIPT-CAPSULE.json') + def native_normalized(x): + if isinstance(x,dict):return {k:native_normalized(v)for k,v in x.items()if k not in {'seconds','log_sha256'}} + if isinstance(x,list): + y=[native_normalized(v)for v in x] + return sorted(y,key=lambda v:v['name']) if y and all(isinstance(v,dict)and'name'in v and'exit_code'in v for v in y) else y + if isinstance(x,str):return x.replace(str(run),'{native-work}').replace(str(source),'{native-source}') + return x + bound={} + for z in capsule['receipts']: + root=run if z['root']=='native_work' else source + f=root/z['path'];need(f.is_file(),'missing native receipt: '+z['path']) + bound[z['root']+'/'+z['path']]=sha(f) + if 'semantic_sha256' in z: + digest=hashlib.sha256(json.dumps(native_normalized(read(f)),sort_keys=True,separators=(',',':')).encode()).hexdigest() + need(digest==z['semantic_sha256'],'native semantic receipt differs: '+z['path']) + files=[run/'RESULT.json',run/'STAGES.json',run/'strict/RESULT.json',run/'strict/ASSEMBLY.json'] + return {'status':'PASS_FRESH_NATIVE_RUN_BOUND_TO_PINNED_PHASE_FUSION','scope':'Existing complete cold native run checked against the pinned source and the independently replayed outer inputs; all-size assumptions remain.','source_commit':PIN,'source_manifest_sha256':sha(source/'MANIFEST.json'),'native_words':words,'complex_lower':assembly['complex_lower'],'profile':assembly['complex_profile'],'controls':result['controls'],'canonical_native_receipts_checked':46,'all_native_receipt_sha256':bound,'run_receipt_sha256':{str(f.relative_to(run)):sha(f) for f in files}} + +def main(): + ap=argparse.ArgumentParser();ap.add_argument('--package',type=Path,default=Path(__file__).resolve().parent);ap.add_argument('--native-source',type=Path);ap.add_argument('--native-work',type=Path);ap.add_argument('--output',type=Path);a=ap.parse_args() + need((a.native_source is None)==(a.native_work is None),'provide both --native-source and --native-work') + package=a.package.resolve() + if a.output:need(not a.output.resolve().is_relative_to(package),'--output must be outside the immutable package') + out=fast(package) + if a.native_source:out['cold_native_binding']=cold_binding(package,a.native_source,a.native_work) + if a.output:a.output.write_text(json.dumps(out,indent=2)+'\n') + print(out['status'],len(out['checks']),'exact control replays') + if 'cold_native_binding' in out:print(out['cold_native_binding']['status']) +if __name__=='__main__':main() diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md b/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md new file mode 100644 index 0000000000..bf9899ee21 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1786/FINE-PRIME-PADDING.md @@ -0,0 +1,355 @@ +# Fine prime padding with separate setup and online precision + +This extends the capped phase-cell construction of PR1673 and the +fractional-shift interiors and radix-union schedule of PR1758. The finite +supplier is the unchanged signed-554 T74 supplier admitted in PR1699. +The new mechanism is a finer choice of source primes. Its smaller phase +increment changes the chirp budget, provided coefficient setup is allowed +more precision than the online records. The boundary uses the retained +explicit Strassen format; no structured-solver stability claim is needed. + +The exact ledger gives conditional +`kappa=0.001679754788150048`, rounded strictly below the derived saving. +The conclusion retains the all-size hypotheses listed in section 8 below. +Finite checks do not prove those hypotheses, the cited prime theorem or the +complete multiplication theorem. No practical cutoff is claimed. + +## 1. A source-prime interval finer than 1/d + +Retain the dyadic target box of the assembly construction. Its dimension is +`d=Theta(p^epsilon)`, `0=229 that + + |pi(x)-li(x)| <= 0.2795 x (log x)^(-3/4) + exp(-sqrt(log x/6.455)). + +[Primary source, theorem 2](https://arxiv.org/html/1401.2689v2#S2). +This theorem is a cited mathematical input, not re-proved by the verifier. + +Apply it at the two endpoints of the requested interval about x=t_i. +The logarithmic-integral difference is at least `eta_p x/log x`. The sum +of the two errors divided by this main term is bounded, for a fixed C, by + + C p^2 (log x)^(1/4) exp(-c sqrt(log x)) -> 0. + +Indeed `log x=Theta(p^(1-epsilon))` and epsilon<1 is fixed, so its positive +power dominates log p. Consequently the interval contains eventually at +least `x/(8p^2 log x)` primes. This exceeds d, since x is exponential in +`p^(1-epsilon)` and the denominator and d are polynomial in p. Both target +sizes satisfy the estimate. Their intervals are disjoint, so all d source +primes can be made distinct, odd and coprime to their dyadic targets. + +The deterministic search used by the assembly still works: scan the +intervals and test candidates by trial division. Even scanning all O(r) +candidates with O(sqrt r) divisors and polynomial bit overhead costs +`O(d r^(3/2) poly(p))`. Its logarithm is `O(log p+p/d)=o(p)`, hence setup +is `n^o(1)=o(n)`. No unknown threshold is used as a claim of practicality. +The algorithm can fall back on the retained multiplier for smaller inputs. + +Let `rho_i=t_i/s_i=1+theta_i`. The interval gives + + 1/(4p^2) < theta_i <= 1/(2p^2-1) <= 1/p^2. + +Also `S/T > (1-1/(2p^2))^d >= 1-d/(2p^2) > 1/2` eventually, since +d<=p. Thus the same capacity bound `T/2=1/(4d)`. + +## 2. Polynomial conditioning survives the smaller increment + +Keep `alpha=ceil(sqrt((4/pi) log(16p)))` and `a=pi alpha^2`. Eventually +`4 log(16p)<=a<=5 log(16p)` and alpha^2=Theta(log p). The sharp row estimate +of PR1673, LOG-A-PHASE-SCHUR-AUDIT section 1, is valid for every theta>0: + + ||N-I||_infinity <= exp(-2 a theta)+5 exp(-2a). + +For theta>=1/(4p^2), its row gap is at least `1/(8p^2)` eventually; for +example `1-exp(-2a theta)>=1/(4p^2)` while the second term is O(p^-8). +Omitting the exponentially small nonzero diagonal aliases and setting the +diagonal exactly to one preserves a polynomial gap. Exponentially accurate +band truncation and coefficient rounding preserve half of it. Every principal +narrow block has the same row gap, and its Schur complements retain that gap. + +The broad bound in FORWARD-SMALL-A-AUDIT sections 1-3 already states its +dependence on theta explicitly: + + ||K^-1|| <= O(alpha^5 rho^2 theta^-2 exp(a rho/3)). + +This is polynomial for the new theta. Since rho=1+O(p^-2), the exponential +factor is at most p^2 eventually, theta^-2<=16p^4, and alpha^5 is +polylogarithmic. The finite and bilateral LDU entry bounds are geometric +in index distance and bound both row and column sums. The same estimates +apply to the finite contiguous sections used by elimination. The augmented +forward matrix adds identity hole columns and a Gaussian coupling of bounded +row and column sums. Thus a conservative common eventual bound p^10 covers +the relevant matrices and their inverse norms, in both induced row/column +norms and spectral norm. Polynomially small perturbations preserve it with +slightly larger constants. This bound is independent of the number of cells. + +Physical-prefix elimination still consists of one contiguous prefix and +disjoint future interiors separated by at least the bandwidth. The eliminated +matrix is a direct sum of such sections. A Schur inverse is a principal block +of the corresponding full inverse; its norm is therefore polynomial too. +Schur norms follow from `D-C A^-1 B`. These are the same prefix geometries +used in the retained dense no-pivot boundary argument, with new polynomial +constants. No general stability assertion for structured generators is used. + +## 3. Setup precision must increase; online precision need not + +The old absolute weight precision cannot be retained. For the narrow weights + + w_i=exp(-a(1/4-beta_i^2)/theta), + +the negative logarithm can now be as large as `a/(4 theta)=O(p^2 log p)`. +Rounding these weights absolutely to Cp bits can produce zero. The finite +checker includes a concrete underflow witness; this is a required change. + +Let `L_p=ceil(log2 p)` and let C be a sufficiently large fixed constant. +Use setup precision + + P_setup = C p + 64 p^2 L_p. + +Eventually `a<=16 L_p`, so `a/(4 theta)<=16 p^2 L_p`. Since log 2>1/2, +rounding a weight downward with absolute error at most `2^-P_setup` gives + + |w_hat_i-w_i|/w_i + <= 2^-P_setup exp(a/(4 theta)) + < 2^(-C p). + +The weights remain positive. Increasing C by a fixed amount supplies any +additional polynomial slack needed below. Computing these polynomially many +bits, exponentials, exact anchored ratios and local inverse/factor pages takes +polynomial time in p. Schoolbook arithmetic and ordinary convergent series +already suffice; no use of the improved multiplier at a larger precision is +required for this setup bound. + +Define one globally fixed rounded reference matrix H as in the retained +audit: within each original phase cell use positive rounded weights and a +single rounded, truncated Toeplitz kernel, and across cells use rounded +Gaussian entries, with diagonal exactly one. The weights use P_setup, while +the kernel and the actual online pages need only a sufficiently large +constant times p bits. For distances at most W, weight ratios have logarithmic +range O(aW)=o(p). The truncation tail is bounded directly in the Gaussian +entries, independently of the full-cell weight range. Hence H differs from +the exact Gaussian matrix by `poly(p) 2^(-(C-o(1))p)` in row and column norm. +This preserves the polynomial conditioning in section 2. All actual Schur +and inverse tables are computed for this H, with the same perturbation budget. + +The data circuit never multiplies by the full-cell weights. Use PR1758's +exact fractional-shift identities, whose algebra holds for every theta>0. +On a capped block of length at most B, the narrow remaining chirp has +logarithmic range O(a theta B^2); the broad chirp and its leftover linear +term have range O(b0 theta B^2+b0 theta B), where b0=pi/alpha^2. Each is at +most O(a B^2/p^2). The shifted Toeplitz kernels remain accretive: their shift +gap is at least theta/2, and the explicit symbol bound of PR1758 gives +polynomial inverse norms when theta^-1=O(p^2). Its accretive shallow-circuit +theorem therefore has polylog(p) guard bits per axis, as before. + +The ideal shifted representation and H need not have identical stored +coefficients. Their difference has the bound just established: replace the +old raw `Cp` weight precision by P_setup in the comparison in PR1758 section +2. Local shifted kernels and anchored chirps are generated directly, then +rounded at online precision. Across g axes the uncompleted amplification is + + exp(O(g a B^2/p^2 + g polylog p)). + +Thus O(p)-bit records suffice whenever + + beta + 2 xi - 2 < 1, beta < 1. + +The inverse comparison also stays within the error budget. If an ideal +interior A and the rounded reference H_II differ by Delta, then +`H_II^-1-A^-1=-H_II^-1 Delta A^-1`. Both inverse norms are polynomial; +the error changes only by a polynomial factor. Telescoping through the +constant number of completed factor stages, and through g tensor axes, +uses the stated chirp/prefix guard. Exact identity of their rounded +coefficient lists is neither assumed nor needed. + +Setup arithmetic at P_setup is separate from these records. It is not placed +inside an online motif call or multiplied into the per-record data cost. +PHASE-LAYOUT-AUDIT already permits polynomial coefficient/page generation +per complete microbox and axis, amortized by the superpolynomial inner and +spectator payload. Replacing its polynomial by another fixed polynomial +preserves that argument: `L^g` and every full unused source-axis range exceed +every fixed polynomial in p. The number of pages, capped pieces, axes and +required bits is polynomial. This is an asymptotic amortization, not a claim +that P_setup or the eventual cutoff is practical. + +## 4. Normalize completed maps with powers of two + +The exact Gaussian resampling identity and the coprime source/target +permutations do not require theta to be of order 1/d. They require the +positive separation and invertibility established above. The completed +forward, inverse and diagonal factors can have larger polynomial norms +than in the old parameter family. Divide each such completed map by an +additional dyadic factor of at most `2^ceil(100 log2 p)`. The conservative +p^10 bounds above are then below one. Restore the product of these exact +normalizers at the final scalar shift, together with the retained Gaussian +normalization. This preserves the exact transform identity. + +There are O(d) factors; the added shift has O(d log p)=o(p) bits because +epsilon<1. This also bounds the extra accuracy needed before exact recovery. +At a sufficiently large fixed C, data precision is `C p+o(p)=O(p)`. +Completed groups can be treated as contractions, while their uncompleted +prefixes/suffixes use the chirp and circuit guards of section 3. None of +these changes increases the semantic online dimension exponent C1=1. +Offline arithmetic is paid through the setup amortization, not that interface. +The normalizer is scalar: combine its powers into the group coefficients or +apply one scalar per completed group, rather than introducing a full scan per +axis. A constant number of these operations per group is absorbed by the +retained group-scan row. Global restoration is one already-paid exact shift. + +## 5. A larger but still polynomial locality window + +The old literal row-gap and locality constants must not be reused. A +conservative generic locality argument suffices. For a banded reference +matrix with `||H||_2,||H^-1||_2<=p^10`, put + + Q=I-p^-20 H* H. + +Its eigenvalues lie in `[0,1-p^-40]`. With `J=ceil(p^42)`, the polynomial +inverse `p^-20 sum_(j0`. +The locality polynomial is used in the proof and coefficient setup. The +online algorithm still uses the capped factorization and compiled circuits; +it does not perform J Neumann iterations on each data record. + +An original phase cell now has length Theta(p^2). Capped dyadic carving still +has boundary density `O((W/B) polylog p)`: the additional end-cell contribution +is `O(W log B/p^2)`, dominated when B<=p^2. Clipped physical period cuts and +holes remain boundary. Scalar Schur bandwidth stays O(W), since an eliminated +interior joins only its two neighboring O(W)-size separators. Larger cores +and halos change only fixed powers in offline setup and O(log p) address +fields. Their source axes are still superpolynomial in p. + +## 6. Retained Strassen boundary, circuit and union costs + +Use the explicit Strassen circuit, with `7^16<2^45`, so choose fixed matrix +target exponent `tau=45/16` and `c=(3-tau)/2=3/32`. PR1673's dense boundary +proof and fixed-format absolute-precision argument apply to the new polynomially +conditioned pages. Block scans, permutations, rewinds and linear combinations +remain charged. Boundary density is still W/B, so its cost power remains +`epsilon-xi+(tau-1)/2` and its saving is `c+xi-epsilon`. This applies to general +rounded blocks and needs no structured inverse algorithm. + +The interiors use PR1758's shifted Toeplitz representation and accretive +shallow-circuit theorem, with the smaller theta substituted in the explicit +symbol bound and with section 3's setup precision. Circuit algebra and depth +are unchanged; the condition guard remains polylog(p) per axis because all +inverse norms and theta^-1 are polynomial. + +Retain PR1758's radix-distributed union schedule. Complete lines stay in one +flag class and axis operators commute on distinct tensor factors. Its incidence +identity is `sum_r |S_r|=sum_x |F(x)|=sum_i |U_i|<=g mu V`. Each visit already +moves an O(p)-bit record; flag extraction and O(g log L)-bit headers are absorbed +when beta<1. We use PR1758's per-visit argument, not the obsolete 2 beta<1. +Union cost power remains `epsilon+1/2-xi`. No per-axis scan of the whole union +is added, and no vanishing-union fraction is assumed. Support routing, +whole-neighborhood reservation and interchange retain their stated interfaces. + +## 7. Explicit parameters and every paid row + +Use PR1699's certified endpoint +`b_cert=335950991225108904267/200000000000000000000000`. +Set `b=b_cert-10^-64`, `q=b-10^-64`, `a_eff=(q+b)/2`, +`r0=10^-64`, `zeta=10^-66`, layout slack `s=10^-64`, and stopped-recursion +parameter `stop=10^-70`. The bit endpoint is 0.001733427039589844234749. +Choose + + epsilon=9999999/10000000, + beta=9999997/10000000, + xi=epsilon(1+q)-3/32+s. + +Thus xi=0.90792965478815... . This is an explicit interior point; it does not +assert an attained limiting rate. Since beta0`. The global router also +exceeds the main saving. Every other row has larger slack. The minimum is +`epsilon q`, strictly above the rounded headline. + +Key side conditions are + + 1-beta=3 delta>0, + 1-beta-2(1-epsilon)=delta>0, + epsilon-beta=2 delta>0, + 1-epsilon-r0>0, + 1-(2xi-2)-r0-beta=0.184140990423...>0, + 1/20, 48>43. + +The ledger regenerates the remaining stopped-supplier, endpoint, logarithm +and layout conditions. A separate implementation reconstructs the point and +all nine powers. Fourteen rejected variants include the old theta guard, +old union scan, group=dimension, epsilon=1, an unsupported Strassen exponent +and halo/core choices outside the stated locality witness. These failures +are scoped to this proof and point, not universal lower bounds. + +## 8. Scope, sources and open obligations + +Newly supplied here: the effective fine-prime interval and capacity/search +argument; the polynomial setup-precision replacement; the theta-dependent +conditioning substitution; conservative locality/core choices; scalar +normalization accounting; and the exact parameter composition. + +Retained or cited mathematical inputs are Trudgian's prime theorem; PR1673's +Gaussian identities, bilateral/finite LDU, capped factorization, dense boundary +and layout arguments; PR1758's fractional-shift identities, accretive circuit +theorem and per-visit union schedule; and the admitted finite supplier. +Arithmetic and finite simulations do not prove these general statements. + +The multiplication conclusion remains conditional on the all-size compiler, +common labels, mutable sources, whole-call hosting, semantic online precision +C1=1, fixed tapes, prime-packing implementation, arbitrary-width equal-chunk +interchange, exact recovery and analytic transfer. The changed prime interval, +setup precision and locality scales are proved above rather than silently +substituted into old numeric hypotheses. No independent human review, +proof-assistant verification, practical cutoff or physical multiplication +implementation is claimed. + +Credit Vlado Vojdanovski for PR1673; IdeaOuter, as credited by PR1758, for +fractional-shift interiors and per-visit tag accounting; Jeremy Kothe and +contributors for the package series; and LeverRank for the second schedule +simulation. PR1699's notices retain the complete supplier lineage. PR1672 +published the signed-554 kernel first. New material here was prepared by +Chafik Boukhalfa with substantial OpenAI Codex assistance, under Apache-2.0. + +Open next questions: independently review setup versus online precision, +uniform prefix conditioning and the enlarged halo; formalize the fine-prime +transfer lemma; improve the finite supplier endpoint. Every new endpoint +still requires a complete paid native word and admission. The extreme +eventual threshold is intentionally not presented as a practical algorithm. diff --git a/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md b/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md new file mode 100644 index 0000000000..e491b2e587 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/vendor/pr1786/NOTICE.md @@ -0,0 +1,3 @@ +# PR1786 (chafreaky / Chafik Boukhalfa), fine source-prime padding + +`FINE-PRIME-PADDING.md` and `outer/check_fine_padding.py` (copied; only the first docstring line of the script is relabelled) are from CrocSwap/integer-mult-bounds PR1786, branch chafreaky/integer-mult-bounds `research/fine-prime-padding`, head `c52345caa318fc6b1b6e2659c57d746317a72823` (Apache-2.0, as stated in the PR). The mechanism (source primes at relative gap Theta(p^-2) from dyadic targets via Tim Trudgian's effective prime number theorem, arXiv:1401.2689v2 theorem 2; setup precision Cp + 64 p^2 ceil(log2 p); theta-dependent conditioning; polynomial halo p^48 and core p^128; dyadic normalizers; explicit Strassen boundary) is entirely theirs. This package changes only the explicit parameter point (epsilon, beta) and the surrounding stack, see `outer/FINE-PADDING-COMPOSITION.md`. diff --git a/research/gmx-t74-borrow43-handoff/verify.py b/research/gmx-t74-borrow43-handoff/verify.py new file mode 100644 index 0000000000..1d3f51f5e0 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify.py @@ -0,0 +1,132 @@ +"""Portable finite admission. Fresh native suppliers by default; explicit bound reuse supported.""" +import argparse,gzip,hashlib,json,os,shutil,subprocess,sys,tarfile,threading,time +from pathlib import Path +P=Path(__file__).resolve().parent +ap=argparse.ArgumentParser();ap.add_argument('--work',type=Path,required=True);ap.add_argument('--base-native-from',type=Path);ap.add_argument('--extra-native-from',type=Path);ap.add_argument('--parent-receipt-cache',type=Path);ap.add_argument('--new-base-native-from',type=Path);ap.add_argument('--new-extra-native-from',type=Path);ap.add_argument('--native-cache',type=Path);ap.add_argument('--audit-shards',type=int,default=4);a=ap.parse_args();work=a.work.resolve();assert __debug__ and not work.exists() and not work.is_relative_to(P) +def rd(p): + b=p.read_bytes();return json.loads(gzip.decompress(b) if p.suffix=='.gz' else b) +def sha(p):return hashlib.sha256(p.read_bytes()).hexdigest() +pins=rd(P/'MANIFEST.json');actual={p.relative_to(P).as_posix() for p in P.rglob('*') if p.is_file() and p!=P/'MANIFEST.json'};assert actual==set(pins) +for rel,h in pins.items():assert sha(P/rel)==h,rel +work.mkdir();(work/'tmp').mkdir();env=dict(os.environ,TMPDIR=str(work/'tmp'),PYTHONDONTWRITEBYTECODE='1',PYTHONUTF8='1',PYTHONINTMAXSTRDIGITS='0',OPENBLAS_NUM_THREADS='1',OMP_NUM_THREADS='1') +for k in ('PYTHONOPTIMIZE','WITNESS_DISCOVER','WITNESS_RECORD','WITNESS_SPEC'):env.pop(k,None) +env['AUDIT_FAST_SHARDS']=str(max(1,a.audit_shards)) +stages=[];lock=threading.Lock() +def run(name,script,*args): + t=time.monotonic();log=work/(name+'.log') + with log.open('w') as f:r=subprocess.run([sys.executable,'-B',str(script),*map(str,args)],cwd=work,env=env,stdout=f,stderr=subprocess.STDOUT) + with lock:stages.append(dict(name=name,exit_code=r.returncode,seconds=time.monotonic()-t,log_sha256=sha(log)));(work/'STAGES.json').write_text(json.dumps(stages,indent=2)) + assert r.returncode==0,(name,log.read_text()[-5000:]);print('PASS',name,flush=True) +old=P/'vendor/pr1297' +# The pinned input witness must be the exact retained predecessor, not merely a similar profile. +for n in ['PLAN.json','OWNERS.json.gz','GLOBAL-TEMPLATE.json.gz','DISPATCH.json','SPEC.json']:assert rd(P/'inputs'/n)==rd(old/n),n +env['FINE_ENGINE_CACHE']=str(work/'fine-cache') +env['BORROW_RECEIPTS']=str(work/'borrow-receipts') # receipts carry timings: written to the work directory, never into the package +run('fine-engine-oracle',P/'code/oracle_check.py') +opts=[] +for key,path in [('base',a.base_native_from),('extra',a.extra_native_from)]: + if path:opts.extend(['--'+key+'-native-from',path.resolve()]) +PARENT_STATUS='PASS_GLOBAL_MIXED_X54_FUSIONS_NATIVE_AND_STRICT_ADMISSION' +def retained_files_ok(): + # the retained package must be byte-for-byte the one every receipt below is bound to (same check as its own verify.py) + vm=rd(old/'MANIFEST.json');have={p.relative_to(old).as_posix() for p in old.rglob('*') if p.is_file() and '__pycache__' not in p.parts and p!=old/'MANIFEST.json'} + assert have==set(vm),'retained package file set differs from its manifest' + for rel,h in vm.items():assert sha(old/rel)==h,rel +def natives_bound(path,word): + assert gzip.decompress((path/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress((old/word).read_bytes()),word + st=rd(path/'STEPS.json');assert [x['step'] for x in st]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in st) +rc=None;receipt=None +if a.parent_receipt_cache and a.base_native_from and a.extra_native_from: + retained_files_ok();rc=a.parent_receipt_cache.resolve()/sha(old/'MANIFEST.json') + if (rc/'RECEIPT.json').is_file(): + receipt=rd(rc/'RECEIPT.json') + try: + assert receipt['schema']=='parent-receipt/1' and receipt['vendor_manifest_sha256']==sha(old/'MANIFEST.json') + assert receipt['claim_sha256']==sha(old/'CLAIM.json') and receipt['words']=={'base':sha(old/'gauge44-word.json.gz'),'extra':sha(old/'extra-word.json.gz')} + for name,h in receipt['files'].items():assert sha(rc/name)==h,name + pr=rd(rc/'RESULT.json');assert pr['status']==PARENT_STATUS and pr['kappa']==rd(old/'CLAIM.json')['kappa'] and pr['base_native_reuse'] is True and pr['extra_native_reuse'] is True + natives_bound(a.base_native_from.resolve(),'gauge44-word.json.gz');natives_bound(a.extra_native_from.resolve(),'extra-word.json.gz') + except (AssertionError,KeyError,OSError,ValueError) as exc: + print('parent receipt rejected (%r); running the full retained admission'%(exc,),flush=True);receipt=None +if receipt: + t0=time.monotonic();pl=work/'parent';pl.mkdir();lay=pl/'layout';lay.mkdir() + with tarfile.open(old/'upstream-layout.tar.gz') as t: + for m in t.getmembers():assert m.isfile() and not Path(m.name).is_absolute() and '..' not in Path(m.name).parts + t.extractall(lay,filter='data') + (lay/'globalmix51').mkdir();shutil.copytree(a.extra_native_from.resolve(),lay/'globalmix51/native-extra') + with lock:stages.append(dict(name='retained-provider-and-parent-admission',reused_receipt=str(rc.name),exit_code=0,seconds=time.monotonic()-t0));(work/'STAGES.json').write_text(json.dumps(stages,indent=2)) + print('PASS retained-provider-and-parent-admission (hash-checked receipt)',flush=True) +else: + run('retained-provider-and-parent-admission',old/'verify.py','--work',work/'parent',*opts) + pr=rd(work/'parent/RESULT.json');assert pr['status']==PARENT_STATUS and pr['kappa']==rd(old/'CLAIM.json')['kappa'] + if rc is not None and a.base_native_from and a.extra_native_from: + natives_bound(a.base_native_from.resolve(),'gauge44-word.json.gz');natives_bound(a.extra_native_from.resolve(),'extra-word.json.gz') + rc.mkdir(parents=True,exist_ok=True);shutil.copy2(work/'parent/RESULT.json',rc/'RESULT.json');shutil.copy2(work/'parent/STAGES.json',rc/'STAGES.json') + (rc/'RECEIPT.json').write_text(json.dumps(dict(schema='parent-receipt/1',vendor_manifest_sha256=sha(old/'MANIFEST.json'),claim_sha256=sha(old/'CLAIM.json'),words={'base':sha(old/'gauge44-word.json.gz'),'extra':sha(old/'extra-word.json.gz')},files={'RESULT.json':sha(rc/'RESULT.json'),'STAGES.json':sha(rc/'STAGES.json')}),indent=1)+'\n') +pre_words={'base':P/'new/gauge44-word-566.json.gz','extra':P/'new/extra-word-566.json.gz'} +new_words={'base':P/'new/borrow/words/BORROW-WORD-43base.json.gz','extra':P/'new/borrow/words/BORROW-WORD-43extra.json.gz'} +nat={};nat_err=[] +def new_native(key): + try: + w=new_words[key];reuse=getattr(a,'new_%s_native_from'%key);d=None;ws=sha(w) + def tree(e):return {x.relative_to(e).as_posix():sha(x) for x in sorted(e.rglob('*')) if x.is_file() and x.name!='CACHE.json'} + if reuse:d=reuse.resolve() + elif a.native_cache: + e=a.native_cache.resolve()/ws + if (e/'CACHE.json').is_file(): + cj=rd(e/'CACHE.json') + if cj.get('word_sha256')==ws and cj.get('files')==tree(e):d=e + if d is None: + d=work/('native-new-'+key);run('native-new-'+key,P/'new/run_native_borrow.py',w,d) + if a.native_cache: + root=a.native_cache.resolve();root.mkdir(parents=True,exist_ok=True);dst=root/ws + if not dst.exists(): + tmp=root/('.tmp-%s-%d'%(ws,os.getpid()));shutil.copytree(d,tmp);(tmp/'CACHE.json').write_text(json.dumps(dict(word_sha256=ws,files=tree(tmp)),indent=1)) + try:tmp.rename(dst) + except OSError:shutil.rmtree(tmp,ignore_errors=True) + assert gzip.decompress((d/'local/FULL-WORD.json.gz').read_bytes())==gzip.decompress(w.read_bytes()),(key,'native directory is not bound to the shipped word') + st_=rd(d/'STEPS.json');assert [x['step'] for x in st_]==['native','ledgers','local-replay','wrappers','phases'] and all(x['exit_code']==0 for x in st_) + nat[key]=d + except BaseException as exc:nat_err.append(exc) +nthreads=[threading.Thread(target=new_native,args=(k,)) for k in new_words] +for t_ in nthreads:t_.start() +def rebuild_chain(): + run('reconstruct-owners',P/'reconstruct.py','--out',work/'rebuilt-owners') + for n in ['OWNERS.json.gz','ORDER.json','DISPATCH.json','PROFILE.json']:assert rd(work/'rebuilt-owners'/n)==rd(P/n),n + run('lift-parent',P/'lift_parent.py','--owners',work/'rebuilt-owners','--out',work/'rebuilt-parent') + for n in ['GLOBAL-TEMPLATE.json.gz','PLAN.json','CONSTRUCTION.json']:assert rd(work/'rebuilt-parent'/n)==rd(P/n),n + assert rd(work/'rebuilt-parent/SPEC.json')['geometry']==rd(P/'SPEC.json')['geometry'] +chain_err=[] +def chain_thread(): + try:rebuild_chain() + except BaseException as exc:chain_err.append(exc) +chain=threading.Thread(target=chain_thread);chain.start() +for t_ in nthreads:t_.join() +if nat_err:raise nat_err[0] +SRCL=work/'parent/layout/joint1148-round45/source' +run('rebuild-words-566',P/'new/rebuild_chain.py') +run('rebuild-borrow-words',P/'new/rebuild_borrow.py') +for key_,w_ in pre_words.items():run('audit-local-566-'+key_,SRCL/'research/gauge44-slots/independent/audit_local.py','--word',w_,'--main',SRCL,'--output',work/('AUDIT-LOCAL-566-'+key_+'.json')) +run('rebind-566',P/'new/rebind.py',P,nat['base']/'local',nat['extra']/'local',work/'data-rebound') +run('lemmag-labels',P/'code/lemmag_stage.py',work/'LEMMAG-LABELS.json',nat['base'],nat['extra'],*[p_ for p_ in (a.base_native_from,a.extra_native_from) if p_]) +STABLE=('LOCAL-CHECKS.json','CLIFFORD-RECIPES.json','RESIDUAL-ADAPTERS.json') +def bind_view(plan): + plan=json.loads(json.dumps(plan)) + for desc in plan['provider_registry'].values():desc['artifact_sha256']={n:h for n,h in desc['artifact_sha256'].items() if n in STABLE} + return plan +assert bind_view(rd(work/'data-rebound/PLAN.json'))==bind_view(rd(P/'new/PLAN.json')),'regenerated PLAN differs from new/PLAN.json beyond bind-rebound receipt hashes' +assert rd(work/'data-rebound/PROFILE.json')==rd(P/'new/PROFILE.json') +layout=work/'parent/layout';runtime=layout/'packing74';runtime.mkdir();data=runtime/'candidate';data.mkdir() +for n in ['replay.py','freeze_spec.py','audit_mixed.py','independent_core.py','geometry_controls.py','audit_fast.py']:shutil.copy2(P/n,runtime/n) +for n in ['code','construction']:shutil.copytree(P/n,runtime/n) +(runtime/'inputs').mkdir();shutil.copy2(P/'inputs/PR589-EXPECTED.json',runtime/'inputs/PR589-EXPECTED.json') +for n in ['PLAN.json','SPEC.json','PROFILE.json','OWNERS.json.gz','DISPATCH.json','CONSTRUCTION.json','GLOBAL-TEMPLATE.json.gz']:shutil.copy2((P/'new' if n in ('PLAN.json','SPEC.json','PROFILE.json') else P)/n,data/n) +shutil.copytree(nat['extra'],runtime/'native-extra') +base=nat['base'] +run('strict-t74',runtime/'replay.py','--data',data,'--work',work/'strict','--local',base/'local') +run('geometry-controls',runtime/'geometry_controls.py','--source',layout/'joint1148-round45/source/research/complex-k492-owner-repair/vendor/multicold','--strict',work/'strict','--out',work/'GEOMETRY-CONTROLS.json') +chain.join() +if chain_err:raise chain_err[0] +r=rd(work/'strict/RESULT.json');assert r['status']=='PASS_STRICT_MIXED_T74_EXACT_FILL' and r['kappa']==rd(P/'CLAIM.json')['kappa'];assert len(rd(work/'GEOMETRY-CONTROLS.json')['rejected'])==6 +result=dict(status='PASS_T74_EXACT_FILL_COMPLETE_FINITE_ADMISSION',kappa=r['kappa'],kappa_decimal=r['kappa_decimal'],manifest_sha256=sha(P/'MANIFEST.json'),native_reuse=dict(base=bool(a.base_native_from),extra=bool(a.extra_native_from)),provider_verification=pr['status'],roles=r['independent']['roles'],prefix_bits=r['independent']['prefix_bits'],charged_prefix_bits=r['independent']['charged_prefix_bits'],physical_row_coefficient=r['independent']['physical_row_coefficient'],row_limit=r['independent']['row_limit'],controls=dict(admission=114,bit=12,controller=15,independent_owner=8,geometry=6),stages=stages,scope=rd(P/'CLAIM.json')['scope']) +(work/'RESULT.json').write_text(json.dumps(result,indent=2)+'\n');print(result['status'],result['kappa_decimal'],flush=True) diff --git a/research/gmx-t74-borrow43-handoff/verify_manifest.py b/research/gmx-t74-borrow43-handoff/verify_manifest.py new file mode 100644 index 0000000000..8c2441d392 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify_manifest.py @@ -0,0 +1,19 @@ +"""Verify the submitted package's exact file inventory and SHA256 bindings.""" +from hashlib import sha256 +import json +from pathlib import Path + +root = Path(__file__).resolve().parent +expected = json.loads((root / 'MANIFEST.json').read_text()) +actual = { + p.relative_to(root).as_posix(): sha256(p.read_bytes()).hexdigest() + for p in root.rglob('*') + if p.is_file() and '__pycache__' not in p.parts + and p != root / 'MANIFEST.json' +} +if actual != expected: + missing = sorted(expected.keys() - actual.keys()) + extra = sorted(actual.keys() - expected.keys()) + changed = sorted(k for k in expected.keys() & actual.keys() if expected[k] != actual[k]) + raise SystemExit(f'Manifest mismatch: missing={missing}, extra={extra}, changed={changed}') +print(f'PASS package manifest: {len(actual)} files') diff --git a/research/gmx-t74-borrow43-handoff/verify_release.py b/research/gmx-t74-borrow43-handoff/verify_release.py new file mode 100644 index 0000000000..1a86c1a4b2 --- /dev/null +++ b/research/gmx-t74-borrow43-handoff/verify_release.py @@ -0,0 +1,167 @@ +"""Release proof: PR1673 capped phase-cell fusion outer on this package's T74 supplier (PR1661 stack + pivot-554 kernel). + +Runs (1) the supplier's own unchanged verify.py (native replays reused from --native-cache when present), concurrently with +(2) outer/check_ledger.py + outer/independent_check.py (the 45-inequality ledger, 5 rejecting controls, endpoint rejection and the +independent balance derivation, regenerated in a temporary copy and compared byte-for-byte with the committed LEDGER.json / +INDEPENDENT.json) and outer/replay_evidence.py (PR1673's 19 supplier-independent exact evidence replays); +then binds the supplier's strict ASSEMBLY (complex endpoint, bit endpoint, profile) to the ledger inputs. +The receipt kappa is the ledger's kappa with the radix-distributed sparse-union schedule (new in pkg4, outer/UNION-SCHEDULE.md) and structured boundary solves (new in this package, outer/STRUCTURED-BOUNDARY.md: displacement-rank generator representations of the boundary blocks, O(r W log W) per right-hand-side column, tau_eff = 2 + 1e-64 in that earlier package; not used here); the unproven omega_C <= 9/4 premise is not used. +""" +import argparse, hashlib, json, os, shutil, subprocess, sys, tempfile, time +from fractions import Fraction +from pathlib import Path + +PACKAGE = Path(__file__).resolve().parent +os.environ['PYTHONINTMAXSTRDIGITS'] = '0' # the pinned endpoints, kappas and ledger values are decimal/rational strings of thousands of digits +sys.set_int_max_str_digits(0) + + +def digest(p): + return hashlib.sha256(p.read_bytes()).hexdigest() + + +def main(): + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--main', type=Path, required=True) + ap.add_argument('--work', type=Path, required=True) + ap.add_argument('--native-cache', type=Path) + ap.add_argument('--jobs', type=int, default=4) + a = ap.parse_args() + if sys.flags.optimize: + raise SystemExit('Full proof requires assertions enabled') + work = a.work.resolve() + work.mkdir(parents=True, exist_ok=False) + msha = digest(PACKAGE / 'MANIFEST.json') + t = time.monotonic() + opts = ['--audit-shards', str(max(1, a.jobs))] + (['--native-cache', str(a.native_cache.resolve())] if a.native_cache else []) + reused = {} + if a.native_cache: + for key, name in (('base', 'gauge44-word'), ('extra', 'extra-word')): + entry = a.native_cache.resolve() / digest(PACKAGE / 'vendor/pr1297' / (name + '.json.gz')) + if (entry / 'CACHE.json').is_file() and (entry / 'local/FULL-WORD.json.gz').is_file() and (entry / 'STEPS.json').is_file(): + opts += ['--%s-native-from' % key, str(entry)] + reused[key] = entry.name + if len(reused) == 2: + opts += ['--parent-receipt-cache', str(a.native_cache.resolve() / '_receipts')] + env = dict(os.environ, PYTHONDONTWRITEBYTECODE='1') + outer_log = (work / 'outer.log').open('w', encoding='utf-8') + outer_proc = subprocess.Popen([sys.executable, '-B', str(PACKAGE / 'outer/run_outer.py'), str(work / 'outer-tmp')], + stdin=subprocess.DEVNULL, stdout=outer_log, stderr=subprocess.STDOUT, env=env) + with (work / 'verify.log').open('w', encoding='utf-8') as out: + r = subprocess.run([sys.executable, '-B', str(PACKAGE / 'verify.py'), '--work', str(work / 'verify')] + opts, + stdin=subprocess.DEVNULL, stdout=out, stderr=subprocess.STDOUT) + if outer_proc.wait(): + raise SystemExit('outer checks failed: ' + (work / 'outer.log').read_text(encoding='utf-8', errors='replace')[-1500:]) + if r.returncode: + lines = (work / 'verify.log').read_text(encoding='utf-8', errors='replace').strip().splitlines() + raise SystemExit(f'verify failed rc={r.returncode}: {lines[-1] if lines else ""}') + res = json.loads((work / 'verify/RESULT.json').read_text(encoding='utf-8')) + claim = json.loads((PACKAGE / 'CLAIM.json').read_text(encoding='utf-8')) + if not res['status'].startswith('PASS_'): + raise SystemExit('package verify status ' + res['status']) + if Fraction(res['kappa_decimal']) != Fraction(claim['kappa_decimal']): + raise SystemExit(f"verified kappa {res['kappa_decimal']} != CLAIM {claim['kappa_decimal']}") + # ---- bind the supplier admission to the outer ledger inputs + asm = json.loads((work / 'verify/strict/ASSEMBLY.json').read_text(encoding='utf-8')) + spec = json.loads((PACKAGE / 'new/SPEC.json').read_text(encoding='utf-8')) + ledger = json.loads((PACKAGE / 'outer/LEDGER.json').read_text(encoding='utf-8')) + bj = json.loads((PACKAGE / 'outer/B.json').read_text(encoding='utf-8')) + if asm['status'] != 'PASS_GAUGE44_NATIVE_EXACT_GLOBAL_ASSEMBLY' or len(asm['outer']) != 47: + raise SystemExit('supplier strict assembly did not pass') + if Fraction(asm['complex_lower']) != Fraction(spec['expected']['complex_lower']) or not Fraction(bj['b']) < Fraction(asm['complex_lower']) < Fraction(bj['b_above_endpoint']): + raise SystemExit('ledger endpoint b is not bracketed by the admitted supplier complex endpoint') + if {int(k): v for k, v in asm['complex_profile'].items()} != {int(k): v for k, v in bj['profile'].items()} or Fraction(asm['bit_lower']) != Fraction('0.001733427039589844234749'): + raise SystemExit('ledger profile / bit endpoint differ from the admitted supplier assembly') + kappa_decimal = ledger['rows']['struct_boundary_radix_union']['kappa']['decimal'] + if Fraction(kappa_decimal) != Fraction(ledger['rows']['struct_boundary_radix_union']['kappa']['rational']) or Fraction(kappa_decimal) != Fraction(json.loads((PACKAGE / 'outer/OUTER-CLAIM.json').read_text(encoding='utf-8'))['kappa']): + raise SystemExit('ledger kappa != OUTER-CLAIM') + if Fraction(kappa_decimal) <= Fraction('0.001677160151714381'): + raise SystemExit('ledger kappa does not exceed PR1673') + if Fraction(kappa_decimal) <= Fraction('0.001677641731343354564251058287063644749065568493'): + raise SystemExit('ledger kappa does not exceed PR1699') + if Fraction(kappa_decimal) <= Fraction('0.0016783441717365385237811729563143950958709031230206606381509868512618172844657807114390339553440364'): + raise SystemExit('ledger kappa does not exceed the previous package (structured boundary, linear guard)') + if Fraction(kappa_decimal) <= Fraction('0.0016797547881500489087805478664999999999999999999999999999999998000000199999'): + raise SystemExit('ledger kappa does not exceed PR1786') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201627999999999999999999999999979966404900867489109573286580121585'): + raise SystemExit('ledger kappa does not exceed PR1828') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263049999999997996640490086748910957328658012158594'): + raise SystemExit('ledger kappa does not exceed PR1839') + if Fraction(kappa_decimal) <= Fraction('0.0016797549561255445213356709939207025769983114385025802954603275201628645482603256388263056561328446322744513169085862209720704481201654121427713006366929567157349625273906229277148454180995537563371124755588139767841405530386745578819565618798006892541712197674874836946756930569827889227573192555649999999997996640490086748910957328658012158594'): + raise SystemExit('ledger kappa does not exceed PR1875') + if Fraction(kappa_decimal) <= Fraction('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310799999999999999999997996640490086748910957328658012158594846'): + raise SystemExit('ledger kappa does not exceed PR1876') + if Fraction(kappa_decimal) <= Fraction('0.001679754956125544521335670993920702576998311438502580295460327520162864548260325638826305656132844632274451316908586220972070448120165412142771300636692956715734962527390622927714845418099553756337112475558813976784140553038674557881956561879800689254171219767487483694675693056982788922757319255565606685566411725238449650999339827075715283714270157705762309226038611771955655377501414652136546310881185746917580802513640545967852810801680966856133978576162943792322682482152988532923811998938861379689883167389728443314312230815059559906903773756886872476136837071871203030423643505345473735135533'): + raise SystemExit('ledger kappa does not exceed PR1897') + if Fraction(kappa_decimal) <= Fraction('0.001679745508802299051546533685199973672313473419790800679752457380932784242972585600630181672224983'): + raise SystemExit('ledger kappa does not exceed the previous package (gauge-free interiors, PR1758)') + if Fraction(kappa_decimal) <= Fraction('0.0016781238306335473083421558390362687182218966358657650331660405387910568682486186577879457360762643'): + raise SystemExit('ledger kappa does not exceed the previous package (rectangular k=5)') + if Fraction(kappa_decimal) <= Fraction('0.001677992607205282520732088774830808372222877897034109604209719298829805473412451530867883424937597'): + raise SystemExit('ledger kappa does not exceed the previous package (rectangular k=2)') + if Fraction(kappa_decimal) <= Fraction('0.0016778199023144364336310551358776001013829401215770658599799349282716974076737897457922714197448847'): + raise SystemExit('ledger kappa does not exceed the previous package (square boundary tau=2.372864)') + if Fraction(kappa_decimal) <= Fraction('0.0016776417313433545642517275958639984231708545722735432722117400060454625429077941422798526440584702'): + raise SystemExit('ledger kappa does not exceed the previous package (old union row)') + # PR2269 (this package's own 90-digit-endpoint predecessor): exact outer kappa + if Fraction(kappa_decimal) <= Fraction('0.0016962471390584742207696225394800943861284603706821716607210815258272261945561178592716719999999997996607505720883051558460754921039811'): + raise SystemExit('ledger kappa does not exceed PR2269') + # PR2265: its published 43-digit kappa + if Fraction(kappa_decimal) <= Fraction('0.0016834125885426074623303197403999369605037'): + raise SystemExit('ledger kappa does not exceed PR2265') + # the previous 1e-3000 fixed-grid-maximum package without the frame refit + if Fraction(kappa_decimal) <= Fraction('0.0016962471390584742207696225394800943861284603706821716607210815258272261945561178592716725376787146850319387830720495673160906619586385985253004200974538949035715460651846040948044242351804037917972203668759131442974306926788095523055348682603080830926543046109524019284266202449358819248039824128659652256009597225750921338791772522346327260842638280758491285261012177101751247814588199922615754428296427117543521452060897258700168878706575252152477061988688277049228862038051831802155042557172623266376692067754074066018861739445031053058532975745010650260626662153102779311231323276136828410015626012654950781671416272174286060026260461657234237896123847927833525865765270919579650629143257756554312491072906153370276441896408260328764564124330642285119147808930086141569295621851854218252564733837316294676373092948766021104018820867623171046683661092297248291577095250274060655173297958878033621645679452722665435213096247941313869533587196421382302143322934628990123191000788388609573672644835019755994246318060035281060223322645388928947169626138581457300875151159820924963147410503862327253442337658663568159699004958107894981576832335403664692406006933059590031689949815905089106171767594599700984735621368930563780702038882727505392721719386114334646038558353670081177427424360521812807826505397161210251724237709062744724805616548559632816270489581394531990712494078787486793971491473790864233960278289765655920963414849196322659136809511659945219008433168014265025447420166561704034530316921458618874915620099025502502618035097461895895223764605753492664274479247941026938492542179778796317704962018292021909919861292918602366755911657954379368017800183443534262330089328250652960096418423703035464940084343778512813829329581029347226356616738501436617600538369671094908540693286250261760877248005905559065855049093770979808303937056962048941085753495270703319891930887209058318724823718437728926974429367073432624131997567987115993164528269149849858078521203142762866174513268973487116932558183863464998283664642818679918224691979365372184748788493010550047368581279373073912036778334443492857927577286206252250817438195734298252518895370754124356495069959100552751704357607410115438146261739773032451457910141843649185347442684032256783823682283095281962476486777479624246578178585460914644633119591516245821764820377869654594359836428035991519960602392276985209925181526794428648224235182876264483709972370910406024724235806573365230168960701547640481777654852632561016384940077669718531691663918817962517445077811778410121692781099290921788135421040816814884933097268321380716162541362023853790195929790454122099814729604396862433157569138302781321102658775072569805525878616035680869031990224830742282562628026822259745461025473632267405693042132745262647696903701549047243949928334048586480294363233950866830966312211937319379776455575978516623582930772197819418024026409253019530180915180162077226543806380451730024060862435857727097812643685954248405246979875007274554000293999879999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package without the frame refit') + # the frame-refit package (PR2288) without the pivot-518 and 506 kernel(s) + if Fraction(kappa_decimal) <= Fraction('0.0016963109504150503355459722948928372280921721968724561762220421147644145761482885984967571578775454795315558417113412813231694622783490900348662681729592231903560853351255426786420763663178655003281505857286229869637466044243361588921779343716397967014438707898921127328975611256954437224641356898964339750713275612215896309041743033060768412139515368921536567057807207970466805003234862027817806690888390640784312394449662495210379111189000631731969913840405376781346897986214021741117422083725271871234401300183440304871341727820180574990353647279025142496867177789206624424997571530449519473352459498702658190828360923979498460128294798369917738404595397076263670723799359146613908833280073309651683729500428984791690934381229160893705326133037686127780198339018446754315723841737409963499522556148454109950498516960459062732145158464860520078222748772968666075308688060102095614219976567632142437588956251046223730866088862642016182480104196556736296484779283894121049643477734969019861544809837984636249407062760727016150066849286523322382074826026591803191556133160894153871744448522032246500691186272893727169459533826781329045410280180988227028953413948959627749435199294031602259974218679241756389094310293571776392665275440060128416069298336060934137683594749721875539100961984531705428740926745070478347051156564464735857576131568055392439349070688880983269683785203701743772494006377580873498989793098269416860245163673122355107078009192943296623200063923837978979726391155585227314506166287746919098802987376988749553428565117960680127117162859295585227836619358244831230559141562987941014958985682702824249440221289383909203561727045338247733043391763320670727494268068194378574627275095092953256732444212010516159194168180734821980726368427670070083408548719514533875518211958369469443610189017971552955689302325989684135168369391344574216178885288117746332765863840834323243319512183818941784295388396142410597918436552038064272557102280593496223131576927738593912346466653541945307822699814228743982825778594943895299684477718445989153104502257728995186791911138506213294032637402557360080474323425209358316182406158317687799224345569293433266156429509667100484719547899661170517984309861756776927699226774589333862417619615368800621280904731717007166601114931265538945746290456987826198646807505442125838746726438952084536942026710073899593382686159240597649780928138606355205051150505411617909421597379489564148134928926452171026914761461651993691541524538533834516264821822447885276530775319313163077520187620131998416989866100917322207904174653603539624514404731819512306251114049648504295075390277206769978284985627399920781440314570024036501328001706131508141398741768215146098232034243920786833682457710615638883903735636031855214906341242985023985190321962818946356673366984195534290058577773793515114601500926048296812708989110472867763853176364841468154926700424141264878832861923854082418142072303154196136904410704478768982906491915123250789901966397050583475894251697949999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2288') + # PR2309 (Dugongue), the leader when this package was produced: exact outer kappa from its OUTER-CLAIM.json + if Fraction(kappa_decimal) <= Fraction('0.00169651512427273361603599999999979966069697504545327679280000000004'): + raise SystemExit('ledger kappa does not exceed PR2309') + # the previous package of this series (PR2302: same borrowed words without the width exchange) + if Fraction(kappa_decimal) <= Fraction('0.0016963957667360813401512017553615279117657068999363362106179646359054125313327703641011221779442459539871339461089219553691969977981401822760624794359560302229082314375995113942636590530620500782018194470671677119219839790494868307385847339452290887998700500411938799170674858093003286928048347274196039389000026290158196870872057257166500256835682013163283959997146169413950711966027087759767643419344712853576886783980615153279853404871016920071981553436279223622600525528471894700346011238233160868742145859860232058840791090764650133979481731323862930667518610044720573929298900532647950009058229587419786329958635690641780883137293844634272967192129687625408058060979531066936687993586039456039983556398478876965232482500625906736777109730724363281837955848614134083855809276505907144514733003845909331244045116980160376226985173142007628755093785143804942105479013303454321654201006831063585897430195472621578837899364607899809076894338902922137189579253839575904800502610823779130735405603222473104747840629391300795787215163295589140558844477425029302996689344654557359518706574870692938432544394742080506599997481540301232455817253619818598089752894860335888890891880609355298270585656725967316985275280947993338075572101492385630908482865327189235020782479107222108858033635848484476216327745019864086458153496328944574382125376897016725855331581938687114469271253756940030142844034371034587111817349355531104318277478257775334736701581945229498694136616722992028634631701247483684781250376596144385321278165606853375118819053849117338897262268427648262083455985839725633062313154695107759038550706454041941335604443412998733314092411840156288419954892739877843363834586046209819538672727213101410080383088045149018402130819728297511733105868594243532422336753902918788806466274681744246646231919140342567931214862038137091588934018251621114223684759626831339521740017781252613474170420781940878405217534505039416191481935402640036986540158535291068418753431261769460339726043941330310230377899497156447379116998376192778609260328368073641708331187025338628941230659019886492604497357183156893789943392609707575190186729444486788239744694366996859954082129202977358652316001835628949595287583151561304797052473367226958069794800493678276862560358912337464359182323531306401167100839378883760333513912116046596297577086537173884239225402145910324209403865332661419916572372514397914176245034825502665354589686225181030312038801291955465396008078308395064856427920952835111772605746736316974495455631547761742048841271657420320301289128193817983624681549963224888472167699611833879336569131555833595853052201499353493629265799166715221065545501398338697081697219199223693278872441290995511120223269123632695643837629348428447025464796370314880913595117416482942440311412104992815244674930680260974933325676734432766624185506445208555388434881647973303483680217436986110622497014745484207497834185076498923378325028164419862694022665993974610131397860814963409376069481211236799567291945371869999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package without the width exchange') + # PR2530 (zxv): exact kappa from its CLAIM.json kappa_decimal + if Fraction(kappa_decimal) <= Fraction('0.0017137379215475043467519999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2530') + # our previous package (PR2530 words with the evacuated fill, no swap): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0017138793200090178277393159658224882741850018276313377388777989344499779848036755735428839404883345081602076596915372935445163549257843677134573070543785050332601116981993891257639919589050864224223081575002103470378121326336831573484387001971572673042430972264354343382445827018882480440150722134038654543514447040832086957753875948539795365986241603529249689022001469858539534077287984416852359032562142401296793489217750140041453361184825029008761489635682924036629010469046401692181463930065388198942359871821152988851590217230520445064090958372121169090974065699524460063735965152873157133691147904439546166602128335035227799311591048209869927896976392833606241651343837175036609754247898480938989923023026340729844763056096052891175627877787262609452046399579466119092866313036535335682776806467648155922323786896091802483647985050566213804836809233317388799083677377866787383160162429778257908983024618109489694227409456421456553821912409696075009897306969145639343554354294862224440345868807439480436522182454940263568552784110654861453895664733986933358400123432858311482018590531702871810773114656503043158537780455279474868026048789004691174934486731419756746078311076528526320047247891238854597833295812499048350762168712006615674155474538738266039000865183914404795542264510066849653250910062386485914981385408502826475933413003183371865127611213925081091620176820895595774203463534988723189732383296420699228344003259363802319950945737703013570881767452324590219600387226386787048764627579542456462764844609489763920522188359153280015992268875949796304927401654770271220367238478108613075320623080494495855320771028930323871101017186861279132677049043646070329989481696629395030949354561093038394667780737914876393297052666585239534669737633956610661828075015769008377319021277895520032135021829427065947060170567563924839546050173598426499186711026203297983373628996988586527888359978799700950685830527637466469741991953945143829950743519568663923237325147079615749220203441333884492689989831739159556848913207186854641193990869836716532585341620797475557979337046510007188184034485707803071651275961652448954489297978320254470661983316896742078889495926093977121191215505667552123475407376054942432134130965183580749237595795249612033007995019964320077937956267567317383001969322296889609589300659039114771172708530832143967950515442779669349644619739545138073128324507431264059303279325718069826798637589643803270292223723298849691999630063205858147500767567267152827749768037494607466986996767341068595192611238975735415563540363309761253620740101360043545213109647086260932301614471027335524945466703881224630958399194747296073610167994149180303313893618957485405280582230721498163633952081089076890135405434297265673746101998657294284004782174978381087995631064709016813402351965928946324429653664710622253413105177832288302918850616410129494149251215937071973528625923760868330603512797460185151283124933050024548482871563020543139117414365613534429413233278250150299395695308669999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed the previous package (no swap)') + # PR2571 (rohanarun): exact kappa_decimal from its research/source-partner-repack/CLAIM.json + if Fraction(kappa_decimal) <= Fraction('0.0017137844912361143131449999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2571') + # PR2436 (tekuuu): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.001699160892139825160028'): + raise SystemExit('ledger kappa does not exceed PR2436') + # PR2435 (our previous package): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0016985113436976293290517338141877446308055110967045933112789142962230829468162898341951791806612097103089373234971683843352747786930041151727362819565230218349121075974166971824969591011217978263772357971645637990906671947907264145608572312831884027994294129916401260085150019209771313354764916248453595083165495324143523894449450691307086112491644144865158608055855884464187565801019555715970196050475190435909515154211111746650599567224499059795061082684332558375704345494867609328212726505329205932635761431749934820741127389044354860113766948092316247723704125119645275990197876854879992017397555143192287544724913630217464784503656948990786068598407873145289054550742625443908707733418270092545559085087575922813686919128943056715534713410017028659255187727620917187403119881890253391323975990386407713427526885644658486243444047073202627454384564726751561652433479720829616046376359016291378111084223539218953623912571977915965711868344311448096041639498896249066806011480337926979336386922535296303752711889978569232419801794934322834391758343224495751526935421536033765421920712479882326684183343175192506299338548272335365486251925033343467210567293885905433780822999898604806238618868381030618734960564543625151176983437948634467084422228827374831795369936288472513373544493094900054747070753455699633326414320913460348479500983823174310013199097862135411812726539849723398231855832967776337718672217880238071981788235029509052279747189188681017572483164064571080246530954181586740864619167589362678617045511756037366397896287535580824234872210152899236988326941025506999808922548377766309470729712387648163405540888355093150391393147762868679282467450248868441271263534493578828020033697285447763448133926166569487422405222986476700516751666801177807240657564339291923875269516741832922888995392021815208206000349549288250522070993210698907902608614026748746226358646184865889780191165888384651919903384475762221811266201306458084323514041511509641989786115752760407119009860442439632421403230395972475348378156789079511896489813648834249547691849265251849667444226323872984574855719511144598417008957627888727054559888291831917098918028329850588422718093434809471730512569958638862082155535047678827813738782160371366678147328051204025977598523823201157893310362964269992621082595013887883317116160638083051854550265075133554450400672096216801889893843542349827136660836690734577713840538485494706157608832285361332402523141110775007848457158586364555932568759681602669482751949814440768908964969207479429539605772323917098643373158579016561519795798882730005614360958024497845667634552553552983588304002856198810822137614346744361151657633282342263919735927514970826742259413534781096542529517187951831272379701715213763298528196318890985268220654521387901862300533678359917037097369847001136323652610917811136723698294245291973870628779153244079459318485933533570876673919779617623307381536963771175021281784418966086504076951993546379032710653964402197313385999437909265508362772441799999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2435') + # PR2374 (our previous package): exact kappa + if Fraction(kappa_decimal) <= Fraction('0.0016971949509017704265940818773095411997829254474375229705809997635438062942204765954562383974077821671831369565342135210662806080984189437744311691170166878200706637656120224415299737717701337307539464110268836203281111987753159498203954701705205852698182995035958027658044607115822574508666985181699711923175134847560718669920281030992600965545441954035328408493723703194682661214225479411060097662633754661550995525106462258180812881394912204830656550720788554855150041136725936752258040654282493873524814048951275613529361946942930756606941674074477881485086387253593916040344556969145236818327248309098647296974311830069674219033678569504586581135358848081070141238752991674150396577553602390245098256623610206219873018910702970683481898704791312128544927797796263798965928185946464208453538038074130191248384897942236565804073051820886237792115045300205866675310844866731650898744658240052151403474629612369248407339925817250755774230849162429893816537967019801563891871154347775301101452039034203590012030571830828102063480584807251100111533885801953898940545829732671930912393072557857172603412452229175719796953206694288737814097206799032728139418329449617047277996553941167768501692770450270903073953001977679531560526318261641545560089674289210949739800895987320710205405144779108114410801410863004777930712359085672774857562943038447218083992439662882844810916772482599422378373397511127617771820574570321893388248531869294501515231655597646378900151261952601403678797872447106754637862547429677096069631147251860052756420659326128494026586838106695013238864030608401406156607559989211808454412638637175211030555454020488650023294167520672980980396370514923547443975614840890626840642981934129785156305249800680496635934963165026962087272991982852425076410102938295280642112519009725151518793502417899440161288959425552435156339988887994241563680501591034798080807680420907177078719219475936443453591733013776785983706296335551856437598080747432920929336409488151175919768679340727810125057537659035408133643666970582481765189938136267947101008867469846414911701653627941553461882443557617407944704412052768481182211920226323727462445103056307935153715081554046115943894672966439801441223675986168815297036589266986545180924888304377614106150893981516595103244696808698485755403663575692962132048959618919396672463657258697165154476184606747977244468238112487890243300215295911516769877096033023277755679579119616362363771146906851312883551325577910752948791145027867851031285296278290624616792326245346316955108929449453650392187829083153563766593182662271262370655984316122305681275693367071550045835867673591141005622801963302635483892372821569656326071183032535073704098039743172546777387752768217496897183134894138727088377616522650102507208838965437331059647644187138589104298496147389776807118532428525203523839384398259710922706840602678791436521874179119410390463568320091540786380546514858693482059552649347514416855482639636114585292794893763151788378014165475136659461413021709999999999999999999998999999999999999999999999'): + raise SystemExit('ledger kappa does not exceed PR2374') + # PR2363 (mason-hale): exact claimed kappa + if Fraction(kappa_decimal) <= Fraction('0.001697147064845350'): + raise SystemExit('ledger kappa does not exceed PR2363') + # PR2322 (Vlado Vojdanovski): stated kappa 0.001697060296258836 (1697060296258836/10^18) and the upper bracket of its native endpoint + if Fraction(kappa_decimal) <= Fraction('0.0016970602962588368950279736213908681183'): + raise SystemExit('ledger kappa does not exceed PR2322') + _c = Fraction(spec['expected']['complex_lower']) + if Fraction(kappa_decimal) != _c - Fraction(1, 10 ** 3046) - Fraction(1, 10 ** 3022): + raise SystemExit('ledger kappa is not the fixed-grid maximum C - 1/F - B') + if digest(PACKAGE / 'MANIFEST.json') != msha: + raise SystemExit('Package manifest changed during verification') + proof = ("Supplier: the package's own unchanged `verify.py` (retained PR1297 provider and parent admission, owner reconstruction, " + "parent lift, strict T74 admission, geometry controls): " + f"`{res['status']}`, native reuse {reused or 'none (fresh replays)'}; its complex endpoint " + f"{asm['complex_lower'][:30]}... brackets the ledger's b = {bj['b']}. Outer (PR1673 capped phase-cell fusion): " + "regenerated exact ledger (63 strict inequalities: the 62 retained rows plus the explicit main-binding row gaussian_above_main, the fixed-grid maximum kappa = C - 1/F - B asserted, 17 rejecting controls incl. the old g-factor union row, the old linear and old-theta chirp guards, the old 2*beta tag test, epsilon at 1 or at the r0 slack and beta outside its window, larger endpoint rejected by the native moment), " + "independent balance derivation, the exact union-schedule simulation, the (retained, not used for kappa) structured-boundary displacement-rank check, the gauge-free identity/symbol/circuit checks, PR1786's finite prime/underflow controls and 19 exact evidence replays all pass. " + f"Conditional kappa {kappa_decimal} (union schedule outer/UNION-SCHEDULE.md; explicit Strassen boundary tau=45/16 (the structured boundary of outer/STRUCTURED-BOUNDARY.md is not used); gauge-free interiors outer/GAUGEFREE-INTERIORS.md; fine source-prime padding PR1786 at the free point epsilon=1-(1025/1024)e-3080, outer/FINE-PADDING-COMPOSITION.md; fixed-grid maximum of PR2180/PR2161 (dataisfire), outer/PROOF-GRID-MAX.md; exact-integer coarse exponential PR2168/PR2184 (dataisfire) at the one 3000-digit rejection call).") + (work / 'RELEASE-RECEIPT.json').write_text(json.dumps(dict( + status='PASS_RELEASE', kappa_decimal=kappa_decimal, manifest_sha256=msha, proof=proof, + seconds=round(time.monotonic() - t, 2)), indent=2) + '\n', encoding='utf-8') + print('PASS_RELEASE', kappa_decimal, flush=True) + + +if __name__ == '__main__': + main()