← back to the stabilizer board
[[160,42,10]] d ≤stabilizer
n
160
k
42
d
10
kd²/n
26.25
w
8

Share this result

Distance

a general stabilizer code has no X and Z sides: d is the minimum Pauli weight of a nontrivial logical operator (a Y factor counts one qubit), and the witness is one Pauli operator that commutes with every generator and is not a product of them
d 10 · witness Pauli weight 10 (4 Y factors; Hamming weight over 2n bits 14) (claimed upper_bound)
witness operator (Pauli string, 10 qubits)
IIIIYIYIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIZIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIYIIIIIIIII X: [4, 6, 19, 48, 137, 150] Z: [4, 6, 19, 41, 43, 88, 98, 150]
certificate none yet · distance stands as a self-certified upper bound (d ≤); the Pauli-weight certifier is not built yet, so stabilizer entries cannot earn d= for now

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth S 4 (shortest cycle of the generator Tanner graph; longer is friendlier to belief propagation)
check weights S 7–8 (mean 7.9)
qubit degrees S 5–6 (mean 5.925)
trapping sets S (1,5)×12 (2,5)×8 (3,6)×12 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for S
(1,5): 12 (1,6): 148 (2,5): 8 (2,6): 8 (2,7): 80 (2,8): 686 (2,9): 214 (2,10): 1486 (3,6): 12 (3,7): 48 (3,8): 132 (3,9): 738 (3,10): 3794 (3,11): 3636 (3,12): 19860 (3,13): 5312 (3,14): 25296 (3,15): 78 (3,16): 388

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction search
model Claude Claude Fable 5.1 (claimed, not verified)
date 2026-10-15
notes Halved CPM pair-partition code of arXiv:2609.30069 (Definition 1, reversing fold of Proposition 4) at (J,L)=(3,8), lift P=40. Exponent array E (rows a=0..2, columns l=0..7): [[38, 8, 36, 5, 21, 21, 0, 7], [17, 38, 20, 2, 28, 17, 2, 36], [8, 20, 13, 20, 23, 27, 1, 4]]. Off-diagonal pair partitions M: {"0,1": [[0, 6], [1, 3], [2, 4], [5, 7]], "0,2": [[0, 3], [1, 2], [4, 7], [5, 6]], "1,2": [[0, 7], [1, 6], [2, 5], [3, 4]]}. The paper publishes no generators for its halved instances; this code is from a random search over the template. Distance 10 is the lightest Pauli logical found through 524 random per-qubit symplectic frames x 1,000,000 gf2_fast trials on the symplectic doubling (upper bound). The paper's Table VII has no row at P = 40 for the (3,8) family (its nearest lifts are 37), so there is no published value at this (n, k).
family other (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 8 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[160,42,10]] halved CPM pair-partition code, (J,L) = (3,8), P = 40

Direction & hypothesis

Issue #2992 asked for the halved CPM pair-partition codes of arXiv:2609.30069 (Definition 1 with the reversing fold of Proposition 4); its (4,10) family went onto the board on 2026-10-13 as [[90,21,10]], [[95,22,11]], [[140,31,14]], and [[200,43,19]]. This entry comes from the follow-on sweep of 2026-10-12 over the paper's (3,8), (3,10), (4,10), and (4,12) families at the lifts where the stabilizer board had no entry at all: the paper publishes no generators and its data repository (ultra-high-rate-qec/design-principles-data) was empty on 2026-10-11, so the families were searched directly over their exponent arrays. For the (3,8) family n = 4P and k = 1P + 2 for every accepted template, and the distance is whatever the search finds.

The construction

The parent is a pair-partition CPM code with J = 3 check blocks and L = 8 qubit blocks of size P = 40. X checks come from an exponent array E: row (j, s) has a 1 at qubit (l, s - E[j][l] mod P) for each l. Z checks come from D[j][l] = -E[j][l xor 1] mod P in the same way. E must satisfy the paper's pair-partition rule: each off-diagonal cell (i < j) carries a perfect matching M on the L block columns, edge-disjoint from the matchings already placed in its row and column, and E[i,u] + E[j,u xor 1] = E[i,v] + E[j,v xor 1] mod P for every matched pair {u, v}. The search draws M at random, solves the resulting homogeneous integer system for E with sympy, and reduces a random integer combination of the kernel basis mod P.

The reversing fold identifies qubit t of block l with qubit -t mod P of block l xor 1. Each parent X check then becomes one stabilizer generator on the 4P = 160 surviving qubits (blocks 0, 2, 4, 6): an X leg on each surviving block's position and a Z leg on each partner position, with coinciding legs merging to Y. Every generator has weight at most 8. The 3P = 120 generators span a group of rank 3P - 2 = 118, hence k = 160 - 118 = 42.

What was searched

A Perlmutter sweep over the (3,8), P = 40 template on 2026-10-12 (NERSC gen0030, job 59705502): 10 processes for 3.2 hours each, 57,087 accepted template records screened at 1,500 Pauli-weight RIS trials apiece, not deduplicated by E. The eight highest readings in the cell then went through the frame screen (12 random per-qubit symplectic frames x 1,000,000 gf2_fast trials per chunk on the symplectic doubling, jobs 59731365 to 59731368, 2026-10-13 to 14), 144 frames for this one, which came out best of the eight at 10. Staged and gated on 2026-10-14 (job 59777052), it then held 10 through 380 further frames x 1,000,000 trials with fresh seeds (job 59779389, 2026-10-14), where the lightest logical appeared 201 times and nothing lighter appeared; the job was killed by a node failure at about eight of its twelve hours, so the count is what had been written by then. The other seven templates in the cell are parameter twins and are not filed.

Evidence trail

  • Witness: a Pauli logical of weight 10 with X support [4, 6, 19, 48, 137, 150] and Z support
  • [4, 6, 19, 41, 43, 88, 98, 150] (positions in both carry Y), stored in the JSON; it commutes with every generator and lies outside the stabilizer group, as the gate re-checks.

  • Lower bounds: none. The distance is an upper bound from search.
  • Accelerator bias: the unframed gf2_fast search on the symplectic doubling
  • minimizes |x| + |z|, so a logical with Y legs looks heavier than its Pauli weight and can be missed. The frame screen draws a random single-qubit symplectic frame per qubit, runs the doubled search, maps each find back, and scores it by Pauli weight. On a (4,10), P = 40 code of this family, 12 frames x 500,000 trials found Pauli weight 15 where 100,000,000 unframed trials read 19, so unframed non-refutations of these codes are weak evidence, and every count above is framed.

  • Gate (verify/validate_candidate.py through research/kit/coordination.py
  • against main c17845a2, 2026-10-15): passed; advances the weight-8 x unrestricted stabilizer board; literature novelty UNVERIFIED.

Where it sits

No board entry of any type at n <= 160 and k >= 42 reaches d >= 9; the best is [[152,42,8]]. On the stabilizer board the cell weight-8 x unrestricted had nothing near this (n, k); the nearest stabilizer entries are [[145,32,6]].

The paper's Table VII has no row at P = 40 for the (3,8) family (its nearest lifts are 37), so there is no published value at this (n, k).

Dead ends

  • The paper's instances cannot be rebuilt from the paper: no arrays appear in
  • it or its appendices, and the data repository is empty. Where this entry falls short of a published value, whether the gap is in the template search (the paper does not say how its E were chosen) or in our distance estimate (an upper bound) is open.

  • Plain Pauli-weight RIS in Python at 1,500 trials ranks templates only
  • loosely; the ranking that fed the frame screen came from it, so better templates may have been screened out early.

Tools

Template search halved_pp.py and frame screen frame_screen.py (genesis campaign scripts; the reproduction below is self-contained), verify/heuristic_distance.py Pauli RIS, verify/gf2_fast on Perlmutter (NERSC gen0030), verify/validate_candidate.py. Claude Fable 5.1 (Claude Code) working for @vprusso.

Reproduction

import numpy as np

def halved_checks(P, E):
    J, L = len(E), len(E[0])
    HX = np.zeros((J * P, L * P), dtype=np.int8)
    for j in range(J):
        for l in range(L):
            for s in range(P):
                HX[j * P + s, l * P + (s - E[j][l]) % P] = 1
    checks = []
    for h in HX:
        x, z = [], []
        for ri, l in enumerate(range(0, L, 2)):
            for t in range(P):
                if h[l * P + t]:
                    x.append(ri * P + t)
                if h[(l ^ 1) * P + (-t) % P]:
                    z.append(ri * P + t)
        checks.append({"X": x, "Z": z})
    return checks

E = [[38, 8, 36, 5, 21, 21, 0, 7], [17, 38, 20, 2, 28, 17, 2, 36], [8, 20, 13, 20, 23, 27, 1, 4]]
S = halved_checks(40, E)   # the 3P generators of codes/160-42-10.json, in order

Stabilizer generators

generators 120 (max weight 8; 120 mixed X/Z) (one binary symplectic matrix S = (A | B); generator i is X on A_i and Z on B_i, Y where both)
generators (120, Pauli strings on 160 qubits)
IIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIZIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZ IIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZI IIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZII IIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIII IIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIII IIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIII IIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIII IIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIII IIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIII IIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIII IIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIII IIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIII IIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIII IIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIII IIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIII IIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIII IIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIII IIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIII IIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIII IIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXII XIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXI IXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIX IIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIXI IIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIX IIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIIIII XIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIIIII IXIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIIIIII IIXIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIII IIIXIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIII IIIIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIII IIIIIXIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIII IIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIII IIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIII IIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIIII IIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIII IIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIII IIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIII IIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIII IIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIII IIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIII IIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIII IIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIII IIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIII IIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIII IIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIII IZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZ ZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIZI IIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIYII IIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIX IIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZ IIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZI IIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZII XIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIII IXIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIII IIXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIII IIIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIII IIIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIIIII IIIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIIIII IIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIIIII IIIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIIIII IIIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIIIII IIIZIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIIIIIIIIII IIZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIII IZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIII ZIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIII IIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIII IIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIZIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIZIIIIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIXIIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIZIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIXIIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIXIIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIXIIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIXIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIXIIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIXIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIXIIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIXIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIXIIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIXIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIXIIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIIYIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIXIIIIII IIIIIIIIIIIIIIIIIIIIIIIIIZIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIXIIIII IIIIIIIIIIIIIIIIIIIIIIIIZIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIXIIII IIIIIIIIIIIIIIIIIIIIIIIZIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIII IIIIIIIIIIIIIIIIIIIIIIZIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXII IIIIIIIIIIIIIIIIIIIIIZIIIIIIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIZIIIIXIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXIIIIIIIIIIIZIIIIIIIIIIIIIIIIZIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIXI
symplectic rows (A | B) (120, sparse supports)
X: [2, 44, 99, 120] Z: [8, 45, 101, 127] X: [3, 45, 100, 121] Z: [7, 44, 100, 126] X: [4, 46, 101, 122] Z: [6, 43, 99, 125] X: [5, 47, 102, 123] Z: [5, 42, 98, 124] X: [6, 48, 103, 124] Z: [4, 41, 97, 123] X: [7, 49, 104, 125] Z: [3, 40, 96, 122] X: [8, 50, 105, 126] Z: [2, 79, 95, 121] X: [9, 51, 106, 127] Z: [1, 78, 94, 120] X: [10, 52, 107, 128] Z: [0, 77, 93, 159] X: [11, 53, 108, 129] Z: [39, 76, 92, 158] X: [12, 54, 109, 130] Z: [38, 75, 91, 157] X: [13, 55, 110, 131] Z: [37, 74, 90, 156] X: [14, 56, 111, 132] Z: [36, 73, 89, 155] X: [15, 57, 112, 133] Z: [35, 72, 88, 154] X: [16, 58, 113, 134] Z: [34, 71, 87, 153] X: [17, 59, 114, 135] Z: [33, 70, 86, 152] X: [18, 60, 115, 136] Z: [32, 69, 85, 151] X: [19, 61, 116, 137] Z: [31, 68, 84, 150] X: [20, 62, 117, 138] Z: [30, 67, 83, 149] X: [21, 63, 118, 139] Z: [29, 66, 82, 148] X: [22, 64, 119, 140] Z: [28, 65, 81, 147] X: [23, 65, 80, 141] Z: [27, 64, 80, 146] X: [24, 66, 81, 142] Z: [26, 63, 119, 145] X: [25, 67, 82, 143] Z: [25, 62, 118, 144] X: [26, 68, 83, 144] Z: [24, 61, 117, 143] X: [27, 69, 84, 145] Z: [23, 60, 116, 142] X: [28, 70, 85, 146] Z: [22, 59, 115, 141] X: [29, 71, 86, 147] Z: [21, 58, 114, 140] X: [30, 72, 87, 148] Z: [20, 57, 113, 139] X: [31, 73, 88, 149] Z: [19, 56, 112, 138] X: [32, 74, 89, 150] Z: [18, 55, 111, 137] X: [33, 75, 90, 151] Z: [17, 54, 110, 136] X: [34, 76, 91, 152] Z: [16, 53, 109, 135] X: [35, 77, 92, 153] Z: [15, 52, 108, 134] X: [36, 78, 93, 154] Z: [14, 51, 107, 133] X: [37, 79, 94, 155] Z: [13, 50, 106, 132] X: [38, 40, 95, 156] Z: [12, 49, 105, 131] X: [39, 41, 96, 157] Z: [11, 48, 104, 130] X: [0, 42, 97, 158] Z: [10, 47, 103, 129] X: [1, 43, 98, 159] Z: [9, 46, 102, 128] X: [23, 60, 92, 158] Z: [38, 42, 97, 156] X: [24, 61, 93, 159] Z: [37, 41, 96, 155] X: [25, 62, 94, 120] Z: [36, 40, 95, 154] X: [26, 63, 95, 121] Z: [35, 79, 94, 153] X: [27, 64, 96, 122] Z: [34, 78, 93, 152] X: [28, 65, 97, 123] Z: [33, 77, 92, 151] X: [29, 66, 98, 124] Z: [32, 76, 91, 150] X: [30, 67, 99, 125] Z: [31, 75, 90, 149] X: [31, 68, 100, 126] Z: [30, 74, 89, 148] X: [32, 69, 101, 127] Z: [29, 73, 88, 147] X: [33, 70, 102, 128] Z: [28, 72, 87, 146] X: [34, 71, 103, 129] Z: [27, 71, 86, 145] X: [35, 72, 104, 130] Z: [26, 70, 85, 144] X: [36, 73, 105, 131] Z: [25, 69, 84, 143] X: [37, 74, 106, 132] Z: [24, 68, 83, 142] X: [38, 75, 107, 133] Z: [23, 67, 82, 141] X: [39, 76, 108, 134] Z: [22, 66, 81, 140] X: [0, 77, 109, 135] Z: [21, 65, 80, 139] X: [1, 78, 110, 136] Z: [20, 64, 119, 138] X: [2, 79, 111, 137] Z: [19, 63, 118, 137] X: [3, 40, 112, 138] Z: [18, 62, 117, 136] X: [4, 41, 113, 139] Z: [17, 61, 116, 135] X: [5, 42, 114, 140] Z: [16, 60, 115, 134] X: [6, 43, 115, 141] Z: [15, 59, 114, 133] X: [7, 44, 116, 142] Z: [14, 58, 113, 132] X: [8, 45, 117, 143] Z: [13, 57, 112, 131] X: [9, 46, 118, 144] Z: [12, 56, 111, 130] X: [10, 47, 119, 145] Z: [11, 55, 110, 129] X: [11, 48, 80, 146] Z: [10, 54, 109, 128] X: [12, 49, 81, 147] Z: [9, 53, 108, 127] X: [13, 50, 82, 148] Z: [8, 52, 107, 126] X: [14, 51, 83, 149] Z: [7, 51, 106, 125] X: [15, 52, 84, 150] Z: [6, 50, 105, 124] X: [16, 53, 85, 151] Z: [5, 49, 104, 123] X: [17, 54, 86, 152] Z: [4, 48, 103, 122] X: [18, 55, 87, 153] Z: [3, 47, 102, 121] X: [19, 56, 88, 154] Z: [2, 46, 101, 120] X: [20, 57, 89, 155] Z: [1, 45, 100, 159] X: [21, 58, 90, 156] Z: [0, 44, 99, 158] X: [22, 59, 91, 157] Z: [39, 43, 98, 157] X: [32, 67, 97, 159] Z: [20, 60, 107, 124] X: [33, 68, 98, 120] Z: [19, 59, 106, 123] X: [34, 69, 99, 121] Z: [18, 58, 105, 122] X: [35, 70, 100, 122] Z: [17, 57, 104, 121] X: [36, 71, 101, 123] Z: [16, 56, 103, 120] X: [37, 72, 102, 124] Z: [15, 55, 102, 159] X: [38, 73, 103, 125] Z: [14, 54, 101, 158] X: [39, 74, 104, 126] Z: [13, 53, 100, 157] X: [0, 75, 105, 127] Z: [12, 52, 99, 156] X: [1, 76, 106, 128] Z: [11, 51, 98, 155] X: [2, 77, 107, 129] Z: [10, 50, 97, 154] X: [3, 78, 108, 130] Z: [9, 49, 96, 153] X: [4, 79, 109, 131] Z: [8, 48, 95, 152] X: [5, 40, 110, 132] Z: [7, 47, 94, 151] X: [6, 41, 111, 133] Z: [6, 46, 93, 150] X: [7, 42, 112, 134] Z: [5, 45, 92, 149] X: [8, 43, 113, 135] Z: [4, 44, 91, 148] X: [9, 44, 114, 136] Z: [3, 43, 90, 147] X: [10, 45, 115, 137] Z: [2, 42, 89, 146] X: [11, 46, 116, 138] Z: [1, 41, 88, 145] X: [12, 47, 117, 139] Z: [0, 40, 87, 144] X: [13, 48, 118, 140] Z: [39, 79, 86, 143] X: [14, 49, 119, 141] Z: [38, 78, 85, 142] X: [15, 50, 80, 142] Z: [37, 77, 84, 141] X: [16, 51, 81, 143] Z: [36, 76, 83, 140] X: [17, 52, 82, 144] Z: [35, 75, 82, 139] X: [18, 53, 83, 145] Z: [34, 74, 81, 138] X: [19, 54, 84, 146] Z: [33, 73, 80, 137] X: [20, 55, 85, 147] Z: [32, 72, 119, 136] X: [21, 56, 86, 148] Z: [31, 71, 118, 135] X: [22, 57, 87, 149] Z: [30, 70, 117, 134] X: [23, 58, 88, 150] Z: [29, 69, 116, 133] X: [24, 59, 89, 151] Z: [28, 68, 115, 132] X: [25, 60, 90, 152] Z: [27, 67, 114, 131] X: [26, 61, 91, 153] Z: [26, 66, 113, 130] X: [27, 62, 92, 154] Z: [25, 65, 112, 129] X: [28, 63, 93, 155] Z: [24, 64, 111, 128] X: [29, 64, 94, 156] Z: [23, 63, 110, 127] X: [30, 65, 95, 157] Z: [22, 62, 109, 126] X: [31, 66, 96, 158] Z: [21, 61, 108, 125]
Code ID 160-42-10 · download JSON · raw on GitHub