Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 19 additions & 9 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ such as `data/tier0/`.
**Stem naming in this repository:** `{family}_{n}_{k}_{d}` where `n` is code length,
`k` is the number of logical qubits (from precomputed logical operators), and `d` is
the certified minimum distance when known. If `d` is not certified, the stem carries the
current proven bounds, `{lb}to{ub}` or `ge{lb}` (e.g. `TN_360_4_17to24`);
current proven bounds, `{lb}to{ub}` or `ge{lb}` (e.g. `TN_360_4_23to24`);
earlier stems used `unknown`.
Matrix data rows are unchanged; only filenames were aligned with benchmark metadata.

Expand All @@ -46,10 +46,10 @@ Upstream example IDs are shown where this repository renamed files:
LP_1020_136_16 (xu_30), LP_1428_184_24 (xu_42; was LP_1428_184_ge17)
- **LP_*** (from upstream **PK_***): LP_1054_140_20 (PK_31; was LP_1054_140_17to32)
- **TN_*** (shipped in this repo) — TN_36_8_3, TN_36_8_4, TN_54_11_4, TN_72_8_8,
TN_72_14_4, TN_108_2_12, TN_144_2_13, TN_200_10_10, TN_250_10_15, TN_360_4_17to24 (was TN_360_4_ge17),
TN_180_2_17, TN_216_4_18, TN_252_2_21, TN_288_2_22to24, TN_324_4_22to25, TN_396_4_17to26,
TN_432_8_23to29, TN_468_4_17to29, TN_496_2_23to30, TN_504_2_17to34, TN_540_4_23to34,
TN_576_2_24to37, TN_612_2_17to40, TN_648_10_9to32, TN_648_14_9to28, TN_684_2_9to29
TN_72_14_4, TN_108_2_12, TN_144_2_13, TN_200_10_10, TN_250_10_15, TN_360_4_23to24 (was TN_360_4_ge17, then TN_360_4_17to24),
TN_180_2_17, TN_216_4_18, TN_252_2_21, TN_288_2_22to24, TN_324_4_22to25, TN_396_4_23to26,
TN_432_8_23to29, TN_468_4_17to29, TN_496_2_27to30, TN_504_2_24to34, TN_540_4_23to34,
TN_576_2_24to37, TN_612_2_17to40, TN_648_10_22to32, TN_648_14_9to28, TN_684_2_9to29
(upstream IDs and the full rename history of these stems: DistQLDPC NOTICE section 5)

Redistribution of these files must retain the upstream MIT copyright and permission
Expand All @@ -72,7 +72,16 @@ TN_288_2_22to24 (was TN_288_2_9to24), TN_324_4_22to25 (was TN_324_4_9to25),
TN_432_8_23to29 (was TN_432_8_9to29), TN_496_2_23to30 (was TN_496_2_17to30),
TN_540_4_23to34 (was TN_540_4_9to34), TN_576_2_24to37 (was TN_576_2_9to37)
(lower bounds from DistQLDPC's optional CC engine with -cc-aut=on, GH-152, reproduced with a
different search order; upper bounds unchanged; renamed 2026-10-29 to mirror DistQLDPC).
different search order; upper bounds unchanged; renamed 2026-10-29 to mirror DistQLDPC),
TN_360_4_23to24 (was TN_360_4_17to24), TN_396_4_23to26 (was TN_396_4_17to26),
TN_504_2_24to34 (was TN_504_2_17to34), TN_648_10_22to32 (was TN_648_10_9to32),
BB_1080_4_32to48 (was BB_1080_4_30to48), BB_756_16_32to34 (was BB_756_16_30to34),
BB_864_4_32to40 (was BB_864_4_30to40), TN_496_2_27to30 (was TN_496_2_23to30)
(lower bounds from DistQLDPC's optional CC engine with rules that were opt-in when found: charge,
GH-157, default on DistQLDPC main since #161; tiebreak with mrv / -cc-roworder=bfs, GH-162 / GH-183,
and sparse,sparseov,sparsemrv, GH-181, not on DistQLDPC main; each reproduced with a different
search order or binary of the same engine, not an independent second method; upper bounds
unchanged; renamed 2026-10-31 to mirror DistQLDPC).

For the canonical attribution text and preprocessing notes, see DistQLDPC
[NOTICE](https://github.com/guluchen/DistQLDPC/blob/main/NOTICE). A vendored
Expand All @@ -97,16 +106,17 @@ Mapping of former directory -> tier:
LP_1768_224_22 -> tier5
- data/QT/: TN_36_8_3, TN_36_8_4, TN_54_11_4, TN_72_8_8, TN_72_14_4, TN_108_2_12,
TN_200_10_10 -> tier0; TN_250_10_15 -> tier4
- data/QT2/: TN_144_2_13 -> tier3; TN_360_4_17to24 -> tier5
- data/QT2/: TN_144_2_13 -> tier3; TN_360_4_23to24 -> tier5

### 2d. Tier 5 codes mirrored from DistQLDPC (2026-10-23)

24 tier5 stems that previously shipped only in DistQLDPC were copied unchanged (same
matrices and stems as DistQLDPC main e52d15b): the LP_* and TN_* stems listed in 2a,
plus the following.

- BB_756_16_30to34, BB_864_4_30to40, BB_1080_4_30to48: GPL-3.0-or-later (as 2b).
Lower bound 30 from DistQLDPC's optional connected-cluster engine (GH-133/GH-138).
- BB_756_16_32to34, BB_864_4_32to40, BB_1080_4_32to48: GPL-3.0-or-later (as 2b).
Lower bound 32 from DistQLDPC's optional connected-cluster engine (GH-162/GH-183, 2026-10-31;
30 from GH-133/GH-138 before).
Upper bounds come from GF(2)-verified logical operators found by DistQLDPC's GH-146
finder, as do the upper bounds of the TN_*_{lb}to{ub} stems.
- LP_1122_148_20 and LP_2610_744_16: the lifted-product codes lp20^{3,5} [[1122,148]]
Expand Down
16 changes: 14 additions & 2 deletions data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Each line is a binary row (`0` / `1`, space-separated).
**Stem names** use `{family}_{n}_{k}_{d}` with family in `BB`, `GB`, `LP`, `TN`:
`n` = code length (columns of `Hx`), `k` = number of logical qubits (rows of `Gx`),
`d` = certified minimum distance; when it is not certified, the current proven bounds
`{lb}to{ub}` or `ge{lb}` (e.g. `TN_360_4_17to24`), updated as bounds
`{lb}to{ub}` or `ge{lb}` (e.g. `TN_360_4_23to24`), updated as bounds
improve (DistQLDPC/PI decision 2026-10-11). These spellings stay portable to Windows. `GB_*` keeps its own prefix (not merged into `BB_*`); former `QT_*` stems and
the former `QT`/`QT2` directories are now `TN`. See [NOTICE](../NOTICE) for upstream IDs
(e.g. codeDistancePYPI `AJ_*` / `xu_*` renamed to `LP_*`).
Expand All @@ -32,7 +32,7 @@ Tier assignment (PI 2026-10-12, mirrored from DistQLDPC): by DistQLDPC main's ti
| `tier2` | main 10–100 s | BB_144_14_14, BB_288_12_18, GB_144_12_12, LP_544_80_12, TN_108_2_12, TN_200_10_10 |
| `tier3` | main 100–2000 s | LP_714_100_16, TN_144_2_13 |
| `tier4` | main 2000–5000 s; timeout **2000 s** Mac / **5000 s** yfclab2 | TN_250_10_15 |
| `tier5` | main > 5000 s or unsolved; timeout **21600 s** (6 h) | BB_360_12_24, BB_756_16_30to34, BB_864_4_30to40, BB_1080_4_30to48, LP_1020_136_16, LP_1054_140_20, LP_1122_148_20, LP_1428_184_24, LP_1768_224_22, LP_2610_744_16, TN_180_2_17, TN_216_4_18, TN_252_2_21, TN_288_2_22to24, TN_324_4_22to25, TN_360_4_17to24, TN_396_4_17to26, TN_432_8_23to29, TN_468_4_17to29, TN_496_2_23to30, TN_504_2_17to34, TN_540_4_23to34, TN_576_2_24to37, TN_612_2_17to40, TN_648_10_9to32, TN_648_14_9to28, TN_684_2_9to29 |
| `tier5` | main > 5000 s or unsolved; timeout **21600 s** (6 h) | BB_360_12_24, BB_756_16_32to34, BB_864_4_32to40, BB_1080_4_32to48, LP_1020_136_16, LP_1054_140_20, LP_1122_148_20, LP_1428_184_24, LP_1768_224_22, LP_2610_744_16, TN_180_2_17, TN_216_4_18, TN_252_2_21, TN_288_2_22to24, TN_324_4_22to25, TN_360_4_23to24, TN_396_4_23to26, TN_432_8_23to29, TN_468_4_17to29, TN_496_2_27to30, TN_504_2_24to34, TN_540_4_23to34, TN_576_2_24to37, TN_612_2_17to40, TN_648_10_22to32, TN_648_14_9to28, TN_684_2_9to29 |

Note: `TN_360_4_17to24` (was `TN_360_4_ge17`, renamed 2026-10-23 to mirror DistQLDPC): the upper bound 24
comes from a weight-24 logical found by DistQLDPC's GH-146 finder and independently GF(2)-verified
Expand All @@ -48,6 +48,18 @@ automorphism candidates, GF(2)-verified before use) and were reproduced with a d
(`mrv`) on the same qubit labels (same algorithm, not an independent method; DistQLDPC
`optimization/experiments/GH-152/REPRODUCTION.md` on branch `experiment/gh-152-tanner-aut`).

Note: eight tier5 stems were renamed on 2026-10-31 to mirror DistQLDPC (same matrices, upper bounds
unchanged): TN_360_4_23to24 (was `TN_360_4_17to24`), TN_396_4_23to26 (was `TN_396_4_17to26`),
TN_504_2_24to34 (was `TN_504_2_17to34`), TN_648_10_22to32 (was `TN_648_10_9to32`) [GH-157];
BB_1080_4_32to48 (was `BB_1080_4_30to48`) [GH-162, reproduced by GH-183]; BB_756_16_32to34 (was
`BB_756_16_30to34`), BB_864_4_32to40 (was `BB_864_4_30to40`) [GH-183]; TN_496_2_27to30 (was
`TN_496_2_23to30`) [GH-181]. The new lower bounds come from DistQLDPC's optional CC engine with rules
that were opt-in when the bounds were found (`charge`, default on DistQLDPC main since
guluchen/DistQLDPC#161; `tiebreak` with `mrv` / `-cc-roworder=bfs`, guluchen/DistQLDPC#180 / #204, and
`sparse,sparseov,sparsemrv`, guluchen/DistQLDPC#203, not on DistQLDPC main), each reproduced with a
different search order or binary of the same engine (not an independent second method; details in
DistQLDPC `data/matrices/README.md`, rename history).

Previous layout (before the tiers): `data/BB`, `data/BB2`, `data/LP`, `data/LP2`,
`data/QT`, `data/QT2`. File stems are unchanged by the move; only directories changed.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# n=1080 Z-type logical rows ker(Hx)/row(Hz) parity BB_1080_4_30to48_Hx.txt
# n=1080 Z-type logical rows ker(Hx)/row(Hz) parity BB_1080_4_32to48_Hx.txt
0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Expand Down
Loading
Loading