From 8dd9693f467edf5aaa0f5e93d5496f0e706c2eaa Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 11:09:37 +0200 Subject: [PATCH 1/9] Add a benchmark for batched gates as baseline --- crates/ppvm-tableau/Cargo.toml | 4 + crates/ppvm-tableau/benches/clifford_batch.rs | 215 ++++++++++++++++++ 2 files changed, 219 insertions(+) create mode 100644 crates/ppvm-tableau/benches/clifford_batch.rs diff --git a/crates/ppvm-tableau/Cargo.toml b/crates/ppvm-tableau/Cargo.toml index 3785cd35f..d10b8720a 100644 --- a/crates/ppvm-tableau/Cargo.toml +++ b/crates/ppvm-tableau/Cargo.toml @@ -40,3 +40,7 @@ harness = false [[bench]] name = "measure-scaling" harness = false + +[[bench]] +name = "clifford_batch" +harness = false diff --git a/crates/ppvm-tableau/benches/clifford_batch.rs b/crates/ppvm-tableau/benches/clifford_batch.rs new file mode 100644 index 000000000..f85034c65 --- /dev/null +++ b/crates/ppvm-tableau/benches/clifford_batch.rs @@ -0,0 +1,215 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Baseline + batched-vs-loop benches for every Clifford / CliffordExtensions +//! gate on `Tableau`, at qubit counts spanning the per-word storage boundary. +//! Re-run after promoting the batched methods to a trait to measure the speedup +//! on gates that newly gain a batched implementation. + +use std::time::Duration; + +use criterion::{BatchSize, BenchmarkId, Criterion, criterion_group, criterion_main}; +use ppvm_runtime::config::fx64hash::Byte8F64; +use ppvm_runtime::prelude::*; +use ppvm_tableau::prelude::*; + +// Two u64 words = up to 128 qubits, with the boundary at qubit 64. +type Tab = Tableau>; + +const SIZES: &[usize] = &[128]; + +fn configure() -> Criterion { + Criterion::default() + .warm_up_time(Duration::from_secs(1)) + .measurement_time(Duration::from_secs(3)) + .sample_size(50) +} + +/// Non-trivial starting tableau so bit patterns aren't all identity. +fn setup(n: usize) -> Tab { + let mut tab = Tab::new(n); + for q in 0..n.min(8) { + tab.h(q); + } + for q in (0..n.min(8)).step_by(2) { + tab.s(q); + } + tab +} + +fn indices_all(n: usize) -> Vec { + (0..n).collect() +} + +fn indices_every_other(n: usize) -> Vec { + (0..n).step_by(2).collect() +} + +/// Disjoint adjacent pairs covering all qubits: (0,1), (2,3), ... +fn pairs_all(n: usize) -> Vec<(usize, usize)> { + (0..n) + .step_by(2) + .filter(|&i| i + 1 < n) + .map(|i| (i, i + 1)) + .collect() +} + +/// Every other disjoint pair: (0,1), (4,5), (8,9), ... +fn pairs_every_other(n: usize) -> Vec<(usize, usize)> { + (0..n) + .step_by(4) + .filter(|&i| i + 1 < n) + .map(|i| (i, i + 1)) + .collect() +} + +macro_rules! bench_single_loop { + ($group:expr, $tab:expr, $n:expr, $gran:expr, $method:ident, $idx:expr) => {{ + $group.bench_with_input( + BenchmarkId::new( + concat!("loop/", stringify!($method)), + format!("n={}/{}", $n, $gran), + ), + $idx, + |b, idx| { + b.iter_batched_ref( + || $tab.clone(), + |t| { + for &q in idx.iter() { + t.$method(q); + } + }, + BatchSize::SmallInput, + ); + }, + ); + }}; +} + +macro_rules! bench_single_batch { + ($group:expr, $tab:expr, $n:expr, $gran:expr, $method:ident, $idx:expr) => {{ + $group.bench_with_input( + BenchmarkId::new( + concat!("batch/", stringify!($method)), + format!("n={}/{}", $n, $gran), + ), + $idx, + |b, idx| { + b.iter_batched_ref( + || $tab.clone(), + |t| t.$method(idx), + BatchSize::SmallInput, + ); + }, + ); + }}; +} + +macro_rules! bench_pair_loop { + ($group:expr, $tab:expr, $n:expr, $gran:expr, $method:ident, $pairs:expr) => {{ + $group.bench_with_input( + BenchmarkId::new( + concat!("loop/", stringify!($method)), + format!("n={}/{}", $n, $gran), + ), + $pairs, + |b, pairs| { + b.iter_batched_ref( + || $tab.clone(), + |t| { + for &(c, x) in pairs.iter() { + t.$method(c, x); + } + }, + BatchSize::SmallInput, + ); + }, + ); + }}; +} + +macro_rules! bench_pair_batch { + ($group:expr, $tab:expr, $n:expr, $gran:expr, $method:ident, $pairs:expr) => {{ + $group.bench_with_input( + BenchmarkId::new( + concat!("batch/", stringify!($method)), + format!("n={}/{}", $n, $gran), + ), + $pairs, + |b, pairs| { + b.iter_batched_ref( + || $tab.clone(), + |t| t.$method(pairs), + BatchSize::SmallInput, + ); + }, + ); + }}; +} + +fn bench_clifford_batch(c: &mut Criterion) { + let mut group = c.benchmark_group("clifford-batch"); + for &n in SIZES { + let tab = setup(n); + let all = indices_all(n); + let half = indices_every_other(n); + let pairs_full = pairs_all(n); + let pairs_half = pairs_every_other(n); + + // --- Clifford trait --- + // x, y, z, s, cnot have no batched impl today. + // h and cz do — bench both paths. + bench_single_loop!(group, tab, n, "all", x, &all); + bench_single_loop!(group, tab, n, "every_other", x, &half); + bench_single_loop!(group, tab, n, "all", y, &all); + bench_single_loop!(group, tab, n, "every_other", y, &half); + bench_single_loop!(group, tab, n, "all", z, &all); + bench_single_loop!(group, tab, n, "every_other", z, &half); + bench_single_loop!(group, tab, n, "all", h, &all); + bench_single_loop!(group, tab, n, "every_other", h, &half); + bench_single_batch!(group, tab, n, "all", h_batch, &all); + bench_single_batch!(group, tab, n, "every_other", h_batch, &half); + bench_single_loop!(group, tab, n, "all", s, &all); + bench_single_loop!(group, tab, n, "every_other", s, &half); + + bench_pair_loop!(group, tab, n, "all", cnot, &pairs_full); + bench_pair_loop!(group, tab, n, "every_other", cnot, &pairs_half); + bench_pair_loop!(group, tab, n, "all", cz, &pairs_full); + bench_pair_loop!(group, tab, n, "every_other", cz, &pairs_half); + bench_pair_batch!(group, tab, n, "all", cz_batch, &pairs_full); + bench_pair_batch!(group, tab, n, "every_other", cz_batch, &pairs_half); + + // --- CliffordExtensions trait --- + // s_adj, cy have no batched impl today. + // sqrt_x, sqrt_x_adj, sqrt_y, sqrt_y_adj do — bench both paths. + bench_single_loop!(group, tab, n, "all", s_adj, &all); + bench_single_loop!(group, tab, n, "every_other", s_adj, &half); + bench_single_loop!(group, tab, n, "all", sqrt_x, &all); + bench_single_loop!(group, tab, n, "every_other", sqrt_x, &half); + bench_single_batch!(group, tab, n, "all", sqrt_x_batch, &all); + bench_single_batch!(group, tab, n, "every_other", sqrt_x_batch, &half); + bench_single_loop!(group, tab, n, "all", sqrt_x_adj, &all); + bench_single_loop!(group, tab, n, "every_other", sqrt_x_adj, &half); + bench_single_batch!(group, tab, n, "all", sqrt_x_adj_batch, &all); + bench_single_batch!(group, tab, n, "every_other", sqrt_x_adj_batch, &half); + bench_single_loop!(group, tab, n, "all", sqrt_y, &all); + bench_single_loop!(group, tab, n, "every_other", sqrt_y, &half); + bench_single_batch!(group, tab, n, "all", sqrt_y_batch, &all); + bench_single_batch!(group, tab, n, "every_other", sqrt_y_batch, &half); + bench_single_loop!(group, tab, n, "all", sqrt_y_adj, &all); + bench_single_loop!(group, tab, n, "every_other", sqrt_y_adj, &half); + bench_single_batch!(group, tab, n, "all", sqrt_y_adj_batch, &all); + bench_single_batch!(group, tab, n, "every_other", sqrt_y_adj_batch, &half); + + bench_pair_loop!(group, tab, n, "all", cy, &pairs_full); + bench_pair_loop!(group, tab, n, "every_other", cy, &pairs_half); + } + group.finish(); +} + +criterion_group! { + name = benches; + config = configure(); + targets = bench_clifford_batch +} +criterion_main!(benches); From 1e6308af63273faebebb71b8be35e55f1e05b5b7 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 11:41:41 +0200 Subject: [PATCH 2/9] Implement batched versions for all gates --- crates/ppvm-runtime/src/traits/clifford.rs | 92 ++++ crates/ppvm-runtime/src/traits/mod.rs | 2 +- crates/ppvm-tableau/Cargo.toml | 4 + crates/ppvm-tableau/benches/clifford_batch.rs | 30 +- .../benches/clifford_crossover.rs | 82 +++ crates/ppvm-tableau/src/gates/clifford.rs | 491 ++++++++++++++---- 6 files changed, 572 insertions(+), 129 deletions(-) create mode 100644 crates/ppvm-tableau/benches/clifford_crossover.rs diff --git a/crates/ppvm-runtime/src/traits/clifford.rs b/crates/ppvm-runtime/src/traits/clifford.rs index af71ba8f6..67f5f0cd7 100644 --- a/crates/ppvm-runtime/src/traits/clifford.rs +++ b/crates/ppvm-runtime/src/traits/clifford.rs @@ -148,6 +148,98 @@ impl Clifford for T { } } +/// Batched Clifford gates: apply the same gate to many qubits in one call. +/// +/// Default implementations loop over the corresponding single-qubit +/// (or single-pair) method on [`Clifford`]. Types like the stabilizer +/// `Tableau` override the defaults with a fused inner-loop or bitmask +/// implementation; types without a faster path inherit the loop and +/// still benefit from the trait's uniform API. +pub trait CliffordBatch: Clifford { + /// Apply Pauli `X` to every qubit in `indices`. + fn x_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.x(q); + } + } + /// Apply Pauli `Y` to every qubit in `indices`. + fn y_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.y(q); + } + } + /// Apply Pauli `Z` to every qubit in `indices`. + fn z_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.z(q); + } + } + /// Apply Hadamard `H` to every qubit in `indices`. + fn h_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.h(q); + } + } + /// Apply phase gate `S` to every qubit in `indices`. + fn s_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.s(q); + } + } + /// Apply `CNOT` to every `(control, target)` pair. + fn cnot_batch(&mut self, pairs: &[(usize, usize)]) { + for &(c, t) in pairs { + self.cnot(c, t); + } + } + /// Apply `CZ` to every `(control, target)` pair. + fn cz_batch(&mut self, pairs: &[(usize, usize)]) { + for &(c, t) in pairs { + self.cz(c, t); + } + } +} + +/// Batched form of [`CliffordExtensions`]. +pub trait CliffordExtensionsBatch: CliffordExtensions + CliffordBatch { + /// Apply `S†` to every qubit in `indices`. + fn s_adj_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.s_adj(q); + } + } + /// Apply `√X` to every qubit in `indices`. + fn sqrt_x_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.sqrt_x(q); + } + } + /// Apply `(√X)†` to every qubit in `indices`. + fn sqrt_x_adj_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.sqrt_x_adj(q); + } + } + /// Apply `√Y` to every qubit in `indices`. + fn sqrt_y_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.sqrt_y(q); + } + } + /// Apply `(√Y)†` to every qubit in `indices`. + fn sqrt_y_adj_batch(&mut self, indices: &[usize]) { + for &q in indices { + self.sqrt_y_adj(q); + } + } + /// Apply `CY` to every `(control, target)` pair. + fn cy_batch(&mut self, pairs: &[(usize, usize)]) { + for &(c, t) in pairs { + self.cy(c, t); + } + } +} + impl CliffordExtensions for T { // | Gate | X | Y | Z | // |:----------:|:---:|:---:|:---:| diff --git a/crates/ppvm-runtime/src/traits/mod.rs b/crates/ppvm-runtime/src/traits/mod.rs index 853e435e8..86b1f9f3d 100644 --- a/crates/ppvm-runtime/src/traits/mod.rs +++ b/crates/ppvm-runtime/src/traits/mod.rs @@ -15,7 +15,7 @@ mod trace; mod word_trait; pub use branch::{CRx, Projection, RotationOne, RotationTwo, TGate, U3Gate}; -pub use clifford::{Clifford, CliffordExtensions}; +pub use clifford::{Clifford, CliffordBatch, CliffordExtensions, CliffordExtensionsBatch}; pub use coefficient::{Coefficient, ComplexCoefficient}; pub use map::{ ACMap, ACMapAddAssign, ACMapBase, ACMapConsume, ACMapContains, ACMapInsert, ACMapIter, diff --git a/crates/ppvm-tableau/Cargo.toml b/crates/ppvm-tableau/Cargo.toml index d10b8720a..1da77c6f0 100644 --- a/crates/ppvm-tableau/Cargo.toml +++ b/crates/ppvm-tableau/Cargo.toml @@ -44,3 +44,7 @@ harness = false [[bench]] name = "clifford_batch" harness = false + +[[bench]] +name = "clifford_crossover" +harness = false diff --git a/crates/ppvm-tableau/benches/clifford_batch.rs b/crates/ppvm-tableau/benches/clifford_batch.rs index f85034c65..758d4938d 100644 --- a/crates/ppvm-tableau/benches/clifford_batch.rs +++ b/crates/ppvm-tableau/benches/clifford_batch.rs @@ -95,11 +95,7 @@ macro_rules! bench_single_batch { ), $idx, |b, idx| { - b.iter_batched_ref( - || $tab.clone(), - |t| t.$method(idx), - BatchSize::SmallInput, - ); + b.iter_batched_ref(|| $tab.clone(), |t| t.$method(idx), BatchSize::SmallInput); }, ); }}; @@ -137,11 +133,7 @@ macro_rules! bench_pair_batch { ), $pairs, |b, pairs| { - b.iter_batched_ref( - || $tab.clone(), - |t| t.$method(pairs), - BatchSize::SmallInput, - ); + b.iter_batched_ref(|| $tab.clone(), |t| t.$method(pairs), BatchSize::SmallInput); }, ); }}; @@ -157,33 +149,41 @@ fn bench_clifford_batch(c: &mut Criterion) { let pairs_half = pairs_every_other(n); // --- Clifford trait --- - // x, y, z, s, cnot have no batched impl today. - // h and cz do — bench both paths. bench_single_loop!(group, tab, n, "all", x, &all); bench_single_loop!(group, tab, n, "every_other", x, &half); + bench_single_batch!(group, tab, n, "all", x_batch, &all); + bench_single_batch!(group, tab, n, "every_other", x_batch, &half); bench_single_loop!(group, tab, n, "all", y, &all); bench_single_loop!(group, tab, n, "every_other", y, &half); + bench_single_batch!(group, tab, n, "all", y_batch, &all); + bench_single_batch!(group, tab, n, "every_other", y_batch, &half); bench_single_loop!(group, tab, n, "all", z, &all); bench_single_loop!(group, tab, n, "every_other", z, &half); + bench_single_batch!(group, tab, n, "all", z_batch, &all); + bench_single_batch!(group, tab, n, "every_other", z_batch, &half); bench_single_loop!(group, tab, n, "all", h, &all); bench_single_loop!(group, tab, n, "every_other", h, &half); bench_single_batch!(group, tab, n, "all", h_batch, &all); bench_single_batch!(group, tab, n, "every_other", h_batch, &half); bench_single_loop!(group, tab, n, "all", s, &all); bench_single_loop!(group, tab, n, "every_other", s, &half); + bench_single_batch!(group, tab, n, "all", s_batch, &all); + bench_single_batch!(group, tab, n, "every_other", s_batch, &half); bench_pair_loop!(group, tab, n, "all", cnot, &pairs_full); bench_pair_loop!(group, tab, n, "every_other", cnot, &pairs_half); + bench_pair_batch!(group, tab, n, "all", cnot_batch, &pairs_full); + bench_pair_batch!(group, tab, n, "every_other", cnot_batch, &pairs_half); bench_pair_loop!(group, tab, n, "all", cz, &pairs_full); bench_pair_loop!(group, tab, n, "every_other", cz, &pairs_half); bench_pair_batch!(group, tab, n, "all", cz_batch, &pairs_full); bench_pair_batch!(group, tab, n, "every_other", cz_batch, &pairs_half); // --- CliffordExtensions trait --- - // s_adj, cy have no batched impl today. - // sqrt_x, sqrt_x_adj, sqrt_y, sqrt_y_adj do — bench both paths. bench_single_loop!(group, tab, n, "all", s_adj, &all); bench_single_loop!(group, tab, n, "every_other", s_adj, &half); + bench_single_batch!(group, tab, n, "all", s_adj_batch, &all); + bench_single_batch!(group, tab, n, "every_other", s_adj_batch, &half); bench_single_loop!(group, tab, n, "all", sqrt_x, &all); bench_single_loop!(group, tab, n, "every_other", sqrt_x, &half); bench_single_batch!(group, tab, n, "all", sqrt_x_batch, &all); @@ -203,6 +203,8 @@ fn bench_clifford_batch(c: &mut Criterion) { bench_pair_loop!(group, tab, n, "all", cy, &pairs_full); bench_pair_loop!(group, tab, n, "every_other", cy, &pairs_half); + bench_pair_batch!(group, tab, n, "all", cy_batch, &pairs_full); + bench_pair_batch!(group, tab, n, "every_other", cy_batch, &pairs_half); } group.finish(); } diff --git a/crates/ppvm-tableau/benches/clifford_crossover.rs b/crates/ppvm-tableau/benches/clifford_crossover.rs new file mode 100644 index 000000000..e05444870 --- /dev/null +++ b/crates/ppvm-tableau/benches/clifford_crossover.rs @@ -0,0 +1,82 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Crossover bench: at fixed tableau size, sweep the *batch size* `k` and +//! compare a flat loop of `k` single-gate calls against the batched call. +//! +//! Goal is to find the smallest `k` at which the bitmask / fused batch pays +//! off versus the loop. The fixed tableau size is 128 (two `u64` words, so +//! batches up to `k = 64` stay in one storage word; `k > 64` spans both). +//! +//! Three representative boolean-op patterns: +//! - `h`: bit swap + phase from `x & z` +//! - `x`: phase from `z` only, no bit update (simplest) +//! - `s`: bit update `z ^= x` + phase from `x & z` + +use std::time::Duration; + +use criterion::{BatchSize, BenchmarkId, Criterion, criterion_group, criterion_main}; +use ppvm_runtime::config::fx64hash::Byte8F64; +use ppvm_runtime::prelude::*; +use ppvm_tableau::prelude::*; + +type Tab = Tableau>; + +const N: usize = 128; +const BATCH_SIZES: &[usize] = &[1, 2, 4, 8]; + +fn configure() -> Criterion { + Criterion::default() + .warm_up_time(Duration::from_secs(1)) + .measurement_time(Duration::from_secs(3)) + .sample_size(50) +} + +fn setup() -> Tab { + let mut tab = Tab::new(N); + for q in 0..8 { + tab.h(q); + } + for q in (0..8).step_by(2) { + tab.s(q); + } + tab +} + +macro_rules! crossover_group { + ($c:expr, $tab:expr, $label:literal, $single:ident, $batch:ident) => {{ + let mut group = $c.benchmark_group(concat!("clifford-crossover/", $label)); + for &k in BATCH_SIZES { + let indices: Vec = (0..k).collect(); + group.bench_with_input(BenchmarkId::new("loop", k), &indices, |b, idx| { + b.iter_batched_ref( + || $tab.clone(), + |t| { + for &q in idx { + t.$single(q); + } + }, + BatchSize::SmallInput, + ); + }); + group.bench_with_input(BenchmarkId::new("batch", k), &indices, |b, idx| { + b.iter_batched_ref(|| $tab.clone(), |t| t.$batch(idx), BatchSize::SmallInput); + }); + } + group.finish(); + }}; +} + +fn bench_crossover(c: &mut Criterion) { + let tab = setup(); + crossover_group!(c, tab, "h", h, h_batch); + crossover_group!(c, tab, "x", x, x_batch); + crossover_group!(c, tab, "s", s, s_batch); +} + +criterion_group! { + name = benches; + config = configure(); + targets = bench_crossover +} +criterion_main!(benches); diff --git a/crates/ppvm-tableau/src/gates/clifford.rs b/crates/ppvm-tableau/src/gates/clifford.rs index be581cc3e..31b65ee72 100644 --- a/crates/ppvm-tableau/src/gates/clifford.rs +++ b/crates/ppvm-tableau/src/gates/clifford.rs @@ -189,12 +189,122 @@ where } Some((masks, n_words)) } +} - /// Apply `√Y` to multiple qubits using combined bitmask operations. - /// All qubits targeting the same word are merged into a single mask, - /// reducing N individual operations to O(n_words) per row. +impl CliffordBatch for Tableau +where + ::Store: PrimInt, +{ + /// `X` is bit-preserving: phase flips for each masked qubit where z=1. + #[inline] + fn x_batch(&mut self, indices: &[usize]) { + let (masks, n_words) = match self.build_masks(indices) { + Some(m) => m, + None => return, + }; + let zero = ::Store::zero(); + + self.data.iter_mut().for_each(|pw| { + let zp = pw.word.zbits.data.as_raw_slice(); + let mut popcount = 0u32; + for wi in 0..n_words { + let mask = masks[wi]; + if mask == zero { + continue; + } + popcount += (zp[wi] & mask).count_ones(); + } + pw.phase ^= ((popcount & 1) as u8) << 1; + }); + } + + /// `Y` is bit-preserving: phase flips for each masked qubit where x⊕z=1. + #[inline] + fn y_batch(&mut self, indices: &[usize]) { + let (masks, n_words) = match self.build_masks(indices) { + Some(m) => m, + None => return, + }; + let zero = ::Store::zero(); + + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_slice(); + let zp = pw.word.zbits.data.as_raw_slice(); + let mut popcount = 0u32; + for wi in 0..n_words { + let mask = masks[wi]; + if mask == zero { + continue; + } + popcount += ((xp[wi] ^ zp[wi]) & mask).count_ones(); + } + pw.phase ^= ((popcount & 1) as u8) << 1; + }); + } + + /// `Z` is bit-preserving: phase flips for each masked qubit where x=1. + #[inline] + fn z_batch(&mut self, indices: &[usize]) { + let (masks, n_words) = match self.build_masks(indices) { + Some(m) => m, + None => return, + }; + let zero = ::Store::zero(); + + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_slice(); + let mut popcount = 0u32; + for wi in 0..n_words { + let mask = masks[wi]; + if mask == zero { + continue; + } + popcount += (xp[wi] & mask).count_ones(); + } + pw.phase ^= ((popcount & 1) as u8) << 1; + }); + } + + /// Forward `S`: phase flips where x&z=1, then z ^= x for masked qubits. + #[inline] + fn s_batch(&mut self, indices: &[usize]) { + let (masks, n_words) = match self.build_masks(indices) { + Some(m) => m, + None => return, + }; + let zero = ::Store::zero(); + + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_mut_slice(); + let zp = pw.word.zbits.data.as_raw_mut_slice(); + let mut popcount = 0u32; + for wi in 0..n_words { + let mask = masks[wi]; + if mask == zero { + continue; + } + let xw = xp[wi]; + let zw = zp[wi]; + popcount += ((xw & zw) & mask).count_ones(); + zp[wi] = zw ^ (xw & mask); + } + pw.phase ^= ((popcount & 1) as u8) << 1; + }); + } + + fn cnot_batch(&mut self, pairs: &[(usize, usize)]) { + self.data.iter_mut().for_each(|pw| { + for &(control, target) in pairs { + pw.cnot(control, target); + } + }); + } + + /// Apply `H` to multiple qubits using combined bitmask operations. + /// H swaps x<->z bits (same as sqrt_y) but with different phase: + /// phase += 2 when x=1 & z=1 (Y goes to -Y). #[inline] - pub fn sqrt_y_batch(&mut self, indices: &[usize]) { + fn h_batch(&mut self, indices: &[usize]) { let (masks, n_words) = match self.build_masks(indices) { Some(m) => m, None => return, @@ -216,15 +326,69 @@ where let z_bits = zw & mask; xp[wi] = (xw & not_mask) | z_bits; zp[wi] = (zw & not_mask) | x_bits; - let phase_bits = x_bits & !z_bits; + let phase_bits = x_bits & z_bits; pw.phase ^= ((phase_bits.count_ones() & 1) as u8) << 1; } }); } - /// Apply sqrt_y_adj to multiple qubits using combined bitmask operations. + /// Apply CZ to multiple pairs in a single pass. + /// CZ pairs have cross-qubit dependencies so we use per-pair delegation (proven faster). #[inline] - pub fn sqrt_y_adj_batch(&mut self, indices: &[usize]) { + fn cz_batch(&mut self, pairs: &[(usize, usize)]) { + self.data.iter_mut().for_each(|pw| { + for &(control, target) in pairs { + pw.cz(control, target); + } + }); + } +} + +impl CliffordExtensionsBatch for Tableau +where + ::Store: PrimInt, +{ + /// Backward `S` (i.e. `S†`): same bit mapping as `S`, phase rule differs. + /// Phase flips where x&!z=1, then z ^= x for masked qubits. + #[inline] + fn s_adj_batch(&mut self, indices: &[usize]) { + let (masks, n_words) = match self.build_masks(indices) { + Some(m) => m, + None => return, + }; + let zero = ::Store::zero(); + + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_mut_slice(); + let zp = pw.word.zbits.data.as_raw_mut_slice(); + let mut popcount = 0u32; + for wi in 0..n_words { + let mask = masks[wi]; + if mask == zero { + continue; + } + let xw = xp[wi]; + let zw = zp[wi]; + popcount += ((xw & !zw) & mask).count_ones(); + zp[wi] = zw ^ (xw & mask); + } + pw.phase ^= ((popcount & 1) as u8) << 1; + }); + } + + fn cy_batch(&mut self, pairs: &[(usize, usize)]) { + self.data.iter_mut().for_each(|pw| { + for &(addr0, addr1) in pairs { + pw.cy(addr0, addr1); + } + }); + } + + /// Apply `√Y` to multiple qubits using combined bitmask operations. + /// All qubits targeting the same word are merged into a single mask, + /// reducing N individual operations to O(n_words) per row. + #[inline] + fn sqrt_y_batch(&mut self, indices: &[usize]) { let (masks, n_words) = match self.build_masks(indices) { Some(m) => m, None => return, @@ -246,15 +410,15 @@ where let z_bits = zw & mask; xp[wi] = (xw & not_mask) | z_bits; zp[wi] = (zw & not_mask) | x_bits; - let phase_bits = z_bits & !x_bits; + let phase_bits = x_bits & !z_bits; pw.phase ^= ((phase_bits.count_ones() & 1) as u8) << 1; } }); } - /// Apply sqrt_x to multiple qubits using combined bitmask operations. + /// Apply `(√Y)†` to multiple qubits using combined bitmask operations. #[inline] - pub fn sqrt_x_batch(&mut self, indices: &[usize]) { + fn sqrt_y_adj_batch(&mut self, indices: &[usize]) { let (masks, n_words) = match self.build_masks(indices) { Some(m) => m, None => return, @@ -269,18 +433,22 @@ where if mask == zero { continue; } + let not_mask = !mask; let xw = xp[wi]; let zw = zp[wi]; - let phase_bits = (zw & !xw) & mask; + let x_bits = xw & mask; + let z_bits = zw & mask; + xp[wi] = (xw & not_mask) | z_bits; + zp[wi] = (zw & not_mask) | x_bits; + let phase_bits = z_bits & !x_bits; pw.phase ^= ((phase_bits.count_ones() & 1) as u8) << 1; - xp[wi] = xw ^ (zw & mask); } }); } - /// Apply sqrt_x_adj to multiple qubits using combined bitmask operations. + /// Apply `√X` to multiple qubits using combined bitmask operations. #[inline] - pub fn sqrt_x_adj_batch(&mut self, indices: &[usize]) { + fn sqrt_x_batch(&mut self, indices: &[usize]) { let (masks, n_words) = match self.build_masks(indices) { Some(m) => m, None => return, @@ -297,29 +465,16 @@ where } let xw = xp[wi]; let zw = zp[wi]; - let phase_bits = (xw & zw) & mask; + let phase_bits = (zw & !xw) & mask; pw.phase ^= ((phase_bits.count_ones() & 1) as u8) << 1; xp[wi] = xw ^ (zw & mask); } }); } - /// Apply CZ to multiple pairs in a single pass. - /// CZ pairs have cross-qubit dependencies so we use per-pair delegation (proven faster). + /// Apply `(√X)†` to multiple qubits using combined bitmask operations. #[inline] - pub fn cz_batch(&mut self, pairs: &[(usize, usize)]) { - self.data.iter_mut().for_each(|pw| { - for &(control, target) in pairs { - pw.cz(control, target); - } - }); - } - - /// Apply H to multiple qubits using combined bitmask. - /// H swaps x<->z bits (same as sqrt_y) but with different phase: - /// phase += 2 when x=1 & z=1 (Y goes to -Y). - #[inline] - pub fn h_batch(&mut self, indices: &[usize]) { + fn sqrt_x_adj_batch(&mut self, indices: &[usize]) { let (masks, n_words) = match self.build_masks(indices) { Some(m) => m, None => return, @@ -334,15 +489,11 @@ where if mask == zero { continue; } - let not_mask = !mask; let xw = xp[wi]; let zw = zp[wi]; - let x_bits = xw & mask; - let z_bits = zw & mask; - xp[wi] = (xw & not_mask) | z_bits; - zp[wi] = (zw & not_mask) | x_bits; - let phase_bits = x_bits & z_bits; + let phase_bits = (xw & zw) & mask; pw.phase ^= ((phase_bits.count_ones() & 1) as u8) << 1; + xp[wi] = xw ^ (zw & mask); } }); } @@ -366,90 +517,69 @@ where .iter() .any(|&(c, t)| self.is_lost[c] || self.is_lost[t]) } +} - /// Batched `√Y`, skipping lost qubits. - pub fn sqrt_y_batch(&mut self, indices: &[usize]) { - if !self.any_lost_single(indices) { - self.tableau.sqrt_y_batch(indices); - return; - } - let filtered: Vec = indices - .iter() - .copied() - .filter(|&i| !self.is_lost[i]) - .collect(); - self.tableau.sqrt_y_batch(&filtered); - } - - /// Batched `(√Y)†`, skipping lost qubits. - pub fn sqrt_y_adj_batch(&mut self, indices: &[usize]) { - if !self.any_lost_single(indices) { - self.tableau.sqrt_y_adj_batch(indices); - return; - } - let filtered: Vec = indices - .iter() - .copied() - .filter(|&i| !self.is_lost[i]) - .collect(); - self.tableau.sqrt_y_adj_batch(&filtered); - } - - /// Batched `√X`, skipping lost qubits. - pub fn sqrt_x_batch(&mut self, indices: &[usize]) { - if !self.any_lost_single(indices) { - self.tableau.sqrt_x_batch(indices); - return; +macro_rules! impl_gen_tableau_batch_single { + ($name:ident) => { + fn $name(&mut self, indices: &[usize]) { + if !self.any_lost_single(indices) { + self.tableau.$name(indices); + return; + } + let filtered: Vec = indices + .iter() + .copied() + .filter(|&i| !self.is_lost[i]) + .collect(); + self.tableau.$name(&filtered); } - let filtered: Vec = indices - .iter() - .copied() - .filter(|&i| !self.is_lost[i]) - .collect(); - self.tableau.sqrt_x_batch(&filtered); - } + }; +} - /// Batched `(√X)†`, skipping lost qubits. - pub fn sqrt_x_adj_batch(&mut self, indices: &[usize]) { - if !self.any_lost_single(indices) { - self.tableau.sqrt_x_adj_batch(indices); - return; +macro_rules! impl_gen_tableau_batch_pair { + ($name:ident) => { + fn $name(&mut self, pairs: &[(usize, usize)]) { + if !self.any_lost_pair(pairs) { + self.tableau.$name(pairs); + return; + } + let filtered: Vec<(usize, usize)> = pairs + .iter() + .copied() + .filter(|&(c, t)| !self.is_lost[c] && !self.is_lost[t]) + .collect(); + self.tableau.$name(&filtered); } - let filtered: Vec = indices - .iter() - .copied() - .filter(|&i| !self.is_lost[i]) - .collect(); - self.tableau.sqrt_x_adj_batch(&filtered); - } + }; +} - /// Batched `CZ`, skipping pairs with a lost qubit. - pub fn cz_batch(&mut self, pairs: &[(usize, usize)]) { - if !self.any_lost_pair(pairs) { - self.tableau.cz_batch(pairs); - return; - } - let filtered: Vec<(usize, usize)> = pairs - .iter() - .copied() - .filter(|&(c, t)| !self.is_lost[c] && !self.is_lost[t]) - .collect(); - self.tableau.cz_batch(&filtered); - } +impl, I>> CliffordBatch + for GeneralizedTableau +where + Complex<::Coeff>: From>, + ::Store: PrimInt, +{ + impl_gen_tableau_batch_single!(x_batch); + impl_gen_tableau_batch_single!(y_batch); + impl_gen_tableau_batch_single!(z_batch); + impl_gen_tableau_batch_single!(h_batch); + impl_gen_tableau_batch_single!(s_batch); + impl_gen_tableau_batch_pair!(cnot_batch); + impl_gen_tableau_batch_pair!(cz_batch); +} - /// Batched `H`, skipping lost qubits. - pub fn h_batch(&mut self, indices: &[usize]) { - if !self.any_lost_single(indices) { - self.tableau.h_batch(indices); - return; - } - let filtered: Vec = indices - .iter() - .copied() - .filter(|&i| !self.is_lost[i]) - .collect(); - self.tableau.h_batch(&filtered); - } +impl, I>> CliffordExtensionsBatch + for GeneralizedTableau +where + Complex<::Coeff>: From>, + ::Store: PrimInt, +{ + impl_gen_tableau_batch_single!(s_adj_batch); + impl_gen_tableau_batch_single!(sqrt_x_batch); + impl_gen_tableau_batch_single!(sqrt_x_adj_batch); + impl_gen_tableau_batch_single!(sqrt_y_batch); + impl_gen_tableau_batch_single!(sqrt_y_adj_batch); + impl_gen_tableau_batch_pair!(cy_batch); } #[cfg(test)] @@ -764,6 +894,16 @@ mod tests { assert_eq!(snapshot(&tab), initial); tab.h_batch(&[]); assert_eq!(snapshot(&tab), initial); + tab.x_batch(&[]); + assert_eq!(snapshot(&tab), initial); + tab.y_batch(&[]); + assert_eq!(snapshot(&tab), initial); + tab.z_batch(&[]); + assert_eq!(snapshot(&tab), initial); + tab.s_batch(&[]); + assert_eq!(snapshot(&tab), initial); + tab.s_adj_batch(&[]); + assert_eq!(snapshot(&tab), initial); } #[test] @@ -793,6 +933,129 @@ mod tests { assert_eq!(snapshot(&tab), initial); } + #[test] + fn test_x_batch_matches_individual() { + let n = 8; + let indices = vec![0, 2, 5, 7]; + let mut tab_ind = TTab::new(n); + tab_ind.h(0); + tab_ind.s(3); + for &i in &indices { + tab_ind.x(i); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(0); + tab_batch.s(3); + tab_batch.x_batch(&indices); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_y_batch_matches_individual() { + let n = 8; + let indices = vec![1, 3, 4, 6]; + let mut tab_ind = TTab::new(n); + tab_ind.h(0); + tab_ind.s(2); + for &i in &indices { + tab_ind.y(i); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(0); + tab_batch.s(2); + tab_batch.y_batch(&indices); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_z_batch_matches_individual() { + let n = 8; + let indices = vec![0, 1, 4, 7]; + let mut tab_ind = TTab::new(n); + tab_ind.h(2); + tab_ind.s(5); + for &i in &indices { + tab_ind.z(i); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(2); + tab_batch.s(5); + tab_batch.z_batch(&indices); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_s_batch_matches_individual() { + let n = 8; + let indices = vec![0, 2, 5, 7]; + let mut tab_ind = TTab::new(n); + tab_ind.h(1); + tab_ind.h(4); + for &i in &indices { + tab_ind.s(i); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(1); + tab_batch.h(4); + tab_batch.s_batch(&indices); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_s_adj_batch_matches_individual() { + let n = 8; + let indices = vec![1, 3, 4, 6]; + let mut tab_ind = TTab::new(n); + tab_ind.h(2); + tab_ind.h(5); + for &i in &indices { + tab_ind.s_adj(i); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(2); + tab_batch.h(5); + tab_batch.s_adj_batch(&indices); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_cnot_batch_matches_individual() { + let n = 8; + let pairs = vec![(0, 1), (2, 3), (4, 5)]; + let mut tab_ind = TTab::new(n); + tab_ind.h(0); + tab_ind.h(2); + tab_ind.h(4); + for &(c, t) in &pairs { + tab_ind.cnot(c, t); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(0); + tab_batch.h(2); + tab_batch.h(4); + tab_batch.cnot_batch(&pairs); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + + #[test] + fn test_cy_batch_matches_individual() { + let n = 8; + let pairs = vec![(0, 1), (2, 3), (4, 5)]; + let mut tab_ind = TTab::new(n); + tab_ind.h(0); + tab_ind.h(2); + tab_ind.s(4); + for &(c, t) in &pairs { + tab_ind.cy(c, t); + } + let mut tab_batch = TTab::new(n); + tab_batch.h(0); + tab_batch.h(2); + tab_batch.s(4); + tab_batch.cy_batch(&pairs); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + #[test] fn test_batch_fourth_power_identity() { let n = 8; From 01ec3ef432575b5adb21ec2b38a6ba71fec4feaa Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 12:46:53 +0200 Subject: [PATCH 3/9] Use smallvec so build_masks works beyond 512 qubits --- crates/ppvm-tableau/src/gates/clifford.rs | 56 ++++++++++++++++++++--- 1 file changed, 49 insertions(+), 7 deletions(-) diff --git a/crates/ppvm-tableau/src/gates/clifford.rs b/crates/ppvm-tableau/src/gates/clifford.rs index 31b65ee72..8f4563786 100644 --- a/crates/ppvm-tableau/src/gates/clifford.rs +++ b/crates/ppvm-tableau/src/gates/clifford.rs @@ -6,6 +6,11 @@ use bitvec::view::BitView; use bitvec::view::BitViewSized; use num::complex::Complex; use num::{One, PrimInt, Zero}; +use smallvec::{SmallVec, smallvec}; + +/// Per-word bitmask buffer used by the batched Clifford gates. +/// Stack-allocates for up to 8 storage words; spills to heap beyond. +type MaskBuf = SmallVec<[<::Storage as BitView>::Store; 8]>; macro_rules! impl_tableau_clifford { ($name:ident, $($index:ident),*) => { @@ -168,21 +173,18 @@ where ::Store: PrimInt, { /// Build per-word bitmasks from a list of qubit indices. - /// Returns (masks, n_words) on a stack-allocated array (max 8 words = 512 qubits). + /// Returns `(masks, n_words)`. Stack-allocates for up to 8 storage words; + /// spills to the heap beyond that, so there is no hard qubit cap. #[inline] - fn build_masks( - &self, - indices: &[usize], - ) -> Option<([::Store; 8], usize)> { + fn build_masks(&self, indices: &[usize]) -> Option<(MaskBuf, usize)> { if self.data.is_empty() { return None; } let n_words = self.data[0].word.xbits.data.as_raw_slice().len(); - debug_assert!(n_words <= 8, "Storage exceeds 8 words"); let bits_per_word = std::mem::size_of::<::Store>() * 8; let one = ::Store::one(); let zero = ::Store::zero(); - let mut masks = [zero; 8]; + let mut masks: MaskBuf = smallvec![zero; n_words]; for &addr0 in indices { masks[addr0 / bits_per_word] = masks[addr0 / bits_per_word] | (one << (addr0 % bits_per_word)); @@ -1056,6 +1058,46 @@ mod tests { assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); } + #[test] + fn test_batch_more_than_8_storage_words() { + // 16 storage words exceeds the previous fixed-array limit of 8; + // verifies the SmallVec heap-spill path in `build_masks`. + type BigConfig = ByteF64<16>; + type BigTab = Tableau; + + fn big_snapshot(tab: &BigTab) -> Vec<(Vec, Vec, u8)> { + tab.data + .iter() + .map(|pw| { + ( + pw.word.xbits.data.as_raw_slice().to_vec(), + pw.word.zbits.data.as_raw_slice().to_vec(), + pw.phase, + ) + }) + .collect() + } + + let n = 128; + // Indices straddle word 0 (qubits 0..8), middle words, and the + // last word (qubits 120..128). + let indices: Vec = vec![0, 7, 8, 63, 64, 71, 72, 120, 127]; + + let mut tab_ind = BigTab::new(n); + tab_ind.h(3); + tab_ind.s(60); + for &i in &indices { + tab_ind.h(i); + } + + let mut tab_batch = BigTab::new(n); + tab_batch.h(3); + tab_batch.s(60); + tab_batch.h_batch(&indices); + + assert_eq!(big_snapshot(&tab_ind), big_snapshot(&tab_batch)); + } + #[test] fn test_batch_fourth_power_identity() { let n = 8; From 87b53283768ff78884d00238a3acdbd0b7586b9d Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 12:47:19 +0200 Subject: [PATCH 4/9] Forward STIM to batched gates --- Cargo.lock | 1 + crates/ppvm-stim/src/executor.rs | 34 ++++++++++++---------- crates/ppvm-tableau/Cargo.toml | 1 + ppvm-python/demo/{stim.py => stim_demo.py} | 0 4 files changed, 21 insertions(+), 15 deletions(-) rename ppvm-python/demo/{stim.py => stim_demo.py} (100%) diff --git a/Cargo.lock b/Cargo.lock index ca746529b..9203b06c4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -934,6 +934,7 @@ dependencies = [ "ppvm-runtime", "rand 0.10.1", "rayon", + "smallvec", ] [[package]] diff --git a/crates/ppvm-stim/src/executor.rs b/crates/ppvm-stim/src/executor.rs index 6e3252b68..7b42cd464 100644 --- a/crates/ppvm-stim/src/executor.rs +++ b/crates/ppvm-stim/src/executor.rs @@ -130,27 +130,31 @@ pub fn execute_prepared( match instr { ExtendedInstruction::Raw(RawPassthrough::Gate { name, targets, .. }) => match name { GateName::Reset | GateName::ResetZ => targets.iter().for_each(|&q| tab.reset(q)), - GateName::X => targets.iter().for_each(|&q| tab.x(q)), - GateName::Y => targets.iter().for_each(|&q| tab.y(q)), - GateName::Z => targets.iter().for_each(|&q| tab.z(q)), - GateName::H | GateName::HXZ => targets.iter().for_each(|&q| tab.h(q)), - GateName::S | GateName::SqrtZ => targets.iter().for_each(|&q| tab.s(q)), - GateName::SDag | GateName::SqrtZDag => { - targets.iter().for_each(|&q| tab.s_adj(q)); - } - GateName::SqrtX => targets.iter().for_each(|&q| tab.sqrt_x(q)), - GateName::SqrtXDag => targets.iter().for_each(|&q| tab.sqrt_x_adj(q)), - GateName::SqrtY => targets.iter().for_each(|&q| tab.sqrt_y(q)), - GateName::SqrtYDag => targets.iter().for_each(|&q| tab.sqrt_y_adj(q)), + GateName::X => tab.x_batch(targets), + GateName::Y => tab.y_batch(targets), + GateName::Z => tab.z_batch(targets), + GateName::H | GateName::HXZ => tab.h_batch(targets), + GateName::S | GateName::SqrtZ => tab.s_batch(targets), + GateName::SDag | GateName::SqrtZDag => tab.s_adj_batch(targets), + GateName::SqrtX => tab.sqrt_x_batch(targets), + GateName::SqrtXDag => tab.sqrt_x_adj_batch(targets), + GateName::SqrtY => tab.sqrt_y_batch(targets), + GateName::SqrtYDag => tab.sqrt_y_adj_batch(targets), GateName::Identity => {} GateName::CX | GateName::ZCX | GateName::CNot => { - targets.chunks_exact(2).for_each(|p| tab.cnot(p[0], p[1])); + let pairs: Vec<(usize, usize)> = + targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + tab.cnot_batch(&pairs); } GateName::CY | GateName::ZCY => { - targets.chunks_exact(2).for_each(|p| tab.cy(p[0], p[1])); + let pairs: Vec<(usize, usize)> = + targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + tab.cy_batch(&pairs); } GateName::CZ | GateName::ZCZ => { - targets.chunks_exact(2).for_each(|p| tab.cz(p[0], p[1])); + let pairs: Vec<(usize, usize)> = + targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + tab.cz_batch(&pairs); } GateName::Swap | GateName::ISwap diff --git a/crates/ppvm-tableau/Cargo.toml b/crates/ppvm-tableau/Cargo.toml index 1da77c6f0..99e5f0a66 100644 --- a/crates/ppvm-tableau/Cargo.toml +++ b/crates/ppvm-tableau/Cargo.toml @@ -15,6 +15,7 @@ itertools = "0.14.0" num = "0.4.3" ppvm-runtime = { version = "0.1.0", path = "../ppvm-runtime" } rand = "0.10.1" +smallvec = "1.15" rayon = { version = "1.10", optional = true } [dev-dependencies] diff --git a/ppvm-python/demo/stim.py b/ppvm-python/demo/stim_demo.py similarity index 100% rename from ppvm-python/demo/stim.py rename to ppvm-python/demo/stim_demo.py From fa3844249554b3350ffd5b2a37f6a1021622de8d Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 15:53:50 +0200 Subject: [PATCH 5/9] Better batching of CNOT --- Cargo.lock | 1 + crates/ppvm-stim/Cargo.toml | 1 + crates/ppvm-stim/examples/surface_d30.rs | 46 + crates/ppvm-stim/examples/surface_d30.stim | 3652 ++++++++++++++++++++ crates/ppvm-tableau/src/gates/clifford.rs | 46 +- 5 files changed, 3745 insertions(+), 1 deletion(-) create mode 100644 crates/ppvm-stim/examples/surface_d30.rs create mode 100644 crates/ppvm-stim/examples/surface_d30.stim diff --git a/Cargo.lock b/Cargo.lock index 9203b06c4..e3467cc87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -901,6 +901,7 @@ name = "ppvm-stim" version = "0.1.0" dependencies = [ "bitvec", + "bnum", "criterion", "itertools 0.14.0", "num", diff --git a/crates/ppvm-stim/Cargo.toml b/crates/ppvm-stim/Cargo.toml index 81f5a3b7a..92c9186f4 100644 --- a/crates/ppvm-stim/Cargo.toml +++ b/crates/ppvm-stim/Cargo.toml @@ -15,6 +15,7 @@ stim-parser = { version = "0.1.0", path = "../stim-parser" } [dev-dependencies] # Used by benchmarks. criterion = "0.7.0" +bnum = { version = "0.13", features = ["numtraits"] } [[bench]] name = "tableau-msd-stim" diff --git a/crates/ppvm-stim/examples/surface_d30.rs b/crates/ppvm-stim/examples/surface_d30.rs new file mode 100644 index 000000000..15e19948d --- /dev/null +++ b/crates/ppvm-stim/examples/surface_d30.rs @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: 2026 The PPVM Authors +// SPDX-License-Identifier: Apache-2.0 + +//! Run the distance-30 surface-code memory circuit in `surface_d30.stim` +//! against a [`GeneralizedTableau`]. +//! +//! The circuit is pure Clifford (resets, H, CX, measurements, plus +//! depolarizing / X noise), so no non-Clifford branching occurs and a plain +//! `usize` branch index suffices. Its 1889 qubits need `ceil(1889 / 8) = 237` +//! bytes per Pauli word, hence the `<237>` in the config. + +use std::time::Instant; + +use bnum::types::U2048; +use ppvm_runtime::config::indexmap::ByteFxHashF64; +use ppvm_stim::{parse_extended, sample}; +use ppvm_tableau::prelude::*; + +type Tab = GeneralizedTableau, U2048>; + +const N_QUBITS: usize = 1889; +const SHOTS: usize = 12; + +fn main() -> Result<(), ppvm_stim::Error> { + // The .stim file sits next to this example; embed it at compile time. + let prog = parse_extended(include_str!("surface_d30.stim"))?; + println!( + "parsed {} measurement records over {N_QUBITS} qubits", + prog.measurement_count() + ); + + // Parse once, build a fresh tableau per shot via the factory closure. + let start = Instant::now(); + let shots = sample(&prog, SHOTS, || Tab::new(N_QUBITS, 1e-10))?; + let elapsed = start.elapsed(); + + for (i, shot) in shots.iter().enumerate() { + let ones = shot.iter().filter(|&&b| b == Some(true)).count(); + println!("shot {i}: {ones} ones / {} measurements", shot.len()); + } + println!( + "{SHOTS} shots in {elapsed:.2?} ({:.2?}/shot)", + elapsed / SHOTS as u32 + ); + Ok(()) +} diff --git a/crates/ppvm-stim/examples/surface_d30.stim b/crates/ppvm-stim/examples/surface_d30.stim new file mode 100644 index 000000000..4d6723597 --- /dev/null +++ b/crates/ppvm-stim/examples/surface_d30.stim @@ -0,0 +1,3652 @@ +QUBIT_COORDS(1, 1) 1 +QUBIT_COORDS(2, 0) 2 +QUBIT_COORDS(3, 1) 3 +QUBIT_COORDS(5, 1) 5 +QUBIT_COORDS(6, 0) 6 +QUBIT_COORDS(7, 1) 7 +QUBIT_COORDS(9, 1) 9 +QUBIT_COORDS(10, 0) 10 +QUBIT_COORDS(11, 1) 11 +QUBIT_COORDS(13, 1) 13 +QUBIT_COORDS(14, 0) 14 +QUBIT_COORDS(15, 1) 15 +QUBIT_COORDS(17, 1) 17 +QUBIT_COORDS(18, 0) 18 +QUBIT_COORDS(19, 1) 19 +QUBIT_COORDS(21, 1) 21 +QUBIT_COORDS(22, 0) 22 +QUBIT_COORDS(23, 1) 23 +QUBIT_COORDS(25, 1) 25 +QUBIT_COORDS(26, 0) 26 +QUBIT_COORDS(27, 1) 27 +QUBIT_COORDS(29, 1) 29 +QUBIT_COORDS(30, 0) 30 +QUBIT_COORDS(31, 1) 31 +QUBIT_COORDS(33, 1) 33 +QUBIT_COORDS(34, 0) 34 +QUBIT_COORDS(35, 1) 35 +QUBIT_COORDS(37, 1) 37 +QUBIT_COORDS(38, 0) 38 +QUBIT_COORDS(39, 1) 39 +QUBIT_COORDS(41, 1) 41 +QUBIT_COORDS(42, 0) 42 +QUBIT_COORDS(43, 1) 43 +QUBIT_COORDS(45, 1) 45 +QUBIT_COORDS(46, 0) 46 +QUBIT_COORDS(47, 1) 47 +QUBIT_COORDS(49, 1) 49 +QUBIT_COORDS(50, 0) 50 +QUBIT_COORDS(51, 1) 51 +QUBIT_COORDS(53, 1) 53 +QUBIT_COORDS(54, 0) 54 +QUBIT_COORDS(55, 1) 55 +QUBIT_COORDS(57, 1) 57 +QUBIT_COORDS(58, 0) 58 +QUBIT_COORDS(59, 1) 59 +QUBIT_COORDS(1, 3) 62 +QUBIT_COORDS(2, 2) 63 +QUBIT_COORDS(3, 3) 64 +QUBIT_COORDS(4, 2) 65 +QUBIT_COORDS(5, 3) 66 +QUBIT_COORDS(6, 2) 67 +QUBIT_COORDS(7, 3) 68 +QUBIT_COORDS(8, 2) 69 +QUBIT_COORDS(9, 3) 70 +QUBIT_COORDS(10, 2) 71 +QUBIT_COORDS(11, 3) 72 +QUBIT_COORDS(12, 2) 73 +QUBIT_COORDS(13, 3) 74 +QUBIT_COORDS(14, 2) 75 +QUBIT_COORDS(15, 3) 76 +QUBIT_COORDS(16, 2) 77 +QUBIT_COORDS(17, 3) 78 +QUBIT_COORDS(18, 2) 79 +QUBIT_COORDS(19, 3) 80 +QUBIT_COORDS(20, 2) 81 +QUBIT_COORDS(21, 3) 82 +QUBIT_COORDS(22, 2) 83 +QUBIT_COORDS(23, 3) 84 +QUBIT_COORDS(24, 2) 85 +QUBIT_COORDS(25, 3) 86 +QUBIT_COORDS(26, 2) 87 +QUBIT_COORDS(27, 3) 88 +QUBIT_COORDS(28, 2) 89 +QUBIT_COORDS(29, 3) 90 +QUBIT_COORDS(30, 2) 91 +QUBIT_COORDS(31, 3) 92 +QUBIT_COORDS(32, 2) 93 +QUBIT_COORDS(33, 3) 94 +QUBIT_COORDS(34, 2) 95 +QUBIT_COORDS(35, 3) 96 +QUBIT_COORDS(36, 2) 97 +QUBIT_COORDS(37, 3) 98 +QUBIT_COORDS(38, 2) 99 +QUBIT_COORDS(39, 3) 100 +QUBIT_COORDS(40, 2) 101 +QUBIT_COORDS(41, 3) 102 +QUBIT_COORDS(42, 2) 103 +QUBIT_COORDS(43, 3) 104 +QUBIT_COORDS(44, 2) 105 +QUBIT_COORDS(45, 3) 106 +QUBIT_COORDS(46, 2) 107 +QUBIT_COORDS(47, 3) 108 +QUBIT_COORDS(48, 2) 109 +QUBIT_COORDS(49, 3) 110 +QUBIT_COORDS(50, 2) 111 +QUBIT_COORDS(51, 3) 112 +QUBIT_COORDS(52, 2) 113 +QUBIT_COORDS(53, 3) 114 +QUBIT_COORDS(54, 2) 115 +QUBIT_COORDS(55, 3) 116 +QUBIT_COORDS(56, 2) 117 +QUBIT_COORDS(57, 3) 118 +QUBIT_COORDS(58, 2) 119 +QUBIT_COORDS(59, 3) 120 +QUBIT_COORDS(0, 4) 122 +QUBIT_COORDS(1, 5) 123 +QUBIT_COORDS(2, 4) 124 +QUBIT_COORDS(3, 5) 125 +QUBIT_COORDS(4, 4) 126 +QUBIT_COORDS(5, 5) 127 +QUBIT_COORDS(6, 4) 128 +QUBIT_COORDS(7, 5) 129 +QUBIT_COORDS(8, 4) 130 +QUBIT_COORDS(9, 5) 131 +QUBIT_COORDS(10, 4) 132 +QUBIT_COORDS(11, 5) 133 +QUBIT_COORDS(12, 4) 134 +QUBIT_COORDS(13, 5) 135 +QUBIT_COORDS(14, 4) 136 +QUBIT_COORDS(15, 5) 137 +QUBIT_COORDS(16, 4) 138 +QUBIT_COORDS(17, 5) 139 +QUBIT_COORDS(18, 4) 140 +QUBIT_COORDS(19, 5) 141 +QUBIT_COORDS(20, 4) 142 +QUBIT_COORDS(21, 5) 143 +QUBIT_COORDS(22, 4) 144 +QUBIT_COORDS(23, 5) 145 +QUBIT_COORDS(24, 4) 146 +QUBIT_COORDS(25, 5) 147 +QUBIT_COORDS(26, 4) 148 +QUBIT_COORDS(27, 5) 149 +QUBIT_COORDS(28, 4) 150 +QUBIT_COORDS(29, 5) 151 +QUBIT_COORDS(30, 4) 152 +QUBIT_COORDS(31, 5) 153 +QUBIT_COORDS(32, 4) 154 +QUBIT_COORDS(33, 5) 155 +QUBIT_COORDS(34, 4) 156 +QUBIT_COORDS(35, 5) 157 +QUBIT_COORDS(36, 4) 158 +QUBIT_COORDS(37, 5) 159 +QUBIT_COORDS(38, 4) 160 +QUBIT_COORDS(39, 5) 161 +QUBIT_COORDS(40, 4) 162 +QUBIT_COORDS(41, 5) 163 +QUBIT_COORDS(42, 4) 164 +QUBIT_COORDS(43, 5) 165 +QUBIT_COORDS(44, 4) 166 +QUBIT_COORDS(45, 5) 167 +QUBIT_COORDS(46, 4) 168 +QUBIT_COORDS(47, 5) 169 +QUBIT_COORDS(48, 4) 170 +QUBIT_COORDS(49, 5) 171 +QUBIT_COORDS(50, 4) 172 +QUBIT_COORDS(51, 5) 173 +QUBIT_COORDS(52, 4) 174 +QUBIT_COORDS(53, 5) 175 +QUBIT_COORDS(54, 4) 176 +QUBIT_COORDS(55, 5) 177 +QUBIT_COORDS(56, 4) 178 +QUBIT_COORDS(57, 5) 179 +QUBIT_COORDS(58, 4) 180 +QUBIT_COORDS(59, 5) 181 +QUBIT_COORDS(60, 4) 182 +QUBIT_COORDS(1, 7) 184 +QUBIT_COORDS(2, 6) 185 +QUBIT_COORDS(3, 7) 186 +QUBIT_COORDS(4, 6) 187 +QUBIT_COORDS(5, 7) 188 +QUBIT_COORDS(6, 6) 189 +QUBIT_COORDS(7, 7) 190 +QUBIT_COORDS(8, 6) 191 +QUBIT_COORDS(9, 7) 192 +QUBIT_COORDS(10, 6) 193 +QUBIT_COORDS(11, 7) 194 +QUBIT_COORDS(12, 6) 195 +QUBIT_COORDS(13, 7) 196 +QUBIT_COORDS(14, 6) 197 +QUBIT_COORDS(15, 7) 198 +QUBIT_COORDS(16, 6) 199 +QUBIT_COORDS(17, 7) 200 +QUBIT_COORDS(18, 6) 201 +QUBIT_COORDS(19, 7) 202 +QUBIT_COORDS(20, 6) 203 +QUBIT_COORDS(21, 7) 204 +QUBIT_COORDS(22, 6) 205 +QUBIT_COORDS(23, 7) 206 +QUBIT_COORDS(24, 6) 207 +QUBIT_COORDS(25, 7) 208 +QUBIT_COORDS(26, 6) 209 +QUBIT_COORDS(27, 7) 210 +QUBIT_COORDS(28, 6) 211 +QUBIT_COORDS(29, 7) 212 +QUBIT_COORDS(30, 6) 213 +QUBIT_COORDS(31, 7) 214 +QUBIT_COORDS(32, 6) 215 +QUBIT_COORDS(33, 7) 216 +QUBIT_COORDS(34, 6) 217 +QUBIT_COORDS(35, 7) 218 +QUBIT_COORDS(36, 6) 219 +QUBIT_COORDS(37, 7) 220 +QUBIT_COORDS(38, 6) 221 +QUBIT_COORDS(39, 7) 222 +QUBIT_COORDS(40, 6) 223 +QUBIT_COORDS(41, 7) 224 +QUBIT_COORDS(42, 6) 225 +QUBIT_COORDS(43, 7) 226 +QUBIT_COORDS(44, 6) 227 +QUBIT_COORDS(45, 7) 228 +QUBIT_COORDS(46, 6) 229 +QUBIT_COORDS(47, 7) 230 +QUBIT_COORDS(48, 6) 231 +QUBIT_COORDS(49, 7) 232 +QUBIT_COORDS(50, 6) 233 +QUBIT_COORDS(51, 7) 234 +QUBIT_COORDS(52, 6) 235 +QUBIT_COORDS(53, 7) 236 +QUBIT_COORDS(54, 6) 237 +QUBIT_COORDS(55, 7) 238 +QUBIT_COORDS(56, 6) 239 +QUBIT_COORDS(57, 7) 240 +QUBIT_COORDS(58, 6) 241 +QUBIT_COORDS(59, 7) 242 +QUBIT_COORDS(0, 8) 244 +QUBIT_COORDS(1, 9) 245 +QUBIT_COORDS(2, 8) 246 +QUBIT_COORDS(3, 9) 247 +QUBIT_COORDS(4, 8) 248 +QUBIT_COORDS(5, 9) 249 +QUBIT_COORDS(6, 8) 250 +QUBIT_COORDS(7, 9) 251 +QUBIT_COORDS(8, 8) 252 +QUBIT_COORDS(9, 9) 253 +QUBIT_COORDS(10, 8) 254 +QUBIT_COORDS(11, 9) 255 +QUBIT_COORDS(12, 8) 256 +QUBIT_COORDS(13, 9) 257 +QUBIT_COORDS(14, 8) 258 +QUBIT_COORDS(15, 9) 259 +QUBIT_COORDS(16, 8) 260 +QUBIT_COORDS(17, 9) 261 +QUBIT_COORDS(18, 8) 262 +QUBIT_COORDS(19, 9) 263 +QUBIT_COORDS(20, 8) 264 +QUBIT_COORDS(21, 9) 265 +QUBIT_COORDS(22, 8) 266 +QUBIT_COORDS(23, 9) 267 +QUBIT_COORDS(24, 8) 268 +QUBIT_COORDS(25, 9) 269 +QUBIT_COORDS(26, 8) 270 +QUBIT_COORDS(27, 9) 271 +QUBIT_COORDS(28, 8) 272 +QUBIT_COORDS(29, 9) 273 +QUBIT_COORDS(30, 8) 274 +QUBIT_COORDS(31, 9) 275 +QUBIT_COORDS(32, 8) 276 +QUBIT_COORDS(33, 9) 277 +QUBIT_COORDS(34, 8) 278 +QUBIT_COORDS(35, 9) 279 +QUBIT_COORDS(36, 8) 280 +QUBIT_COORDS(37, 9) 281 +QUBIT_COORDS(38, 8) 282 +QUBIT_COORDS(39, 9) 283 +QUBIT_COORDS(40, 8) 284 +QUBIT_COORDS(41, 9) 285 +QUBIT_COORDS(42, 8) 286 +QUBIT_COORDS(43, 9) 287 +QUBIT_COORDS(44, 8) 288 +QUBIT_COORDS(45, 9) 289 +QUBIT_COORDS(46, 8) 290 +QUBIT_COORDS(47, 9) 291 +QUBIT_COORDS(48, 8) 292 +QUBIT_COORDS(49, 9) 293 +QUBIT_COORDS(50, 8) 294 +QUBIT_COORDS(51, 9) 295 +QUBIT_COORDS(52, 8) 296 +QUBIT_COORDS(53, 9) 297 +QUBIT_COORDS(54, 8) 298 +QUBIT_COORDS(55, 9) 299 +QUBIT_COORDS(56, 8) 300 +QUBIT_COORDS(57, 9) 301 +QUBIT_COORDS(58, 8) 302 +QUBIT_COORDS(59, 9) 303 +QUBIT_COORDS(60, 8) 304 +QUBIT_COORDS(1, 11) 306 +QUBIT_COORDS(2, 10) 307 +QUBIT_COORDS(3, 11) 308 +QUBIT_COORDS(4, 10) 309 +QUBIT_COORDS(5, 11) 310 +QUBIT_COORDS(6, 10) 311 +QUBIT_COORDS(7, 11) 312 +QUBIT_COORDS(8, 10) 313 +QUBIT_COORDS(9, 11) 314 +QUBIT_COORDS(10, 10) 315 +QUBIT_COORDS(11, 11) 316 +QUBIT_COORDS(12, 10) 317 +QUBIT_COORDS(13, 11) 318 +QUBIT_COORDS(14, 10) 319 +QUBIT_COORDS(15, 11) 320 +QUBIT_COORDS(16, 10) 321 +QUBIT_COORDS(17, 11) 322 +QUBIT_COORDS(18, 10) 323 +QUBIT_COORDS(19, 11) 324 +QUBIT_COORDS(20, 10) 325 +QUBIT_COORDS(21, 11) 326 +QUBIT_COORDS(22, 10) 327 +QUBIT_COORDS(23, 11) 328 +QUBIT_COORDS(24, 10) 329 +QUBIT_COORDS(25, 11) 330 +QUBIT_COORDS(26, 10) 331 +QUBIT_COORDS(27, 11) 332 +QUBIT_COORDS(28, 10) 333 +QUBIT_COORDS(29, 11) 334 +QUBIT_COORDS(30, 10) 335 +QUBIT_COORDS(31, 11) 336 +QUBIT_COORDS(32, 10) 337 +QUBIT_COORDS(33, 11) 338 +QUBIT_COORDS(34, 10) 339 +QUBIT_COORDS(35, 11) 340 +QUBIT_COORDS(36, 10) 341 +QUBIT_COORDS(37, 11) 342 +QUBIT_COORDS(38, 10) 343 +QUBIT_COORDS(39, 11) 344 +QUBIT_COORDS(40, 10) 345 +QUBIT_COORDS(41, 11) 346 +QUBIT_COORDS(42, 10) 347 +QUBIT_COORDS(43, 11) 348 +QUBIT_COORDS(44, 10) 349 +QUBIT_COORDS(45, 11) 350 +QUBIT_COORDS(46, 10) 351 +QUBIT_COORDS(47, 11) 352 +QUBIT_COORDS(48, 10) 353 +QUBIT_COORDS(49, 11) 354 +QUBIT_COORDS(50, 10) 355 +QUBIT_COORDS(51, 11) 356 +QUBIT_COORDS(52, 10) 357 +QUBIT_COORDS(53, 11) 358 +QUBIT_COORDS(54, 10) 359 +QUBIT_COORDS(55, 11) 360 +QUBIT_COORDS(56, 10) 361 +QUBIT_COORDS(57, 11) 362 +QUBIT_COORDS(58, 10) 363 +QUBIT_COORDS(59, 11) 364 +QUBIT_COORDS(0, 12) 366 +QUBIT_COORDS(1, 13) 367 +QUBIT_COORDS(2, 12) 368 +QUBIT_COORDS(3, 13) 369 +QUBIT_COORDS(4, 12) 370 +QUBIT_COORDS(5, 13) 371 +QUBIT_COORDS(6, 12) 372 +QUBIT_COORDS(7, 13) 373 +QUBIT_COORDS(8, 12) 374 +QUBIT_COORDS(9, 13) 375 +QUBIT_COORDS(10, 12) 376 +QUBIT_COORDS(11, 13) 377 +QUBIT_COORDS(12, 12) 378 +QUBIT_COORDS(13, 13) 379 +QUBIT_COORDS(14, 12) 380 +QUBIT_COORDS(15, 13) 381 +QUBIT_COORDS(16, 12) 382 +QUBIT_COORDS(17, 13) 383 +QUBIT_COORDS(18, 12) 384 +QUBIT_COORDS(19, 13) 385 +QUBIT_COORDS(20, 12) 386 +QUBIT_COORDS(21, 13) 387 +QUBIT_COORDS(22, 12) 388 +QUBIT_COORDS(23, 13) 389 +QUBIT_COORDS(24, 12) 390 +QUBIT_COORDS(25, 13) 391 +QUBIT_COORDS(26, 12) 392 +QUBIT_COORDS(27, 13) 393 +QUBIT_COORDS(28, 12) 394 +QUBIT_COORDS(29, 13) 395 +QUBIT_COORDS(30, 12) 396 +QUBIT_COORDS(31, 13) 397 +QUBIT_COORDS(32, 12) 398 +QUBIT_COORDS(33, 13) 399 +QUBIT_COORDS(34, 12) 400 +QUBIT_COORDS(35, 13) 401 +QUBIT_COORDS(36, 12) 402 +QUBIT_COORDS(37, 13) 403 +QUBIT_COORDS(38, 12) 404 +QUBIT_COORDS(39, 13) 405 +QUBIT_COORDS(40, 12) 406 +QUBIT_COORDS(41, 13) 407 +QUBIT_COORDS(42, 12) 408 +QUBIT_COORDS(43, 13) 409 +QUBIT_COORDS(44, 12) 410 +QUBIT_COORDS(45, 13) 411 +QUBIT_COORDS(46, 12) 412 +QUBIT_COORDS(47, 13) 413 +QUBIT_COORDS(48, 12) 414 +QUBIT_COORDS(49, 13) 415 +QUBIT_COORDS(50, 12) 416 +QUBIT_COORDS(51, 13) 417 +QUBIT_COORDS(52, 12) 418 +QUBIT_COORDS(53, 13) 419 +QUBIT_COORDS(54, 12) 420 +QUBIT_COORDS(55, 13) 421 +QUBIT_COORDS(56, 12) 422 +QUBIT_COORDS(57, 13) 423 +QUBIT_COORDS(58, 12) 424 +QUBIT_COORDS(59, 13) 425 +QUBIT_COORDS(60, 12) 426 +QUBIT_COORDS(1, 15) 428 +QUBIT_COORDS(2, 14) 429 +QUBIT_COORDS(3, 15) 430 +QUBIT_COORDS(4, 14) 431 +QUBIT_COORDS(5, 15) 432 +QUBIT_COORDS(6, 14) 433 +QUBIT_COORDS(7, 15) 434 +QUBIT_COORDS(8, 14) 435 +QUBIT_COORDS(9, 15) 436 +QUBIT_COORDS(10, 14) 437 +QUBIT_COORDS(11, 15) 438 +QUBIT_COORDS(12, 14) 439 +QUBIT_COORDS(13, 15) 440 +QUBIT_COORDS(14, 14) 441 +QUBIT_COORDS(15, 15) 442 +QUBIT_COORDS(16, 14) 443 +QUBIT_COORDS(17, 15) 444 +QUBIT_COORDS(18, 14) 445 +QUBIT_COORDS(19, 15) 446 +QUBIT_COORDS(20, 14) 447 +QUBIT_COORDS(21, 15) 448 +QUBIT_COORDS(22, 14) 449 +QUBIT_COORDS(23, 15) 450 +QUBIT_COORDS(24, 14) 451 +QUBIT_COORDS(25, 15) 452 +QUBIT_COORDS(26, 14) 453 +QUBIT_COORDS(27, 15) 454 +QUBIT_COORDS(28, 14) 455 +QUBIT_COORDS(29, 15) 456 +QUBIT_COORDS(30, 14) 457 +QUBIT_COORDS(31, 15) 458 +QUBIT_COORDS(32, 14) 459 +QUBIT_COORDS(33, 15) 460 +QUBIT_COORDS(34, 14) 461 +QUBIT_COORDS(35, 15) 462 +QUBIT_COORDS(36, 14) 463 +QUBIT_COORDS(37, 15) 464 +QUBIT_COORDS(38, 14) 465 +QUBIT_COORDS(39, 15) 466 +QUBIT_COORDS(40, 14) 467 +QUBIT_COORDS(41, 15) 468 +QUBIT_COORDS(42, 14) 469 +QUBIT_COORDS(43, 15) 470 +QUBIT_COORDS(44, 14) 471 +QUBIT_COORDS(45, 15) 472 +QUBIT_COORDS(46, 14) 473 +QUBIT_COORDS(47, 15) 474 +QUBIT_COORDS(48, 14) 475 +QUBIT_COORDS(49, 15) 476 +QUBIT_COORDS(50, 14) 477 +QUBIT_COORDS(51, 15) 478 +QUBIT_COORDS(52, 14) 479 +QUBIT_COORDS(53, 15) 480 +QUBIT_COORDS(54, 14) 481 +QUBIT_COORDS(55, 15) 482 +QUBIT_COORDS(56, 14) 483 +QUBIT_COORDS(57, 15) 484 +QUBIT_COORDS(58, 14) 485 +QUBIT_COORDS(59, 15) 486 +QUBIT_COORDS(0, 16) 488 +QUBIT_COORDS(1, 17) 489 +QUBIT_COORDS(2, 16) 490 +QUBIT_COORDS(3, 17) 491 +QUBIT_COORDS(4, 16) 492 +QUBIT_COORDS(5, 17) 493 +QUBIT_COORDS(6, 16) 494 +QUBIT_COORDS(7, 17) 495 +QUBIT_COORDS(8, 16) 496 +QUBIT_COORDS(9, 17) 497 +QUBIT_COORDS(10, 16) 498 +QUBIT_COORDS(11, 17) 499 +QUBIT_COORDS(12, 16) 500 +QUBIT_COORDS(13, 17) 501 +QUBIT_COORDS(14, 16) 502 +QUBIT_COORDS(15, 17) 503 +QUBIT_COORDS(16, 16) 504 +QUBIT_COORDS(17, 17) 505 +QUBIT_COORDS(18, 16) 506 +QUBIT_COORDS(19, 17) 507 +QUBIT_COORDS(20, 16) 508 +QUBIT_COORDS(21, 17) 509 +QUBIT_COORDS(22, 16) 510 +QUBIT_COORDS(23, 17) 511 +QUBIT_COORDS(24, 16) 512 +QUBIT_COORDS(25, 17) 513 +QUBIT_COORDS(26, 16) 514 +QUBIT_COORDS(27, 17) 515 +QUBIT_COORDS(28, 16) 516 +QUBIT_COORDS(29, 17) 517 +QUBIT_COORDS(30, 16) 518 +QUBIT_COORDS(31, 17) 519 +QUBIT_COORDS(32, 16) 520 +QUBIT_COORDS(33, 17) 521 +QUBIT_COORDS(34, 16) 522 +QUBIT_COORDS(35, 17) 523 +QUBIT_COORDS(36, 16) 524 +QUBIT_COORDS(37, 17) 525 +QUBIT_COORDS(38, 16) 526 +QUBIT_COORDS(39, 17) 527 +QUBIT_COORDS(40, 16) 528 +QUBIT_COORDS(41, 17) 529 +QUBIT_COORDS(42, 16) 530 +QUBIT_COORDS(43, 17) 531 +QUBIT_COORDS(44, 16) 532 +QUBIT_COORDS(45, 17) 533 +QUBIT_COORDS(46, 16) 534 +QUBIT_COORDS(47, 17) 535 +QUBIT_COORDS(48, 16) 536 +QUBIT_COORDS(49, 17) 537 +QUBIT_COORDS(50, 16) 538 +QUBIT_COORDS(51, 17) 539 +QUBIT_COORDS(52, 16) 540 +QUBIT_COORDS(53, 17) 541 +QUBIT_COORDS(54, 16) 542 +QUBIT_COORDS(55, 17) 543 +QUBIT_COORDS(56, 16) 544 +QUBIT_COORDS(57, 17) 545 +QUBIT_COORDS(58, 16) 546 +QUBIT_COORDS(59, 17) 547 +QUBIT_COORDS(60, 16) 548 +QUBIT_COORDS(1, 19) 550 +QUBIT_COORDS(2, 18) 551 +QUBIT_COORDS(3, 19) 552 +QUBIT_COORDS(4, 18) 553 +QUBIT_COORDS(5, 19) 554 +QUBIT_COORDS(6, 18) 555 +QUBIT_COORDS(7, 19) 556 +QUBIT_COORDS(8, 18) 557 +QUBIT_COORDS(9, 19) 558 +QUBIT_COORDS(10, 18) 559 +QUBIT_COORDS(11, 19) 560 +QUBIT_COORDS(12, 18) 561 +QUBIT_COORDS(13, 19) 562 +QUBIT_COORDS(14, 18) 563 +QUBIT_COORDS(15, 19) 564 +QUBIT_COORDS(16, 18) 565 +QUBIT_COORDS(17, 19) 566 +QUBIT_COORDS(18, 18) 567 +QUBIT_COORDS(19, 19) 568 +QUBIT_COORDS(20, 18) 569 +QUBIT_COORDS(21, 19) 570 +QUBIT_COORDS(22, 18) 571 +QUBIT_COORDS(23, 19) 572 +QUBIT_COORDS(24, 18) 573 +QUBIT_COORDS(25, 19) 574 +QUBIT_COORDS(26, 18) 575 +QUBIT_COORDS(27, 19) 576 +QUBIT_COORDS(28, 18) 577 +QUBIT_COORDS(29, 19) 578 +QUBIT_COORDS(30, 18) 579 +QUBIT_COORDS(31, 19) 580 +QUBIT_COORDS(32, 18) 581 +QUBIT_COORDS(33, 19) 582 +QUBIT_COORDS(34, 18) 583 +QUBIT_COORDS(35, 19) 584 +QUBIT_COORDS(36, 18) 585 +QUBIT_COORDS(37, 19) 586 +QUBIT_COORDS(38, 18) 587 +QUBIT_COORDS(39, 19) 588 +QUBIT_COORDS(40, 18) 589 +QUBIT_COORDS(41, 19) 590 +QUBIT_COORDS(42, 18) 591 +QUBIT_COORDS(43, 19) 592 +QUBIT_COORDS(44, 18) 593 +QUBIT_COORDS(45, 19) 594 +QUBIT_COORDS(46, 18) 595 +QUBIT_COORDS(47, 19) 596 +QUBIT_COORDS(48, 18) 597 +QUBIT_COORDS(49, 19) 598 +QUBIT_COORDS(50, 18) 599 +QUBIT_COORDS(51, 19) 600 +QUBIT_COORDS(52, 18) 601 +QUBIT_COORDS(53, 19) 602 +QUBIT_COORDS(54, 18) 603 +QUBIT_COORDS(55, 19) 604 +QUBIT_COORDS(56, 18) 605 +QUBIT_COORDS(57, 19) 606 +QUBIT_COORDS(58, 18) 607 +QUBIT_COORDS(59, 19) 608 +QUBIT_COORDS(0, 20) 610 +QUBIT_COORDS(1, 21) 611 +QUBIT_COORDS(2, 20) 612 +QUBIT_COORDS(3, 21) 613 +QUBIT_COORDS(4, 20) 614 +QUBIT_COORDS(5, 21) 615 +QUBIT_COORDS(6, 20) 616 +QUBIT_COORDS(7, 21) 617 +QUBIT_COORDS(8, 20) 618 +QUBIT_COORDS(9, 21) 619 +QUBIT_COORDS(10, 20) 620 +QUBIT_COORDS(11, 21) 621 +QUBIT_COORDS(12, 20) 622 +QUBIT_COORDS(13, 21) 623 +QUBIT_COORDS(14, 20) 624 +QUBIT_COORDS(15, 21) 625 +QUBIT_COORDS(16, 20) 626 +QUBIT_COORDS(17, 21) 627 +QUBIT_COORDS(18, 20) 628 +QUBIT_COORDS(19, 21) 629 +QUBIT_COORDS(20, 20) 630 +QUBIT_COORDS(21, 21) 631 +QUBIT_COORDS(22, 20) 632 +QUBIT_COORDS(23, 21) 633 +QUBIT_COORDS(24, 20) 634 +QUBIT_COORDS(25, 21) 635 +QUBIT_COORDS(26, 20) 636 +QUBIT_COORDS(27, 21) 637 +QUBIT_COORDS(28, 20) 638 +QUBIT_COORDS(29, 21) 639 +QUBIT_COORDS(30, 20) 640 +QUBIT_COORDS(31, 21) 641 +QUBIT_COORDS(32, 20) 642 +QUBIT_COORDS(33, 21) 643 +QUBIT_COORDS(34, 20) 644 +QUBIT_COORDS(35, 21) 645 +QUBIT_COORDS(36, 20) 646 +QUBIT_COORDS(37, 21) 647 +QUBIT_COORDS(38, 20) 648 +QUBIT_COORDS(39, 21) 649 +QUBIT_COORDS(40, 20) 650 +QUBIT_COORDS(41, 21) 651 +QUBIT_COORDS(42, 20) 652 +QUBIT_COORDS(43, 21) 653 +QUBIT_COORDS(44, 20) 654 +QUBIT_COORDS(45, 21) 655 +QUBIT_COORDS(46, 20) 656 +QUBIT_COORDS(47, 21) 657 +QUBIT_COORDS(48, 20) 658 +QUBIT_COORDS(49, 21) 659 +QUBIT_COORDS(50, 20) 660 +QUBIT_COORDS(51, 21) 661 +QUBIT_COORDS(52, 20) 662 +QUBIT_COORDS(53, 21) 663 +QUBIT_COORDS(54, 20) 664 +QUBIT_COORDS(55, 21) 665 +QUBIT_COORDS(56, 20) 666 +QUBIT_COORDS(57, 21) 667 +QUBIT_COORDS(58, 20) 668 +QUBIT_COORDS(59, 21) 669 +QUBIT_COORDS(60, 20) 670 +QUBIT_COORDS(1, 23) 672 +QUBIT_COORDS(2, 22) 673 +QUBIT_COORDS(3, 23) 674 +QUBIT_COORDS(4, 22) 675 +QUBIT_COORDS(5, 23) 676 +QUBIT_COORDS(6, 22) 677 +QUBIT_COORDS(7, 23) 678 +QUBIT_COORDS(8, 22) 679 +QUBIT_COORDS(9, 23) 680 +QUBIT_COORDS(10, 22) 681 +QUBIT_COORDS(11, 23) 682 +QUBIT_COORDS(12, 22) 683 +QUBIT_COORDS(13, 23) 684 +QUBIT_COORDS(14, 22) 685 +QUBIT_COORDS(15, 23) 686 +QUBIT_COORDS(16, 22) 687 +QUBIT_COORDS(17, 23) 688 +QUBIT_COORDS(18, 22) 689 +QUBIT_COORDS(19, 23) 690 +QUBIT_COORDS(20, 22) 691 +QUBIT_COORDS(21, 23) 692 +QUBIT_COORDS(22, 22) 693 +QUBIT_COORDS(23, 23) 694 +QUBIT_COORDS(24, 22) 695 +QUBIT_COORDS(25, 23) 696 +QUBIT_COORDS(26, 22) 697 +QUBIT_COORDS(27, 23) 698 +QUBIT_COORDS(28, 22) 699 +QUBIT_COORDS(29, 23) 700 +QUBIT_COORDS(30, 22) 701 +QUBIT_COORDS(31, 23) 702 +QUBIT_COORDS(32, 22) 703 +QUBIT_COORDS(33, 23) 704 +QUBIT_COORDS(34, 22) 705 +QUBIT_COORDS(35, 23) 706 +QUBIT_COORDS(36, 22) 707 +QUBIT_COORDS(37, 23) 708 +QUBIT_COORDS(38, 22) 709 +QUBIT_COORDS(39, 23) 710 +QUBIT_COORDS(40, 22) 711 +QUBIT_COORDS(41, 23) 712 +QUBIT_COORDS(42, 22) 713 +QUBIT_COORDS(43, 23) 714 +QUBIT_COORDS(44, 22) 715 +QUBIT_COORDS(45, 23) 716 +QUBIT_COORDS(46, 22) 717 +QUBIT_COORDS(47, 23) 718 +QUBIT_COORDS(48, 22) 719 +QUBIT_COORDS(49, 23) 720 +QUBIT_COORDS(50, 22) 721 +QUBIT_COORDS(51, 23) 722 +QUBIT_COORDS(52, 22) 723 +QUBIT_COORDS(53, 23) 724 +QUBIT_COORDS(54, 22) 725 +QUBIT_COORDS(55, 23) 726 +QUBIT_COORDS(56, 22) 727 +QUBIT_COORDS(57, 23) 728 +QUBIT_COORDS(58, 22) 729 +QUBIT_COORDS(59, 23) 730 +QUBIT_COORDS(0, 24) 732 +QUBIT_COORDS(1, 25) 733 +QUBIT_COORDS(2, 24) 734 +QUBIT_COORDS(3, 25) 735 +QUBIT_COORDS(4, 24) 736 +QUBIT_COORDS(5, 25) 737 +QUBIT_COORDS(6, 24) 738 +QUBIT_COORDS(7, 25) 739 +QUBIT_COORDS(8, 24) 740 +QUBIT_COORDS(9, 25) 741 +QUBIT_COORDS(10, 24) 742 +QUBIT_COORDS(11, 25) 743 +QUBIT_COORDS(12, 24) 744 +QUBIT_COORDS(13, 25) 745 +QUBIT_COORDS(14, 24) 746 +QUBIT_COORDS(15, 25) 747 +QUBIT_COORDS(16, 24) 748 +QUBIT_COORDS(17, 25) 749 +QUBIT_COORDS(18, 24) 750 +QUBIT_COORDS(19, 25) 751 +QUBIT_COORDS(20, 24) 752 +QUBIT_COORDS(21, 25) 753 +QUBIT_COORDS(22, 24) 754 +QUBIT_COORDS(23, 25) 755 +QUBIT_COORDS(24, 24) 756 +QUBIT_COORDS(25, 25) 757 +QUBIT_COORDS(26, 24) 758 +QUBIT_COORDS(27, 25) 759 +QUBIT_COORDS(28, 24) 760 +QUBIT_COORDS(29, 25) 761 +QUBIT_COORDS(30, 24) 762 +QUBIT_COORDS(31, 25) 763 +QUBIT_COORDS(32, 24) 764 +QUBIT_COORDS(33, 25) 765 +QUBIT_COORDS(34, 24) 766 +QUBIT_COORDS(35, 25) 767 +QUBIT_COORDS(36, 24) 768 +QUBIT_COORDS(37, 25) 769 +QUBIT_COORDS(38, 24) 770 +QUBIT_COORDS(39, 25) 771 +QUBIT_COORDS(40, 24) 772 +QUBIT_COORDS(41, 25) 773 +QUBIT_COORDS(42, 24) 774 +QUBIT_COORDS(43, 25) 775 +QUBIT_COORDS(44, 24) 776 +QUBIT_COORDS(45, 25) 777 +QUBIT_COORDS(46, 24) 778 +QUBIT_COORDS(47, 25) 779 +QUBIT_COORDS(48, 24) 780 +QUBIT_COORDS(49, 25) 781 +QUBIT_COORDS(50, 24) 782 +QUBIT_COORDS(51, 25) 783 +QUBIT_COORDS(52, 24) 784 +QUBIT_COORDS(53, 25) 785 +QUBIT_COORDS(54, 24) 786 +QUBIT_COORDS(55, 25) 787 +QUBIT_COORDS(56, 24) 788 +QUBIT_COORDS(57, 25) 789 +QUBIT_COORDS(58, 24) 790 +QUBIT_COORDS(59, 25) 791 +QUBIT_COORDS(60, 24) 792 +QUBIT_COORDS(1, 27) 794 +QUBIT_COORDS(2, 26) 795 +QUBIT_COORDS(3, 27) 796 +QUBIT_COORDS(4, 26) 797 +QUBIT_COORDS(5, 27) 798 +QUBIT_COORDS(6, 26) 799 +QUBIT_COORDS(7, 27) 800 +QUBIT_COORDS(8, 26) 801 +QUBIT_COORDS(9, 27) 802 +QUBIT_COORDS(10, 26) 803 +QUBIT_COORDS(11, 27) 804 +QUBIT_COORDS(12, 26) 805 +QUBIT_COORDS(13, 27) 806 +QUBIT_COORDS(14, 26) 807 +QUBIT_COORDS(15, 27) 808 +QUBIT_COORDS(16, 26) 809 +QUBIT_COORDS(17, 27) 810 +QUBIT_COORDS(18, 26) 811 +QUBIT_COORDS(19, 27) 812 +QUBIT_COORDS(20, 26) 813 +QUBIT_COORDS(21, 27) 814 +QUBIT_COORDS(22, 26) 815 +QUBIT_COORDS(23, 27) 816 +QUBIT_COORDS(24, 26) 817 +QUBIT_COORDS(25, 27) 818 +QUBIT_COORDS(26, 26) 819 +QUBIT_COORDS(27, 27) 820 +QUBIT_COORDS(28, 26) 821 +QUBIT_COORDS(29, 27) 822 +QUBIT_COORDS(30, 26) 823 +QUBIT_COORDS(31, 27) 824 +QUBIT_COORDS(32, 26) 825 +QUBIT_COORDS(33, 27) 826 +QUBIT_COORDS(34, 26) 827 +QUBIT_COORDS(35, 27) 828 +QUBIT_COORDS(36, 26) 829 +QUBIT_COORDS(37, 27) 830 +QUBIT_COORDS(38, 26) 831 +QUBIT_COORDS(39, 27) 832 +QUBIT_COORDS(40, 26) 833 +QUBIT_COORDS(41, 27) 834 +QUBIT_COORDS(42, 26) 835 +QUBIT_COORDS(43, 27) 836 +QUBIT_COORDS(44, 26) 837 +QUBIT_COORDS(45, 27) 838 +QUBIT_COORDS(46, 26) 839 +QUBIT_COORDS(47, 27) 840 +QUBIT_COORDS(48, 26) 841 +QUBIT_COORDS(49, 27) 842 +QUBIT_COORDS(50, 26) 843 +QUBIT_COORDS(51, 27) 844 +QUBIT_COORDS(52, 26) 845 +QUBIT_COORDS(53, 27) 846 +QUBIT_COORDS(54, 26) 847 +QUBIT_COORDS(55, 27) 848 +QUBIT_COORDS(56, 26) 849 +QUBIT_COORDS(57, 27) 850 +QUBIT_COORDS(58, 26) 851 +QUBIT_COORDS(59, 27) 852 +QUBIT_COORDS(0, 28) 854 +QUBIT_COORDS(1, 29) 855 +QUBIT_COORDS(2, 28) 856 +QUBIT_COORDS(3, 29) 857 +QUBIT_COORDS(4, 28) 858 +QUBIT_COORDS(5, 29) 859 +QUBIT_COORDS(6, 28) 860 +QUBIT_COORDS(7, 29) 861 +QUBIT_COORDS(8, 28) 862 +QUBIT_COORDS(9, 29) 863 +QUBIT_COORDS(10, 28) 864 +QUBIT_COORDS(11, 29) 865 +QUBIT_COORDS(12, 28) 866 +QUBIT_COORDS(13, 29) 867 +QUBIT_COORDS(14, 28) 868 +QUBIT_COORDS(15, 29) 869 +QUBIT_COORDS(16, 28) 870 +QUBIT_COORDS(17, 29) 871 +QUBIT_COORDS(18, 28) 872 +QUBIT_COORDS(19, 29) 873 +QUBIT_COORDS(20, 28) 874 +QUBIT_COORDS(21, 29) 875 +QUBIT_COORDS(22, 28) 876 +QUBIT_COORDS(23, 29) 877 +QUBIT_COORDS(24, 28) 878 +QUBIT_COORDS(25, 29) 879 +QUBIT_COORDS(26, 28) 880 +QUBIT_COORDS(27, 29) 881 +QUBIT_COORDS(28, 28) 882 +QUBIT_COORDS(29, 29) 883 +QUBIT_COORDS(30, 28) 884 +QUBIT_COORDS(31, 29) 885 +QUBIT_COORDS(32, 28) 886 +QUBIT_COORDS(33, 29) 887 +QUBIT_COORDS(34, 28) 888 +QUBIT_COORDS(35, 29) 889 +QUBIT_COORDS(36, 28) 890 +QUBIT_COORDS(37, 29) 891 +QUBIT_COORDS(38, 28) 892 +QUBIT_COORDS(39, 29) 893 +QUBIT_COORDS(40, 28) 894 +QUBIT_COORDS(41, 29) 895 +QUBIT_COORDS(42, 28) 896 +QUBIT_COORDS(43, 29) 897 +QUBIT_COORDS(44, 28) 898 +QUBIT_COORDS(45, 29) 899 +QUBIT_COORDS(46, 28) 900 +QUBIT_COORDS(47, 29) 901 +QUBIT_COORDS(48, 28) 902 +QUBIT_COORDS(49, 29) 903 +QUBIT_COORDS(50, 28) 904 +QUBIT_COORDS(51, 29) 905 +QUBIT_COORDS(52, 28) 906 +QUBIT_COORDS(53, 29) 907 +QUBIT_COORDS(54, 28) 908 +QUBIT_COORDS(55, 29) 909 +QUBIT_COORDS(56, 28) 910 +QUBIT_COORDS(57, 29) 911 +QUBIT_COORDS(58, 28) 912 +QUBIT_COORDS(59, 29) 913 +QUBIT_COORDS(60, 28) 914 +QUBIT_COORDS(1, 31) 916 +QUBIT_COORDS(2, 30) 917 +QUBIT_COORDS(3, 31) 918 +QUBIT_COORDS(4, 30) 919 +QUBIT_COORDS(5, 31) 920 +QUBIT_COORDS(6, 30) 921 +QUBIT_COORDS(7, 31) 922 +QUBIT_COORDS(8, 30) 923 +QUBIT_COORDS(9, 31) 924 +QUBIT_COORDS(10, 30) 925 +QUBIT_COORDS(11, 31) 926 +QUBIT_COORDS(12, 30) 927 +QUBIT_COORDS(13, 31) 928 +QUBIT_COORDS(14, 30) 929 +QUBIT_COORDS(15, 31) 930 +QUBIT_COORDS(16, 30) 931 +QUBIT_COORDS(17, 31) 932 +QUBIT_COORDS(18, 30) 933 +QUBIT_COORDS(19, 31) 934 +QUBIT_COORDS(20, 30) 935 +QUBIT_COORDS(21, 31) 936 +QUBIT_COORDS(22, 30) 937 +QUBIT_COORDS(23, 31) 938 +QUBIT_COORDS(24, 30) 939 +QUBIT_COORDS(25, 31) 940 +QUBIT_COORDS(26, 30) 941 +QUBIT_COORDS(27, 31) 942 +QUBIT_COORDS(28, 30) 943 +QUBIT_COORDS(29, 31) 944 +QUBIT_COORDS(30, 30) 945 +QUBIT_COORDS(31, 31) 946 +QUBIT_COORDS(32, 30) 947 +QUBIT_COORDS(33, 31) 948 +QUBIT_COORDS(34, 30) 949 +QUBIT_COORDS(35, 31) 950 +QUBIT_COORDS(36, 30) 951 +QUBIT_COORDS(37, 31) 952 +QUBIT_COORDS(38, 30) 953 +QUBIT_COORDS(39, 31) 954 +QUBIT_COORDS(40, 30) 955 +QUBIT_COORDS(41, 31) 956 +QUBIT_COORDS(42, 30) 957 +QUBIT_COORDS(43, 31) 958 +QUBIT_COORDS(44, 30) 959 +QUBIT_COORDS(45, 31) 960 +QUBIT_COORDS(46, 30) 961 +QUBIT_COORDS(47, 31) 962 +QUBIT_COORDS(48, 30) 963 +QUBIT_COORDS(49, 31) 964 +QUBIT_COORDS(50, 30) 965 +QUBIT_COORDS(51, 31) 966 +QUBIT_COORDS(52, 30) 967 +QUBIT_COORDS(53, 31) 968 +QUBIT_COORDS(54, 30) 969 +QUBIT_COORDS(55, 31) 970 +QUBIT_COORDS(56, 30) 971 +QUBIT_COORDS(57, 31) 972 +QUBIT_COORDS(58, 30) 973 +QUBIT_COORDS(59, 31) 974 +QUBIT_COORDS(0, 32) 976 +QUBIT_COORDS(1, 33) 977 +QUBIT_COORDS(2, 32) 978 +QUBIT_COORDS(3, 33) 979 +QUBIT_COORDS(4, 32) 980 +QUBIT_COORDS(5, 33) 981 +QUBIT_COORDS(6, 32) 982 +QUBIT_COORDS(7, 33) 983 +QUBIT_COORDS(8, 32) 984 +QUBIT_COORDS(9, 33) 985 +QUBIT_COORDS(10, 32) 986 +QUBIT_COORDS(11, 33) 987 +QUBIT_COORDS(12, 32) 988 +QUBIT_COORDS(13, 33) 989 +QUBIT_COORDS(14, 32) 990 +QUBIT_COORDS(15, 33) 991 +QUBIT_COORDS(16, 32) 992 +QUBIT_COORDS(17, 33) 993 +QUBIT_COORDS(18, 32) 994 +QUBIT_COORDS(19, 33) 995 +QUBIT_COORDS(20, 32) 996 +QUBIT_COORDS(21, 33) 997 +QUBIT_COORDS(22, 32) 998 +QUBIT_COORDS(23, 33) 999 +QUBIT_COORDS(24, 32) 1000 +QUBIT_COORDS(25, 33) 1001 +QUBIT_COORDS(26, 32) 1002 +QUBIT_COORDS(27, 33) 1003 +QUBIT_COORDS(28, 32) 1004 +QUBIT_COORDS(29, 33) 1005 +QUBIT_COORDS(30, 32) 1006 +QUBIT_COORDS(31, 33) 1007 +QUBIT_COORDS(32, 32) 1008 +QUBIT_COORDS(33, 33) 1009 +QUBIT_COORDS(34, 32) 1010 +QUBIT_COORDS(35, 33) 1011 +QUBIT_COORDS(36, 32) 1012 +QUBIT_COORDS(37, 33) 1013 +QUBIT_COORDS(38, 32) 1014 +QUBIT_COORDS(39, 33) 1015 +QUBIT_COORDS(40, 32) 1016 +QUBIT_COORDS(41, 33) 1017 +QUBIT_COORDS(42, 32) 1018 +QUBIT_COORDS(43, 33) 1019 +QUBIT_COORDS(44, 32) 1020 +QUBIT_COORDS(45, 33) 1021 +QUBIT_COORDS(46, 32) 1022 +QUBIT_COORDS(47, 33) 1023 +QUBIT_COORDS(48, 32) 1024 +QUBIT_COORDS(49, 33) 1025 +QUBIT_COORDS(50, 32) 1026 +QUBIT_COORDS(51, 33) 1027 +QUBIT_COORDS(52, 32) 1028 +QUBIT_COORDS(53, 33) 1029 +QUBIT_COORDS(54, 32) 1030 +QUBIT_COORDS(55, 33) 1031 +QUBIT_COORDS(56, 32) 1032 +QUBIT_COORDS(57, 33) 1033 +QUBIT_COORDS(58, 32) 1034 +QUBIT_COORDS(59, 33) 1035 +QUBIT_COORDS(60, 32) 1036 +QUBIT_COORDS(1, 35) 1038 +QUBIT_COORDS(2, 34) 1039 +QUBIT_COORDS(3, 35) 1040 +QUBIT_COORDS(4, 34) 1041 +QUBIT_COORDS(5, 35) 1042 +QUBIT_COORDS(6, 34) 1043 +QUBIT_COORDS(7, 35) 1044 +QUBIT_COORDS(8, 34) 1045 +QUBIT_COORDS(9, 35) 1046 +QUBIT_COORDS(10, 34) 1047 +QUBIT_COORDS(11, 35) 1048 +QUBIT_COORDS(12, 34) 1049 +QUBIT_COORDS(13, 35) 1050 +QUBIT_COORDS(14, 34) 1051 +QUBIT_COORDS(15, 35) 1052 +QUBIT_COORDS(16, 34) 1053 +QUBIT_COORDS(17, 35) 1054 +QUBIT_COORDS(18, 34) 1055 +QUBIT_COORDS(19, 35) 1056 +QUBIT_COORDS(20, 34) 1057 +QUBIT_COORDS(21, 35) 1058 +QUBIT_COORDS(22, 34) 1059 +QUBIT_COORDS(23, 35) 1060 +QUBIT_COORDS(24, 34) 1061 +QUBIT_COORDS(25, 35) 1062 +QUBIT_COORDS(26, 34) 1063 +QUBIT_COORDS(27, 35) 1064 +QUBIT_COORDS(28, 34) 1065 +QUBIT_COORDS(29, 35) 1066 +QUBIT_COORDS(30, 34) 1067 +QUBIT_COORDS(31, 35) 1068 +QUBIT_COORDS(32, 34) 1069 +QUBIT_COORDS(33, 35) 1070 +QUBIT_COORDS(34, 34) 1071 +QUBIT_COORDS(35, 35) 1072 +QUBIT_COORDS(36, 34) 1073 +QUBIT_COORDS(37, 35) 1074 +QUBIT_COORDS(38, 34) 1075 +QUBIT_COORDS(39, 35) 1076 +QUBIT_COORDS(40, 34) 1077 +QUBIT_COORDS(41, 35) 1078 +QUBIT_COORDS(42, 34) 1079 +QUBIT_COORDS(43, 35) 1080 +QUBIT_COORDS(44, 34) 1081 +QUBIT_COORDS(45, 35) 1082 +QUBIT_COORDS(46, 34) 1083 +QUBIT_COORDS(47, 35) 1084 +QUBIT_COORDS(48, 34) 1085 +QUBIT_COORDS(49, 35) 1086 +QUBIT_COORDS(50, 34) 1087 +QUBIT_COORDS(51, 35) 1088 +QUBIT_COORDS(52, 34) 1089 +QUBIT_COORDS(53, 35) 1090 +QUBIT_COORDS(54, 34) 1091 +QUBIT_COORDS(55, 35) 1092 +QUBIT_COORDS(56, 34) 1093 +QUBIT_COORDS(57, 35) 1094 +QUBIT_COORDS(58, 34) 1095 +QUBIT_COORDS(59, 35) 1096 +QUBIT_COORDS(0, 36) 1098 +QUBIT_COORDS(1, 37) 1099 +QUBIT_COORDS(2, 36) 1100 +QUBIT_COORDS(3, 37) 1101 +QUBIT_COORDS(4, 36) 1102 +QUBIT_COORDS(5, 37) 1103 +QUBIT_COORDS(6, 36) 1104 +QUBIT_COORDS(7, 37) 1105 +QUBIT_COORDS(8, 36) 1106 +QUBIT_COORDS(9, 37) 1107 +QUBIT_COORDS(10, 36) 1108 +QUBIT_COORDS(11, 37) 1109 +QUBIT_COORDS(12, 36) 1110 +QUBIT_COORDS(13, 37) 1111 +QUBIT_COORDS(14, 36) 1112 +QUBIT_COORDS(15, 37) 1113 +QUBIT_COORDS(16, 36) 1114 +QUBIT_COORDS(17, 37) 1115 +QUBIT_COORDS(18, 36) 1116 +QUBIT_COORDS(19, 37) 1117 +QUBIT_COORDS(20, 36) 1118 +QUBIT_COORDS(21, 37) 1119 +QUBIT_COORDS(22, 36) 1120 +QUBIT_COORDS(23, 37) 1121 +QUBIT_COORDS(24, 36) 1122 +QUBIT_COORDS(25, 37) 1123 +QUBIT_COORDS(26, 36) 1124 +QUBIT_COORDS(27, 37) 1125 +QUBIT_COORDS(28, 36) 1126 +QUBIT_COORDS(29, 37) 1127 +QUBIT_COORDS(30, 36) 1128 +QUBIT_COORDS(31, 37) 1129 +QUBIT_COORDS(32, 36) 1130 +QUBIT_COORDS(33, 37) 1131 +QUBIT_COORDS(34, 36) 1132 +QUBIT_COORDS(35, 37) 1133 +QUBIT_COORDS(36, 36) 1134 +QUBIT_COORDS(37, 37) 1135 +QUBIT_COORDS(38, 36) 1136 +QUBIT_COORDS(39, 37) 1137 +QUBIT_COORDS(40, 36) 1138 +QUBIT_COORDS(41, 37) 1139 +QUBIT_COORDS(42, 36) 1140 +QUBIT_COORDS(43, 37) 1141 +QUBIT_COORDS(44, 36) 1142 +QUBIT_COORDS(45, 37) 1143 +QUBIT_COORDS(46, 36) 1144 +QUBIT_COORDS(47, 37) 1145 +QUBIT_COORDS(48, 36) 1146 +QUBIT_COORDS(49, 37) 1147 +QUBIT_COORDS(50, 36) 1148 +QUBIT_COORDS(51, 37) 1149 +QUBIT_COORDS(52, 36) 1150 +QUBIT_COORDS(53, 37) 1151 +QUBIT_COORDS(54, 36) 1152 +QUBIT_COORDS(55, 37) 1153 +QUBIT_COORDS(56, 36) 1154 +QUBIT_COORDS(57, 37) 1155 +QUBIT_COORDS(58, 36) 1156 +QUBIT_COORDS(59, 37) 1157 +QUBIT_COORDS(60, 36) 1158 +QUBIT_COORDS(1, 39) 1160 +QUBIT_COORDS(2, 38) 1161 +QUBIT_COORDS(3, 39) 1162 +QUBIT_COORDS(4, 38) 1163 +QUBIT_COORDS(5, 39) 1164 +QUBIT_COORDS(6, 38) 1165 +QUBIT_COORDS(7, 39) 1166 +QUBIT_COORDS(8, 38) 1167 +QUBIT_COORDS(9, 39) 1168 +QUBIT_COORDS(10, 38) 1169 +QUBIT_COORDS(11, 39) 1170 +QUBIT_COORDS(12, 38) 1171 +QUBIT_COORDS(13, 39) 1172 +QUBIT_COORDS(14, 38) 1173 +QUBIT_COORDS(15, 39) 1174 +QUBIT_COORDS(16, 38) 1175 +QUBIT_COORDS(17, 39) 1176 +QUBIT_COORDS(18, 38) 1177 +QUBIT_COORDS(19, 39) 1178 +QUBIT_COORDS(20, 38) 1179 +QUBIT_COORDS(21, 39) 1180 +QUBIT_COORDS(22, 38) 1181 +QUBIT_COORDS(23, 39) 1182 +QUBIT_COORDS(24, 38) 1183 +QUBIT_COORDS(25, 39) 1184 +QUBIT_COORDS(26, 38) 1185 +QUBIT_COORDS(27, 39) 1186 +QUBIT_COORDS(28, 38) 1187 +QUBIT_COORDS(29, 39) 1188 +QUBIT_COORDS(30, 38) 1189 +QUBIT_COORDS(31, 39) 1190 +QUBIT_COORDS(32, 38) 1191 +QUBIT_COORDS(33, 39) 1192 +QUBIT_COORDS(34, 38) 1193 +QUBIT_COORDS(35, 39) 1194 +QUBIT_COORDS(36, 38) 1195 +QUBIT_COORDS(37, 39) 1196 +QUBIT_COORDS(38, 38) 1197 +QUBIT_COORDS(39, 39) 1198 +QUBIT_COORDS(40, 38) 1199 +QUBIT_COORDS(41, 39) 1200 +QUBIT_COORDS(42, 38) 1201 +QUBIT_COORDS(43, 39) 1202 +QUBIT_COORDS(44, 38) 1203 +QUBIT_COORDS(45, 39) 1204 +QUBIT_COORDS(46, 38) 1205 +QUBIT_COORDS(47, 39) 1206 +QUBIT_COORDS(48, 38) 1207 +QUBIT_COORDS(49, 39) 1208 +QUBIT_COORDS(50, 38) 1209 +QUBIT_COORDS(51, 39) 1210 +QUBIT_COORDS(52, 38) 1211 +QUBIT_COORDS(53, 39) 1212 +QUBIT_COORDS(54, 38) 1213 +QUBIT_COORDS(55, 39) 1214 +QUBIT_COORDS(56, 38) 1215 +QUBIT_COORDS(57, 39) 1216 +QUBIT_COORDS(58, 38) 1217 +QUBIT_COORDS(59, 39) 1218 +QUBIT_COORDS(0, 40) 1220 +QUBIT_COORDS(1, 41) 1221 +QUBIT_COORDS(2, 40) 1222 +QUBIT_COORDS(3, 41) 1223 +QUBIT_COORDS(4, 40) 1224 +QUBIT_COORDS(5, 41) 1225 +QUBIT_COORDS(6, 40) 1226 +QUBIT_COORDS(7, 41) 1227 +QUBIT_COORDS(8, 40) 1228 +QUBIT_COORDS(9, 41) 1229 +QUBIT_COORDS(10, 40) 1230 +QUBIT_COORDS(11, 41) 1231 +QUBIT_COORDS(12, 40) 1232 +QUBIT_COORDS(13, 41) 1233 +QUBIT_COORDS(14, 40) 1234 +QUBIT_COORDS(15, 41) 1235 +QUBIT_COORDS(16, 40) 1236 +QUBIT_COORDS(17, 41) 1237 +QUBIT_COORDS(18, 40) 1238 +QUBIT_COORDS(19, 41) 1239 +QUBIT_COORDS(20, 40) 1240 +QUBIT_COORDS(21, 41) 1241 +QUBIT_COORDS(22, 40) 1242 +QUBIT_COORDS(23, 41) 1243 +QUBIT_COORDS(24, 40) 1244 +QUBIT_COORDS(25, 41) 1245 +QUBIT_COORDS(26, 40) 1246 +QUBIT_COORDS(27, 41) 1247 +QUBIT_COORDS(28, 40) 1248 +QUBIT_COORDS(29, 41) 1249 +QUBIT_COORDS(30, 40) 1250 +QUBIT_COORDS(31, 41) 1251 +QUBIT_COORDS(32, 40) 1252 +QUBIT_COORDS(33, 41) 1253 +QUBIT_COORDS(34, 40) 1254 +QUBIT_COORDS(35, 41) 1255 +QUBIT_COORDS(36, 40) 1256 +QUBIT_COORDS(37, 41) 1257 +QUBIT_COORDS(38, 40) 1258 +QUBIT_COORDS(39, 41) 1259 +QUBIT_COORDS(40, 40) 1260 +QUBIT_COORDS(41, 41) 1261 +QUBIT_COORDS(42, 40) 1262 +QUBIT_COORDS(43, 41) 1263 +QUBIT_COORDS(44, 40) 1264 +QUBIT_COORDS(45, 41) 1265 +QUBIT_COORDS(46, 40) 1266 +QUBIT_COORDS(47, 41) 1267 +QUBIT_COORDS(48, 40) 1268 +QUBIT_COORDS(49, 41) 1269 +QUBIT_COORDS(50, 40) 1270 +QUBIT_COORDS(51, 41) 1271 +QUBIT_COORDS(52, 40) 1272 +QUBIT_COORDS(53, 41) 1273 +QUBIT_COORDS(54, 40) 1274 +QUBIT_COORDS(55, 41) 1275 +QUBIT_COORDS(56, 40) 1276 +QUBIT_COORDS(57, 41) 1277 +QUBIT_COORDS(58, 40) 1278 +QUBIT_COORDS(59, 41) 1279 +QUBIT_COORDS(60, 40) 1280 +QUBIT_COORDS(1, 43) 1282 +QUBIT_COORDS(2, 42) 1283 +QUBIT_COORDS(3, 43) 1284 +QUBIT_COORDS(4, 42) 1285 +QUBIT_COORDS(5, 43) 1286 +QUBIT_COORDS(6, 42) 1287 +QUBIT_COORDS(7, 43) 1288 +QUBIT_COORDS(8, 42) 1289 +QUBIT_COORDS(9, 43) 1290 +QUBIT_COORDS(10, 42) 1291 +QUBIT_COORDS(11, 43) 1292 +QUBIT_COORDS(12, 42) 1293 +QUBIT_COORDS(13, 43) 1294 +QUBIT_COORDS(14, 42) 1295 +QUBIT_COORDS(15, 43) 1296 +QUBIT_COORDS(16, 42) 1297 +QUBIT_COORDS(17, 43) 1298 +QUBIT_COORDS(18, 42) 1299 +QUBIT_COORDS(19, 43) 1300 +QUBIT_COORDS(20, 42) 1301 +QUBIT_COORDS(21, 43) 1302 +QUBIT_COORDS(22, 42) 1303 +QUBIT_COORDS(23, 43) 1304 +QUBIT_COORDS(24, 42) 1305 +QUBIT_COORDS(25, 43) 1306 +QUBIT_COORDS(26, 42) 1307 +QUBIT_COORDS(27, 43) 1308 +QUBIT_COORDS(28, 42) 1309 +QUBIT_COORDS(29, 43) 1310 +QUBIT_COORDS(30, 42) 1311 +QUBIT_COORDS(31, 43) 1312 +QUBIT_COORDS(32, 42) 1313 +QUBIT_COORDS(33, 43) 1314 +QUBIT_COORDS(34, 42) 1315 +QUBIT_COORDS(35, 43) 1316 +QUBIT_COORDS(36, 42) 1317 +QUBIT_COORDS(37, 43) 1318 +QUBIT_COORDS(38, 42) 1319 +QUBIT_COORDS(39, 43) 1320 +QUBIT_COORDS(40, 42) 1321 +QUBIT_COORDS(41, 43) 1322 +QUBIT_COORDS(42, 42) 1323 +QUBIT_COORDS(43, 43) 1324 +QUBIT_COORDS(44, 42) 1325 +QUBIT_COORDS(45, 43) 1326 +QUBIT_COORDS(46, 42) 1327 +QUBIT_COORDS(47, 43) 1328 +QUBIT_COORDS(48, 42) 1329 +QUBIT_COORDS(49, 43) 1330 +QUBIT_COORDS(50, 42) 1331 +QUBIT_COORDS(51, 43) 1332 +QUBIT_COORDS(52, 42) 1333 +QUBIT_COORDS(53, 43) 1334 +QUBIT_COORDS(54, 42) 1335 +QUBIT_COORDS(55, 43) 1336 +QUBIT_COORDS(56, 42) 1337 +QUBIT_COORDS(57, 43) 1338 +QUBIT_COORDS(58, 42) 1339 +QUBIT_COORDS(59, 43) 1340 +QUBIT_COORDS(0, 44) 1342 +QUBIT_COORDS(1, 45) 1343 +QUBIT_COORDS(2, 44) 1344 +QUBIT_COORDS(3, 45) 1345 +QUBIT_COORDS(4, 44) 1346 +QUBIT_COORDS(5, 45) 1347 +QUBIT_COORDS(6, 44) 1348 +QUBIT_COORDS(7, 45) 1349 +QUBIT_COORDS(8, 44) 1350 +QUBIT_COORDS(9, 45) 1351 +QUBIT_COORDS(10, 44) 1352 +QUBIT_COORDS(11, 45) 1353 +QUBIT_COORDS(12, 44) 1354 +QUBIT_COORDS(13, 45) 1355 +QUBIT_COORDS(14, 44) 1356 +QUBIT_COORDS(15, 45) 1357 +QUBIT_COORDS(16, 44) 1358 +QUBIT_COORDS(17, 45) 1359 +QUBIT_COORDS(18, 44) 1360 +QUBIT_COORDS(19, 45) 1361 +QUBIT_COORDS(20, 44) 1362 +QUBIT_COORDS(21, 45) 1363 +QUBIT_COORDS(22, 44) 1364 +QUBIT_COORDS(23, 45) 1365 +QUBIT_COORDS(24, 44) 1366 +QUBIT_COORDS(25, 45) 1367 +QUBIT_COORDS(26, 44) 1368 +QUBIT_COORDS(27, 45) 1369 +QUBIT_COORDS(28, 44) 1370 +QUBIT_COORDS(29, 45) 1371 +QUBIT_COORDS(30, 44) 1372 +QUBIT_COORDS(31, 45) 1373 +QUBIT_COORDS(32, 44) 1374 +QUBIT_COORDS(33, 45) 1375 +QUBIT_COORDS(34, 44) 1376 +QUBIT_COORDS(35, 45) 1377 +QUBIT_COORDS(36, 44) 1378 +QUBIT_COORDS(37, 45) 1379 +QUBIT_COORDS(38, 44) 1380 +QUBIT_COORDS(39, 45) 1381 +QUBIT_COORDS(40, 44) 1382 +QUBIT_COORDS(41, 45) 1383 +QUBIT_COORDS(42, 44) 1384 +QUBIT_COORDS(43, 45) 1385 +QUBIT_COORDS(44, 44) 1386 +QUBIT_COORDS(45, 45) 1387 +QUBIT_COORDS(46, 44) 1388 +QUBIT_COORDS(47, 45) 1389 +QUBIT_COORDS(48, 44) 1390 +QUBIT_COORDS(49, 45) 1391 +QUBIT_COORDS(50, 44) 1392 +QUBIT_COORDS(51, 45) 1393 +QUBIT_COORDS(52, 44) 1394 +QUBIT_COORDS(53, 45) 1395 +QUBIT_COORDS(54, 44) 1396 +QUBIT_COORDS(55, 45) 1397 +QUBIT_COORDS(56, 44) 1398 +QUBIT_COORDS(57, 45) 1399 +QUBIT_COORDS(58, 44) 1400 +QUBIT_COORDS(59, 45) 1401 +QUBIT_COORDS(60, 44) 1402 +QUBIT_COORDS(1, 47) 1404 +QUBIT_COORDS(2, 46) 1405 +QUBIT_COORDS(3, 47) 1406 +QUBIT_COORDS(4, 46) 1407 +QUBIT_COORDS(5, 47) 1408 +QUBIT_COORDS(6, 46) 1409 +QUBIT_COORDS(7, 47) 1410 +QUBIT_COORDS(8, 46) 1411 +QUBIT_COORDS(9, 47) 1412 +QUBIT_COORDS(10, 46) 1413 +QUBIT_COORDS(11, 47) 1414 +QUBIT_COORDS(12, 46) 1415 +QUBIT_COORDS(13, 47) 1416 +QUBIT_COORDS(14, 46) 1417 +QUBIT_COORDS(15, 47) 1418 +QUBIT_COORDS(16, 46) 1419 +QUBIT_COORDS(17, 47) 1420 +QUBIT_COORDS(18, 46) 1421 +QUBIT_COORDS(19, 47) 1422 +QUBIT_COORDS(20, 46) 1423 +QUBIT_COORDS(21, 47) 1424 +QUBIT_COORDS(22, 46) 1425 +QUBIT_COORDS(23, 47) 1426 +QUBIT_COORDS(24, 46) 1427 +QUBIT_COORDS(25, 47) 1428 +QUBIT_COORDS(26, 46) 1429 +QUBIT_COORDS(27, 47) 1430 +QUBIT_COORDS(28, 46) 1431 +QUBIT_COORDS(29, 47) 1432 +QUBIT_COORDS(30, 46) 1433 +QUBIT_COORDS(31, 47) 1434 +QUBIT_COORDS(32, 46) 1435 +QUBIT_COORDS(33, 47) 1436 +QUBIT_COORDS(34, 46) 1437 +QUBIT_COORDS(35, 47) 1438 +QUBIT_COORDS(36, 46) 1439 +QUBIT_COORDS(37, 47) 1440 +QUBIT_COORDS(38, 46) 1441 +QUBIT_COORDS(39, 47) 1442 +QUBIT_COORDS(40, 46) 1443 +QUBIT_COORDS(41, 47) 1444 +QUBIT_COORDS(42, 46) 1445 +QUBIT_COORDS(43, 47) 1446 +QUBIT_COORDS(44, 46) 1447 +QUBIT_COORDS(45, 47) 1448 +QUBIT_COORDS(46, 46) 1449 +QUBIT_COORDS(47, 47) 1450 +QUBIT_COORDS(48, 46) 1451 +QUBIT_COORDS(49, 47) 1452 +QUBIT_COORDS(50, 46) 1453 +QUBIT_COORDS(51, 47) 1454 +QUBIT_COORDS(52, 46) 1455 +QUBIT_COORDS(53, 47) 1456 +QUBIT_COORDS(54, 46) 1457 +QUBIT_COORDS(55, 47) 1458 +QUBIT_COORDS(56, 46) 1459 +QUBIT_COORDS(57, 47) 1460 +QUBIT_COORDS(58, 46) 1461 +QUBIT_COORDS(59, 47) 1462 +QUBIT_COORDS(0, 48) 1464 +QUBIT_COORDS(1, 49) 1465 +QUBIT_COORDS(2, 48) 1466 +QUBIT_COORDS(3, 49) 1467 +QUBIT_COORDS(4, 48) 1468 +QUBIT_COORDS(5, 49) 1469 +QUBIT_COORDS(6, 48) 1470 +QUBIT_COORDS(7, 49) 1471 +QUBIT_COORDS(8, 48) 1472 +QUBIT_COORDS(9, 49) 1473 +QUBIT_COORDS(10, 48) 1474 +QUBIT_COORDS(11, 49) 1475 +QUBIT_COORDS(12, 48) 1476 +QUBIT_COORDS(13, 49) 1477 +QUBIT_COORDS(14, 48) 1478 +QUBIT_COORDS(15, 49) 1479 +QUBIT_COORDS(16, 48) 1480 +QUBIT_COORDS(17, 49) 1481 +QUBIT_COORDS(18, 48) 1482 +QUBIT_COORDS(19, 49) 1483 +QUBIT_COORDS(20, 48) 1484 +QUBIT_COORDS(21, 49) 1485 +QUBIT_COORDS(22, 48) 1486 +QUBIT_COORDS(23, 49) 1487 +QUBIT_COORDS(24, 48) 1488 +QUBIT_COORDS(25, 49) 1489 +QUBIT_COORDS(26, 48) 1490 +QUBIT_COORDS(27, 49) 1491 +QUBIT_COORDS(28, 48) 1492 +QUBIT_COORDS(29, 49) 1493 +QUBIT_COORDS(30, 48) 1494 +QUBIT_COORDS(31, 49) 1495 +QUBIT_COORDS(32, 48) 1496 +QUBIT_COORDS(33, 49) 1497 +QUBIT_COORDS(34, 48) 1498 +QUBIT_COORDS(35, 49) 1499 +QUBIT_COORDS(36, 48) 1500 +QUBIT_COORDS(37, 49) 1501 +QUBIT_COORDS(38, 48) 1502 +QUBIT_COORDS(39, 49) 1503 +QUBIT_COORDS(40, 48) 1504 +QUBIT_COORDS(41, 49) 1505 +QUBIT_COORDS(42, 48) 1506 +QUBIT_COORDS(43, 49) 1507 +QUBIT_COORDS(44, 48) 1508 +QUBIT_COORDS(45, 49) 1509 +QUBIT_COORDS(46, 48) 1510 +QUBIT_COORDS(47, 49) 1511 +QUBIT_COORDS(48, 48) 1512 +QUBIT_COORDS(49, 49) 1513 +QUBIT_COORDS(50, 48) 1514 +QUBIT_COORDS(51, 49) 1515 +QUBIT_COORDS(52, 48) 1516 +QUBIT_COORDS(53, 49) 1517 +QUBIT_COORDS(54, 48) 1518 +QUBIT_COORDS(55, 49) 1519 +QUBIT_COORDS(56, 48) 1520 +QUBIT_COORDS(57, 49) 1521 +QUBIT_COORDS(58, 48) 1522 +QUBIT_COORDS(59, 49) 1523 +QUBIT_COORDS(60, 48) 1524 +QUBIT_COORDS(1, 51) 1526 +QUBIT_COORDS(2, 50) 1527 +QUBIT_COORDS(3, 51) 1528 +QUBIT_COORDS(4, 50) 1529 +QUBIT_COORDS(5, 51) 1530 +QUBIT_COORDS(6, 50) 1531 +QUBIT_COORDS(7, 51) 1532 +QUBIT_COORDS(8, 50) 1533 +QUBIT_COORDS(9, 51) 1534 +QUBIT_COORDS(10, 50) 1535 +QUBIT_COORDS(11, 51) 1536 +QUBIT_COORDS(12, 50) 1537 +QUBIT_COORDS(13, 51) 1538 +QUBIT_COORDS(14, 50) 1539 +QUBIT_COORDS(15, 51) 1540 +QUBIT_COORDS(16, 50) 1541 +QUBIT_COORDS(17, 51) 1542 +QUBIT_COORDS(18, 50) 1543 +QUBIT_COORDS(19, 51) 1544 +QUBIT_COORDS(20, 50) 1545 +QUBIT_COORDS(21, 51) 1546 +QUBIT_COORDS(22, 50) 1547 +QUBIT_COORDS(23, 51) 1548 +QUBIT_COORDS(24, 50) 1549 +QUBIT_COORDS(25, 51) 1550 +QUBIT_COORDS(26, 50) 1551 +QUBIT_COORDS(27, 51) 1552 +QUBIT_COORDS(28, 50) 1553 +QUBIT_COORDS(29, 51) 1554 +QUBIT_COORDS(30, 50) 1555 +QUBIT_COORDS(31, 51) 1556 +QUBIT_COORDS(32, 50) 1557 +QUBIT_COORDS(33, 51) 1558 +QUBIT_COORDS(34, 50) 1559 +QUBIT_COORDS(35, 51) 1560 +QUBIT_COORDS(36, 50) 1561 +QUBIT_COORDS(37, 51) 1562 +QUBIT_COORDS(38, 50) 1563 +QUBIT_COORDS(39, 51) 1564 +QUBIT_COORDS(40, 50) 1565 +QUBIT_COORDS(41, 51) 1566 +QUBIT_COORDS(42, 50) 1567 +QUBIT_COORDS(43, 51) 1568 +QUBIT_COORDS(44, 50) 1569 +QUBIT_COORDS(45, 51) 1570 +QUBIT_COORDS(46, 50) 1571 +QUBIT_COORDS(47, 51) 1572 +QUBIT_COORDS(48, 50) 1573 +QUBIT_COORDS(49, 51) 1574 +QUBIT_COORDS(50, 50) 1575 +QUBIT_COORDS(51, 51) 1576 +QUBIT_COORDS(52, 50) 1577 +QUBIT_COORDS(53, 51) 1578 +QUBIT_COORDS(54, 50) 1579 +QUBIT_COORDS(55, 51) 1580 +QUBIT_COORDS(56, 50) 1581 +QUBIT_COORDS(57, 51) 1582 +QUBIT_COORDS(58, 50) 1583 +QUBIT_COORDS(59, 51) 1584 +QUBIT_COORDS(0, 52) 1586 +QUBIT_COORDS(1, 53) 1587 +QUBIT_COORDS(2, 52) 1588 +QUBIT_COORDS(3, 53) 1589 +QUBIT_COORDS(4, 52) 1590 +QUBIT_COORDS(5, 53) 1591 +QUBIT_COORDS(6, 52) 1592 +QUBIT_COORDS(7, 53) 1593 +QUBIT_COORDS(8, 52) 1594 +QUBIT_COORDS(9, 53) 1595 +QUBIT_COORDS(10, 52) 1596 +QUBIT_COORDS(11, 53) 1597 +QUBIT_COORDS(12, 52) 1598 +QUBIT_COORDS(13, 53) 1599 +QUBIT_COORDS(14, 52) 1600 +QUBIT_COORDS(15, 53) 1601 +QUBIT_COORDS(16, 52) 1602 +QUBIT_COORDS(17, 53) 1603 +QUBIT_COORDS(18, 52) 1604 +QUBIT_COORDS(19, 53) 1605 +QUBIT_COORDS(20, 52) 1606 +QUBIT_COORDS(21, 53) 1607 +QUBIT_COORDS(22, 52) 1608 +QUBIT_COORDS(23, 53) 1609 +QUBIT_COORDS(24, 52) 1610 +QUBIT_COORDS(25, 53) 1611 +QUBIT_COORDS(26, 52) 1612 +QUBIT_COORDS(27, 53) 1613 +QUBIT_COORDS(28, 52) 1614 +QUBIT_COORDS(29, 53) 1615 +QUBIT_COORDS(30, 52) 1616 +QUBIT_COORDS(31, 53) 1617 +QUBIT_COORDS(32, 52) 1618 +QUBIT_COORDS(33, 53) 1619 +QUBIT_COORDS(34, 52) 1620 +QUBIT_COORDS(35, 53) 1621 +QUBIT_COORDS(36, 52) 1622 +QUBIT_COORDS(37, 53) 1623 +QUBIT_COORDS(38, 52) 1624 +QUBIT_COORDS(39, 53) 1625 +QUBIT_COORDS(40, 52) 1626 +QUBIT_COORDS(41, 53) 1627 +QUBIT_COORDS(42, 52) 1628 +QUBIT_COORDS(43, 53) 1629 +QUBIT_COORDS(44, 52) 1630 +QUBIT_COORDS(45, 53) 1631 +QUBIT_COORDS(46, 52) 1632 +QUBIT_COORDS(47, 53) 1633 +QUBIT_COORDS(48, 52) 1634 +QUBIT_COORDS(49, 53) 1635 +QUBIT_COORDS(50, 52) 1636 +QUBIT_COORDS(51, 53) 1637 +QUBIT_COORDS(52, 52) 1638 +QUBIT_COORDS(53, 53) 1639 +QUBIT_COORDS(54, 52) 1640 +QUBIT_COORDS(55, 53) 1641 +QUBIT_COORDS(56, 52) 1642 +QUBIT_COORDS(57, 53) 1643 +QUBIT_COORDS(58, 52) 1644 +QUBIT_COORDS(59, 53) 1645 +QUBIT_COORDS(60, 52) 1646 +QUBIT_COORDS(1, 55) 1648 +QUBIT_COORDS(2, 54) 1649 +QUBIT_COORDS(3, 55) 1650 +QUBIT_COORDS(4, 54) 1651 +QUBIT_COORDS(5, 55) 1652 +QUBIT_COORDS(6, 54) 1653 +QUBIT_COORDS(7, 55) 1654 +QUBIT_COORDS(8, 54) 1655 +QUBIT_COORDS(9, 55) 1656 +QUBIT_COORDS(10, 54) 1657 +QUBIT_COORDS(11, 55) 1658 +QUBIT_COORDS(12, 54) 1659 +QUBIT_COORDS(13, 55) 1660 +QUBIT_COORDS(14, 54) 1661 +QUBIT_COORDS(15, 55) 1662 +QUBIT_COORDS(16, 54) 1663 +QUBIT_COORDS(17, 55) 1664 +QUBIT_COORDS(18, 54) 1665 +QUBIT_COORDS(19, 55) 1666 +QUBIT_COORDS(20, 54) 1667 +QUBIT_COORDS(21, 55) 1668 +QUBIT_COORDS(22, 54) 1669 +QUBIT_COORDS(23, 55) 1670 +QUBIT_COORDS(24, 54) 1671 +QUBIT_COORDS(25, 55) 1672 +QUBIT_COORDS(26, 54) 1673 +QUBIT_COORDS(27, 55) 1674 +QUBIT_COORDS(28, 54) 1675 +QUBIT_COORDS(29, 55) 1676 +QUBIT_COORDS(30, 54) 1677 +QUBIT_COORDS(31, 55) 1678 +QUBIT_COORDS(32, 54) 1679 +QUBIT_COORDS(33, 55) 1680 +QUBIT_COORDS(34, 54) 1681 +QUBIT_COORDS(35, 55) 1682 +QUBIT_COORDS(36, 54) 1683 +QUBIT_COORDS(37, 55) 1684 +QUBIT_COORDS(38, 54) 1685 +QUBIT_COORDS(39, 55) 1686 +QUBIT_COORDS(40, 54) 1687 +QUBIT_COORDS(41, 55) 1688 +QUBIT_COORDS(42, 54) 1689 +QUBIT_COORDS(43, 55) 1690 +QUBIT_COORDS(44, 54) 1691 +QUBIT_COORDS(45, 55) 1692 +QUBIT_COORDS(46, 54) 1693 +QUBIT_COORDS(47, 55) 1694 +QUBIT_COORDS(48, 54) 1695 +QUBIT_COORDS(49, 55) 1696 +QUBIT_COORDS(50, 54) 1697 +QUBIT_COORDS(51, 55) 1698 +QUBIT_COORDS(52, 54) 1699 +QUBIT_COORDS(53, 55) 1700 +QUBIT_COORDS(54, 54) 1701 +QUBIT_COORDS(55, 55) 1702 +QUBIT_COORDS(56, 54) 1703 +QUBIT_COORDS(57, 55) 1704 +QUBIT_COORDS(58, 54) 1705 +QUBIT_COORDS(59, 55) 1706 +QUBIT_COORDS(0, 56) 1708 +QUBIT_COORDS(1, 57) 1709 +QUBIT_COORDS(2, 56) 1710 +QUBIT_COORDS(3, 57) 1711 +QUBIT_COORDS(4, 56) 1712 +QUBIT_COORDS(5, 57) 1713 +QUBIT_COORDS(6, 56) 1714 +QUBIT_COORDS(7, 57) 1715 +QUBIT_COORDS(8, 56) 1716 +QUBIT_COORDS(9, 57) 1717 +QUBIT_COORDS(10, 56) 1718 +QUBIT_COORDS(11, 57) 1719 +QUBIT_COORDS(12, 56) 1720 +QUBIT_COORDS(13, 57) 1721 +QUBIT_COORDS(14, 56) 1722 +QUBIT_COORDS(15, 57) 1723 +QUBIT_COORDS(16, 56) 1724 +QUBIT_COORDS(17, 57) 1725 +QUBIT_COORDS(18, 56) 1726 +QUBIT_COORDS(19, 57) 1727 +QUBIT_COORDS(20, 56) 1728 +QUBIT_COORDS(21, 57) 1729 +QUBIT_COORDS(22, 56) 1730 +QUBIT_COORDS(23, 57) 1731 +QUBIT_COORDS(24, 56) 1732 +QUBIT_COORDS(25, 57) 1733 +QUBIT_COORDS(26, 56) 1734 +QUBIT_COORDS(27, 57) 1735 +QUBIT_COORDS(28, 56) 1736 +QUBIT_COORDS(29, 57) 1737 +QUBIT_COORDS(30, 56) 1738 +QUBIT_COORDS(31, 57) 1739 +QUBIT_COORDS(32, 56) 1740 +QUBIT_COORDS(33, 57) 1741 +QUBIT_COORDS(34, 56) 1742 +QUBIT_COORDS(35, 57) 1743 +QUBIT_COORDS(36, 56) 1744 +QUBIT_COORDS(37, 57) 1745 +QUBIT_COORDS(38, 56) 1746 +QUBIT_COORDS(39, 57) 1747 +QUBIT_COORDS(40, 56) 1748 +QUBIT_COORDS(41, 57) 1749 +QUBIT_COORDS(42, 56) 1750 +QUBIT_COORDS(43, 57) 1751 +QUBIT_COORDS(44, 56) 1752 +QUBIT_COORDS(45, 57) 1753 +QUBIT_COORDS(46, 56) 1754 +QUBIT_COORDS(47, 57) 1755 +QUBIT_COORDS(48, 56) 1756 +QUBIT_COORDS(49, 57) 1757 +QUBIT_COORDS(50, 56) 1758 +QUBIT_COORDS(51, 57) 1759 +QUBIT_COORDS(52, 56) 1760 +QUBIT_COORDS(53, 57) 1761 +QUBIT_COORDS(54, 56) 1762 +QUBIT_COORDS(55, 57) 1763 +QUBIT_COORDS(56, 56) 1764 +QUBIT_COORDS(57, 57) 1765 +QUBIT_COORDS(58, 56) 1766 +QUBIT_COORDS(59, 57) 1767 +QUBIT_COORDS(60, 56) 1768 +QUBIT_COORDS(1, 59) 1770 +QUBIT_COORDS(2, 58) 1771 +QUBIT_COORDS(3, 59) 1772 +QUBIT_COORDS(4, 58) 1773 +QUBIT_COORDS(5, 59) 1774 +QUBIT_COORDS(6, 58) 1775 +QUBIT_COORDS(7, 59) 1776 +QUBIT_COORDS(8, 58) 1777 +QUBIT_COORDS(9, 59) 1778 +QUBIT_COORDS(10, 58) 1779 +QUBIT_COORDS(11, 59) 1780 +QUBIT_COORDS(12, 58) 1781 +QUBIT_COORDS(13, 59) 1782 +QUBIT_COORDS(14, 58) 1783 +QUBIT_COORDS(15, 59) 1784 +QUBIT_COORDS(16, 58) 1785 +QUBIT_COORDS(17, 59) 1786 +QUBIT_COORDS(18, 58) 1787 +QUBIT_COORDS(19, 59) 1788 +QUBIT_COORDS(20, 58) 1789 +QUBIT_COORDS(21, 59) 1790 +QUBIT_COORDS(22, 58) 1791 +QUBIT_COORDS(23, 59) 1792 +QUBIT_COORDS(24, 58) 1793 +QUBIT_COORDS(25, 59) 1794 +QUBIT_COORDS(26, 58) 1795 +QUBIT_COORDS(27, 59) 1796 +QUBIT_COORDS(28, 58) 1797 +QUBIT_COORDS(29, 59) 1798 +QUBIT_COORDS(30, 58) 1799 +QUBIT_COORDS(31, 59) 1800 +QUBIT_COORDS(32, 58) 1801 +QUBIT_COORDS(33, 59) 1802 +QUBIT_COORDS(34, 58) 1803 +QUBIT_COORDS(35, 59) 1804 +QUBIT_COORDS(36, 58) 1805 +QUBIT_COORDS(37, 59) 1806 +QUBIT_COORDS(38, 58) 1807 +QUBIT_COORDS(39, 59) 1808 +QUBIT_COORDS(40, 58) 1809 +QUBIT_COORDS(41, 59) 1810 +QUBIT_COORDS(42, 58) 1811 +QUBIT_COORDS(43, 59) 1812 +QUBIT_COORDS(44, 58) 1813 +QUBIT_COORDS(45, 59) 1814 +QUBIT_COORDS(46, 58) 1815 +QUBIT_COORDS(47, 59) 1816 +QUBIT_COORDS(48, 58) 1817 +QUBIT_COORDS(49, 59) 1818 +QUBIT_COORDS(50, 58) 1819 +QUBIT_COORDS(51, 59) 1820 +QUBIT_COORDS(52, 58) 1821 +QUBIT_COORDS(53, 59) 1822 +QUBIT_COORDS(54, 58) 1823 +QUBIT_COORDS(55, 59) 1824 +QUBIT_COORDS(56, 58) 1825 +QUBIT_COORDS(57, 59) 1826 +QUBIT_COORDS(58, 58) 1827 +QUBIT_COORDS(59, 59) 1828 +QUBIT_COORDS(2, 60) 1832 +QUBIT_COORDS(6, 60) 1836 +QUBIT_COORDS(10, 60) 1840 +QUBIT_COORDS(14, 60) 1844 +QUBIT_COORDS(18, 60) 1848 +QUBIT_COORDS(22, 60) 1852 +QUBIT_COORDS(26, 60) 1856 +QUBIT_COORDS(30, 60) 1860 +QUBIT_COORDS(34, 60) 1864 +QUBIT_COORDS(38, 60) 1868 +QUBIT_COORDS(42, 60) 1872 +QUBIT_COORDS(46, 60) 1876 +QUBIT_COORDS(50, 60) 1880 +QUBIT_COORDS(54, 60) 1884 +QUBIT_COORDS(58, 60) 1888 +R 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 +X_ERROR(0.001) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 +R 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +X_ERROR(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +TICK +DEPOLARIZE1(0.001) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 +H 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +DEPOLARIZE1(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +TICK +CX 2 3 124 125 246 247 368 369 490 491 612 613 734 735 856 857 978 979 1100 1101 1222 1223 1344 1345 1466 1467 1588 1589 1710 1711 65 66 187 188 309 310 431 432 553 554 675 676 797 798 919 920 1041 1042 1163 1164 1285 1286 1407 1408 1529 1530 1651 1652 1773 1774 6 7 128 129 250 251 372 373 494 495 616 617 738 739 860 861 982 983 1104 1105 1226 1227 1348 1349 1470 1471 1592 1593 1714 1715 69 70 191 192 313 314 435 436 557 558 679 680 801 802 923 924 1045 1046 1167 1168 1289 1290 1411 1412 1533 1534 1655 1656 1777 1778 10 11 132 133 254 255 376 377 498 499 620 621 742 743 864 865 986 987 1108 1109 1230 1231 1352 1353 1474 1475 1596 1597 1718 1719 73 74 195 196 317 318 439 440 561 562 683 684 805 806 927 928 1049 1050 1171 1172 1293 1294 1415 1416 1537 1538 1659 1660 1781 1782 14 15 136 137 258 259 380 381 502 503 624 625 746 747 868 869 990 991 1112 1113 1234 1235 1356 1357 1478 1479 1600 1601 1722 1723 77 78 199 200 321 322 443 444 565 566 687 688 809 810 931 932 1053 1054 1175 1176 1297 1298 1419 1420 1541 1542 1663 1664 1785 1786 18 19 140 141 262 263 384 385 506 507 628 629 750 751 872 873 994 995 1116 1117 1238 1239 1360 1361 1482 1483 1604 1605 1726 1727 81 82 203 204 325 326 447 448 569 570 691 692 813 814 935 936 1057 1058 1179 1180 1301 1302 1423 1424 1545 1546 1667 1668 1789 1790 22 23 144 145 266 267 388 389 510 511 632 633 754 755 876 877 998 999 1120 1121 1242 1243 1364 1365 1486 1487 1608 1609 1730 1731 85 86 207 208 329 330 451 452 573 574 695 696 817 818 939 940 1061 1062 1183 1184 1305 1306 1427 1428 1549 1550 1671 1672 1793 1794 26 27 148 149 270 271 392 393 514 515 636 637 758 759 880 881 1002 1003 1124 1125 1246 1247 1368 1369 1490 1491 1612 1613 1734 1735 89 90 211 212 333 334 455 456 577 578 699 700 821 822 943 944 1065 1066 1187 1188 1309 1310 1431 1432 1553 1554 1675 1676 1797 1798 30 31 152 153 274 275 396 397 518 519 640 641 762 763 884 885 1006 1007 1128 1129 1250 1251 1372 1373 1494 1495 1616 1617 1738 1739 93 94 215 216 337 338 459 460 581 582 703 704 825 826 947 948 1069 1070 1191 1192 1313 1314 1435 1436 1557 1558 1679 1680 1801 1802 34 35 156 157 278 279 400 401 522 523 644 645 766 767 888 889 1010 1011 1132 1133 1254 1255 1376 1377 1498 1499 1620 1621 1742 1743 97 98 219 220 341 342 463 464 585 586 707 708 829 830 951 952 1073 1074 1195 1196 1317 1318 1439 1440 1561 1562 1683 1684 1805 1806 38 39 160 161 282 283 404 405 526 527 648 649 770 771 892 893 1014 1015 1136 1137 1258 1259 1380 1381 1502 1503 1624 1625 1746 1747 101 102 223 224 345 346 467 468 589 590 711 712 833 834 955 956 1077 1078 1199 1200 1321 1322 1443 1444 1565 1566 1687 1688 1809 1810 42 43 164 165 286 287 408 409 530 531 652 653 774 775 896 897 1018 1019 1140 1141 1262 1263 1384 1385 1506 1507 1628 1629 1750 1751 105 106 227 228 349 350 471 472 593 594 715 716 837 838 959 960 1081 1082 1203 1204 1325 1326 1447 1448 1569 1570 1691 1692 1813 1814 46 47 168 169 290 291 412 413 534 535 656 657 778 779 900 901 1022 1023 1144 1145 1266 1267 1388 1389 1510 1511 1632 1633 1754 1755 109 110 231 232 353 354 475 476 597 598 719 720 841 842 963 964 1085 1086 1207 1208 1329 1330 1451 1452 1573 1574 1695 1696 1817 1818 50 51 172 173 294 295 416 417 538 539 660 661 782 783 904 905 1026 1027 1148 1149 1270 1271 1392 1393 1514 1515 1636 1637 1758 1759 113 114 235 236 357 358 479 480 601 602 723 724 845 846 967 968 1089 1090 1211 1212 1333 1334 1455 1456 1577 1578 1699 1700 1821 1822 54 55 176 177 298 299 420 421 542 543 664 665 786 787 908 909 1030 1031 1152 1153 1274 1275 1396 1397 1518 1519 1640 1641 1762 1763 117 118 239 240 361 362 483 484 605 606 727 728 849 850 971 972 1093 1094 1215 1216 1337 1338 1459 1460 1581 1582 1703 1704 1825 1826 58 59 180 181 302 303 424 425 546 547 668 669 790 791 912 913 1034 1035 1156 1157 1278 1279 1400 1401 1522 1523 1644 1645 1766 1767 123 122 245 244 367 366 489 488 611 610 733 732 855 854 977 976 1099 1098 1221 1220 1343 1342 1465 1464 1587 1586 1709 1708 64 63 186 185 308 307 430 429 552 551 674 673 796 795 918 917 1040 1039 1162 1161 1284 1283 1406 1405 1528 1527 1650 1649 1772 1771 127 126 249 248 371 370 493 492 615 614 737 736 859 858 981 980 1103 1102 1225 1224 1347 1346 1469 1468 1591 1590 1713 1712 68 67 190 189 312 311 434 433 556 555 678 677 800 799 922 921 1044 1043 1166 1165 1288 1287 1410 1409 1532 1531 1654 1653 1776 1775 131 130 253 252 375 374 497 496 619 618 741 740 863 862 985 984 1107 1106 1229 1228 1351 1350 1473 1472 1595 1594 1717 1716 72 71 194 193 316 315 438 437 560 559 682 681 804 803 926 925 1048 1047 1170 1169 1292 1291 1414 1413 1536 1535 1658 1657 1780 1779 135 134 257 256 379 378 501 500 623 622 745 744 867 866 989 988 1111 1110 1233 1232 1355 1354 1477 1476 1599 1598 1721 1720 76 75 198 197 320 319 442 441 564 563 686 685 808 807 930 929 1052 1051 1174 1173 1296 1295 1418 1417 1540 1539 1662 1661 1784 1783 139 138 261 260 383 382 505 504 627 626 749 748 871 870 993 992 1115 1114 1237 1236 1359 1358 1481 1480 1603 1602 1725 1724 80 79 202 201 324 323 446 445 568 567 690 689 812 811 934 933 1056 1055 1178 1177 1300 1299 1422 1421 1544 1543 1666 1665 1788 1787 143 142 265 264 387 386 509 508 631 630 753 752 875 874 997 996 1119 1118 1241 1240 1363 1362 1485 1484 1607 1606 1729 1728 84 83 206 205 328 327 450 449 572 571 694 693 816 815 938 937 1060 1059 1182 1181 1304 1303 1426 1425 1548 1547 1670 1669 1792 1791 147 146 269 268 391 390 513 512 635 634 757 756 879 878 1001 1000 1123 1122 1245 1244 1367 1366 1489 1488 1611 1610 1733 1732 88 87 210 209 332 331 454 453 576 575 698 697 820 819 942 941 1064 1063 1186 1185 1308 1307 1430 1429 1552 1551 1674 1673 1796 1795 151 150 273 272 395 394 517 516 639 638 761 760 883 882 1005 1004 1127 1126 1249 1248 1371 1370 1493 1492 1615 1614 1737 1736 92 91 214 213 336 335 458 457 580 579 702 701 824 823 946 945 1068 1067 1190 1189 1312 1311 1434 1433 1556 1555 1678 1677 1800 1799 155 154 277 276 399 398 521 520 643 642 765 764 887 886 1009 1008 1131 1130 1253 1252 1375 1374 1497 1496 1619 1618 1741 1740 96 95 218 217 340 339 462 461 584 583 706 705 828 827 950 949 1072 1071 1194 1193 1316 1315 1438 1437 1560 1559 1682 1681 1804 1803 159 158 281 280 403 402 525 524 647 646 769 768 891 890 1013 1012 1135 1134 1257 1256 1379 1378 1501 1500 1623 1622 1745 1744 100 99 222 221 344 343 466 465 588 587 710 709 832 831 954 953 1076 1075 1198 1197 1320 1319 1442 1441 1564 1563 1686 1685 1808 1807 163 162 285 284 407 406 529 528 651 650 773 772 895 894 1017 1016 1139 1138 1261 1260 1383 1382 1505 1504 1627 1626 1749 1748 104 103 226 225 348 347 470 469 592 591 714 713 836 835 958 957 1080 1079 1202 1201 1324 1323 1446 1445 1568 1567 1690 1689 1812 1811 167 166 289 288 411 410 533 532 655 654 777 776 899 898 1021 1020 1143 1142 1265 1264 1387 1386 1509 1508 1631 1630 1753 1752 108 107 230 229 352 351 474 473 596 595 718 717 840 839 962 961 1084 1083 1206 1205 1328 1327 1450 1449 1572 1571 1694 1693 1816 1815 171 170 293 292 415 414 537 536 659 658 781 780 903 902 1025 1024 1147 1146 1269 1268 1391 1390 1513 1512 1635 1634 1757 1756 112 111 234 233 356 355 478 477 600 599 722 721 844 843 966 965 1088 1087 1210 1209 1332 1331 1454 1453 1576 1575 1698 1697 1820 1819 175 174 297 296 419 418 541 540 663 662 785 784 907 906 1029 1028 1151 1150 1273 1272 1395 1394 1517 1516 1639 1638 1761 1760 116 115 238 237 360 359 482 481 604 603 726 725 848 847 970 969 1092 1091 1214 1213 1336 1335 1458 1457 1580 1579 1702 1701 1824 1823 179 178 301 300 423 422 545 544 667 666 789 788 911 910 1033 1032 1155 1154 1277 1276 1399 1398 1521 1520 1643 1642 1765 1764 120 119 242 241 364 363 486 485 608 607 730 729 852 851 974 973 1096 1095 1218 1217 1340 1339 1462 1461 1584 1583 1706 1705 1828 1827 +DEPOLARIZE2(0.001) 2 3 124 125 246 247 368 369 490 491 612 613 734 735 856 857 978 979 1100 1101 1222 1223 1344 1345 1466 1467 1588 1589 1710 1711 65 66 187 188 309 310 431 432 553 554 675 676 797 798 919 920 1041 1042 1163 1164 1285 1286 1407 1408 1529 1530 1651 1652 1773 1774 6 7 128 129 250 251 372 373 494 495 616 617 738 739 860 861 982 983 1104 1105 1226 1227 1348 1349 1470 1471 1592 1593 1714 1715 69 70 191 192 313 314 435 436 557 558 679 680 801 802 923 924 1045 1046 1167 1168 1289 1290 1411 1412 1533 1534 1655 1656 1777 1778 10 11 132 133 254 255 376 377 498 499 620 621 742 743 864 865 986 987 1108 1109 1230 1231 1352 1353 1474 1475 1596 1597 1718 1719 73 74 195 196 317 318 439 440 561 562 683 684 805 806 927 928 1049 1050 1171 1172 1293 1294 1415 1416 1537 1538 1659 1660 1781 1782 14 15 136 137 258 259 380 381 502 503 624 625 746 747 868 869 990 991 1112 1113 1234 1235 1356 1357 1478 1479 1600 1601 1722 1723 77 78 199 200 321 322 443 444 565 566 687 688 809 810 931 932 1053 1054 1175 1176 1297 1298 1419 1420 1541 1542 1663 1664 1785 1786 18 19 140 141 262 263 384 385 506 507 628 629 750 751 872 873 994 995 1116 1117 1238 1239 1360 1361 1482 1483 1604 1605 1726 1727 81 82 203 204 325 326 447 448 569 570 691 692 813 814 935 936 1057 1058 1179 1180 1301 1302 1423 1424 1545 1546 1667 1668 1789 1790 22 23 144 145 266 267 388 389 510 511 632 633 754 755 876 877 998 999 1120 1121 1242 1243 1364 1365 1486 1487 1608 1609 1730 1731 85 86 207 208 329 330 451 452 573 574 695 696 817 818 939 940 1061 1062 1183 1184 1305 1306 1427 1428 1549 1550 1671 1672 1793 1794 26 27 148 149 270 271 392 393 514 515 636 637 758 759 880 881 1002 1003 1124 1125 1246 1247 1368 1369 1490 1491 1612 1613 1734 1735 89 90 211 212 333 334 455 456 577 578 699 700 821 822 943 944 1065 1066 1187 1188 1309 1310 1431 1432 1553 1554 1675 1676 1797 1798 30 31 152 153 274 275 396 397 518 519 640 641 762 763 884 885 1006 1007 1128 1129 1250 1251 1372 1373 1494 1495 1616 1617 1738 1739 93 94 215 216 337 338 459 460 581 582 703 704 825 826 947 948 1069 1070 1191 1192 1313 1314 1435 1436 1557 1558 1679 1680 1801 1802 34 35 156 157 278 279 400 401 522 523 644 645 766 767 888 889 1010 1011 1132 1133 1254 1255 1376 1377 1498 1499 1620 1621 1742 1743 97 98 219 220 341 342 463 464 585 586 707 708 829 830 951 952 1073 1074 1195 1196 1317 1318 1439 1440 1561 1562 1683 1684 1805 1806 38 39 160 161 282 283 404 405 526 527 648 649 770 771 892 893 1014 1015 1136 1137 1258 1259 1380 1381 1502 1503 1624 1625 1746 1747 101 102 223 224 345 346 467 468 589 590 711 712 833 834 955 956 1077 1078 1199 1200 1321 1322 1443 1444 1565 1566 1687 1688 1809 1810 42 43 164 165 286 287 408 409 530 531 652 653 774 775 896 897 1018 1019 1140 1141 1262 1263 1384 1385 1506 1507 1628 1629 1750 1751 105 106 227 228 349 350 471 472 593 594 715 716 837 838 959 960 1081 1082 1203 1204 1325 1326 1447 1448 1569 1570 1691 1692 1813 1814 46 47 168 169 290 291 412 413 534 535 656 657 778 779 900 901 1022 1023 1144 1145 1266 1267 1388 1389 1510 1511 1632 1633 1754 1755 109 110 231 232 353 354 475 476 597 598 719 720 841 842 963 964 1085 1086 1207 1208 1329 1330 1451 1452 1573 1574 1695 1696 1817 1818 50 51 172 173 294 295 416 417 538 539 660 661 782 783 904 905 1026 1027 1148 1149 1270 1271 1392 1393 1514 1515 1636 1637 1758 1759 113 114 235 236 357 358 479 480 601 602 723 724 845 846 967 968 1089 1090 1211 1212 1333 1334 1455 1456 1577 1578 1699 1700 1821 1822 54 55 176 177 298 299 420 421 542 543 664 665 786 787 908 909 1030 1031 1152 1153 1274 1275 1396 1397 1518 1519 1640 1641 1762 1763 117 118 239 240 361 362 483 484 605 606 727 728 849 850 971 972 1093 1094 1215 1216 1337 1338 1459 1460 1581 1582 1703 1704 1825 1826 58 59 180 181 302 303 424 425 546 547 668 669 790 791 912 913 1034 1035 1156 1157 1278 1279 1400 1401 1522 1523 1644 1645 1766 1767 123 122 245 244 367 366 489 488 611 610 733 732 855 854 977 976 1099 1098 1221 1220 1343 1342 1465 1464 1587 1586 1709 1708 64 63 186 185 308 307 430 429 552 551 674 673 796 795 918 917 1040 1039 1162 1161 1284 1283 1406 1405 1528 1527 1650 1649 1772 1771 127 126 249 248 371 370 493 492 615 614 737 736 859 858 981 980 1103 1102 1225 1224 1347 1346 1469 1468 1591 1590 1713 1712 68 67 190 189 312 311 434 433 556 555 678 677 800 799 922 921 1044 1043 1166 1165 1288 1287 1410 1409 1532 1531 1654 1653 1776 1775 131 130 253 252 375 374 497 496 619 618 741 740 863 862 985 984 1107 1106 1229 1228 1351 1350 1473 1472 1595 1594 1717 1716 72 71 194 193 316 315 438 437 560 559 682 681 804 803 926 925 1048 1047 1170 1169 1292 1291 1414 1413 1536 1535 1658 1657 1780 1779 135 134 257 256 379 378 501 500 623 622 745 744 867 866 989 988 1111 1110 1233 1232 1355 1354 1477 1476 1599 1598 1721 1720 76 75 198 197 320 319 442 441 564 563 686 685 808 807 930 929 1052 1051 1174 1173 1296 1295 1418 1417 1540 1539 1662 1661 1784 1783 139 138 261 260 383 382 505 504 627 626 749 748 871 870 993 992 1115 1114 1237 1236 1359 1358 1481 1480 1603 1602 1725 1724 80 79 202 201 324 323 446 445 568 567 690 689 812 811 934 933 1056 1055 1178 1177 1300 1299 1422 1421 1544 1543 1666 1665 1788 1787 143 142 265 264 387 386 509 508 631 630 753 752 875 874 997 996 1119 1118 1241 1240 1363 1362 1485 1484 1607 1606 1729 1728 84 83 206 205 328 327 450 449 572 571 694 693 816 815 938 937 1060 1059 1182 1181 1304 1303 1426 1425 1548 1547 1670 1669 1792 1791 147 146 269 268 391 390 513 512 635 634 757 756 879 878 1001 1000 1123 1122 1245 1244 1367 1366 1489 1488 1611 1610 1733 1732 88 87 210 209 332 331 454 453 576 575 698 697 820 819 942 941 1064 1063 1186 1185 1308 1307 1430 1429 1552 1551 1674 1673 1796 1795 151 150 273 272 395 394 517 516 639 638 761 760 883 882 1005 1004 1127 1126 1249 1248 1371 1370 1493 1492 1615 1614 1737 1736 92 91 214 213 336 335 458 457 580 579 702 701 824 823 946 945 1068 1067 1190 1189 1312 1311 1434 1433 1556 1555 1678 1677 1800 1799 155 154 277 276 399 398 521 520 643 642 765 764 887 886 1009 1008 1131 1130 1253 1252 1375 1374 1497 1496 1619 1618 1741 1740 96 95 218 217 340 339 462 461 584 583 706 705 828 827 950 949 1072 1071 1194 1193 1316 1315 1438 1437 1560 1559 1682 1681 1804 1803 159 158 281 280 403 402 525 524 647 646 769 768 891 890 1013 1012 1135 1134 1257 1256 1379 1378 1501 1500 1623 1622 1745 1744 100 99 222 221 344 343 466 465 588 587 710 709 832 831 954 953 1076 1075 1198 1197 1320 1319 1442 1441 1564 1563 1686 1685 1808 1807 163 162 285 284 407 406 529 528 651 650 773 772 895 894 1017 1016 1139 1138 1261 1260 1383 1382 1505 1504 1627 1626 1749 1748 104 103 226 225 348 347 470 469 592 591 714 713 836 835 958 957 1080 1079 1202 1201 1324 1323 1446 1445 1568 1567 1690 1689 1812 1811 167 166 289 288 411 410 533 532 655 654 777 776 899 898 1021 1020 1143 1142 1265 1264 1387 1386 1509 1508 1631 1630 1753 1752 108 107 230 229 352 351 474 473 596 595 718 717 840 839 962 961 1084 1083 1206 1205 1328 1327 1450 1449 1572 1571 1694 1693 1816 1815 171 170 293 292 415 414 537 536 659 658 781 780 903 902 1025 1024 1147 1146 1269 1268 1391 1390 1513 1512 1635 1634 1757 1756 112 111 234 233 356 355 478 477 600 599 722 721 844 843 966 965 1088 1087 1210 1209 1332 1331 1454 1453 1576 1575 1698 1697 1820 1819 175 174 297 296 419 418 541 540 663 662 785 784 907 906 1029 1028 1151 1150 1273 1272 1395 1394 1517 1516 1639 1638 1761 1760 116 115 238 237 360 359 482 481 604 603 726 725 848 847 970 969 1092 1091 1214 1213 1336 1335 1458 1457 1580 1579 1702 1701 1824 1823 179 178 301 300 423 422 545 544 667 666 789 788 911 910 1033 1032 1155 1154 1277 1276 1399 1398 1521 1520 1643 1642 1765 1764 120 119 242 241 364 363 486 485 608 607 730 729 852 851 974 973 1096 1095 1218 1217 1340 1339 1462 1461 1584 1583 1706 1705 1828 1827 +TICK +CX 2 1 124 123 246 245 368 367 490 489 612 611 734 733 856 855 978 977 1100 1099 1222 1221 1344 1343 1466 1465 1588 1587 1710 1709 65 64 187 186 309 308 431 430 553 552 675 674 797 796 919 918 1041 1040 1163 1162 1285 1284 1407 1406 1529 1528 1651 1650 1773 1772 6 5 128 127 250 249 372 371 494 493 616 615 738 737 860 859 982 981 1104 1103 1226 1225 1348 1347 1470 1469 1592 1591 1714 1713 69 68 191 190 313 312 435 434 557 556 679 678 801 800 923 922 1045 1044 1167 1166 1289 1288 1411 1410 1533 1532 1655 1654 1777 1776 10 9 132 131 254 253 376 375 498 497 620 619 742 741 864 863 986 985 1108 1107 1230 1229 1352 1351 1474 1473 1596 1595 1718 1717 73 72 195 194 317 316 439 438 561 560 683 682 805 804 927 926 1049 1048 1171 1170 1293 1292 1415 1414 1537 1536 1659 1658 1781 1780 14 13 136 135 258 257 380 379 502 501 624 623 746 745 868 867 990 989 1112 1111 1234 1233 1356 1355 1478 1477 1600 1599 1722 1721 77 76 199 198 321 320 443 442 565 564 687 686 809 808 931 930 1053 1052 1175 1174 1297 1296 1419 1418 1541 1540 1663 1662 1785 1784 18 17 140 139 262 261 384 383 506 505 628 627 750 749 872 871 994 993 1116 1115 1238 1237 1360 1359 1482 1481 1604 1603 1726 1725 81 80 203 202 325 324 447 446 569 568 691 690 813 812 935 934 1057 1056 1179 1178 1301 1300 1423 1422 1545 1544 1667 1666 1789 1788 22 21 144 143 266 265 388 387 510 509 632 631 754 753 876 875 998 997 1120 1119 1242 1241 1364 1363 1486 1485 1608 1607 1730 1729 85 84 207 206 329 328 451 450 573 572 695 694 817 816 939 938 1061 1060 1183 1182 1305 1304 1427 1426 1549 1548 1671 1670 1793 1792 26 25 148 147 270 269 392 391 514 513 636 635 758 757 880 879 1002 1001 1124 1123 1246 1245 1368 1367 1490 1489 1612 1611 1734 1733 89 88 211 210 333 332 455 454 577 576 699 698 821 820 943 942 1065 1064 1187 1186 1309 1308 1431 1430 1553 1552 1675 1674 1797 1796 30 29 152 151 274 273 396 395 518 517 640 639 762 761 884 883 1006 1005 1128 1127 1250 1249 1372 1371 1494 1493 1616 1615 1738 1737 93 92 215 214 337 336 459 458 581 580 703 702 825 824 947 946 1069 1068 1191 1190 1313 1312 1435 1434 1557 1556 1679 1678 1801 1800 34 33 156 155 278 277 400 399 522 521 644 643 766 765 888 887 1010 1009 1132 1131 1254 1253 1376 1375 1498 1497 1620 1619 1742 1741 97 96 219 218 341 340 463 462 585 584 707 706 829 828 951 950 1073 1072 1195 1194 1317 1316 1439 1438 1561 1560 1683 1682 1805 1804 38 37 160 159 282 281 404 403 526 525 648 647 770 769 892 891 1014 1013 1136 1135 1258 1257 1380 1379 1502 1501 1624 1623 1746 1745 101 100 223 222 345 344 467 466 589 588 711 710 833 832 955 954 1077 1076 1199 1198 1321 1320 1443 1442 1565 1564 1687 1686 1809 1808 42 41 164 163 286 285 408 407 530 529 652 651 774 773 896 895 1018 1017 1140 1139 1262 1261 1384 1383 1506 1505 1628 1627 1750 1749 105 104 227 226 349 348 471 470 593 592 715 714 837 836 959 958 1081 1080 1203 1202 1325 1324 1447 1446 1569 1568 1691 1690 1813 1812 46 45 168 167 290 289 412 411 534 533 656 655 778 777 900 899 1022 1021 1144 1143 1266 1265 1388 1387 1510 1509 1632 1631 1754 1753 109 108 231 230 353 352 475 474 597 596 719 718 841 840 963 962 1085 1084 1207 1206 1329 1328 1451 1450 1573 1572 1695 1694 1817 1816 50 49 172 171 294 293 416 415 538 537 660 659 782 781 904 903 1026 1025 1148 1147 1270 1269 1392 1391 1514 1513 1636 1635 1758 1757 113 112 235 234 357 356 479 478 601 600 723 722 845 844 967 966 1089 1088 1211 1210 1333 1332 1455 1454 1577 1576 1699 1698 1821 1820 54 53 176 175 298 297 420 419 542 541 664 663 786 785 908 907 1030 1029 1152 1151 1274 1273 1396 1395 1518 1517 1640 1639 1762 1761 117 116 239 238 361 360 483 482 605 604 727 726 849 848 971 970 1093 1092 1215 1214 1337 1336 1459 1458 1581 1580 1703 1702 1825 1824 58 57 180 179 302 301 424 423 546 545 668 667 790 789 912 911 1034 1033 1156 1155 1278 1277 1400 1399 1522 1521 1644 1643 1766 1765 62 122 184 244 306 366 428 488 550 610 672 732 794 854 916 976 1038 1098 1160 1220 1282 1342 1404 1464 1526 1586 1648 1708 3 63 125 185 247 307 369 429 491 551 613 673 735 795 857 917 979 1039 1101 1161 1223 1283 1345 1405 1467 1527 1589 1649 1711 1771 66 126 188 248 310 370 432 492 554 614 676 736 798 858 920 980 1042 1102 1164 1224 1286 1346 1408 1468 1530 1590 1652 1712 7 67 129 189 251 311 373 433 495 555 617 677 739 799 861 921 983 1043 1105 1165 1227 1287 1349 1409 1471 1531 1593 1653 1715 1775 70 130 192 252 314 374 436 496 558 618 680 740 802 862 924 984 1046 1106 1168 1228 1290 1350 1412 1472 1534 1594 1656 1716 11 71 133 193 255 315 377 437 499 559 621 681 743 803 865 925 987 1047 1109 1169 1231 1291 1353 1413 1475 1535 1597 1657 1719 1779 74 134 196 256 318 378 440 500 562 622 684 744 806 866 928 988 1050 1110 1172 1232 1294 1354 1416 1476 1538 1598 1660 1720 15 75 137 197 259 319 381 441 503 563 625 685 747 807 869 929 991 1051 1113 1173 1235 1295 1357 1417 1479 1539 1601 1661 1723 1783 78 138 200 260 322 382 444 504 566 626 688 748 810 870 932 992 1054 1114 1176 1236 1298 1358 1420 1480 1542 1602 1664 1724 19 79 141 201 263 323 385 445 507 567 629 689 751 811 873 933 995 1055 1117 1177 1239 1299 1361 1421 1483 1543 1605 1665 1727 1787 82 142 204 264 326 386 448 508 570 630 692 752 814 874 936 996 1058 1118 1180 1240 1302 1362 1424 1484 1546 1606 1668 1728 23 83 145 205 267 327 389 449 511 571 633 693 755 815 877 937 999 1059 1121 1181 1243 1303 1365 1425 1487 1547 1609 1669 1731 1791 86 146 208 268 330 390 452 512 574 634 696 756 818 878 940 1000 1062 1122 1184 1244 1306 1366 1428 1488 1550 1610 1672 1732 27 87 149 209 271 331 393 453 515 575 637 697 759 819 881 941 1003 1063 1125 1185 1247 1307 1369 1429 1491 1551 1613 1673 1735 1795 90 150 212 272 334 394 456 516 578 638 700 760 822 882 944 1004 1066 1126 1188 1248 1310 1370 1432 1492 1554 1614 1676 1736 31 91 153 213 275 335 397 457 519 579 641 701 763 823 885 945 1007 1067 1129 1189 1251 1311 1373 1433 1495 1555 1617 1677 1739 1799 94 154 216 276 338 398 460 520 582 642 704 764 826 886 948 1008 1070 1130 1192 1252 1314 1374 1436 1496 1558 1618 1680 1740 35 95 157 217 279 339 401 461 523 583 645 705 767 827 889 949 1011 1071 1133 1193 1255 1315 1377 1437 1499 1559 1621 1681 1743 1803 98 158 220 280 342 402 464 524 586 646 708 768 830 890 952 1012 1074 1134 1196 1256 1318 1378 1440 1500 1562 1622 1684 1744 39 99 161 221 283 343 405 465 527 587 649 709 771 831 893 953 1015 1075 1137 1197 1259 1319 1381 1441 1503 1563 1625 1685 1747 1807 102 162 224 284 346 406 468 528 590 650 712 772 834 894 956 1016 1078 1138 1200 1260 1322 1382 1444 1504 1566 1626 1688 1748 43 103 165 225 287 347 409 469 531 591 653 713 775 835 897 957 1019 1079 1141 1201 1263 1323 1385 1445 1507 1567 1629 1689 1751 1811 106 166 228 288 350 410 472 532 594 654 716 776 838 898 960 1020 1082 1142 1204 1264 1326 1386 1448 1508 1570 1630 1692 1752 47 107 169 229 291 351 413 473 535 595 657 717 779 839 901 961 1023 1083 1145 1205 1267 1327 1389 1449 1511 1571 1633 1693 1755 1815 110 170 232 292 354 414 476 536 598 658 720 780 842 902 964 1024 1086 1146 1208 1268 1330 1390 1452 1512 1574 1634 1696 1756 51 111 173 233 295 355 417 477 539 599 661 721 783 843 905 965 1027 1087 1149 1209 1271 1331 1393 1453 1515 1575 1637 1697 1759 1819 114 174 236 296 358 418 480 540 602 662 724 784 846 906 968 1028 1090 1150 1212 1272 1334 1394 1456 1516 1578 1638 1700 1760 55 115 177 237 299 359 421 481 543 603 665 725 787 847 909 969 1031 1091 1153 1213 1275 1335 1397 1457 1519 1579 1641 1701 1763 1823 118 178 240 300 362 422 484 544 606 666 728 788 850 910 972 1032 1094 1154 1216 1276 1338 1398 1460 1520 1582 1642 1704 1764 59 119 181 241 303 363 425 485 547 607 669 729 791 851 913 973 1035 1095 1157 1217 1279 1339 1401 1461 1523 1583 1645 1705 1767 1827 +DEPOLARIZE2(0.001) 2 1 124 123 246 245 368 367 490 489 612 611 734 733 856 855 978 977 1100 1099 1222 1221 1344 1343 1466 1465 1588 1587 1710 1709 65 64 187 186 309 308 431 430 553 552 675 674 797 796 919 918 1041 1040 1163 1162 1285 1284 1407 1406 1529 1528 1651 1650 1773 1772 6 5 128 127 250 249 372 371 494 493 616 615 738 737 860 859 982 981 1104 1103 1226 1225 1348 1347 1470 1469 1592 1591 1714 1713 69 68 191 190 313 312 435 434 557 556 679 678 801 800 923 922 1045 1044 1167 1166 1289 1288 1411 1410 1533 1532 1655 1654 1777 1776 10 9 132 131 254 253 376 375 498 497 620 619 742 741 864 863 986 985 1108 1107 1230 1229 1352 1351 1474 1473 1596 1595 1718 1717 73 72 195 194 317 316 439 438 561 560 683 682 805 804 927 926 1049 1048 1171 1170 1293 1292 1415 1414 1537 1536 1659 1658 1781 1780 14 13 136 135 258 257 380 379 502 501 624 623 746 745 868 867 990 989 1112 1111 1234 1233 1356 1355 1478 1477 1600 1599 1722 1721 77 76 199 198 321 320 443 442 565 564 687 686 809 808 931 930 1053 1052 1175 1174 1297 1296 1419 1418 1541 1540 1663 1662 1785 1784 18 17 140 139 262 261 384 383 506 505 628 627 750 749 872 871 994 993 1116 1115 1238 1237 1360 1359 1482 1481 1604 1603 1726 1725 81 80 203 202 325 324 447 446 569 568 691 690 813 812 935 934 1057 1056 1179 1178 1301 1300 1423 1422 1545 1544 1667 1666 1789 1788 22 21 144 143 266 265 388 387 510 509 632 631 754 753 876 875 998 997 1120 1119 1242 1241 1364 1363 1486 1485 1608 1607 1730 1729 85 84 207 206 329 328 451 450 573 572 695 694 817 816 939 938 1061 1060 1183 1182 1305 1304 1427 1426 1549 1548 1671 1670 1793 1792 26 25 148 147 270 269 392 391 514 513 636 635 758 757 880 879 1002 1001 1124 1123 1246 1245 1368 1367 1490 1489 1612 1611 1734 1733 89 88 211 210 333 332 455 454 577 576 699 698 821 820 943 942 1065 1064 1187 1186 1309 1308 1431 1430 1553 1552 1675 1674 1797 1796 30 29 152 151 274 273 396 395 518 517 640 639 762 761 884 883 1006 1005 1128 1127 1250 1249 1372 1371 1494 1493 1616 1615 1738 1737 93 92 215 214 337 336 459 458 581 580 703 702 825 824 947 946 1069 1068 1191 1190 1313 1312 1435 1434 1557 1556 1679 1678 1801 1800 34 33 156 155 278 277 400 399 522 521 644 643 766 765 888 887 1010 1009 1132 1131 1254 1253 1376 1375 1498 1497 1620 1619 1742 1741 97 96 219 218 341 340 463 462 585 584 707 706 829 828 951 950 1073 1072 1195 1194 1317 1316 1439 1438 1561 1560 1683 1682 1805 1804 38 37 160 159 282 281 404 403 526 525 648 647 770 769 892 891 1014 1013 1136 1135 1258 1257 1380 1379 1502 1501 1624 1623 1746 1745 101 100 223 222 345 344 467 466 589 588 711 710 833 832 955 954 1077 1076 1199 1198 1321 1320 1443 1442 1565 1564 1687 1686 1809 1808 42 41 164 163 286 285 408 407 530 529 652 651 774 773 896 895 1018 1017 1140 1139 1262 1261 1384 1383 1506 1505 1628 1627 1750 1749 105 104 227 226 349 348 471 470 593 592 715 714 837 836 959 958 1081 1080 1203 1202 1325 1324 1447 1446 1569 1568 1691 1690 1813 1812 46 45 168 167 290 289 412 411 534 533 656 655 778 777 900 899 1022 1021 1144 1143 1266 1265 1388 1387 1510 1509 1632 1631 1754 1753 109 108 231 230 353 352 475 474 597 596 719 718 841 840 963 962 1085 1084 1207 1206 1329 1328 1451 1450 1573 1572 1695 1694 1817 1816 50 49 172 171 294 293 416 415 538 537 660 659 782 781 904 903 1026 1025 1148 1147 1270 1269 1392 1391 1514 1513 1636 1635 1758 1757 113 112 235 234 357 356 479 478 601 600 723 722 845 844 967 966 1089 1088 1211 1210 1333 1332 1455 1454 1577 1576 1699 1698 1821 1820 54 53 176 175 298 297 420 419 542 541 664 663 786 785 908 907 1030 1029 1152 1151 1274 1273 1396 1395 1518 1517 1640 1639 1762 1761 117 116 239 238 361 360 483 482 605 604 727 726 849 848 971 970 1093 1092 1215 1214 1337 1336 1459 1458 1581 1580 1703 1702 1825 1824 58 57 180 179 302 301 424 423 546 545 668 667 790 789 912 911 1034 1033 1156 1155 1278 1277 1400 1399 1522 1521 1644 1643 1766 1765 62 122 184 244 306 366 428 488 550 610 672 732 794 854 916 976 1038 1098 1160 1220 1282 1342 1404 1464 1526 1586 1648 1708 3 63 125 185 247 307 369 429 491 551 613 673 735 795 857 917 979 1039 1101 1161 1223 1283 1345 1405 1467 1527 1589 1649 1711 1771 66 126 188 248 310 370 432 492 554 614 676 736 798 858 920 980 1042 1102 1164 1224 1286 1346 1408 1468 1530 1590 1652 1712 7 67 129 189 251 311 373 433 495 555 617 677 739 799 861 921 983 1043 1105 1165 1227 1287 1349 1409 1471 1531 1593 1653 1715 1775 70 130 192 252 314 374 436 496 558 618 680 740 802 862 924 984 1046 1106 1168 1228 1290 1350 1412 1472 1534 1594 1656 1716 11 71 133 193 255 315 377 437 499 559 621 681 743 803 865 925 987 1047 1109 1169 1231 1291 1353 1413 1475 1535 1597 1657 1719 1779 74 134 196 256 318 378 440 500 562 622 684 744 806 866 928 988 1050 1110 1172 1232 1294 1354 1416 1476 1538 1598 1660 1720 15 75 137 197 259 319 381 441 503 563 625 685 747 807 869 929 991 1051 1113 1173 1235 1295 1357 1417 1479 1539 1601 1661 1723 1783 78 138 200 260 322 382 444 504 566 626 688 748 810 870 932 992 1054 1114 1176 1236 1298 1358 1420 1480 1542 1602 1664 1724 19 79 141 201 263 323 385 445 507 567 629 689 751 811 873 933 995 1055 1117 1177 1239 1299 1361 1421 1483 1543 1605 1665 1727 1787 82 142 204 264 326 386 448 508 570 630 692 752 814 874 936 996 1058 1118 1180 1240 1302 1362 1424 1484 1546 1606 1668 1728 23 83 145 205 267 327 389 449 511 571 633 693 755 815 877 937 999 1059 1121 1181 1243 1303 1365 1425 1487 1547 1609 1669 1731 1791 86 146 208 268 330 390 452 512 574 634 696 756 818 878 940 1000 1062 1122 1184 1244 1306 1366 1428 1488 1550 1610 1672 1732 27 87 149 209 271 331 393 453 515 575 637 697 759 819 881 941 1003 1063 1125 1185 1247 1307 1369 1429 1491 1551 1613 1673 1735 1795 90 150 212 272 334 394 456 516 578 638 700 760 822 882 944 1004 1066 1126 1188 1248 1310 1370 1432 1492 1554 1614 1676 1736 31 91 153 213 275 335 397 457 519 579 641 701 763 823 885 945 1007 1067 1129 1189 1251 1311 1373 1433 1495 1555 1617 1677 1739 1799 94 154 216 276 338 398 460 520 582 642 704 764 826 886 948 1008 1070 1130 1192 1252 1314 1374 1436 1496 1558 1618 1680 1740 35 95 157 217 279 339 401 461 523 583 645 705 767 827 889 949 1011 1071 1133 1193 1255 1315 1377 1437 1499 1559 1621 1681 1743 1803 98 158 220 280 342 402 464 524 586 646 708 768 830 890 952 1012 1074 1134 1196 1256 1318 1378 1440 1500 1562 1622 1684 1744 39 99 161 221 283 343 405 465 527 587 649 709 771 831 893 953 1015 1075 1137 1197 1259 1319 1381 1441 1503 1563 1625 1685 1747 1807 102 162 224 284 346 406 468 528 590 650 712 772 834 894 956 1016 1078 1138 1200 1260 1322 1382 1444 1504 1566 1626 1688 1748 43 103 165 225 287 347 409 469 531 591 653 713 775 835 897 957 1019 1079 1141 1201 1263 1323 1385 1445 1507 1567 1629 1689 1751 1811 106 166 228 288 350 410 472 532 594 654 716 776 838 898 960 1020 1082 1142 1204 1264 1326 1386 1448 1508 1570 1630 1692 1752 47 107 169 229 291 351 413 473 535 595 657 717 779 839 901 961 1023 1083 1145 1205 1267 1327 1389 1449 1511 1571 1633 1693 1755 1815 110 170 232 292 354 414 476 536 598 658 720 780 842 902 964 1024 1086 1146 1208 1268 1330 1390 1452 1512 1574 1634 1696 1756 51 111 173 233 295 355 417 477 539 599 661 721 783 843 905 965 1027 1087 1149 1209 1271 1331 1393 1453 1515 1575 1637 1697 1759 1819 114 174 236 296 358 418 480 540 602 662 724 784 846 906 968 1028 1090 1150 1212 1272 1334 1394 1456 1516 1578 1638 1700 1760 55 115 177 237 299 359 421 481 543 603 665 725 787 847 909 969 1031 1091 1153 1213 1275 1335 1397 1457 1519 1579 1641 1701 1763 1823 118 178 240 300 362 422 484 544 606 666 728 788 850 910 972 1032 1094 1154 1216 1276 1338 1398 1460 1520 1582 1642 1704 1764 59 119 181 241 303 363 425 485 547 607 669 729 791 851 913 973 1035 1095 1157 1217 1279 1339 1401 1461 1523 1583 1645 1705 1767 1827 +TICK +CX 124 64 246 186 368 308 490 430 612 552 734 674 856 796 978 918 1100 1040 1222 1162 1344 1284 1466 1406 1588 1528 1710 1650 1832 1772 65 5 187 127 309 249 431 371 553 493 675 615 797 737 919 859 1041 981 1163 1103 1285 1225 1407 1347 1529 1469 1651 1591 1773 1713 128 68 250 190 372 312 494 434 616 556 738 678 860 800 982 922 1104 1044 1226 1166 1348 1288 1470 1410 1592 1532 1714 1654 1836 1776 69 9 191 131 313 253 435 375 557 497 679 619 801 741 923 863 1045 985 1167 1107 1289 1229 1411 1351 1533 1473 1655 1595 1777 1717 132 72 254 194 376 316 498 438 620 560 742 682 864 804 986 926 1108 1048 1230 1170 1352 1292 1474 1414 1596 1536 1718 1658 1840 1780 73 13 195 135 317 257 439 379 561 501 683 623 805 745 927 867 1049 989 1171 1111 1293 1233 1415 1355 1537 1477 1659 1599 1781 1721 136 76 258 198 380 320 502 442 624 564 746 686 868 808 990 930 1112 1052 1234 1174 1356 1296 1478 1418 1600 1540 1722 1662 1844 1784 77 17 199 139 321 261 443 383 565 505 687 627 809 749 931 871 1053 993 1175 1115 1297 1237 1419 1359 1541 1481 1663 1603 1785 1725 140 80 262 202 384 324 506 446 628 568 750 690 872 812 994 934 1116 1056 1238 1178 1360 1300 1482 1422 1604 1544 1726 1666 1848 1788 81 21 203 143 325 265 447 387 569 509 691 631 813 753 935 875 1057 997 1179 1119 1301 1241 1423 1363 1545 1485 1667 1607 1789 1729 144 84 266 206 388 328 510 450 632 572 754 694 876 816 998 938 1120 1060 1242 1182 1364 1304 1486 1426 1608 1548 1730 1670 1852 1792 85 25 207 147 329 269 451 391 573 513 695 635 817 757 939 879 1061 1001 1183 1123 1305 1245 1427 1367 1549 1489 1671 1611 1793 1733 148 88 270 210 392 332 514 454 636 576 758 698 880 820 1002 942 1124 1064 1246 1186 1368 1308 1490 1430 1612 1552 1734 1674 1856 1796 89 29 211 151 333 273 455 395 577 517 699 639 821 761 943 883 1065 1005 1187 1127 1309 1249 1431 1371 1553 1493 1675 1615 1797 1737 152 92 274 214 396 336 518 458 640 580 762 702 884 824 1006 946 1128 1068 1250 1190 1372 1312 1494 1434 1616 1556 1738 1678 1860 1800 93 33 215 155 337 277 459 399 581 521 703 643 825 765 947 887 1069 1009 1191 1131 1313 1253 1435 1375 1557 1497 1679 1619 1801 1741 156 96 278 218 400 340 522 462 644 584 766 706 888 828 1010 950 1132 1072 1254 1194 1376 1316 1498 1438 1620 1560 1742 1682 1864 1804 97 37 219 159 341 281 463 403 585 525 707 647 829 769 951 891 1073 1013 1195 1135 1317 1257 1439 1379 1561 1501 1683 1623 1805 1745 160 100 282 222 404 344 526 466 648 588 770 710 892 832 1014 954 1136 1076 1258 1198 1380 1320 1502 1442 1624 1564 1746 1686 1868 1808 101 41 223 163 345 285 467 407 589 529 711 651 833 773 955 895 1077 1017 1199 1139 1321 1261 1443 1383 1565 1505 1687 1627 1809 1749 164 104 286 226 408 348 530 470 652 592 774 714 896 836 1018 958 1140 1080 1262 1202 1384 1324 1506 1446 1628 1568 1750 1690 1872 1812 105 45 227 167 349 289 471 411 593 533 715 655 837 777 959 899 1081 1021 1203 1143 1325 1265 1447 1387 1569 1509 1691 1631 1813 1753 168 108 290 230 412 352 534 474 656 596 778 718 900 840 1022 962 1144 1084 1266 1206 1388 1328 1510 1450 1632 1572 1754 1694 1876 1816 109 49 231 171 353 293 475 415 597 537 719 659 841 781 963 903 1085 1025 1207 1147 1329 1269 1451 1391 1573 1513 1695 1635 1817 1757 172 112 294 234 416 356 538 478 660 600 782 722 904 844 1026 966 1148 1088 1270 1210 1392 1332 1514 1454 1636 1576 1758 1698 1880 1820 113 53 235 175 357 297 479 419 601 541 723 663 845 785 967 907 1089 1029 1211 1151 1333 1273 1455 1395 1577 1517 1699 1639 1821 1761 176 116 298 238 420 360 542 482 664 604 786 726 908 848 1030 970 1152 1092 1274 1214 1396 1336 1518 1458 1640 1580 1762 1702 1884 1824 117 57 239 179 361 301 483 423 605 545 727 667 849 789 971 911 1093 1033 1215 1155 1337 1277 1459 1399 1581 1521 1703 1643 1825 1765 180 120 302 242 424 364 546 486 668 608 790 730 912 852 1034 974 1156 1096 1278 1218 1400 1340 1522 1462 1644 1584 1766 1706 1888 1828 62 63 184 185 306 307 428 429 550 551 672 673 794 795 916 917 1038 1039 1160 1161 1282 1283 1404 1405 1526 1527 1648 1649 1770 1771 125 126 247 248 369 370 491 492 613 614 735 736 857 858 979 980 1101 1102 1223 1224 1345 1346 1467 1468 1589 1590 1711 1712 66 67 188 189 310 311 432 433 554 555 676 677 798 799 920 921 1042 1043 1164 1165 1286 1287 1408 1409 1530 1531 1652 1653 1774 1775 129 130 251 252 373 374 495 496 617 618 739 740 861 862 983 984 1105 1106 1227 1228 1349 1350 1471 1472 1593 1594 1715 1716 70 71 192 193 314 315 436 437 558 559 680 681 802 803 924 925 1046 1047 1168 1169 1290 1291 1412 1413 1534 1535 1656 1657 1778 1779 133 134 255 256 377 378 499 500 621 622 743 744 865 866 987 988 1109 1110 1231 1232 1353 1354 1475 1476 1597 1598 1719 1720 74 75 196 197 318 319 440 441 562 563 684 685 806 807 928 929 1050 1051 1172 1173 1294 1295 1416 1417 1538 1539 1660 1661 1782 1783 137 138 259 260 381 382 503 504 625 626 747 748 869 870 991 992 1113 1114 1235 1236 1357 1358 1479 1480 1601 1602 1723 1724 78 79 200 201 322 323 444 445 566 567 688 689 810 811 932 933 1054 1055 1176 1177 1298 1299 1420 1421 1542 1543 1664 1665 1786 1787 141 142 263 264 385 386 507 508 629 630 751 752 873 874 995 996 1117 1118 1239 1240 1361 1362 1483 1484 1605 1606 1727 1728 82 83 204 205 326 327 448 449 570 571 692 693 814 815 936 937 1058 1059 1180 1181 1302 1303 1424 1425 1546 1547 1668 1669 1790 1791 145 146 267 268 389 390 511 512 633 634 755 756 877 878 999 1000 1121 1122 1243 1244 1365 1366 1487 1488 1609 1610 1731 1732 86 87 208 209 330 331 452 453 574 575 696 697 818 819 940 941 1062 1063 1184 1185 1306 1307 1428 1429 1550 1551 1672 1673 1794 1795 149 150 271 272 393 394 515 516 637 638 759 760 881 882 1003 1004 1125 1126 1247 1248 1369 1370 1491 1492 1613 1614 1735 1736 90 91 212 213 334 335 456 457 578 579 700 701 822 823 944 945 1066 1067 1188 1189 1310 1311 1432 1433 1554 1555 1676 1677 1798 1799 153 154 275 276 397 398 519 520 641 642 763 764 885 886 1007 1008 1129 1130 1251 1252 1373 1374 1495 1496 1617 1618 1739 1740 94 95 216 217 338 339 460 461 582 583 704 705 826 827 948 949 1070 1071 1192 1193 1314 1315 1436 1437 1558 1559 1680 1681 1802 1803 157 158 279 280 401 402 523 524 645 646 767 768 889 890 1011 1012 1133 1134 1255 1256 1377 1378 1499 1500 1621 1622 1743 1744 98 99 220 221 342 343 464 465 586 587 708 709 830 831 952 953 1074 1075 1196 1197 1318 1319 1440 1441 1562 1563 1684 1685 1806 1807 161 162 283 284 405 406 527 528 649 650 771 772 893 894 1015 1016 1137 1138 1259 1260 1381 1382 1503 1504 1625 1626 1747 1748 102 103 224 225 346 347 468 469 590 591 712 713 834 835 956 957 1078 1079 1200 1201 1322 1323 1444 1445 1566 1567 1688 1689 1810 1811 165 166 287 288 409 410 531 532 653 654 775 776 897 898 1019 1020 1141 1142 1263 1264 1385 1386 1507 1508 1629 1630 1751 1752 106 107 228 229 350 351 472 473 594 595 716 717 838 839 960 961 1082 1083 1204 1205 1326 1327 1448 1449 1570 1571 1692 1693 1814 1815 169 170 291 292 413 414 535 536 657 658 779 780 901 902 1023 1024 1145 1146 1267 1268 1389 1390 1511 1512 1633 1634 1755 1756 110 111 232 233 354 355 476 477 598 599 720 721 842 843 964 965 1086 1087 1208 1209 1330 1331 1452 1453 1574 1575 1696 1697 1818 1819 173 174 295 296 417 418 539 540 661 662 783 784 905 906 1027 1028 1149 1150 1271 1272 1393 1394 1515 1516 1637 1638 1759 1760 114 115 236 237 358 359 480 481 602 603 724 725 846 847 968 969 1090 1091 1212 1213 1334 1335 1456 1457 1578 1579 1700 1701 1822 1823 177 178 299 300 421 422 543 544 665 666 787 788 909 910 1031 1032 1153 1154 1275 1276 1397 1398 1519 1520 1641 1642 1763 1764 118 119 240 241 362 363 484 485 606 607 728 729 850 851 972 973 1094 1095 1216 1217 1338 1339 1460 1461 1582 1583 1704 1705 1826 1827 181 182 303 304 425 426 547 548 669 670 791 792 913 914 1035 1036 1157 1158 1279 1280 1401 1402 1523 1524 1645 1646 1767 1768 +DEPOLARIZE2(0.001) 124 64 246 186 368 308 490 430 612 552 734 674 856 796 978 918 1100 1040 1222 1162 1344 1284 1466 1406 1588 1528 1710 1650 1832 1772 65 5 187 127 309 249 431 371 553 493 675 615 797 737 919 859 1041 981 1163 1103 1285 1225 1407 1347 1529 1469 1651 1591 1773 1713 128 68 250 190 372 312 494 434 616 556 738 678 860 800 982 922 1104 1044 1226 1166 1348 1288 1470 1410 1592 1532 1714 1654 1836 1776 69 9 191 131 313 253 435 375 557 497 679 619 801 741 923 863 1045 985 1167 1107 1289 1229 1411 1351 1533 1473 1655 1595 1777 1717 132 72 254 194 376 316 498 438 620 560 742 682 864 804 986 926 1108 1048 1230 1170 1352 1292 1474 1414 1596 1536 1718 1658 1840 1780 73 13 195 135 317 257 439 379 561 501 683 623 805 745 927 867 1049 989 1171 1111 1293 1233 1415 1355 1537 1477 1659 1599 1781 1721 136 76 258 198 380 320 502 442 624 564 746 686 868 808 990 930 1112 1052 1234 1174 1356 1296 1478 1418 1600 1540 1722 1662 1844 1784 77 17 199 139 321 261 443 383 565 505 687 627 809 749 931 871 1053 993 1175 1115 1297 1237 1419 1359 1541 1481 1663 1603 1785 1725 140 80 262 202 384 324 506 446 628 568 750 690 872 812 994 934 1116 1056 1238 1178 1360 1300 1482 1422 1604 1544 1726 1666 1848 1788 81 21 203 143 325 265 447 387 569 509 691 631 813 753 935 875 1057 997 1179 1119 1301 1241 1423 1363 1545 1485 1667 1607 1789 1729 144 84 266 206 388 328 510 450 632 572 754 694 876 816 998 938 1120 1060 1242 1182 1364 1304 1486 1426 1608 1548 1730 1670 1852 1792 85 25 207 147 329 269 451 391 573 513 695 635 817 757 939 879 1061 1001 1183 1123 1305 1245 1427 1367 1549 1489 1671 1611 1793 1733 148 88 270 210 392 332 514 454 636 576 758 698 880 820 1002 942 1124 1064 1246 1186 1368 1308 1490 1430 1612 1552 1734 1674 1856 1796 89 29 211 151 333 273 455 395 577 517 699 639 821 761 943 883 1065 1005 1187 1127 1309 1249 1431 1371 1553 1493 1675 1615 1797 1737 152 92 274 214 396 336 518 458 640 580 762 702 884 824 1006 946 1128 1068 1250 1190 1372 1312 1494 1434 1616 1556 1738 1678 1860 1800 93 33 215 155 337 277 459 399 581 521 703 643 825 765 947 887 1069 1009 1191 1131 1313 1253 1435 1375 1557 1497 1679 1619 1801 1741 156 96 278 218 400 340 522 462 644 584 766 706 888 828 1010 950 1132 1072 1254 1194 1376 1316 1498 1438 1620 1560 1742 1682 1864 1804 97 37 219 159 341 281 463 403 585 525 707 647 829 769 951 891 1073 1013 1195 1135 1317 1257 1439 1379 1561 1501 1683 1623 1805 1745 160 100 282 222 404 344 526 466 648 588 770 710 892 832 1014 954 1136 1076 1258 1198 1380 1320 1502 1442 1624 1564 1746 1686 1868 1808 101 41 223 163 345 285 467 407 589 529 711 651 833 773 955 895 1077 1017 1199 1139 1321 1261 1443 1383 1565 1505 1687 1627 1809 1749 164 104 286 226 408 348 530 470 652 592 774 714 896 836 1018 958 1140 1080 1262 1202 1384 1324 1506 1446 1628 1568 1750 1690 1872 1812 105 45 227 167 349 289 471 411 593 533 715 655 837 777 959 899 1081 1021 1203 1143 1325 1265 1447 1387 1569 1509 1691 1631 1813 1753 168 108 290 230 412 352 534 474 656 596 778 718 900 840 1022 962 1144 1084 1266 1206 1388 1328 1510 1450 1632 1572 1754 1694 1876 1816 109 49 231 171 353 293 475 415 597 537 719 659 841 781 963 903 1085 1025 1207 1147 1329 1269 1451 1391 1573 1513 1695 1635 1817 1757 172 112 294 234 416 356 538 478 660 600 782 722 904 844 1026 966 1148 1088 1270 1210 1392 1332 1514 1454 1636 1576 1758 1698 1880 1820 113 53 235 175 357 297 479 419 601 541 723 663 845 785 967 907 1089 1029 1211 1151 1333 1273 1455 1395 1577 1517 1699 1639 1821 1761 176 116 298 238 420 360 542 482 664 604 786 726 908 848 1030 970 1152 1092 1274 1214 1396 1336 1518 1458 1640 1580 1762 1702 1884 1824 117 57 239 179 361 301 483 423 605 545 727 667 849 789 971 911 1093 1033 1215 1155 1337 1277 1459 1399 1581 1521 1703 1643 1825 1765 180 120 302 242 424 364 546 486 668 608 790 730 912 852 1034 974 1156 1096 1278 1218 1400 1340 1522 1462 1644 1584 1766 1706 1888 1828 62 63 184 185 306 307 428 429 550 551 672 673 794 795 916 917 1038 1039 1160 1161 1282 1283 1404 1405 1526 1527 1648 1649 1770 1771 125 126 247 248 369 370 491 492 613 614 735 736 857 858 979 980 1101 1102 1223 1224 1345 1346 1467 1468 1589 1590 1711 1712 66 67 188 189 310 311 432 433 554 555 676 677 798 799 920 921 1042 1043 1164 1165 1286 1287 1408 1409 1530 1531 1652 1653 1774 1775 129 130 251 252 373 374 495 496 617 618 739 740 861 862 983 984 1105 1106 1227 1228 1349 1350 1471 1472 1593 1594 1715 1716 70 71 192 193 314 315 436 437 558 559 680 681 802 803 924 925 1046 1047 1168 1169 1290 1291 1412 1413 1534 1535 1656 1657 1778 1779 133 134 255 256 377 378 499 500 621 622 743 744 865 866 987 988 1109 1110 1231 1232 1353 1354 1475 1476 1597 1598 1719 1720 74 75 196 197 318 319 440 441 562 563 684 685 806 807 928 929 1050 1051 1172 1173 1294 1295 1416 1417 1538 1539 1660 1661 1782 1783 137 138 259 260 381 382 503 504 625 626 747 748 869 870 991 992 1113 1114 1235 1236 1357 1358 1479 1480 1601 1602 1723 1724 78 79 200 201 322 323 444 445 566 567 688 689 810 811 932 933 1054 1055 1176 1177 1298 1299 1420 1421 1542 1543 1664 1665 1786 1787 141 142 263 264 385 386 507 508 629 630 751 752 873 874 995 996 1117 1118 1239 1240 1361 1362 1483 1484 1605 1606 1727 1728 82 83 204 205 326 327 448 449 570 571 692 693 814 815 936 937 1058 1059 1180 1181 1302 1303 1424 1425 1546 1547 1668 1669 1790 1791 145 146 267 268 389 390 511 512 633 634 755 756 877 878 999 1000 1121 1122 1243 1244 1365 1366 1487 1488 1609 1610 1731 1732 86 87 208 209 330 331 452 453 574 575 696 697 818 819 940 941 1062 1063 1184 1185 1306 1307 1428 1429 1550 1551 1672 1673 1794 1795 149 150 271 272 393 394 515 516 637 638 759 760 881 882 1003 1004 1125 1126 1247 1248 1369 1370 1491 1492 1613 1614 1735 1736 90 91 212 213 334 335 456 457 578 579 700 701 822 823 944 945 1066 1067 1188 1189 1310 1311 1432 1433 1554 1555 1676 1677 1798 1799 153 154 275 276 397 398 519 520 641 642 763 764 885 886 1007 1008 1129 1130 1251 1252 1373 1374 1495 1496 1617 1618 1739 1740 94 95 216 217 338 339 460 461 582 583 704 705 826 827 948 949 1070 1071 1192 1193 1314 1315 1436 1437 1558 1559 1680 1681 1802 1803 157 158 279 280 401 402 523 524 645 646 767 768 889 890 1011 1012 1133 1134 1255 1256 1377 1378 1499 1500 1621 1622 1743 1744 98 99 220 221 342 343 464 465 586 587 708 709 830 831 952 953 1074 1075 1196 1197 1318 1319 1440 1441 1562 1563 1684 1685 1806 1807 161 162 283 284 405 406 527 528 649 650 771 772 893 894 1015 1016 1137 1138 1259 1260 1381 1382 1503 1504 1625 1626 1747 1748 102 103 224 225 346 347 468 469 590 591 712 713 834 835 956 957 1078 1079 1200 1201 1322 1323 1444 1445 1566 1567 1688 1689 1810 1811 165 166 287 288 409 410 531 532 653 654 775 776 897 898 1019 1020 1141 1142 1263 1264 1385 1386 1507 1508 1629 1630 1751 1752 106 107 228 229 350 351 472 473 594 595 716 717 838 839 960 961 1082 1083 1204 1205 1326 1327 1448 1449 1570 1571 1692 1693 1814 1815 169 170 291 292 413 414 535 536 657 658 779 780 901 902 1023 1024 1145 1146 1267 1268 1389 1390 1511 1512 1633 1634 1755 1756 110 111 232 233 354 355 476 477 598 599 720 721 842 843 964 965 1086 1087 1208 1209 1330 1331 1452 1453 1574 1575 1696 1697 1818 1819 173 174 295 296 417 418 539 540 661 662 783 784 905 906 1027 1028 1149 1150 1271 1272 1393 1394 1515 1516 1637 1638 1759 1760 114 115 236 237 358 359 480 481 602 603 724 725 846 847 968 969 1090 1091 1212 1213 1334 1335 1456 1457 1578 1579 1700 1701 1822 1823 177 178 299 300 421 422 543 544 665 666 787 788 909 910 1031 1032 1153 1154 1275 1276 1397 1398 1519 1520 1641 1642 1763 1764 118 119 240 241 362 363 484 485 606 607 728 729 850 851 972 973 1094 1095 1216 1217 1338 1339 1460 1461 1582 1583 1704 1705 1826 1827 181 182 303 304 425 426 547 548 669 670 791 792 913 914 1035 1036 1157 1158 1279 1280 1401 1402 1523 1524 1645 1646 1767 1768 +TICK +CX 124 62 246 184 368 306 490 428 612 550 734 672 856 794 978 916 1100 1038 1222 1160 1344 1282 1466 1404 1588 1526 1710 1648 1832 1770 65 3 187 125 309 247 431 369 553 491 675 613 797 735 919 857 1041 979 1163 1101 1285 1223 1407 1345 1529 1467 1651 1589 1773 1711 128 66 250 188 372 310 494 432 616 554 738 676 860 798 982 920 1104 1042 1226 1164 1348 1286 1470 1408 1592 1530 1714 1652 1836 1774 69 7 191 129 313 251 435 373 557 495 679 617 801 739 923 861 1045 983 1167 1105 1289 1227 1411 1349 1533 1471 1655 1593 1777 1715 132 70 254 192 376 314 498 436 620 558 742 680 864 802 986 924 1108 1046 1230 1168 1352 1290 1474 1412 1596 1534 1718 1656 1840 1778 73 11 195 133 317 255 439 377 561 499 683 621 805 743 927 865 1049 987 1171 1109 1293 1231 1415 1353 1537 1475 1659 1597 1781 1719 136 74 258 196 380 318 502 440 624 562 746 684 868 806 990 928 1112 1050 1234 1172 1356 1294 1478 1416 1600 1538 1722 1660 1844 1782 77 15 199 137 321 259 443 381 565 503 687 625 809 747 931 869 1053 991 1175 1113 1297 1235 1419 1357 1541 1479 1663 1601 1785 1723 140 78 262 200 384 322 506 444 628 566 750 688 872 810 994 932 1116 1054 1238 1176 1360 1298 1482 1420 1604 1542 1726 1664 1848 1786 81 19 203 141 325 263 447 385 569 507 691 629 813 751 935 873 1057 995 1179 1117 1301 1239 1423 1361 1545 1483 1667 1605 1789 1727 144 82 266 204 388 326 510 448 632 570 754 692 876 814 998 936 1120 1058 1242 1180 1364 1302 1486 1424 1608 1546 1730 1668 1852 1790 85 23 207 145 329 267 451 389 573 511 695 633 817 755 939 877 1061 999 1183 1121 1305 1243 1427 1365 1549 1487 1671 1609 1793 1731 148 86 270 208 392 330 514 452 636 574 758 696 880 818 1002 940 1124 1062 1246 1184 1368 1306 1490 1428 1612 1550 1734 1672 1856 1794 89 27 211 149 333 271 455 393 577 515 699 637 821 759 943 881 1065 1003 1187 1125 1309 1247 1431 1369 1553 1491 1675 1613 1797 1735 152 90 274 212 396 334 518 456 640 578 762 700 884 822 1006 944 1128 1066 1250 1188 1372 1310 1494 1432 1616 1554 1738 1676 1860 1798 93 31 215 153 337 275 459 397 581 519 703 641 825 763 947 885 1069 1007 1191 1129 1313 1251 1435 1373 1557 1495 1679 1617 1801 1739 156 94 278 216 400 338 522 460 644 582 766 704 888 826 1010 948 1132 1070 1254 1192 1376 1314 1498 1436 1620 1558 1742 1680 1864 1802 97 35 219 157 341 279 463 401 585 523 707 645 829 767 951 889 1073 1011 1195 1133 1317 1255 1439 1377 1561 1499 1683 1621 1805 1743 160 98 282 220 404 342 526 464 648 586 770 708 892 830 1014 952 1136 1074 1258 1196 1380 1318 1502 1440 1624 1562 1746 1684 1868 1806 101 39 223 161 345 283 467 405 589 527 711 649 833 771 955 893 1077 1015 1199 1137 1321 1259 1443 1381 1565 1503 1687 1625 1809 1747 164 102 286 224 408 346 530 468 652 590 774 712 896 834 1018 956 1140 1078 1262 1200 1384 1322 1506 1444 1628 1566 1750 1688 1872 1810 105 43 227 165 349 287 471 409 593 531 715 653 837 775 959 897 1081 1019 1203 1141 1325 1263 1447 1385 1569 1507 1691 1629 1813 1751 168 106 290 228 412 350 534 472 656 594 778 716 900 838 1022 960 1144 1082 1266 1204 1388 1326 1510 1448 1632 1570 1754 1692 1876 1814 109 47 231 169 353 291 475 413 597 535 719 657 841 779 963 901 1085 1023 1207 1145 1329 1267 1451 1389 1573 1511 1695 1633 1817 1755 172 110 294 232 416 354 538 476 660 598 782 720 904 842 1026 964 1148 1086 1270 1208 1392 1330 1514 1452 1636 1574 1758 1696 1880 1818 113 51 235 173 357 295 479 417 601 539 723 661 845 783 967 905 1089 1027 1211 1149 1333 1271 1455 1393 1577 1515 1699 1637 1821 1759 176 114 298 236 420 358 542 480 664 602 786 724 908 846 1030 968 1152 1090 1274 1212 1396 1334 1518 1456 1640 1578 1762 1700 1884 1822 117 55 239 177 361 299 483 421 605 543 727 665 849 787 971 909 1093 1031 1215 1153 1337 1275 1459 1397 1581 1519 1703 1641 1825 1763 180 118 302 240 424 362 546 484 668 606 790 728 912 850 1034 972 1156 1094 1278 1216 1400 1338 1522 1460 1644 1582 1766 1704 1888 1826 1 63 123 185 245 307 367 429 489 551 611 673 733 795 855 917 977 1039 1099 1161 1221 1283 1343 1405 1465 1527 1587 1649 1709 1771 64 126 186 248 308 370 430 492 552 614 674 736 796 858 918 980 1040 1102 1162 1224 1284 1346 1406 1468 1528 1590 1650 1712 5 67 127 189 249 311 371 433 493 555 615 677 737 799 859 921 981 1043 1103 1165 1225 1287 1347 1409 1469 1531 1591 1653 1713 1775 68 130 190 252 312 374 434 496 556 618 678 740 800 862 922 984 1044 1106 1166 1228 1288 1350 1410 1472 1532 1594 1654 1716 9 71 131 193 253 315 375 437 497 559 619 681 741 803 863 925 985 1047 1107 1169 1229 1291 1351 1413 1473 1535 1595 1657 1717 1779 72 134 194 256 316 378 438 500 560 622 682 744 804 866 926 988 1048 1110 1170 1232 1292 1354 1414 1476 1536 1598 1658 1720 13 75 135 197 257 319 379 441 501 563 623 685 745 807 867 929 989 1051 1111 1173 1233 1295 1355 1417 1477 1539 1599 1661 1721 1783 76 138 198 260 320 382 442 504 564 626 686 748 808 870 930 992 1052 1114 1174 1236 1296 1358 1418 1480 1540 1602 1662 1724 17 79 139 201 261 323 383 445 505 567 627 689 749 811 871 933 993 1055 1115 1177 1237 1299 1359 1421 1481 1543 1603 1665 1725 1787 80 142 202 264 324 386 446 508 568 630 690 752 812 874 934 996 1056 1118 1178 1240 1300 1362 1422 1484 1544 1606 1666 1728 21 83 143 205 265 327 387 449 509 571 631 693 753 815 875 937 997 1059 1119 1181 1241 1303 1363 1425 1485 1547 1607 1669 1729 1791 84 146 206 268 328 390 450 512 572 634 694 756 816 878 938 1000 1060 1122 1182 1244 1304 1366 1426 1488 1548 1610 1670 1732 25 87 147 209 269 331 391 453 513 575 635 697 757 819 879 941 1001 1063 1123 1185 1245 1307 1367 1429 1489 1551 1611 1673 1733 1795 88 150 210 272 332 394 454 516 576 638 698 760 820 882 942 1004 1064 1126 1186 1248 1308 1370 1430 1492 1552 1614 1674 1736 29 91 151 213 273 335 395 457 517 579 639 701 761 823 883 945 1005 1067 1127 1189 1249 1311 1371 1433 1493 1555 1615 1677 1737 1799 92 154 214 276 336 398 458 520 580 642 702 764 824 886 946 1008 1068 1130 1190 1252 1312 1374 1434 1496 1556 1618 1678 1740 33 95 155 217 277 339 399 461 521 583 643 705 765 827 887 949 1009 1071 1131 1193 1253 1315 1375 1437 1497 1559 1619 1681 1741 1803 96 158 218 280 340 402 462 524 584 646 706 768 828 890 950 1012 1072 1134 1194 1256 1316 1378 1438 1500 1560 1622 1682 1744 37 99 159 221 281 343 403 465 525 587 647 709 769 831 891 953 1013 1075 1135 1197 1257 1319 1379 1441 1501 1563 1623 1685 1745 1807 100 162 222 284 344 406 466 528 588 650 710 772 832 894 954 1016 1076 1138 1198 1260 1320 1382 1442 1504 1564 1626 1686 1748 41 103 163 225 285 347 407 469 529 591 651 713 773 835 895 957 1017 1079 1139 1201 1261 1323 1383 1445 1505 1567 1627 1689 1749 1811 104 166 226 288 348 410 470 532 592 654 714 776 836 898 958 1020 1080 1142 1202 1264 1324 1386 1446 1508 1568 1630 1690 1752 45 107 167 229 289 351 411 473 533 595 655 717 777 839 899 961 1021 1083 1143 1205 1265 1327 1387 1449 1509 1571 1631 1693 1753 1815 108 170 230 292 352 414 474 536 596 658 718 780 840 902 962 1024 1084 1146 1206 1268 1328 1390 1450 1512 1572 1634 1694 1756 49 111 171 233 293 355 415 477 537 599 659 721 781 843 903 965 1025 1087 1147 1209 1269 1331 1391 1453 1513 1575 1635 1697 1757 1819 112 174 234 296 356 418 478 540 600 662 722 784 844 906 966 1028 1088 1150 1210 1272 1332 1394 1454 1516 1576 1638 1698 1760 53 115 175 237 297 359 419 481 541 603 663 725 785 847 907 969 1029 1091 1151 1213 1273 1335 1395 1457 1517 1579 1639 1701 1761 1823 116 178 238 300 360 422 482 544 604 666 726 788 848 910 970 1032 1092 1154 1214 1276 1336 1398 1458 1520 1580 1642 1702 1764 57 119 179 241 301 363 423 485 545 607 667 729 789 851 911 973 1033 1095 1155 1217 1277 1339 1399 1461 1521 1583 1643 1705 1765 1827 120 182 242 304 364 426 486 548 608 670 730 792 852 914 974 1036 1096 1158 1218 1280 1340 1402 1462 1524 1584 1646 1706 1768 +DEPOLARIZE2(0.001) 124 62 246 184 368 306 490 428 612 550 734 672 856 794 978 916 1100 1038 1222 1160 1344 1282 1466 1404 1588 1526 1710 1648 1832 1770 65 3 187 125 309 247 431 369 553 491 675 613 797 735 919 857 1041 979 1163 1101 1285 1223 1407 1345 1529 1467 1651 1589 1773 1711 128 66 250 188 372 310 494 432 616 554 738 676 860 798 982 920 1104 1042 1226 1164 1348 1286 1470 1408 1592 1530 1714 1652 1836 1774 69 7 191 129 313 251 435 373 557 495 679 617 801 739 923 861 1045 983 1167 1105 1289 1227 1411 1349 1533 1471 1655 1593 1777 1715 132 70 254 192 376 314 498 436 620 558 742 680 864 802 986 924 1108 1046 1230 1168 1352 1290 1474 1412 1596 1534 1718 1656 1840 1778 73 11 195 133 317 255 439 377 561 499 683 621 805 743 927 865 1049 987 1171 1109 1293 1231 1415 1353 1537 1475 1659 1597 1781 1719 136 74 258 196 380 318 502 440 624 562 746 684 868 806 990 928 1112 1050 1234 1172 1356 1294 1478 1416 1600 1538 1722 1660 1844 1782 77 15 199 137 321 259 443 381 565 503 687 625 809 747 931 869 1053 991 1175 1113 1297 1235 1419 1357 1541 1479 1663 1601 1785 1723 140 78 262 200 384 322 506 444 628 566 750 688 872 810 994 932 1116 1054 1238 1176 1360 1298 1482 1420 1604 1542 1726 1664 1848 1786 81 19 203 141 325 263 447 385 569 507 691 629 813 751 935 873 1057 995 1179 1117 1301 1239 1423 1361 1545 1483 1667 1605 1789 1727 144 82 266 204 388 326 510 448 632 570 754 692 876 814 998 936 1120 1058 1242 1180 1364 1302 1486 1424 1608 1546 1730 1668 1852 1790 85 23 207 145 329 267 451 389 573 511 695 633 817 755 939 877 1061 999 1183 1121 1305 1243 1427 1365 1549 1487 1671 1609 1793 1731 148 86 270 208 392 330 514 452 636 574 758 696 880 818 1002 940 1124 1062 1246 1184 1368 1306 1490 1428 1612 1550 1734 1672 1856 1794 89 27 211 149 333 271 455 393 577 515 699 637 821 759 943 881 1065 1003 1187 1125 1309 1247 1431 1369 1553 1491 1675 1613 1797 1735 152 90 274 212 396 334 518 456 640 578 762 700 884 822 1006 944 1128 1066 1250 1188 1372 1310 1494 1432 1616 1554 1738 1676 1860 1798 93 31 215 153 337 275 459 397 581 519 703 641 825 763 947 885 1069 1007 1191 1129 1313 1251 1435 1373 1557 1495 1679 1617 1801 1739 156 94 278 216 400 338 522 460 644 582 766 704 888 826 1010 948 1132 1070 1254 1192 1376 1314 1498 1436 1620 1558 1742 1680 1864 1802 97 35 219 157 341 279 463 401 585 523 707 645 829 767 951 889 1073 1011 1195 1133 1317 1255 1439 1377 1561 1499 1683 1621 1805 1743 160 98 282 220 404 342 526 464 648 586 770 708 892 830 1014 952 1136 1074 1258 1196 1380 1318 1502 1440 1624 1562 1746 1684 1868 1806 101 39 223 161 345 283 467 405 589 527 711 649 833 771 955 893 1077 1015 1199 1137 1321 1259 1443 1381 1565 1503 1687 1625 1809 1747 164 102 286 224 408 346 530 468 652 590 774 712 896 834 1018 956 1140 1078 1262 1200 1384 1322 1506 1444 1628 1566 1750 1688 1872 1810 105 43 227 165 349 287 471 409 593 531 715 653 837 775 959 897 1081 1019 1203 1141 1325 1263 1447 1385 1569 1507 1691 1629 1813 1751 168 106 290 228 412 350 534 472 656 594 778 716 900 838 1022 960 1144 1082 1266 1204 1388 1326 1510 1448 1632 1570 1754 1692 1876 1814 109 47 231 169 353 291 475 413 597 535 719 657 841 779 963 901 1085 1023 1207 1145 1329 1267 1451 1389 1573 1511 1695 1633 1817 1755 172 110 294 232 416 354 538 476 660 598 782 720 904 842 1026 964 1148 1086 1270 1208 1392 1330 1514 1452 1636 1574 1758 1696 1880 1818 113 51 235 173 357 295 479 417 601 539 723 661 845 783 967 905 1089 1027 1211 1149 1333 1271 1455 1393 1577 1515 1699 1637 1821 1759 176 114 298 236 420 358 542 480 664 602 786 724 908 846 1030 968 1152 1090 1274 1212 1396 1334 1518 1456 1640 1578 1762 1700 1884 1822 117 55 239 177 361 299 483 421 605 543 727 665 849 787 971 909 1093 1031 1215 1153 1337 1275 1459 1397 1581 1519 1703 1641 1825 1763 180 118 302 240 424 362 546 484 668 606 790 728 912 850 1034 972 1156 1094 1278 1216 1400 1338 1522 1460 1644 1582 1766 1704 1888 1826 1 63 123 185 245 307 367 429 489 551 611 673 733 795 855 917 977 1039 1099 1161 1221 1283 1343 1405 1465 1527 1587 1649 1709 1771 64 126 186 248 308 370 430 492 552 614 674 736 796 858 918 980 1040 1102 1162 1224 1284 1346 1406 1468 1528 1590 1650 1712 5 67 127 189 249 311 371 433 493 555 615 677 737 799 859 921 981 1043 1103 1165 1225 1287 1347 1409 1469 1531 1591 1653 1713 1775 68 130 190 252 312 374 434 496 556 618 678 740 800 862 922 984 1044 1106 1166 1228 1288 1350 1410 1472 1532 1594 1654 1716 9 71 131 193 253 315 375 437 497 559 619 681 741 803 863 925 985 1047 1107 1169 1229 1291 1351 1413 1473 1535 1595 1657 1717 1779 72 134 194 256 316 378 438 500 560 622 682 744 804 866 926 988 1048 1110 1170 1232 1292 1354 1414 1476 1536 1598 1658 1720 13 75 135 197 257 319 379 441 501 563 623 685 745 807 867 929 989 1051 1111 1173 1233 1295 1355 1417 1477 1539 1599 1661 1721 1783 76 138 198 260 320 382 442 504 564 626 686 748 808 870 930 992 1052 1114 1174 1236 1296 1358 1418 1480 1540 1602 1662 1724 17 79 139 201 261 323 383 445 505 567 627 689 749 811 871 933 993 1055 1115 1177 1237 1299 1359 1421 1481 1543 1603 1665 1725 1787 80 142 202 264 324 386 446 508 568 630 690 752 812 874 934 996 1056 1118 1178 1240 1300 1362 1422 1484 1544 1606 1666 1728 21 83 143 205 265 327 387 449 509 571 631 693 753 815 875 937 997 1059 1119 1181 1241 1303 1363 1425 1485 1547 1607 1669 1729 1791 84 146 206 268 328 390 450 512 572 634 694 756 816 878 938 1000 1060 1122 1182 1244 1304 1366 1426 1488 1548 1610 1670 1732 25 87 147 209 269 331 391 453 513 575 635 697 757 819 879 941 1001 1063 1123 1185 1245 1307 1367 1429 1489 1551 1611 1673 1733 1795 88 150 210 272 332 394 454 516 576 638 698 760 820 882 942 1004 1064 1126 1186 1248 1308 1370 1430 1492 1552 1614 1674 1736 29 91 151 213 273 335 395 457 517 579 639 701 761 823 883 945 1005 1067 1127 1189 1249 1311 1371 1433 1493 1555 1615 1677 1737 1799 92 154 214 276 336 398 458 520 580 642 702 764 824 886 946 1008 1068 1130 1190 1252 1312 1374 1434 1496 1556 1618 1678 1740 33 95 155 217 277 339 399 461 521 583 643 705 765 827 887 949 1009 1071 1131 1193 1253 1315 1375 1437 1497 1559 1619 1681 1741 1803 96 158 218 280 340 402 462 524 584 646 706 768 828 890 950 1012 1072 1134 1194 1256 1316 1378 1438 1500 1560 1622 1682 1744 37 99 159 221 281 343 403 465 525 587 647 709 769 831 891 953 1013 1075 1135 1197 1257 1319 1379 1441 1501 1563 1623 1685 1745 1807 100 162 222 284 344 406 466 528 588 650 710 772 832 894 954 1016 1076 1138 1198 1260 1320 1382 1442 1504 1564 1626 1686 1748 41 103 163 225 285 347 407 469 529 591 651 713 773 835 895 957 1017 1079 1139 1201 1261 1323 1383 1445 1505 1567 1627 1689 1749 1811 104 166 226 288 348 410 470 532 592 654 714 776 836 898 958 1020 1080 1142 1202 1264 1324 1386 1446 1508 1568 1630 1690 1752 45 107 167 229 289 351 411 473 533 595 655 717 777 839 899 961 1021 1083 1143 1205 1265 1327 1387 1449 1509 1571 1631 1693 1753 1815 108 170 230 292 352 414 474 536 596 658 718 780 840 902 962 1024 1084 1146 1206 1268 1328 1390 1450 1512 1572 1634 1694 1756 49 111 171 233 293 355 415 477 537 599 659 721 781 843 903 965 1025 1087 1147 1209 1269 1331 1391 1453 1513 1575 1635 1697 1757 1819 112 174 234 296 356 418 478 540 600 662 722 784 844 906 966 1028 1088 1150 1210 1272 1332 1394 1454 1516 1576 1638 1698 1760 53 115 175 237 297 359 419 481 541 603 663 725 785 847 907 969 1029 1091 1151 1213 1273 1335 1395 1457 1517 1579 1639 1701 1761 1823 116 178 238 300 360 422 482 544 604 666 726 788 848 910 970 1032 1092 1154 1214 1276 1336 1398 1458 1520 1580 1642 1702 1764 57 119 179 241 301 363 423 485 545 607 667 729 789 851 911 973 1033 1095 1155 1217 1277 1339 1399 1461 1521 1583 1643 1705 1765 1827 120 182 242 304 364 426 486 548 608 670 730 792 852 914 974 1036 1096 1158 1218 1280 1340 1402 1462 1524 1584 1646 1706 1768 +TICK +H 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +DEPOLARIZE1(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +TICK +X_ERROR(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +MR 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +X_ERROR(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 +DETECTOR(0, 4, 0) rec[-855] +DETECTOR(0, 8, 0) rec[-795] +DETECTOR(0, 12, 0) rec[-735] +DETECTOR(0, 16, 0) rec[-675] +DETECTOR(0, 20, 0) rec[-615] +DETECTOR(0, 24, 0) rec[-555] +DETECTOR(0, 28, 0) rec[-495] +DETECTOR(0, 32, 0) rec[-435] +DETECTOR(0, 36, 0) rec[-375] +DETECTOR(0, 40, 0) rec[-315] +DETECTOR(0, 44, 0) rec[-255] +DETECTOR(0, 48, 0) rec[-195] +DETECTOR(0, 52, 0) rec[-135] +DETECTOR(0, 56, 0) rec[-75] +DETECTOR(2, 2, 0) rec[-884] +DETECTOR(2, 6, 0) rec[-824] +DETECTOR(2, 10, 0) rec[-764] +DETECTOR(2, 14, 0) rec[-704] +DETECTOR(2, 18, 0) rec[-644] +DETECTOR(2, 22, 0) rec[-584] +DETECTOR(2, 26, 0) rec[-524] +DETECTOR(2, 30, 0) rec[-464] +DETECTOR(2, 34, 0) rec[-404] +DETECTOR(2, 38, 0) rec[-344] +DETECTOR(2, 42, 0) rec[-284] +DETECTOR(2, 46, 0) rec[-224] +DETECTOR(2, 50, 0) rec[-164] +DETECTOR(2, 54, 0) rec[-104] +DETECTOR(2, 58, 0) rec[-44] +DETECTOR(4, 4, 0) rec[-853] +DETECTOR(4, 8, 0) rec[-793] +DETECTOR(4, 12, 0) rec[-733] +DETECTOR(4, 16, 0) rec[-673] +DETECTOR(4, 20, 0) rec[-613] +DETECTOR(4, 24, 0) rec[-553] +DETECTOR(4, 28, 0) rec[-493] +DETECTOR(4, 32, 0) rec[-433] +DETECTOR(4, 36, 0) rec[-373] +DETECTOR(4, 40, 0) rec[-313] +DETECTOR(4, 44, 0) rec[-253] +DETECTOR(4, 48, 0) rec[-193] +DETECTOR(4, 52, 0) rec[-133] +DETECTOR(4, 56, 0) rec[-73] +DETECTOR(6, 2, 0) rec[-882] +DETECTOR(6, 6, 0) rec[-822] +DETECTOR(6, 10, 0) rec[-762] +DETECTOR(6, 14, 0) rec[-702] +DETECTOR(6, 18, 0) rec[-642] +DETECTOR(6, 22, 0) rec[-582] +DETECTOR(6, 26, 0) rec[-522] +DETECTOR(6, 30, 0) rec[-462] +DETECTOR(6, 34, 0) rec[-402] +DETECTOR(6, 38, 0) rec[-342] +DETECTOR(6, 42, 0) rec[-282] +DETECTOR(6, 46, 0) rec[-222] +DETECTOR(6, 50, 0) rec[-162] +DETECTOR(6, 54, 0) rec[-102] +DETECTOR(6, 58, 0) rec[-42] +DETECTOR(8, 4, 0) rec[-851] +DETECTOR(8, 8, 0) rec[-791] +DETECTOR(8, 12, 0) rec[-731] +DETECTOR(8, 16, 0) rec[-671] +DETECTOR(8, 20, 0) rec[-611] +DETECTOR(8, 24, 0) rec[-551] +DETECTOR(8, 28, 0) rec[-491] +DETECTOR(8, 32, 0) rec[-431] +DETECTOR(8, 36, 0) rec[-371] +DETECTOR(8, 40, 0) rec[-311] +DETECTOR(8, 44, 0) rec[-251] +DETECTOR(8, 48, 0) rec[-191] +DETECTOR(8, 52, 0) rec[-131] +DETECTOR(8, 56, 0) rec[-71] +DETECTOR(10, 2, 0) rec[-880] +DETECTOR(10, 6, 0) rec[-820] +DETECTOR(10, 10, 0) rec[-760] +DETECTOR(10, 14, 0) rec[-700] +DETECTOR(10, 18, 0) rec[-640] +DETECTOR(10, 22, 0) rec[-580] +DETECTOR(10, 26, 0) rec[-520] +DETECTOR(10, 30, 0) rec[-460] +DETECTOR(10, 34, 0) rec[-400] +DETECTOR(10, 38, 0) rec[-340] +DETECTOR(10, 42, 0) rec[-280] +DETECTOR(10, 46, 0) rec[-220] +DETECTOR(10, 50, 0) rec[-160] +DETECTOR(10, 54, 0) rec[-100] +DETECTOR(10, 58, 0) rec[-40] +DETECTOR(12, 4, 0) rec[-849] +DETECTOR(12, 8, 0) rec[-789] +DETECTOR(12, 12, 0) rec[-729] +DETECTOR(12, 16, 0) rec[-669] +DETECTOR(12, 20, 0) rec[-609] +DETECTOR(12, 24, 0) rec[-549] +DETECTOR(12, 28, 0) rec[-489] +DETECTOR(12, 32, 0) rec[-429] +DETECTOR(12, 36, 0) rec[-369] +DETECTOR(12, 40, 0) rec[-309] +DETECTOR(12, 44, 0) rec[-249] +DETECTOR(12, 48, 0) rec[-189] +DETECTOR(12, 52, 0) rec[-129] +DETECTOR(12, 56, 0) rec[-69] +DETECTOR(14, 2, 0) rec[-878] +DETECTOR(14, 6, 0) rec[-818] +DETECTOR(14, 10, 0) rec[-758] +DETECTOR(14, 14, 0) rec[-698] +DETECTOR(14, 18, 0) rec[-638] +DETECTOR(14, 22, 0) rec[-578] +DETECTOR(14, 26, 0) rec[-518] +DETECTOR(14, 30, 0) rec[-458] +DETECTOR(14, 34, 0) rec[-398] +DETECTOR(14, 38, 0) rec[-338] +DETECTOR(14, 42, 0) rec[-278] +DETECTOR(14, 46, 0) rec[-218] +DETECTOR(14, 50, 0) rec[-158] +DETECTOR(14, 54, 0) rec[-98] +DETECTOR(14, 58, 0) rec[-38] +DETECTOR(16, 4, 0) rec[-847] +DETECTOR(16, 8, 0) rec[-787] +DETECTOR(16, 12, 0) rec[-727] +DETECTOR(16, 16, 0) rec[-667] +DETECTOR(16, 20, 0) rec[-607] +DETECTOR(16, 24, 0) rec[-547] +DETECTOR(16, 28, 0) rec[-487] +DETECTOR(16, 32, 0) rec[-427] +DETECTOR(16, 36, 0) rec[-367] +DETECTOR(16, 40, 0) rec[-307] +DETECTOR(16, 44, 0) rec[-247] +DETECTOR(16, 48, 0) rec[-187] +DETECTOR(16, 52, 0) rec[-127] +DETECTOR(16, 56, 0) rec[-67] +DETECTOR(18, 2, 0) rec[-876] +DETECTOR(18, 6, 0) rec[-816] +DETECTOR(18, 10, 0) rec[-756] +DETECTOR(18, 14, 0) rec[-696] +DETECTOR(18, 18, 0) rec[-636] +DETECTOR(18, 22, 0) rec[-576] +DETECTOR(18, 26, 0) rec[-516] +DETECTOR(18, 30, 0) rec[-456] +DETECTOR(18, 34, 0) rec[-396] +DETECTOR(18, 38, 0) rec[-336] +DETECTOR(18, 42, 0) rec[-276] +DETECTOR(18, 46, 0) rec[-216] +DETECTOR(18, 50, 0) rec[-156] +DETECTOR(18, 54, 0) rec[-96] +DETECTOR(18, 58, 0) rec[-36] +DETECTOR(20, 4, 0) rec[-845] +DETECTOR(20, 8, 0) rec[-785] +DETECTOR(20, 12, 0) rec[-725] +DETECTOR(20, 16, 0) rec[-665] +DETECTOR(20, 20, 0) rec[-605] +DETECTOR(20, 24, 0) rec[-545] +DETECTOR(20, 28, 0) rec[-485] +DETECTOR(20, 32, 0) rec[-425] +DETECTOR(20, 36, 0) rec[-365] +DETECTOR(20, 40, 0) rec[-305] +DETECTOR(20, 44, 0) rec[-245] +DETECTOR(20, 48, 0) rec[-185] +DETECTOR(20, 52, 0) rec[-125] +DETECTOR(20, 56, 0) rec[-65] +DETECTOR(22, 2, 0) rec[-874] +DETECTOR(22, 6, 0) rec[-814] +DETECTOR(22, 10, 0) rec[-754] +DETECTOR(22, 14, 0) rec[-694] +DETECTOR(22, 18, 0) rec[-634] +DETECTOR(22, 22, 0) rec[-574] +DETECTOR(22, 26, 0) rec[-514] +DETECTOR(22, 30, 0) rec[-454] +DETECTOR(22, 34, 0) rec[-394] +DETECTOR(22, 38, 0) rec[-334] +DETECTOR(22, 42, 0) rec[-274] +DETECTOR(22, 46, 0) rec[-214] +DETECTOR(22, 50, 0) rec[-154] +DETECTOR(22, 54, 0) rec[-94] +DETECTOR(22, 58, 0) rec[-34] +DETECTOR(24, 4, 0) rec[-843] +DETECTOR(24, 8, 0) rec[-783] +DETECTOR(24, 12, 0) rec[-723] +DETECTOR(24, 16, 0) rec[-663] +DETECTOR(24, 20, 0) rec[-603] +DETECTOR(24, 24, 0) rec[-543] +DETECTOR(24, 28, 0) rec[-483] +DETECTOR(24, 32, 0) rec[-423] +DETECTOR(24, 36, 0) rec[-363] +DETECTOR(24, 40, 0) rec[-303] +DETECTOR(24, 44, 0) rec[-243] +DETECTOR(24, 48, 0) rec[-183] +DETECTOR(24, 52, 0) rec[-123] +DETECTOR(24, 56, 0) rec[-63] +DETECTOR(26, 2, 0) rec[-872] +DETECTOR(26, 6, 0) rec[-812] +DETECTOR(26, 10, 0) rec[-752] +DETECTOR(26, 14, 0) rec[-692] +DETECTOR(26, 18, 0) rec[-632] +DETECTOR(26, 22, 0) rec[-572] +DETECTOR(26, 26, 0) rec[-512] +DETECTOR(26, 30, 0) rec[-452] +DETECTOR(26, 34, 0) rec[-392] +DETECTOR(26, 38, 0) rec[-332] +DETECTOR(26, 42, 0) rec[-272] +DETECTOR(26, 46, 0) rec[-212] +DETECTOR(26, 50, 0) rec[-152] +DETECTOR(26, 54, 0) rec[-92] +DETECTOR(26, 58, 0) rec[-32] +DETECTOR(28, 4, 0) rec[-841] +DETECTOR(28, 8, 0) rec[-781] +DETECTOR(28, 12, 0) rec[-721] +DETECTOR(28, 16, 0) rec[-661] +DETECTOR(28, 20, 0) rec[-601] +DETECTOR(28, 24, 0) rec[-541] +DETECTOR(28, 28, 0) rec[-481] +DETECTOR(28, 32, 0) rec[-421] +DETECTOR(28, 36, 0) rec[-361] +DETECTOR(28, 40, 0) rec[-301] +DETECTOR(28, 44, 0) rec[-241] +DETECTOR(28, 48, 0) rec[-181] +DETECTOR(28, 52, 0) rec[-121] +DETECTOR(28, 56, 0) rec[-61] +DETECTOR(30, 2, 0) rec[-870] +DETECTOR(30, 6, 0) rec[-810] +DETECTOR(30, 10, 0) rec[-750] +DETECTOR(30, 14, 0) rec[-690] +DETECTOR(30, 18, 0) rec[-630] +DETECTOR(30, 22, 0) rec[-570] +DETECTOR(30, 26, 0) rec[-510] +DETECTOR(30, 30, 0) rec[-450] +DETECTOR(30, 34, 0) rec[-390] +DETECTOR(30, 38, 0) rec[-330] +DETECTOR(30, 42, 0) rec[-270] +DETECTOR(30, 46, 0) rec[-210] +DETECTOR(30, 50, 0) rec[-150] +DETECTOR(30, 54, 0) rec[-90] +DETECTOR(30, 58, 0) rec[-30] +DETECTOR(32, 4, 0) rec[-839] +DETECTOR(32, 8, 0) rec[-779] +DETECTOR(32, 12, 0) rec[-719] +DETECTOR(32, 16, 0) rec[-659] +DETECTOR(32, 20, 0) rec[-599] +DETECTOR(32, 24, 0) rec[-539] +DETECTOR(32, 28, 0) rec[-479] +DETECTOR(32, 32, 0) rec[-419] +DETECTOR(32, 36, 0) rec[-359] +DETECTOR(32, 40, 0) rec[-299] +DETECTOR(32, 44, 0) rec[-239] +DETECTOR(32, 48, 0) rec[-179] +DETECTOR(32, 52, 0) rec[-119] +DETECTOR(32, 56, 0) rec[-59] +DETECTOR(34, 2, 0) rec[-868] +DETECTOR(34, 6, 0) rec[-808] +DETECTOR(34, 10, 0) rec[-748] +DETECTOR(34, 14, 0) rec[-688] +DETECTOR(34, 18, 0) rec[-628] +DETECTOR(34, 22, 0) rec[-568] +DETECTOR(34, 26, 0) rec[-508] +DETECTOR(34, 30, 0) rec[-448] +DETECTOR(34, 34, 0) rec[-388] +DETECTOR(34, 38, 0) rec[-328] +DETECTOR(34, 42, 0) rec[-268] +DETECTOR(34, 46, 0) rec[-208] +DETECTOR(34, 50, 0) rec[-148] +DETECTOR(34, 54, 0) rec[-88] +DETECTOR(34, 58, 0) rec[-28] +DETECTOR(36, 4, 0) rec[-837] +DETECTOR(36, 8, 0) rec[-777] +DETECTOR(36, 12, 0) rec[-717] +DETECTOR(36, 16, 0) rec[-657] +DETECTOR(36, 20, 0) rec[-597] +DETECTOR(36, 24, 0) rec[-537] +DETECTOR(36, 28, 0) rec[-477] +DETECTOR(36, 32, 0) rec[-417] +DETECTOR(36, 36, 0) rec[-357] +DETECTOR(36, 40, 0) rec[-297] +DETECTOR(36, 44, 0) rec[-237] +DETECTOR(36, 48, 0) rec[-177] +DETECTOR(36, 52, 0) rec[-117] +DETECTOR(36, 56, 0) rec[-57] +DETECTOR(38, 2, 0) rec[-866] +DETECTOR(38, 6, 0) rec[-806] +DETECTOR(38, 10, 0) rec[-746] +DETECTOR(38, 14, 0) rec[-686] +DETECTOR(38, 18, 0) rec[-626] +DETECTOR(38, 22, 0) rec[-566] +DETECTOR(38, 26, 0) rec[-506] +DETECTOR(38, 30, 0) rec[-446] +DETECTOR(38, 34, 0) rec[-386] +DETECTOR(38, 38, 0) rec[-326] +DETECTOR(38, 42, 0) rec[-266] +DETECTOR(38, 46, 0) rec[-206] +DETECTOR(38, 50, 0) rec[-146] +DETECTOR(38, 54, 0) rec[-86] +DETECTOR(38, 58, 0) rec[-26] +DETECTOR(40, 4, 0) rec[-835] +DETECTOR(40, 8, 0) rec[-775] +DETECTOR(40, 12, 0) rec[-715] +DETECTOR(40, 16, 0) rec[-655] +DETECTOR(40, 20, 0) rec[-595] +DETECTOR(40, 24, 0) rec[-535] +DETECTOR(40, 28, 0) rec[-475] +DETECTOR(40, 32, 0) rec[-415] +DETECTOR(40, 36, 0) rec[-355] +DETECTOR(40, 40, 0) rec[-295] +DETECTOR(40, 44, 0) rec[-235] +DETECTOR(40, 48, 0) rec[-175] +DETECTOR(40, 52, 0) rec[-115] +DETECTOR(40, 56, 0) rec[-55] +DETECTOR(42, 2, 0) rec[-864] +DETECTOR(42, 6, 0) rec[-804] +DETECTOR(42, 10, 0) rec[-744] +DETECTOR(42, 14, 0) rec[-684] +DETECTOR(42, 18, 0) rec[-624] +DETECTOR(42, 22, 0) rec[-564] +DETECTOR(42, 26, 0) rec[-504] +DETECTOR(42, 30, 0) rec[-444] +DETECTOR(42, 34, 0) rec[-384] +DETECTOR(42, 38, 0) rec[-324] +DETECTOR(42, 42, 0) rec[-264] +DETECTOR(42, 46, 0) rec[-204] +DETECTOR(42, 50, 0) rec[-144] +DETECTOR(42, 54, 0) rec[-84] +DETECTOR(42, 58, 0) rec[-24] +DETECTOR(44, 4, 0) rec[-833] +DETECTOR(44, 8, 0) rec[-773] +DETECTOR(44, 12, 0) rec[-713] +DETECTOR(44, 16, 0) rec[-653] +DETECTOR(44, 20, 0) rec[-593] +DETECTOR(44, 24, 0) rec[-533] +DETECTOR(44, 28, 0) rec[-473] +DETECTOR(44, 32, 0) rec[-413] +DETECTOR(44, 36, 0) rec[-353] +DETECTOR(44, 40, 0) rec[-293] +DETECTOR(44, 44, 0) rec[-233] +DETECTOR(44, 48, 0) rec[-173] +DETECTOR(44, 52, 0) rec[-113] +DETECTOR(44, 56, 0) rec[-53] +DETECTOR(46, 2, 0) rec[-862] +DETECTOR(46, 6, 0) rec[-802] +DETECTOR(46, 10, 0) rec[-742] +DETECTOR(46, 14, 0) rec[-682] +DETECTOR(46, 18, 0) rec[-622] +DETECTOR(46, 22, 0) rec[-562] +DETECTOR(46, 26, 0) rec[-502] +DETECTOR(46, 30, 0) rec[-442] +DETECTOR(46, 34, 0) rec[-382] +DETECTOR(46, 38, 0) rec[-322] +DETECTOR(46, 42, 0) rec[-262] +DETECTOR(46, 46, 0) rec[-202] +DETECTOR(46, 50, 0) rec[-142] +DETECTOR(46, 54, 0) rec[-82] +DETECTOR(46, 58, 0) rec[-22] +DETECTOR(48, 4, 0) rec[-831] +DETECTOR(48, 8, 0) rec[-771] +DETECTOR(48, 12, 0) rec[-711] +DETECTOR(48, 16, 0) rec[-651] +DETECTOR(48, 20, 0) rec[-591] +DETECTOR(48, 24, 0) rec[-531] +DETECTOR(48, 28, 0) rec[-471] +DETECTOR(48, 32, 0) rec[-411] +DETECTOR(48, 36, 0) rec[-351] +DETECTOR(48, 40, 0) rec[-291] +DETECTOR(48, 44, 0) rec[-231] +DETECTOR(48, 48, 0) rec[-171] +DETECTOR(48, 52, 0) rec[-111] +DETECTOR(48, 56, 0) rec[-51] +DETECTOR(50, 2, 0) rec[-860] +DETECTOR(50, 6, 0) rec[-800] +DETECTOR(50, 10, 0) rec[-740] +DETECTOR(50, 14, 0) rec[-680] +DETECTOR(50, 18, 0) rec[-620] +DETECTOR(50, 22, 0) rec[-560] +DETECTOR(50, 26, 0) rec[-500] +DETECTOR(50, 30, 0) rec[-440] +DETECTOR(50, 34, 0) rec[-380] +DETECTOR(50, 38, 0) rec[-320] +DETECTOR(50, 42, 0) rec[-260] +DETECTOR(50, 46, 0) rec[-200] +DETECTOR(50, 50, 0) rec[-140] +DETECTOR(50, 54, 0) rec[-80] +DETECTOR(50, 58, 0) rec[-20] +DETECTOR(52, 4, 0) rec[-829] +DETECTOR(52, 8, 0) rec[-769] +DETECTOR(52, 12, 0) rec[-709] +DETECTOR(52, 16, 0) rec[-649] +DETECTOR(52, 20, 0) rec[-589] +DETECTOR(52, 24, 0) rec[-529] +DETECTOR(52, 28, 0) rec[-469] +DETECTOR(52, 32, 0) rec[-409] +DETECTOR(52, 36, 0) rec[-349] +DETECTOR(52, 40, 0) rec[-289] +DETECTOR(52, 44, 0) rec[-229] +DETECTOR(52, 48, 0) rec[-169] +DETECTOR(52, 52, 0) rec[-109] +DETECTOR(52, 56, 0) rec[-49] +DETECTOR(54, 2, 0) rec[-858] +DETECTOR(54, 6, 0) rec[-798] +DETECTOR(54, 10, 0) rec[-738] +DETECTOR(54, 14, 0) rec[-678] +DETECTOR(54, 18, 0) rec[-618] +DETECTOR(54, 22, 0) rec[-558] +DETECTOR(54, 26, 0) rec[-498] +DETECTOR(54, 30, 0) rec[-438] +DETECTOR(54, 34, 0) rec[-378] +DETECTOR(54, 38, 0) rec[-318] +DETECTOR(54, 42, 0) rec[-258] +DETECTOR(54, 46, 0) rec[-198] +DETECTOR(54, 50, 0) rec[-138] +DETECTOR(54, 54, 0) rec[-78] +DETECTOR(54, 58, 0) rec[-18] +DETECTOR(56, 4, 0) rec[-827] +DETECTOR(56, 8, 0) rec[-767] +DETECTOR(56, 12, 0) rec[-707] +DETECTOR(56, 16, 0) rec[-647] +DETECTOR(56, 20, 0) rec[-587] +DETECTOR(56, 24, 0) rec[-527] +DETECTOR(56, 28, 0) rec[-467] +DETECTOR(56, 32, 0) rec[-407] +DETECTOR(56, 36, 0) rec[-347] +DETECTOR(56, 40, 0) rec[-287] +DETECTOR(56, 44, 0) rec[-227] +DETECTOR(56, 48, 0) rec[-167] +DETECTOR(56, 52, 0) rec[-107] +DETECTOR(56, 56, 0) rec[-47] +DETECTOR(58, 2, 0) rec[-856] +DETECTOR(58, 6, 0) rec[-796] +DETECTOR(58, 10, 0) rec[-736] +DETECTOR(58, 14, 0) rec[-676] +DETECTOR(58, 18, 0) rec[-616] +DETECTOR(58, 22, 0) rec[-556] +DETECTOR(58, 26, 0) rec[-496] +DETECTOR(58, 30, 0) rec[-436] +DETECTOR(58, 34, 0) rec[-376] +DETECTOR(58, 38, 0) rec[-316] +DETECTOR(58, 42, 0) rec[-256] +DETECTOR(58, 46, 0) rec[-196] +DETECTOR(58, 50, 0) rec[-136] +DETECTOR(58, 54, 0) rec[-76] +DETECTOR(58, 58, 0) rec[-16] +DETECTOR(60, 4, 0) rec[-825] +DETECTOR(60, 8, 0) rec[-765] +DETECTOR(60, 12, 0) rec[-705] +DETECTOR(60, 16, 0) rec[-645] +DETECTOR(60, 20, 0) rec[-585] +DETECTOR(60, 24, 0) rec[-525] +DETECTOR(60, 28, 0) rec[-465] +DETECTOR(60, 32, 0) rec[-405] +DETECTOR(60, 36, 0) rec[-345] +DETECTOR(60, 40, 0) rec[-285] +DETECTOR(60, 44, 0) rec[-225] +DETECTOR(60, 48, 0) rec[-165] +DETECTOR(60, 52, 0) rec[-105] +DETECTOR(60, 56, 0) rec[-45] +REPEAT 29 { + TICK + DEPOLARIZE1(0.001) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 + H 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + DEPOLARIZE1(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + TICK + CX 2 3 124 125 246 247 368 369 490 491 612 613 734 735 856 857 978 979 1100 1101 1222 1223 1344 1345 1466 1467 1588 1589 1710 1711 65 66 187 188 309 310 431 432 553 554 675 676 797 798 919 920 1041 1042 1163 1164 1285 1286 1407 1408 1529 1530 1651 1652 1773 1774 6 7 128 129 250 251 372 373 494 495 616 617 738 739 860 861 982 983 1104 1105 1226 1227 1348 1349 1470 1471 1592 1593 1714 1715 69 70 191 192 313 314 435 436 557 558 679 680 801 802 923 924 1045 1046 1167 1168 1289 1290 1411 1412 1533 1534 1655 1656 1777 1778 10 11 132 133 254 255 376 377 498 499 620 621 742 743 864 865 986 987 1108 1109 1230 1231 1352 1353 1474 1475 1596 1597 1718 1719 73 74 195 196 317 318 439 440 561 562 683 684 805 806 927 928 1049 1050 1171 1172 1293 1294 1415 1416 1537 1538 1659 1660 1781 1782 14 15 136 137 258 259 380 381 502 503 624 625 746 747 868 869 990 991 1112 1113 1234 1235 1356 1357 1478 1479 1600 1601 1722 1723 77 78 199 200 321 322 443 444 565 566 687 688 809 810 931 932 1053 1054 1175 1176 1297 1298 1419 1420 1541 1542 1663 1664 1785 1786 18 19 140 141 262 263 384 385 506 507 628 629 750 751 872 873 994 995 1116 1117 1238 1239 1360 1361 1482 1483 1604 1605 1726 1727 81 82 203 204 325 326 447 448 569 570 691 692 813 814 935 936 1057 1058 1179 1180 1301 1302 1423 1424 1545 1546 1667 1668 1789 1790 22 23 144 145 266 267 388 389 510 511 632 633 754 755 876 877 998 999 1120 1121 1242 1243 1364 1365 1486 1487 1608 1609 1730 1731 85 86 207 208 329 330 451 452 573 574 695 696 817 818 939 940 1061 1062 1183 1184 1305 1306 1427 1428 1549 1550 1671 1672 1793 1794 26 27 148 149 270 271 392 393 514 515 636 637 758 759 880 881 1002 1003 1124 1125 1246 1247 1368 1369 1490 1491 1612 1613 1734 1735 89 90 211 212 333 334 455 456 577 578 699 700 821 822 943 944 1065 1066 1187 1188 1309 1310 1431 1432 1553 1554 1675 1676 1797 1798 30 31 152 153 274 275 396 397 518 519 640 641 762 763 884 885 1006 1007 1128 1129 1250 1251 1372 1373 1494 1495 1616 1617 1738 1739 93 94 215 216 337 338 459 460 581 582 703 704 825 826 947 948 1069 1070 1191 1192 1313 1314 1435 1436 1557 1558 1679 1680 1801 1802 34 35 156 157 278 279 400 401 522 523 644 645 766 767 888 889 1010 1011 1132 1133 1254 1255 1376 1377 1498 1499 1620 1621 1742 1743 97 98 219 220 341 342 463 464 585 586 707 708 829 830 951 952 1073 1074 1195 1196 1317 1318 1439 1440 1561 1562 1683 1684 1805 1806 38 39 160 161 282 283 404 405 526 527 648 649 770 771 892 893 1014 1015 1136 1137 1258 1259 1380 1381 1502 1503 1624 1625 1746 1747 101 102 223 224 345 346 467 468 589 590 711 712 833 834 955 956 1077 1078 1199 1200 1321 1322 1443 1444 1565 1566 1687 1688 1809 1810 42 43 164 165 286 287 408 409 530 531 652 653 774 775 896 897 1018 1019 1140 1141 1262 1263 1384 1385 1506 1507 1628 1629 1750 1751 105 106 227 228 349 350 471 472 593 594 715 716 837 838 959 960 1081 1082 1203 1204 1325 1326 1447 1448 1569 1570 1691 1692 1813 1814 46 47 168 169 290 291 412 413 534 535 656 657 778 779 900 901 1022 1023 1144 1145 1266 1267 1388 1389 1510 1511 1632 1633 1754 1755 109 110 231 232 353 354 475 476 597 598 719 720 841 842 963 964 1085 1086 1207 1208 1329 1330 1451 1452 1573 1574 1695 1696 1817 1818 50 51 172 173 294 295 416 417 538 539 660 661 782 783 904 905 1026 1027 1148 1149 1270 1271 1392 1393 1514 1515 1636 1637 1758 1759 113 114 235 236 357 358 479 480 601 602 723 724 845 846 967 968 1089 1090 1211 1212 1333 1334 1455 1456 1577 1578 1699 1700 1821 1822 54 55 176 177 298 299 420 421 542 543 664 665 786 787 908 909 1030 1031 1152 1153 1274 1275 1396 1397 1518 1519 1640 1641 1762 1763 117 118 239 240 361 362 483 484 605 606 727 728 849 850 971 972 1093 1094 1215 1216 1337 1338 1459 1460 1581 1582 1703 1704 1825 1826 58 59 180 181 302 303 424 425 546 547 668 669 790 791 912 913 1034 1035 1156 1157 1278 1279 1400 1401 1522 1523 1644 1645 1766 1767 123 122 245 244 367 366 489 488 611 610 733 732 855 854 977 976 1099 1098 1221 1220 1343 1342 1465 1464 1587 1586 1709 1708 64 63 186 185 308 307 430 429 552 551 674 673 796 795 918 917 1040 1039 1162 1161 1284 1283 1406 1405 1528 1527 1650 1649 1772 1771 127 126 249 248 371 370 493 492 615 614 737 736 859 858 981 980 1103 1102 1225 1224 1347 1346 1469 1468 1591 1590 1713 1712 68 67 190 189 312 311 434 433 556 555 678 677 800 799 922 921 1044 1043 1166 1165 1288 1287 1410 1409 1532 1531 1654 1653 1776 1775 131 130 253 252 375 374 497 496 619 618 741 740 863 862 985 984 1107 1106 1229 1228 1351 1350 1473 1472 1595 1594 1717 1716 72 71 194 193 316 315 438 437 560 559 682 681 804 803 926 925 1048 1047 1170 1169 1292 1291 1414 1413 1536 1535 1658 1657 1780 1779 135 134 257 256 379 378 501 500 623 622 745 744 867 866 989 988 1111 1110 1233 1232 1355 1354 1477 1476 1599 1598 1721 1720 76 75 198 197 320 319 442 441 564 563 686 685 808 807 930 929 1052 1051 1174 1173 1296 1295 1418 1417 1540 1539 1662 1661 1784 1783 139 138 261 260 383 382 505 504 627 626 749 748 871 870 993 992 1115 1114 1237 1236 1359 1358 1481 1480 1603 1602 1725 1724 80 79 202 201 324 323 446 445 568 567 690 689 812 811 934 933 1056 1055 1178 1177 1300 1299 1422 1421 1544 1543 1666 1665 1788 1787 143 142 265 264 387 386 509 508 631 630 753 752 875 874 997 996 1119 1118 1241 1240 1363 1362 1485 1484 1607 1606 1729 1728 84 83 206 205 328 327 450 449 572 571 694 693 816 815 938 937 1060 1059 1182 1181 1304 1303 1426 1425 1548 1547 1670 1669 1792 1791 147 146 269 268 391 390 513 512 635 634 757 756 879 878 1001 1000 1123 1122 1245 1244 1367 1366 1489 1488 1611 1610 1733 1732 88 87 210 209 332 331 454 453 576 575 698 697 820 819 942 941 1064 1063 1186 1185 1308 1307 1430 1429 1552 1551 1674 1673 1796 1795 151 150 273 272 395 394 517 516 639 638 761 760 883 882 1005 1004 1127 1126 1249 1248 1371 1370 1493 1492 1615 1614 1737 1736 92 91 214 213 336 335 458 457 580 579 702 701 824 823 946 945 1068 1067 1190 1189 1312 1311 1434 1433 1556 1555 1678 1677 1800 1799 155 154 277 276 399 398 521 520 643 642 765 764 887 886 1009 1008 1131 1130 1253 1252 1375 1374 1497 1496 1619 1618 1741 1740 96 95 218 217 340 339 462 461 584 583 706 705 828 827 950 949 1072 1071 1194 1193 1316 1315 1438 1437 1560 1559 1682 1681 1804 1803 159 158 281 280 403 402 525 524 647 646 769 768 891 890 1013 1012 1135 1134 1257 1256 1379 1378 1501 1500 1623 1622 1745 1744 100 99 222 221 344 343 466 465 588 587 710 709 832 831 954 953 1076 1075 1198 1197 1320 1319 1442 1441 1564 1563 1686 1685 1808 1807 163 162 285 284 407 406 529 528 651 650 773 772 895 894 1017 1016 1139 1138 1261 1260 1383 1382 1505 1504 1627 1626 1749 1748 104 103 226 225 348 347 470 469 592 591 714 713 836 835 958 957 1080 1079 1202 1201 1324 1323 1446 1445 1568 1567 1690 1689 1812 1811 167 166 289 288 411 410 533 532 655 654 777 776 899 898 1021 1020 1143 1142 1265 1264 1387 1386 1509 1508 1631 1630 1753 1752 108 107 230 229 352 351 474 473 596 595 718 717 840 839 962 961 1084 1083 1206 1205 1328 1327 1450 1449 1572 1571 1694 1693 1816 1815 171 170 293 292 415 414 537 536 659 658 781 780 903 902 1025 1024 1147 1146 1269 1268 1391 1390 1513 1512 1635 1634 1757 1756 112 111 234 233 356 355 478 477 600 599 722 721 844 843 966 965 1088 1087 1210 1209 1332 1331 1454 1453 1576 1575 1698 1697 1820 1819 175 174 297 296 419 418 541 540 663 662 785 784 907 906 1029 1028 1151 1150 1273 1272 1395 1394 1517 1516 1639 1638 1761 1760 116 115 238 237 360 359 482 481 604 603 726 725 848 847 970 969 1092 1091 1214 1213 1336 1335 1458 1457 1580 1579 1702 1701 1824 1823 179 178 301 300 423 422 545 544 667 666 789 788 911 910 1033 1032 1155 1154 1277 1276 1399 1398 1521 1520 1643 1642 1765 1764 120 119 242 241 364 363 486 485 608 607 730 729 852 851 974 973 1096 1095 1218 1217 1340 1339 1462 1461 1584 1583 1706 1705 1828 1827 + DEPOLARIZE2(0.001) 2 3 124 125 246 247 368 369 490 491 612 613 734 735 856 857 978 979 1100 1101 1222 1223 1344 1345 1466 1467 1588 1589 1710 1711 65 66 187 188 309 310 431 432 553 554 675 676 797 798 919 920 1041 1042 1163 1164 1285 1286 1407 1408 1529 1530 1651 1652 1773 1774 6 7 128 129 250 251 372 373 494 495 616 617 738 739 860 861 982 983 1104 1105 1226 1227 1348 1349 1470 1471 1592 1593 1714 1715 69 70 191 192 313 314 435 436 557 558 679 680 801 802 923 924 1045 1046 1167 1168 1289 1290 1411 1412 1533 1534 1655 1656 1777 1778 10 11 132 133 254 255 376 377 498 499 620 621 742 743 864 865 986 987 1108 1109 1230 1231 1352 1353 1474 1475 1596 1597 1718 1719 73 74 195 196 317 318 439 440 561 562 683 684 805 806 927 928 1049 1050 1171 1172 1293 1294 1415 1416 1537 1538 1659 1660 1781 1782 14 15 136 137 258 259 380 381 502 503 624 625 746 747 868 869 990 991 1112 1113 1234 1235 1356 1357 1478 1479 1600 1601 1722 1723 77 78 199 200 321 322 443 444 565 566 687 688 809 810 931 932 1053 1054 1175 1176 1297 1298 1419 1420 1541 1542 1663 1664 1785 1786 18 19 140 141 262 263 384 385 506 507 628 629 750 751 872 873 994 995 1116 1117 1238 1239 1360 1361 1482 1483 1604 1605 1726 1727 81 82 203 204 325 326 447 448 569 570 691 692 813 814 935 936 1057 1058 1179 1180 1301 1302 1423 1424 1545 1546 1667 1668 1789 1790 22 23 144 145 266 267 388 389 510 511 632 633 754 755 876 877 998 999 1120 1121 1242 1243 1364 1365 1486 1487 1608 1609 1730 1731 85 86 207 208 329 330 451 452 573 574 695 696 817 818 939 940 1061 1062 1183 1184 1305 1306 1427 1428 1549 1550 1671 1672 1793 1794 26 27 148 149 270 271 392 393 514 515 636 637 758 759 880 881 1002 1003 1124 1125 1246 1247 1368 1369 1490 1491 1612 1613 1734 1735 89 90 211 212 333 334 455 456 577 578 699 700 821 822 943 944 1065 1066 1187 1188 1309 1310 1431 1432 1553 1554 1675 1676 1797 1798 30 31 152 153 274 275 396 397 518 519 640 641 762 763 884 885 1006 1007 1128 1129 1250 1251 1372 1373 1494 1495 1616 1617 1738 1739 93 94 215 216 337 338 459 460 581 582 703 704 825 826 947 948 1069 1070 1191 1192 1313 1314 1435 1436 1557 1558 1679 1680 1801 1802 34 35 156 157 278 279 400 401 522 523 644 645 766 767 888 889 1010 1011 1132 1133 1254 1255 1376 1377 1498 1499 1620 1621 1742 1743 97 98 219 220 341 342 463 464 585 586 707 708 829 830 951 952 1073 1074 1195 1196 1317 1318 1439 1440 1561 1562 1683 1684 1805 1806 38 39 160 161 282 283 404 405 526 527 648 649 770 771 892 893 1014 1015 1136 1137 1258 1259 1380 1381 1502 1503 1624 1625 1746 1747 101 102 223 224 345 346 467 468 589 590 711 712 833 834 955 956 1077 1078 1199 1200 1321 1322 1443 1444 1565 1566 1687 1688 1809 1810 42 43 164 165 286 287 408 409 530 531 652 653 774 775 896 897 1018 1019 1140 1141 1262 1263 1384 1385 1506 1507 1628 1629 1750 1751 105 106 227 228 349 350 471 472 593 594 715 716 837 838 959 960 1081 1082 1203 1204 1325 1326 1447 1448 1569 1570 1691 1692 1813 1814 46 47 168 169 290 291 412 413 534 535 656 657 778 779 900 901 1022 1023 1144 1145 1266 1267 1388 1389 1510 1511 1632 1633 1754 1755 109 110 231 232 353 354 475 476 597 598 719 720 841 842 963 964 1085 1086 1207 1208 1329 1330 1451 1452 1573 1574 1695 1696 1817 1818 50 51 172 173 294 295 416 417 538 539 660 661 782 783 904 905 1026 1027 1148 1149 1270 1271 1392 1393 1514 1515 1636 1637 1758 1759 113 114 235 236 357 358 479 480 601 602 723 724 845 846 967 968 1089 1090 1211 1212 1333 1334 1455 1456 1577 1578 1699 1700 1821 1822 54 55 176 177 298 299 420 421 542 543 664 665 786 787 908 909 1030 1031 1152 1153 1274 1275 1396 1397 1518 1519 1640 1641 1762 1763 117 118 239 240 361 362 483 484 605 606 727 728 849 850 971 972 1093 1094 1215 1216 1337 1338 1459 1460 1581 1582 1703 1704 1825 1826 58 59 180 181 302 303 424 425 546 547 668 669 790 791 912 913 1034 1035 1156 1157 1278 1279 1400 1401 1522 1523 1644 1645 1766 1767 123 122 245 244 367 366 489 488 611 610 733 732 855 854 977 976 1099 1098 1221 1220 1343 1342 1465 1464 1587 1586 1709 1708 64 63 186 185 308 307 430 429 552 551 674 673 796 795 918 917 1040 1039 1162 1161 1284 1283 1406 1405 1528 1527 1650 1649 1772 1771 127 126 249 248 371 370 493 492 615 614 737 736 859 858 981 980 1103 1102 1225 1224 1347 1346 1469 1468 1591 1590 1713 1712 68 67 190 189 312 311 434 433 556 555 678 677 800 799 922 921 1044 1043 1166 1165 1288 1287 1410 1409 1532 1531 1654 1653 1776 1775 131 130 253 252 375 374 497 496 619 618 741 740 863 862 985 984 1107 1106 1229 1228 1351 1350 1473 1472 1595 1594 1717 1716 72 71 194 193 316 315 438 437 560 559 682 681 804 803 926 925 1048 1047 1170 1169 1292 1291 1414 1413 1536 1535 1658 1657 1780 1779 135 134 257 256 379 378 501 500 623 622 745 744 867 866 989 988 1111 1110 1233 1232 1355 1354 1477 1476 1599 1598 1721 1720 76 75 198 197 320 319 442 441 564 563 686 685 808 807 930 929 1052 1051 1174 1173 1296 1295 1418 1417 1540 1539 1662 1661 1784 1783 139 138 261 260 383 382 505 504 627 626 749 748 871 870 993 992 1115 1114 1237 1236 1359 1358 1481 1480 1603 1602 1725 1724 80 79 202 201 324 323 446 445 568 567 690 689 812 811 934 933 1056 1055 1178 1177 1300 1299 1422 1421 1544 1543 1666 1665 1788 1787 143 142 265 264 387 386 509 508 631 630 753 752 875 874 997 996 1119 1118 1241 1240 1363 1362 1485 1484 1607 1606 1729 1728 84 83 206 205 328 327 450 449 572 571 694 693 816 815 938 937 1060 1059 1182 1181 1304 1303 1426 1425 1548 1547 1670 1669 1792 1791 147 146 269 268 391 390 513 512 635 634 757 756 879 878 1001 1000 1123 1122 1245 1244 1367 1366 1489 1488 1611 1610 1733 1732 88 87 210 209 332 331 454 453 576 575 698 697 820 819 942 941 1064 1063 1186 1185 1308 1307 1430 1429 1552 1551 1674 1673 1796 1795 151 150 273 272 395 394 517 516 639 638 761 760 883 882 1005 1004 1127 1126 1249 1248 1371 1370 1493 1492 1615 1614 1737 1736 92 91 214 213 336 335 458 457 580 579 702 701 824 823 946 945 1068 1067 1190 1189 1312 1311 1434 1433 1556 1555 1678 1677 1800 1799 155 154 277 276 399 398 521 520 643 642 765 764 887 886 1009 1008 1131 1130 1253 1252 1375 1374 1497 1496 1619 1618 1741 1740 96 95 218 217 340 339 462 461 584 583 706 705 828 827 950 949 1072 1071 1194 1193 1316 1315 1438 1437 1560 1559 1682 1681 1804 1803 159 158 281 280 403 402 525 524 647 646 769 768 891 890 1013 1012 1135 1134 1257 1256 1379 1378 1501 1500 1623 1622 1745 1744 100 99 222 221 344 343 466 465 588 587 710 709 832 831 954 953 1076 1075 1198 1197 1320 1319 1442 1441 1564 1563 1686 1685 1808 1807 163 162 285 284 407 406 529 528 651 650 773 772 895 894 1017 1016 1139 1138 1261 1260 1383 1382 1505 1504 1627 1626 1749 1748 104 103 226 225 348 347 470 469 592 591 714 713 836 835 958 957 1080 1079 1202 1201 1324 1323 1446 1445 1568 1567 1690 1689 1812 1811 167 166 289 288 411 410 533 532 655 654 777 776 899 898 1021 1020 1143 1142 1265 1264 1387 1386 1509 1508 1631 1630 1753 1752 108 107 230 229 352 351 474 473 596 595 718 717 840 839 962 961 1084 1083 1206 1205 1328 1327 1450 1449 1572 1571 1694 1693 1816 1815 171 170 293 292 415 414 537 536 659 658 781 780 903 902 1025 1024 1147 1146 1269 1268 1391 1390 1513 1512 1635 1634 1757 1756 112 111 234 233 356 355 478 477 600 599 722 721 844 843 966 965 1088 1087 1210 1209 1332 1331 1454 1453 1576 1575 1698 1697 1820 1819 175 174 297 296 419 418 541 540 663 662 785 784 907 906 1029 1028 1151 1150 1273 1272 1395 1394 1517 1516 1639 1638 1761 1760 116 115 238 237 360 359 482 481 604 603 726 725 848 847 970 969 1092 1091 1214 1213 1336 1335 1458 1457 1580 1579 1702 1701 1824 1823 179 178 301 300 423 422 545 544 667 666 789 788 911 910 1033 1032 1155 1154 1277 1276 1399 1398 1521 1520 1643 1642 1765 1764 120 119 242 241 364 363 486 485 608 607 730 729 852 851 974 973 1096 1095 1218 1217 1340 1339 1462 1461 1584 1583 1706 1705 1828 1827 + TICK + CX 2 1 124 123 246 245 368 367 490 489 612 611 734 733 856 855 978 977 1100 1099 1222 1221 1344 1343 1466 1465 1588 1587 1710 1709 65 64 187 186 309 308 431 430 553 552 675 674 797 796 919 918 1041 1040 1163 1162 1285 1284 1407 1406 1529 1528 1651 1650 1773 1772 6 5 128 127 250 249 372 371 494 493 616 615 738 737 860 859 982 981 1104 1103 1226 1225 1348 1347 1470 1469 1592 1591 1714 1713 69 68 191 190 313 312 435 434 557 556 679 678 801 800 923 922 1045 1044 1167 1166 1289 1288 1411 1410 1533 1532 1655 1654 1777 1776 10 9 132 131 254 253 376 375 498 497 620 619 742 741 864 863 986 985 1108 1107 1230 1229 1352 1351 1474 1473 1596 1595 1718 1717 73 72 195 194 317 316 439 438 561 560 683 682 805 804 927 926 1049 1048 1171 1170 1293 1292 1415 1414 1537 1536 1659 1658 1781 1780 14 13 136 135 258 257 380 379 502 501 624 623 746 745 868 867 990 989 1112 1111 1234 1233 1356 1355 1478 1477 1600 1599 1722 1721 77 76 199 198 321 320 443 442 565 564 687 686 809 808 931 930 1053 1052 1175 1174 1297 1296 1419 1418 1541 1540 1663 1662 1785 1784 18 17 140 139 262 261 384 383 506 505 628 627 750 749 872 871 994 993 1116 1115 1238 1237 1360 1359 1482 1481 1604 1603 1726 1725 81 80 203 202 325 324 447 446 569 568 691 690 813 812 935 934 1057 1056 1179 1178 1301 1300 1423 1422 1545 1544 1667 1666 1789 1788 22 21 144 143 266 265 388 387 510 509 632 631 754 753 876 875 998 997 1120 1119 1242 1241 1364 1363 1486 1485 1608 1607 1730 1729 85 84 207 206 329 328 451 450 573 572 695 694 817 816 939 938 1061 1060 1183 1182 1305 1304 1427 1426 1549 1548 1671 1670 1793 1792 26 25 148 147 270 269 392 391 514 513 636 635 758 757 880 879 1002 1001 1124 1123 1246 1245 1368 1367 1490 1489 1612 1611 1734 1733 89 88 211 210 333 332 455 454 577 576 699 698 821 820 943 942 1065 1064 1187 1186 1309 1308 1431 1430 1553 1552 1675 1674 1797 1796 30 29 152 151 274 273 396 395 518 517 640 639 762 761 884 883 1006 1005 1128 1127 1250 1249 1372 1371 1494 1493 1616 1615 1738 1737 93 92 215 214 337 336 459 458 581 580 703 702 825 824 947 946 1069 1068 1191 1190 1313 1312 1435 1434 1557 1556 1679 1678 1801 1800 34 33 156 155 278 277 400 399 522 521 644 643 766 765 888 887 1010 1009 1132 1131 1254 1253 1376 1375 1498 1497 1620 1619 1742 1741 97 96 219 218 341 340 463 462 585 584 707 706 829 828 951 950 1073 1072 1195 1194 1317 1316 1439 1438 1561 1560 1683 1682 1805 1804 38 37 160 159 282 281 404 403 526 525 648 647 770 769 892 891 1014 1013 1136 1135 1258 1257 1380 1379 1502 1501 1624 1623 1746 1745 101 100 223 222 345 344 467 466 589 588 711 710 833 832 955 954 1077 1076 1199 1198 1321 1320 1443 1442 1565 1564 1687 1686 1809 1808 42 41 164 163 286 285 408 407 530 529 652 651 774 773 896 895 1018 1017 1140 1139 1262 1261 1384 1383 1506 1505 1628 1627 1750 1749 105 104 227 226 349 348 471 470 593 592 715 714 837 836 959 958 1081 1080 1203 1202 1325 1324 1447 1446 1569 1568 1691 1690 1813 1812 46 45 168 167 290 289 412 411 534 533 656 655 778 777 900 899 1022 1021 1144 1143 1266 1265 1388 1387 1510 1509 1632 1631 1754 1753 109 108 231 230 353 352 475 474 597 596 719 718 841 840 963 962 1085 1084 1207 1206 1329 1328 1451 1450 1573 1572 1695 1694 1817 1816 50 49 172 171 294 293 416 415 538 537 660 659 782 781 904 903 1026 1025 1148 1147 1270 1269 1392 1391 1514 1513 1636 1635 1758 1757 113 112 235 234 357 356 479 478 601 600 723 722 845 844 967 966 1089 1088 1211 1210 1333 1332 1455 1454 1577 1576 1699 1698 1821 1820 54 53 176 175 298 297 420 419 542 541 664 663 786 785 908 907 1030 1029 1152 1151 1274 1273 1396 1395 1518 1517 1640 1639 1762 1761 117 116 239 238 361 360 483 482 605 604 727 726 849 848 971 970 1093 1092 1215 1214 1337 1336 1459 1458 1581 1580 1703 1702 1825 1824 58 57 180 179 302 301 424 423 546 545 668 667 790 789 912 911 1034 1033 1156 1155 1278 1277 1400 1399 1522 1521 1644 1643 1766 1765 62 122 184 244 306 366 428 488 550 610 672 732 794 854 916 976 1038 1098 1160 1220 1282 1342 1404 1464 1526 1586 1648 1708 3 63 125 185 247 307 369 429 491 551 613 673 735 795 857 917 979 1039 1101 1161 1223 1283 1345 1405 1467 1527 1589 1649 1711 1771 66 126 188 248 310 370 432 492 554 614 676 736 798 858 920 980 1042 1102 1164 1224 1286 1346 1408 1468 1530 1590 1652 1712 7 67 129 189 251 311 373 433 495 555 617 677 739 799 861 921 983 1043 1105 1165 1227 1287 1349 1409 1471 1531 1593 1653 1715 1775 70 130 192 252 314 374 436 496 558 618 680 740 802 862 924 984 1046 1106 1168 1228 1290 1350 1412 1472 1534 1594 1656 1716 11 71 133 193 255 315 377 437 499 559 621 681 743 803 865 925 987 1047 1109 1169 1231 1291 1353 1413 1475 1535 1597 1657 1719 1779 74 134 196 256 318 378 440 500 562 622 684 744 806 866 928 988 1050 1110 1172 1232 1294 1354 1416 1476 1538 1598 1660 1720 15 75 137 197 259 319 381 441 503 563 625 685 747 807 869 929 991 1051 1113 1173 1235 1295 1357 1417 1479 1539 1601 1661 1723 1783 78 138 200 260 322 382 444 504 566 626 688 748 810 870 932 992 1054 1114 1176 1236 1298 1358 1420 1480 1542 1602 1664 1724 19 79 141 201 263 323 385 445 507 567 629 689 751 811 873 933 995 1055 1117 1177 1239 1299 1361 1421 1483 1543 1605 1665 1727 1787 82 142 204 264 326 386 448 508 570 630 692 752 814 874 936 996 1058 1118 1180 1240 1302 1362 1424 1484 1546 1606 1668 1728 23 83 145 205 267 327 389 449 511 571 633 693 755 815 877 937 999 1059 1121 1181 1243 1303 1365 1425 1487 1547 1609 1669 1731 1791 86 146 208 268 330 390 452 512 574 634 696 756 818 878 940 1000 1062 1122 1184 1244 1306 1366 1428 1488 1550 1610 1672 1732 27 87 149 209 271 331 393 453 515 575 637 697 759 819 881 941 1003 1063 1125 1185 1247 1307 1369 1429 1491 1551 1613 1673 1735 1795 90 150 212 272 334 394 456 516 578 638 700 760 822 882 944 1004 1066 1126 1188 1248 1310 1370 1432 1492 1554 1614 1676 1736 31 91 153 213 275 335 397 457 519 579 641 701 763 823 885 945 1007 1067 1129 1189 1251 1311 1373 1433 1495 1555 1617 1677 1739 1799 94 154 216 276 338 398 460 520 582 642 704 764 826 886 948 1008 1070 1130 1192 1252 1314 1374 1436 1496 1558 1618 1680 1740 35 95 157 217 279 339 401 461 523 583 645 705 767 827 889 949 1011 1071 1133 1193 1255 1315 1377 1437 1499 1559 1621 1681 1743 1803 98 158 220 280 342 402 464 524 586 646 708 768 830 890 952 1012 1074 1134 1196 1256 1318 1378 1440 1500 1562 1622 1684 1744 39 99 161 221 283 343 405 465 527 587 649 709 771 831 893 953 1015 1075 1137 1197 1259 1319 1381 1441 1503 1563 1625 1685 1747 1807 102 162 224 284 346 406 468 528 590 650 712 772 834 894 956 1016 1078 1138 1200 1260 1322 1382 1444 1504 1566 1626 1688 1748 43 103 165 225 287 347 409 469 531 591 653 713 775 835 897 957 1019 1079 1141 1201 1263 1323 1385 1445 1507 1567 1629 1689 1751 1811 106 166 228 288 350 410 472 532 594 654 716 776 838 898 960 1020 1082 1142 1204 1264 1326 1386 1448 1508 1570 1630 1692 1752 47 107 169 229 291 351 413 473 535 595 657 717 779 839 901 961 1023 1083 1145 1205 1267 1327 1389 1449 1511 1571 1633 1693 1755 1815 110 170 232 292 354 414 476 536 598 658 720 780 842 902 964 1024 1086 1146 1208 1268 1330 1390 1452 1512 1574 1634 1696 1756 51 111 173 233 295 355 417 477 539 599 661 721 783 843 905 965 1027 1087 1149 1209 1271 1331 1393 1453 1515 1575 1637 1697 1759 1819 114 174 236 296 358 418 480 540 602 662 724 784 846 906 968 1028 1090 1150 1212 1272 1334 1394 1456 1516 1578 1638 1700 1760 55 115 177 237 299 359 421 481 543 603 665 725 787 847 909 969 1031 1091 1153 1213 1275 1335 1397 1457 1519 1579 1641 1701 1763 1823 118 178 240 300 362 422 484 544 606 666 728 788 850 910 972 1032 1094 1154 1216 1276 1338 1398 1460 1520 1582 1642 1704 1764 59 119 181 241 303 363 425 485 547 607 669 729 791 851 913 973 1035 1095 1157 1217 1279 1339 1401 1461 1523 1583 1645 1705 1767 1827 + DEPOLARIZE2(0.001) 2 1 124 123 246 245 368 367 490 489 612 611 734 733 856 855 978 977 1100 1099 1222 1221 1344 1343 1466 1465 1588 1587 1710 1709 65 64 187 186 309 308 431 430 553 552 675 674 797 796 919 918 1041 1040 1163 1162 1285 1284 1407 1406 1529 1528 1651 1650 1773 1772 6 5 128 127 250 249 372 371 494 493 616 615 738 737 860 859 982 981 1104 1103 1226 1225 1348 1347 1470 1469 1592 1591 1714 1713 69 68 191 190 313 312 435 434 557 556 679 678 801 800 923 922 1045 1044 1167 1166 1289 1288 1411 1410 1533 1532 1655 1654 1777 1776 10 9 132 131 254 253 376 375 498 497 620 619 742 741 864 863 986 985 1108 1107 1230 1229 1352 1351 1474 1473 1596 1595 1718 1717 73 72 195 194 317 316 439 438 561 560 683 682 805 804 927 926 1049 1048 1171 1170 1293 1292 1415 1414 1537 1536 1659 1658 1781 1780 14 13 136 135 258 257 380 379 502 501 624 623 746 745 868 867 990 989 1112 1111 1234 1233 1356 1355 1478 1477 1600 1599 1722 1721 77 76 199 198 321 320 443 442 565 564 687 686 809 808 931 930 1053 1052 1175 1174 1297 1296 1419 1418 1541 1540 1663 1662 1785 1784 18 17 140 139 262 261 384 383 506 505 628 627 750 749 872 871 994 993 1116 1115 1238 1237 1360 1359 1482 1481 1604 1603 1726 1725 81 80 203 202 325 324 447 446 569 568 691 690 813 812 935 934 1057 1056 1179 1178 1301 1300 1423 1422 1545 1544 1667 1666 1789 1788 22 21 144 143 266 265 388 387 510 509 632 631 754 753 876 875 998 997 1120 1119 1242 1241 1364 1363 1486 1485 1608 1607 1730 1729 85 84 207 206 329 328 451 450 573 572 695 694 817 816 939 938 1061 1060 1183 1182 1305 1304 1427 1426 1549 1548 1671 1670 1793 1792 26 25 148 147 270 269 392 391 514 513 636 635 758 757 880 879 1002 1001 1124 1123 1246 1245 1368 1367 1490 1489 1612 1611 1734 1733 89 88 211 210 333 332 455 454 577 576 699 698 821 820 943 942 1065 1064 1187 1186 1309 1308 1431 1430 1553 1552 1675 1674 1797 1796 30 29 152 151 274 273 396 395 518 517 640 639 762 761 884 883 1006 1005 1128 1127 1250 1249 1372 1371 1494 1493 1616 1615 1738 1737 93 92 215 214 337 336 459 458 581 580 703 702 825 824 947 946 1069 1068 1191 1190 1313 1312 1435 1434 1557 1556 1679 1678 1801 1800 34 33 156 155 278 277 400 399 522 521 644 643 766 765 888 887 1010 1009 1132 1131 1254 1253 1376 1375 1498 1497 1620 1619 1742 1741 97 96 219 218 341 340 463 462 585 584 707 706 829 828 951 950 1073 1072 1195 1194 1317 1316 1439 1438 1561 1560 1683 1682 1805 1804 38 37 160 159 282 281 404 403 526 525 648 647 770 769 892 891 1014 1013 1136 1135 1258 1257 1380 1379 1502 1501 1624 1623 1746 1745 101 100 223 222 345 344 467 466 589 588 711 710 833 832 955 954 1077 1076 1199 1198 1321 1320 1443 1442 1565 1564 1687 1686 1809 1808 42 41 164 163 286 285 408 407 530 529 652 651 774 773 896 895 1018 1017 1140 1139 1262 1261 1384 1383 1506 1505 1628 1627 1750 1749 105 104 227 226 349 348 471 470 593 592 715 714 837 836 959 958 1081 1080 1203 1202 1325 1324 1447 1446 1569 1568 1691 1690 1813 1812 46 45 168 167 290 289 412 411 534 533 656 655 778 777 900 899 1022 1021 1144 1143 1266 1265 1388 1387 1510 1509 1632 1631 1754 1753 109 108 231 230 353 352 475 474 597 596 719 718 841 840 963 962 1085 1084 1207 1206 1329 1328 1451 1450 1573 1572 1695 1694 1817 1816 50 49 172 171 294 293 416 415 538 537 660 659 782 781 904 903 1026 1025 1148 1147 1270 1269 1392 1391 1514 1513 1636 1635 1758 1757 113 112 235 234 357 356 479 478 601 600 723 722 845 844 967 966 1089 1088 1211 1210 1333 1332 1455 1454 1577 1576 1699 1698 1821 1820 54 53 176 175 298 297 420 419 542 541 664 663 786 785 908 907 1030 1029 1152 1151 1274 1273 1396 1395 1518 1517 1640 1639 1762 1761 117 116 239 238 361 360 483 482 605 604 727 726 849 848 971 970 1093 1092 1215 1214 1337 1336 1459 1458 1581 1580 1703 1702 1825 1824 58 57 180 179 302 301 424 423 546 545 668 667 790 789 912 911 1034 1033 1156 1155 1278 1277 1400 1399 1522 1521 1644 1643 1766 1765 62 122 184 244 306 366 428 488 550 610 672 732 794 854 916 976 1038 1098 1160 1220 1282 1342 1404 1464 1526 1586 1648 1708 3 63 125 185 247 307 369 429 491 551 613 673 735 795 857 917 979 1039 1101 1161 1223 1283 1345 1405 1467 1527 1589 1649 1711 1771 66 126 188 248 310 370 432 492 554 614 676 736 798 858 920 980 1042 1102 1164 1224 1286 1346 1408 1468 1530 1590 1652 1712 7 67 129 189 251 311 373 433 495 555 617 677 739 799 861 921 983 1043 1105 1165 1227 1287 1349 1409 1471 1531 1593 1653 1715 1775 70 130 192 252 314 374 436 496 558 618 680 740 802 862 924 984 1046 1106 1168 1228 1290 1350 1412 1472 1534 1594 1656 1716 11 71 133 193 255 315 377 437 499 559 621 681 743 803 865 925 987 1047 1109 1169 1231 1291 1353 1413 1475 1535 1597 1657 1719 1779 74 134 196 256 318 378 440 500 562 622 684 744 806 866 928 988 1050 1110 1172 1232 1294 1354 1416 1476 1538 1598 1660 1720 15 75 137 197 259 319 381 441 503 563 625 685 747 807 869 929 991 1051 1113 1173 1235 1295 1357 1417 1479 1539 1601 1661 1723 1783 78 138 200 260 322 382 444 504 566 626 688 748 810 870 932 992 1054 1114 1176 1236 1298 1358 1420 1480 1542 1602 1664 1724 19 79 141 201 263 323 385 445 507 567 629 689 751 811 873 933 995 1055 1117 1177 1239 1299 1361 1421 1483 1543 1605 1665 1727 1787 82 142 204 264 326 386 448 508 570 630 692 752 814 874 936 996 1058 1118 1180 1240 1302 1362 1424 1484 1546 1606 1668 1728 23 83 145 205 267 327 389 449 511 571 633 693 755 815 877 937 999 1059 1121 1181 1243 1303 1365 1425 1487 1547 1609 1669 1731 1791 86 146 208 268 330 390 452 512 574 634 696 756 818 878 940 1000 1062 1122 1184 1244 1306 1366 1428 1488 1550 1610 1672 1732 27 87 149 209 271 331 393 453 515 575 637 697 759 819 881 941 1003 1063 1125 1185 1247 1307 1369 1429 1491 1551 1613 1673 1735 1795 90 150 212 272 334 394 456 516 578 638 700 760 822 882 944 1004 1066 1126 1188 1248 1310 1370 1432 1492 1554 1614 1676 1736 31 91 153 213 275 335 397 457 519 579 641 701 763 823 885 945 1007 1067 1129 1189 1251 1311 1373 1433 1495 1555 1617 1677 1739 1799 94 154 216 276 338 398 460 520 582 642 704 764 826 886 948 1008 1070 1130 1192 1252 1314 1374 1436 1496 1558 1618 1680 1740 35 95 157 217 279 339 401 461 523 583 645 705 767 827 889 949 1011 1071 1133 1193 1255 1315 1377 1437 1499 1559 1621 1681 1743 1803 98 158 220 280 342 402 464 524 586 646 708 768 830 890 952 1012 1074 1134 1196 1256 1318 1378 1440 1500 1562 1622 1684 1744 39 99 161 221 283 343 405 465 527 587 649 709 771 831 893 953 1015 1075 1137 1197 1259 1319 1381 1441 1503 1563 1625 1685 1747 1807 102 162 224 284 346 406 468 528 590 650 712 772 834 894 956 1016 1078 1138 1200 1260 1322 1382 1444 1504 1566 1626 1688 1748 43 103 165 225 287 347 409 469 531 591 653 713 775 835 897 957 1019 1079 1141 1201 1263 1323 1385 1445 1507 1567 1629 1689 1751 1811 106 166 228 288 350 410 472 532 594 654 716 776 838 898 960 1020 1082 1142 1204 1264 1326 1386 1448 1508 1570 1630 1692 1752 47 107 169 229 291 351 413 473 535 595 657 717 779 839 901 961 1023 1083 1145 1205 1267 1327 1389 1449 1511 1571 1633 1693 1755 1815 110 170 232 292 354 414 476 536 598 658 720 780 842 902 964 1024 1086 1146 1208 1268 1330 1390 1452 1512 1574 1634 1696 1756 51 111 173 233 295 355 417 477 539 599 661 721 783 843 905 965 1027 1087 1149 1209 1271 1331 1393 1453 1515 1575 1637 1697 1759 1819 114 174 236 296 358 418 480 540 602 662 724 784 846 906 968 1028 1090 1150 1212 1272 1334 1394 1456 1516 1578 1638 1700 1760 55 115 177 237 299 359 421 481 543 603 665 725 787 847 909 969 1031 1091 1153 1213 1275 1335 1397 1457 1519 1579 1641 1701 1763 1823 118 178 240 300 362 422 484 544 606 666 728 788 850 910 972 1032 1094 1154 1216 1276 1338 1398 1460 1520 1582 1642 1704 1764 59 119 181 241 303 363 425 485 547 607 669 729 791 851 913 973 1035 1095 1157 1217 1279 1339 1401 1461 1523 1583 1645 1705 1767 1827 + TICK + CX 124 64 246 186 368 308 490 430 612 552 734 674 856 796 978 918 1100 1040 1222 1162 1344 1284 1466 1406 1588 1528 1710 1650 1832 1772 65 5 187 127 309 249 431 371 553 493 675 615 797 737 919 859 1041 981 1163 1103 1285 1225 1407 1347 1529 1469 1651 1591 1773 1713 128 68 250 190 372 312 494 434 616 556 738 678 860 800 982 922 1104 1044 1226 1166 1348 1288 1470 1410 1592 1532 1714 1654 1836 1776 69 9 191 131 313 253 435 375 557 497 679 619 801 741 923 863 1045 985 1167 1107 1289 1229 1411 1351 1533 1473 1655 1595 1777 1717 132 72 254 194 376 316 498 438 620 560 742 682 864 804 986 926 1108 1048 1230 1170 1352 1292 1474 1414 1596 1536 1718 1658 1840 1780 73 13 195 135 317 257 439 379 561 501 683 623 805 745 927 867 1049 989 1171 1111 1293 1233 1415 1355 1537 1477 1659 1599 1781 1721 136 76 258 198 380 320 502 442 624 564 746 686 868 808 990 930 1112 1052 1234 1174 1356 1296 1478 1418 1600 1540 1722 1662 1844 1784 77 17 199 139 321 261 443 383 565 505 687 627 809 749 931 871 1053 993 1175 1115 1297 1237 1419 1359 1541 1481 1663 1603 1785 1725 140 80 262 202 384 324 506 446 628 568 750 690 872 812 994 934 1116 1056 1238 1178 1360 1300 1482 1422 1604 1544 1726 1666 1848 1788 81 21 203 143 325 265 447 387 569 509 691 631 813 753 935 875 1057 997 1179 1119 1301 1241 1423 1363 1545 1485 1667 1607 1789 1729 144 84 266 206 388 328 510 450 632 572 754 694 876 816 998 938 1120 1060 1242 1182 1364 1304 1486 1426 1608 1548 1730 1670 1852 1792 85 25 207 147 329 269 451 391 573 513 695 635 817 757 939 879 1061 1001 1183 1123 1305 1245 1427 1367 1549 1489 1671 1611 1793 1733 148 88 270 210 392 332 514 454 636 576 758 698 880 820 1002 942 1124 1064 1246 1186 1368 1308 1490 1430 1612 1552 1734 1674 1856 1796 89 29 211 151 333 273 455 395 577 517 699 639 821 761 943 883 1065 1005 1187 1127 1309 1249 1431 1371 1553 1493 1675 1615 1797 1737 152 92 274 214 396 336 518 458 640 580 762 702 884 824 1006 946 1128 1068 1250 1190 1372 1312 1494 1434 1616 1556 1738 1678 1860 1800 93 33 215 155 337 277 459 399 581 521 703 643 825 765 947 887 1069 1009 1191 1131 1313 1253 1435 1375 1557 1497 1679 1619 1801 1741 156 96 278 218 400 340 522 462 644 584 766 706 888 828 1010 950 1132 1072 1254 1194 1376 1316 1498 1438 1620 1560 1742 1682 1864 1804 97 37 219 159 341 281 463 403 585 525 707 647 829 769 951 891 1073 1013 1195 1135 1317 1257 1439 1379 1561 1501 1683 1623 1805 1745 160 100 282 222 404 344 526 466 648 588 770 710 892 832 1014 954 1136 1076 1258 1198 1380 1320 1502 1442 1624 1564 1746 1686 1868 1808 101 41 223 163 345 285 467 407 589 529 711 651 833 773 955 895 1077 1017 1199 1139 1321 1261 1443 1383 1565 1505 1687 1627 1809 1749 164 104 286 226 408 348 530 470 652 592 774 714 896 836 1018 958 1140 1080 1262 1202 1384 1324 1506 1446 1628 1568 1750 1690 1872 1812 105 45 227 167 349 289 471 411 593 533 715 655 837 777 959 899 1081 1021 1203 1143 1325 1265 1447 1387 1569 1509 1691 1631 1813 1753 168 108 290 230 412 352 534 474 656 596 778 718 900 840 1022 962 1144 1084 1266 1206 1388 1328 1510 1450 1632 1572 1754 1694 1876 1816 109 49 231 171 353 293 475 415 597 537 719 659 841 781 963 903 1085 1025 1207 1147 1329 1269 1451 1391 1573 1513 1695 1635 1817 1757 172 112 294 234 416 356 538 478 660 600 782 722 904 844 1026 966 1148 1088 1270 1210 1392 1332 1514 1454 1636 1576 1758 1698 1880 1820 113 53 235 175 357 297 479 419 601 541 723 663 845 785 967 907 1089 1029 1211 1151 1333 1273 1455 1395 1577 1517 1699 1639 1821 1761 176 116 298 238 420 360 542 482 664 604 786 726 908 848 1030 970 1152 1092 1274 1214 1396 1336 1518 1458 1640 1580 1762 1702 1884 1824 117 57 239 179 361 301 483 423 605 545 727 667 849 789 971 911 1093 1033 1215 1155 1337 1277 1459 1399 1581 1521 1703 1643 1825 1765 180 120 302 242 424 364 546 486 668 608 790 730 912 852 1034 974 1156 1096 1278 1218 1400 1340 1522 1462 1644 1584 1766 1706 1888 1828 62 63 184 185 306 307 428 429 550 551 672 673 794 795 916 917 1038 1039 1160 1161 1282 1283 1404 1405 1526 1527 1648 1649 1770 1771 125 126 247 248 369 370 491 492 613 614 735 736 857 858 979 980 1101 1102 1223 1224 1345 1346 1467 1468 1589 1590 1711 1712 66 67 188 189 310 311 432 433 554 555 676 677 798 799 920 921 1042 1043 1164 1165 1286 1287 1408 1409 1530 1531 1652 1653 1774 1775 129 130 251 252 373 374 495 496 617 618 739 740 861 862 983 984 1105 1106 1227 1228 1349 1350 1471 1472 1593 1594 1715 1716 70 71 192 193 314 315 436 437 558 559 680 681 802 803 924 925 1046 1047 1168 1169 1290 1291 1412 1413 1534 1535 1656 1657 1778 1779 133 134 255 256 377 378 499 500 621 622 743 744 865 866 987 988 1109 1110 1231 1232 1353 1354 1475 1476 1597 1598 1719 1720 74 75 196 197 318 319 440 441 562 563 684 685 806 807 928 929 1050 1051 1172 1173 1294 1295 1416 1417 1538 1539 1660 1661 1782 1783 137 138 259 260 381 382 503 504 625 626 747 748 869 870 991 992 1113 1114 1235 1236 1357 1358 1479 1480 1601 1602 1723 1724 78 79 200 201 322 323 444 445 566 567 688 689 810 811 932 933 1054 1055 1176 1177 1298 1299 1420 1421 1542 1543 1664 1665 1786 1787 141 142 263 264 385 386 507 508 629 630 751 752 873 874 995 996 1117 1118 1239 1240 1361 1362 1483 1484 1605 1606 1727 1728 82 83 204 205 326 327 448 449 570 571 692 693 814 815 936 937 1058 1059 1180 1181 1302 1303 1424 1425 1546 1547 1668 1669 1790 1791 145 146 267 268 389 390 511 512 633 634 755 756 877 878 999 1000 1121 1122 1243 1244 1365 1366 1487 1488 1609 1610 1731 1732 86 87 208 209 330 331 452 453 574 575 696 697 818 819 940 941 1062 1063 1184 1185 1306 1307 1428 1429 1550 1551 1672 1673 1794 1795 149 150 271 272 393 394 515 516 637 638 759 760 881 882 1003 1004 1125 1126 1247 1248 1369 1370 1491 1492 1613 1614 1735 1736 90 91 212 213 334 335 456 457 578 579 700 701 822 823 944 945 1066 1067 1188 1189 1310 1311 1432 1433 1554 1555 1676 1677 1798 1799 153 154 275 276 397 398 519 520 641 642 763 764 885 886 1007 1008 1129 1130 1251 1252 1373 1374 1495 1496 1617 1618 1739 1740 94 95 216 217 338 339 460 461 582 583 704 705 826 827 948 949 1070 1071 1192 1193 1314 1315 1436 1437 1558 1559 1680 1681 1802 1803 157 158 279 280 401 402 523 524 645 646 767 768 889 890 1011 1012 1133 1134 1255 1256 1377 1378 1499 1500 1621 1622 1743 1744 98 99 220 221 342 343 464 465 586 587 708 709 830 831 952 953 1074 1075 1196 1197 1318 1319 1440 1441 1562 1563 1684 1685 1806 1807 161 162 283 284 405 406 527 528 649 650 771 772 893 894 1015 1016 1137 1138 1259 1260 1381 1382 1503 1504 1625 1626 1747 1748 102 103 224 225 346 347 468 469 590 591 712 713 834 835 956 957 1078 1079 1200 1201 1322 1323 1444 1445 1566 1567 1688 1689 1810 1811 165 166 287 288 409 410 531 532 653 654 775 776 897 898 1019 1020 1141 1142 1263 1264 1385 1386 1507 1508 1629 1630 1751 1752 106 107 228 229 350 351 472 473 594 595 716 717 838 839 960 961 1082 1083 1204 1205 1326 1327 1448 1449 1570 1571 1692 1693 1814 1815 169 170 291 292 413 414 535 536 657 658 779 780 901 902 1023 1024 1145 1146 1267 1268 1389 1390 1511 1512 1633 1634 1755 1756 110 111 232 233 354 355 476 477 598 599 720 721 842 843 964 965 1086 1087 1208 1209 1330 1331 1452 1453 1574 1575 1696 1697 1818 1819 173 174 295 296 417 418 539 540 661 662 783 784 905 906 1027 1028 1149 1150 1271 1272 1393 1394 1515 1516 1637 1638 1759 1760 114 115 236 237 358 359 480 481 602 603 724 725 846 847 968 969 1090 1091 1212 1213 1334 1335 1456 1457 1578 1579 1700 1701 1822 1823 177 178 299 300 421 422 543 544 665 666 787 788 909 910 1031 1032 1153 1154 1275 1276 1397 1398 1519 1520 1641 1642 1763 1764 118 119 240 241 362 363 484 485 606 607 728 729 850 851 972 973 1094 1095 1216 1217 1338 1339 1460 1461 1582 1583 1704 1705 1826 1827 181 182 303 304 425 426 547 548 669 670 791 792 913 914 1035 1036 1157 1158 1279 1280 1401 1402 1523 1524 1645 1646 1767 1768 + DEPOLARIZE2(0.001) 124 64 246 186 368 308 490 430 612 552 734 674 856 796 978 918 1100 1040 1222 1162 1344 1284 1466 1406 1588 1528 1710 1650 1832 1772 65 5 187 127 309 249 431 371 553 493 675 615 797 737 919 859 1041 981 1163 1103 1285 1225 1407 1347 1529 1469 1651 1591 1773 1713 128 68 250 190 372 312 494 434 616 556 738 678 860 800 982 922 1104 1044 1226 1166 1348 1288 1470 1410 1592 1532 1714 1654 1836 1776 69 9 191 131 313 253 435 375 557 497 679 619 801 741 923 863 1045 985 1167 1107 1289 1229 1411 1351 1533 1473 1655 1595 1777 1717 132 72 254 194 376 316 498 438 620 560 742 682 864 804 986 926 1108 1048 1230 1170 1352 1292 1474 1414 1596 1536 1718 1658 1840 1780 73 13 195 135 317 257 439 379 561 501 683 623 805 745 927 867 1049 989 1171 1111 1293 1233 1415 1355 1537 1477 1659 1599 1781 1721 136 76 258 198 380 320 502 442 624 564 746 686 868 808 990 930 1112 1052 1234 1174 1356 1296 1478 1418 1600 1540 1722 1662 1844 1784 77 17 199 139 321 261 443 383 565 505 687 627 809 749 931 871 1053 993 1175 1115 1297 1237 1419 1359 1541 1481 1663 1603 1785 1725 140 80 262 202 384 324 506 446 628 568 750 690 872 812 994 934 1116 1056 1238 1178 1360 1300 1482 1422 1604 1544 1726 1666 1848 1788 81 21 203 143 325 265 447 387 569 509 691 631 813 753 935 875 1057 997 1179 1119 1301 1241 1423 1363 1545 1485 1667 1607 1789 1729 144 84 266 206 388 328 510 450 632 572 754 694 876 816 998 938 1120 1060 1242 1182 1364 1304 1486 1426 1608 1548 1730 1670 1852 1792 85 25 207 147 329 269 451 391 573 513 695 635 817 757 939 879 1061 1001 1183 1123 1305 1245 1427 1367 1549 1489 1671 1611 1793 1733 148 88 270 210 392 332 514 454 636 576 758 698 880 820 1002 942 1124 1064 1246 1186 1368 1308 1490 1430 1612 1552 1734 1674 1856 1796 89 29 211 151 333 273 455 395 577 517 699 639 821 761 943 883 1065 1005 1187 1127 1309 1249 1431 1371 1553 1493 1675 1615 1797 1737 152 92 274 214 396 336 518 458 640 580 762 702 884 824 1006 946 1128 1068 1250 1190 1372 1312 1494 1434 1616 1556 1738 1678 1860 1800 93 33 215 155 337 277 459 399 581 521 703 643 825 765 947 887 1069 1009 1191 1131 1313 1253 1435 1375 1557 1497 1679 1619 1801 1741 156 96 278 218 400 340 522 462 644 584 766 706 888 828 1010 950 1132 1072 1254 1194 1376 1316 1498 1438 1620 1560 1742 1682 1864 1804 97 37 219 159 341 281 463 403 585 525 707 647 829 769 951 891 1073 1013 1195 1135 1317 1257 1439 1379 1561 1501 1683 1623 1805 1745 160 100 282 222 404 344 526 466 648 588 770 710 892 832 1014 954 1136 1076 1258 1198 1380 1320 1502 1442 1624 1564 1746 1686 1868 1808 101 41 223 163 345 285 467 407 589 529 711 651 833 773 955 895 1077 1017 1199 1139 1321 1261 1443 1383 1565 1505 1687 1627 1809 1749 164 104 286 226 408 348 530 470 652 592 774 714 896 836 1018 958 1140 1080 1262 1202 1384 1324 1506 1446 1628 1568 1750 1690 1872 1812 105 45 227 167 349 289 471 411 593 533 715 655 837 777 959 899 1081 1021 1203 1143 1325 1265 1447 1387 1569 1509 1691 1631 1813 1753 168 108 290 230 412 352 534 474 656 596 778 718 900 840 1022 962 1144 1084 1266 1206 1388 1328 1510 1450 1632 1572 1754 1694 1876 1816 109 49 231 171 353 293 475 415 597 537 719 659 841 781 963 903 1085 1025 1207 1147 1329 1269 1451 1391 1573 1513 1695 1635 1817 1757 172 112 294 234 416 356 538 478 660 600 782 722 904 844 1026 966 1148 1088 1270 1210 1392 1332 1514 1454 1636 1576 1758 1698 1880 1820 113 53 235 175 357 297 479 419 601 541 723 663 845 785 967 907 1089 1029 1211 1151 1333 1273 1455 1395 1577 1517 1699 1639 1821 1761 176 116 298 238 420 360 542 482 664 604 786 726 908 848 1030 970 1152 1092 1274 1214 1396 1336 1518 1458 1640 1580 1762 1702 1884 1824 117 57 239 179 361 301 483 423 605 545 727 667 849 789 971 911 1093 1033 1215 1155 1337 1277 1459 1399 1581 1521 1703 1643 1825 1765 180 120 302 242 424 364 546 486 668 608 790 730 912 852 1034 974 1156 1096 1278 1218 1400 1340 1522 1462 1644 1584 1766 1706 1888 1828 62 63 184 185 306 307 428 429 550 551 672 673 794 795 916 917 1038 1039 1160 1161 1282 1283 1404 1405 1526 1527 1648 1649 1770 1771 125 126 247 248 369 370 491 492 613 614 735 736 857 858 979 980 1101 1102 1223 1224 1345 1346 1467 1468 1589 1590 1711 1712 66 67 188 189 310 311 432 433 554 555 676 677 798 799 920 921 1042 1043 1164 1165 1286 1287 1408 1409 1530 1531 1652 1653 1774 1775 129 130 251 252 373 374 495 496 617 618 739 740 861 862 983 984 1105 1106 1227 1228 1349 1350 1471 1472 1593 1594 1715 1716 70 71 192 193 314 315 436 437 558 559 680 681 802 803 924 925 1046 1047 1168 1169 1290 1291 1412 1413 1534 1535 1656 1657 1778 1779 133 134 255 256 377 378 499 500 621 622 743 744 865 866 987 988 1109 1110 1231 1232 1353 1354 1475 1476 1597 1598 1719 1720 74 75 196 197 318 319 440 441 562 563 684 685 806 807 928 929 1050 1051 1172 1173 1294 1295 1416 1417 1538 1539 1660 1661 1782 1783 137 138 259 260 381 382 503 504 625 626 747 748 869 870 991 992 1113 1114 1235 1236 1357 1358 1479 1480 1601 1602 1723 1724 78 79 200 201 322 323 444 445 566 567 688 689 810 811 932 933 1054 1055 1176 1177 1298 1299 1420 1421 1542 1543 1664 1665 1786 1787 141 142 263 264 385 386 507 508 629 630 751 752 873 874 995 996 1117 1118 1239 1240 1361 1362 1483 1484 1605 1606 1727 1728 82 83 204 205 326 327 448 449 570 571 692 693 814 815 936 937 1058 1059 1180 1181 1302 1303 1424 1425 1546 1547 1668 1669 1790 1791 145 146 267 268 389 390 511 512 633 634 755 756 877 878 999 1000 1121 1122 1243 1244 1365 1366 1487 1488 1609 1610 1731 1732 86 87 208 209 330 331 452 453 574 575 696 697 818 819 940 941 1062 1063 1184 1185 1306 1307 1428 1429 1550 1551 1672 1673 1794 1795 149 150 271 272 393 394 515 516 637 638 759 760 881 882 1003 1004 1125 1126 1247 1248 1369 1370 1491 1492 1613 1614 1735 1736 90 91 212 213 334 335 456 457 578 579 700 701 822 823 944 945 1066 1067 1188 1189 1310 1311 1432 1433 1554 1555 1676 1677 1798 1799 153 154 275 276 397 398 519 520 641 642 763 764 885 886 1007 1008 1129 1130 1251 1252 1373 1374 1495 1496 1617 1618 1739 1740 94 95 216 217 338 339 460 461 582 583 704 705 826 827 948 949 1070 1071 1192 1193 1314 1315 1436 1437 1558 1559 1680 1681 1802 1803 157 158 279 280 401 402 523 524 645 646 767 768 889 890 1011 1012 1133 1134 1255 1256 1377 1378 1499 1500 1621 1622 1743 1744 98 99 220 221 342 343 464 465 586 587 708 709 830 831 952 953 1074 1075 1196 1197 1318 1319 1440 1441 1562 1563 1684 1685 1806 1807 161 162 283 284 405 406 527 528 649 650 771 772 893 894 1015 1016 1137 1138 1259 1260 1381 1382 1503 1504 1625 1626 1747 1748 102 103 224 225 346 347 468 469 590 591 712 713 834 835 956 957 1078 1079 1200 1201 1322 1323 1444 1445 1566 1567 1688 1689 1810 1811 165 166 287 288 409 410 531 532 653 654 775 776 897 898 1019 1020 1141 1142 1263 1264 1385 1386 1507 1508 1629 1630 1751 1752 106 107 228 229 350 351 472 473 594 595 716 717 838 839 960 961 1082 1083 1204 1205 1326 1327 1448 1449 1570 1571 1692 1693 1814 1815 169 170 291 292 413 414 535 536 657 658 779 780 901 902 1023 1024 1145 1146 1267 1268 1389 1390 1511 1512 1633 1634 1755 1756 110 111 232 233 354 355 476 477 598 599 720 721 842 843 964 965 1086 1087 1208 1209 1330 1331 1452 1453 1574 1575 1696 1697 1818 1819 173 174 295 296 417 418 539 540 661 662 783 784 905 906 1027 1028 1149 1150 1271 1272 1393 1394 1515 1516 1637 1638 1759 1760 114 115 236 237 358 359 480 481 602 603 724 725 846 847 968 969 1090 1091 1212 1213 1334 1335 1456 1457 1578 1579 1700 1701 1822 1823 177 178 299 300 421 422 543 544 665 666 787 788 909 910 1031 1032 1153 1154 1275 1276 1397 1398 1519 1520 1641 1642 1763 1764 118 119 240 241 362 363 484 485 606 607 728 729 850 851 972 973 1094 1095 1216 1217 1338 1339 1460 1461 1582 1583 1704 1705 1826 1827 181 182 303 304 425 426 547 548 669 670 791 792 913 914 1035 1036 1157 1158 1279 1280 1401 1402 1523 1524 1645 1646 1767 1768 + TICK + CX 124 62 246 184 368 306 490 428 612 550 734 672 856 794 978 916 1100 1038 1222 1160 1344 1282 1466 1404 1588 1526 1710 1648 1832 1770 65 3 187 125 309 247 431 369 553 491 675 613 797 735 919 857 1041 979 1163 1101 1285 1223 1407 1345 1529 1467 1651 1589 1773 1711 128 66 250 188 372 310 494 432 616 554 738 676 860 798 982 920 1104 1042 1226 1164 1348 1286 1470 1408 1592 1530 1714 1652 1836 1774 69 7 191 129 313 251 435 373 557 495 679 617 801 739 923 861 1045 983 1167 1105 1289 1227 1411 1349 1533 1471 1655 1593 1777 1715 132 70 254 192 376 314 498 436 620 558 742 680 864 802 986 924 1108 1046 1230 1168 1352 1290 1474 1412 1596 1534 1718 1656 1840 1778 73 11 195 133 317 255 439 377 561 499 683 621 805 743 927 865 1049 987 1171 1109 1293 1231 1415 1353 1537 1475 1659 1597 1781 1719 136 74 258 196 380 318 502 440 624 562 746 684 868 806 990 928 1112 1050 1234 1172 1356 1294 1478 1416 1600 1538 1722 1660 1844 1782 77 15 199 137 321 259 443 381 565 503 687 625 809 747 931 869 1053 991 1175 1113 1297 1235 1419 1357 1541 1479 1663 1601 1785 1723 140 78 262 200 384 322 506 444 628 566 750 688 872 810 994 932 1116 1054 1238 1176 1360 1298 1482 1420 1604 1542 1726 1664 1848 1786 81 19 203 141 325 263 447 385 569 507 691 629 813 751 935 873 1057 995 1179 1117 1301 1239 1423 1361 1545 1483 1667 1605 1789 1727 144 82 266 204 388 326 510 448 632 570 754 692 876 814 998 936 1120 1058 1242 1180 1364 1302 1486 1424 1608 1546 1730 1668 1852 1790 85 23 207 145 329 267 451 389 573 511 695 633 817 755 939 877 1061 999 1183 1121 1305 1243 1427 1365 1549 1487 1671 1609 1793 1731 148 86 270 208 392 330 514 452 636 574 758 696 880 818 1002 940 1124 1062 1246 1184 1368 1306 1490 1428 1612 1550 1734 1672 1856 1794 89 27 211 149 333 271 455 393 577 515 699 637 821 759 943 881 1065 1003 1187 1125 1309 1247 1431 1369 1553 1491 1675 1613 1797 1735 152 90 274 212 396 334 518 456 640 578 762 700 884 822 1006 944 1128 1066 1250 1188 1372 1310 1494 1432 1616 1554 1738 1676 1860 1798 93 31 215 153 337 275 459 397 581 519 703 641 825 763 947 885 1069 1007 1191 1129 1313 1251 1435 1373 1557 1495 1679 1617 1801 1739 156 94 278 216 400 338 522 460 644 582 766 704 888 826 1010 948 1132 1070 1254 1192 1376 1314 1498 1436 1620 1558 1742 1680 1864 1802 97 35 219 157 341 279 463 401 585 523 707 645 829 767 951 889 1073 1011 1195 1133 1317 1255 1439 1377 1561 1499 1683 1621 1805 1743 160 98 282 220 404 342 526 464 648 586 770 708 892 830 1014 952 1136 1074 1258 1196 1380 1318 1502 1440 1624 1562 1746 1684 1868 1806 101 39 223 161 345 283 467 405 589 527 711 649 833 771 955 893 1077 1015 1199 1137 1321 1259 1443 1381 1565 1503 1687 1625 1809 1747 164 102 286 224 408 346 530 468 652 590 774 712 896 834 1018 956 1140 1078 1262 1200 1384 1322 1506 1444 1628 1566 1750 1688 1872 1810 105 43 227 165 349 287 471 409 593 531 715 653 837 775 959 897 1081 1019 1203 1141 1325 1263 1447 1385 1569 1507 1691 1629 1813 1751 168 106 290 228 412 350 534 472 656 594 778 716 900 838 1022 960 1144 1082 1266 1204 1388 1326 1510 1448 1632 1570 1754 1692 1876 1814 109 47 231 169 353 291 475 413 597 535 719 657 841 779 963 901 1085 1023 1207 1145 1329 1267 1451 1389 1573 1511 1695 1633 1817 1755 172 110 294 232 416 354 538 476 660 598 782 720 904 842 1026 964 1148 1086 1270 1208 1392 1330 1514 1452 1636 1574 1758 1696 1880 1818 113 51 235 173 357 295 479 417 601 539 723 661 845 783 967 905 1089 1027 1211 1149 1333 1271 1455 1393 1577 1515 1699 1637 1821 1759 176 114 298 236 420 358 542 480 664 602 786 724 908 846 1030 968 1152 1090 1274 1212 1396 1334 1518 1456 1640 1578 1762 1700 1884 1822 117 55 239 177 361 299 483 421 605 543 727 665 849 787 971 909 1093 1031 1215 1153 1337 1275 1459 1397 1581 1519 1703 1641 1825 1763 180 118 302 240 424 362 546 484 668 606 790 728 912 850 1034 972 1156 1094 1278 1216 1400 1338 1522 1460 1644 1582 1766 1704 1888 1826 1 63 123 185 245 307 367 429 489 551 611 673 733 795 855 917 977 1039 1099 1161 1221 1283 1343 1405 1465 1527 1587 1649 1709 1771 64 126 186 248 308 370 430 492 552 614 674 736 796 858 918 980 1040 1102 1162 1224 1284 1346 1406 1468 1528 1590 1650 1712 5 67 127 189 249 311 371 433 493 555 615 677 737 799 859 921 981 1043 1103 1165 1225 1287 1347 1409 1469 1531 1591 1653 1713 1775 68 130 190 252 312 374 434 496 556 618 678 740 800 862 922 984 1044 1106 1166 1228 1288 1350 1410 1472 1532 1594 1654 1716 9 71 131 193 253 315 375 437 497 559 619 681 741 803 863 925 985 1047 1107 1169 1229 1291 1351 1413 1473 1535 1595 1657 1717 1779 72 134 194 256 316 378 438 500 560 622 682 744 804 866 926 988 1048 1110 1170 1232 1292 1354 1414 1476 1536 1598 1658 1720 13 75 135 197 257 319 379 441 501 563 623 685 745 807 867 929 989 1051 1111 1173 1233 1295 1355 1417 1477 1539 1599 1661 1721 1783 76 138 198 260 320 382 442 504 564 626 686 748 808 870 930 992 1052 1114 1174 1236 1296 1358 1418 1480 1540 1602 1662 1724 17 79 139 201 261 323 383 445 505 567 627 689 749 811 871 933 993 1055 1115 1177 1237 1299 1359 1421 1481 1543 1603 1665 1725 1787 80 142 202 264 324 386 446 508 568 630 690 752 812 874 934 996 1056 1118 1178 1240 1300 1362 1422 1484 1544 1606 1666 1728 21 83 143 205 265 327 387 449 509 571 631 693 753 815 875 937 997 1059 1119 1181 1241 1303 1363 1425 1485 1547 1607 1669 1729 1791 84 146 206 268 328 390 450 512 572 634 694 756 816 878 938 1000 1060 1122 1182 1244 1304 1366 1426 1488 1548 1610 1670 1732 25 87 147 209 269 331 391 453 513 575 635 697 757 819 879 941 1001 1063 1123 1185 1245 1307 1367 1429 1489 1551 1611 1673 1733 1795 88 150 210 272 332 394 454 516 576 638 698 760 820 882 942 1004 1064 1126 1186 1248 1308 1370 1430 1492 1552 1614 1674 1736 29 91 151 213 273 335 395 457 517 579 639 701 761 823 883 945 1005 1067 1127 1189 1249 1311 1371 1433 1493 1555 1615 1677 1737 1799 92 154 214 276 336 398 458 520 580 642 702 764 824 886 946 1008 1068 1130 1190 1252 1312 1374 1434 1496 1556 1618 1678 1740 33 95 155 217 277 339 399 461 521 583 643 705 765 827 887 949 1009 1071 1131 1193 1253 1315 1375 1437 1497 1559 1619 1681 1741 1803 96 158 218 280 340 402 462 524 584 646 706 768 828 890 950 1012 1072 1134 1194 1256 1316 1378 1438 1500 1560 1622 1682 1744 37 99 159 221 281 343 403 465 525 587 647 709 769 831 891 953 1013 1075 1135 1197 1257 1319 1379 1441 1501 1563 1623 1685 1745 1807 100 162 222 284 344 406 466 528 588 650 710 772 832 894 954 1016 1076 1138 1198 1260 1320 1382 1442 1504 1564 1626 1686 1748 41 103 163 225 285 347 407 469 529 591 651 713 773 835 895 957 1017 1079 1139 1201 1261 1323 1383 1445 1505 1567 1627 1689 1749 1811 104 166 226 288 348 410 470 532 592 654 714 776 836 898 958 1020 1080 1142 1202 1264 1324 1386 1446 1508 1568 1630 1690 1752 45 107 167 229 289 351 411 473 533 595 655 717 777 839 899 961 1021 1083 1143 1205 1265 1327 1387 1449 1509 1571 1631 1693 1753 1815 108 170 230 292 352 414 474 536 596 658 718 780 840 902 962 1024 1084 1146 1206 1268 1328 1390 1450 1512 1572 1634 1694 1756 49 111 171 233 293 355 415 477 537 599 659 721 781 843 903 965 1025 1087 1147 1209 1269 1331 1391 1453 1513 1575 1635 1697 1757 1819 112 174 234 296 356 418 478 540 600 662 722 784 844 906 966 1028 1088 1150 1210 1272 1332 1394 1454 1516 1576 1638 1698 1760 53 115 175 237 297 359 419 481 541 603 663 725 785 847 907 969 1029 1091 1151 1213 1273 1335 1395 1457 1517 1579 1639 1701 1761 1823 116 178 238 300 360 422 482 544 604 666 726 788 848 910 970 1032 1092 1154 1214 1276 1336 1398 1458 1520 1580 1642 1702 1764 57 119 179 241 301 363 423 485 545 607 667 729 789 851 911 973 1033 1095 1155 1217 1277 1339 1399 1461 1521 1583 1643 1705 1765 1827 120 182 242 304 364 426 486 548 608 670 730 792 852 914 974 1036 1096 1158 1218 1280 1340 1402 1462 1524 1584 1646 1706 1768 + DEPOLARIZE2(0.001) 124 62 246 184 368 306 490 428 612 550 734 672 856 794 978 916 1100 1038 1222 1160 1344 1282 1466 1404 1588 1526 1710 1648 1832 1770 65 3 187 125 309 247 431 369 553 491 675 613 797 735 919 857 1041 979 1163 1101 1285 1223 1407 1345 1529 1467 1651 1589 1773 1711 128 66 250 188 372 310 494 432 616 554 738 676 860 798 982 920 1104 1042 1226 1164 1348 1286 1470 1408 1592 1530 1714 1652 1836 1774 69 7 191 129 313 251 435 373 557 495 679 617 801 739 923 861 1045 983 1167 1105 1289 1227 1411 1349 1533 1471 1655 1593 1777 1715 132 70 254 192 376 314 498 436 620 558 742 680 864 802 986 924 1108 1046 1230 1168 1352 1290 1474 1412 1596 1534 1718 1656 1840 1778 73 11 195 133 317 255 439 377 561 499 683 621 805 743 927 865 1049 987 1171 1109 1293 1231 1415 1353 1537 1475 1659 1597 1781 1719 136 74 258 196 380 318 502 440 624 562 746 684 868 806 990 928 1112 1050 1234 1172 1356 1294 1478 1416 1600 1538 1722 1660 1844 1782 77 15 199 137 321 259 443 381 565 503 687 625 809 747 931 869 1053 991 1175 1113 1297 1235 1419 1357 1541 1479 1663 1601 1785 1723 140 78 262 200 384 322 506 444 628 566 750 688 872 810 994 932 1116 1054 1238 1176 1360 1298 1482 1420 1604 1542 1726 1664 1848 1786 81 19 203 141 325 263 447 385 569 507 691 629 813 751 935 873 1057 995 1179 1117 1301 1239 1423 1361 1545 1483 1667 1605 1789 1727 144 82 266 204 388 326 510 448 632 570 754 692 876 814 998 936 1120 1058 1242 1180 1364 1302 1486 1424 1608 1546 1730 1668 1852 1790 85 23 207 145 329 267 451 389 573 511 695 633 817 755 939 877 1061 999 1183 1121 1305 1243 1427 1365 1549 1487 1671 1609 1793 1731 148 86 270 208 392 330 514 452 636 574 758 696 880 818 1002 940 1124 1062 1246 1184 1368 1306 1490 1428 1612 1550 1734 1672 1856 1794 89 27 211 149 333 271 455 393 577 515 699 637 821 759 943 881 1065 1003 1187 1125 1309 1247 1431 1369 1553 1491 1675 1613 1797 1735 152 90 274 212 396 334 518 456 640 578 762 700 884 822 1006 944 1128 1066 1250 1188 1372 1310 1494 1432 1616 1554 1738 1676 1860 1798 93 31 215 153 337 275 459 397 581 519 703 641 825 763 947 885 1069 1007 1191 1129 1313 1251 1435 1373 1557 1495 1679 1617 1801 1739 156 94 278 216 400 338 522 460 644 582 766 704 888 826 1010 948 1132 1070 1254 1192 1376 1314 1498 1436 1620 1558 1742 1680 1864 1802 97 35 219 157 341 279 463 401 585 523 707 645 829 767 951 889 1073 1011 1195 1133 1317 1255 1439 1377 1561 1499 1683 1621 1805 1743 160 98 282 220 404 342 526 464 648 586 770 708 892 830 1014 952 1136 1074 1258 1196 1380 1318 1502 1440 1624 1562 1746 1684 1868 1806 101 39 223 161 345 283 467 405 589 527 711 649 833 771 955 893 1077 1015 1199 1137 1321 1259 1443 1381 1565 1503 1687 1625 1809 1747 164 102 286 224 408 346 530 468 652 590 774 712 896 834 1018 956 1140 1078 1262 1200 1384 1322 1506 1444 1628 1566 1750 1688 1872 1810 105 43 227 165 349 287 471 409 593 531 715 653 837 775 959 897 1081 1019 1203 1141 1325 1263 1447 1385 1569 1507 1691 1629 1813 1751 168 106 290 228 412 350 534 472 656 594 778 716 900 838 1022 960 1144 1082 1266 1204 1388 1326 1510 1448 1632 1570 1754 1692 1876 1814 109 47 231 169 353 291 475 413 597 535 719 657 841 779 963 901 1085 1023 1207 1145 1329 1267 1451 1389 1573 1511 1695 1633 1817 1755 172 110 294 232 416 354 538 476 660 598 782 720 904 842 1026 964 1148 1086 1270 1208 1392 1330 1514 1452 1636 1574 1758 1696 1880 1818 113 51 235 173 357 295 479 417 601 539 723 661 845 783 967 905 1089 1027 1211 1149 1333 1271 1455 1393 1577 1515 1699 1637 1821 1759 176 114 298 236 420 358 542 480 664 602 786 724 908 846 1030 968 1152 1090 1274 1212 1396 1334 1518 1456 1640 1578 1762 1700 1884 1822 117 55 239 177 361 299 483 421 605 543 727 665 849 787 971 909 1093 1031 1215 1153 1337 1275 1459 1397 1581 1519 1703 1641 1825 1763 180 118 302 240 424 362 546 484 668 606 790 728 912 850 1034 972 1156 1094 1278 1216 1400 1338 1522 1460 1644 1582 1766 1704 1888 1826 1 63 123 185 245 307 367 429 489 551 611 673 733 795 855 917 977 1039 1099 1161 1221 1283 1343 1405 1465 1527 1587 1649 1709 1771 64 126 186 248 308 370 430 492 552 614 674 736 796 858 918 980 1040 1102 1162 1224 1284 1346 1406 1468 1528 1590 1650 1712 5 67 127 189 249 311 371 433 493 555 615 677 737 799 859 921 981 1043 1103 1165 1225 1287 1347 1409 1469 1531 1591 1653 1713 1775 68 130 190 252 312 374 434 496 556 618 678 740 800 862 922 984 1044 1106 1166 1228 1288 1350 1410 1472 1532 1594 1654 1716 9 71 131 193 253 315 375 437 497 559 619 681 741 803 863 925 985 1047 1107 1169 1229 1291 1351 1413 1473 1535 1595 1657 1717 1779 72 134 194 256 316 378 438 500 560 622 682 744 804 866 926 988 1048 1110 1170 1232 1292 1354 1414 1476 1536 1598 1658 1720 13 75 135 197 257 319 379 441 501 563 623 685 745 807 867 929 989 1051 1111 1173 1233 1295 1355 1417 1477 1539 1599 1661 1721 1783 76 138 198 260 320 382 442 504 564 626 686 748 808 870 930 992 1052 1114 1174 1236 1296 1358 1418 1480 1540 1602 1662 1724 17 79 139 201 261 323 383 445 505 567 627 689 749 811 871 933 993 1055 1115 1177 1237 1299 1359 1421 1481 1543 1603 1665 1725 1787 80 142 202 264 324 386 446 508 568 630 690 752 812 874 934 996 1056 1118 1178 1240 1300 1362 1422 1484 1544 1606 1666 1728 21 83 143 205 265 327 387 449 509 571 631 693 753 815 875 937 997 1059 1119 1181 1241 1303 1363 1425 1485 1547 1607 1669 1729 1791 84 146 206 268 328 390 450 512 572 634 694 756 816 878 938 1000 1060 1122 1182 1244 1304 1366 1426 1488 1548 1610 1670 1732 25 87 147 209 269 331 391 453 513 575 635 697 757 819 879 941 1001 1063 1123 1185 1245 1307 1367 1429 1489 1551 1611 1673 1733 1795 88 150 210 272 332 394 454 516 576 638 698 760 820 882 942 1004 1064 1126 1186 1248 1308 1370 1430 1492 1552 1614 1674 1736 29 91 151 213 273 335 395 457 517 579 639 701 761 823 883 945 1005 1067 1127 1189 1249 1311 1371 1433 1493 1555 1615 1677 1737 1799 92 154 214 276 336 398 458 520 580 642 702 764 824 886 946 1008 1068 1130 1190 1252 1312 1374 1434 1496 1556 1618 1678 1740 33 95 155 217 277 339 399 461 521 583 643 705 765 827 887 949 1009 1071 1131 1193 1253 1315 1375 1437 1497 1559 1619 1681 1741 1803 96 158 218 280 340 402 462 524 584 646 706 768 828 890 950 1012 1072 1134 1194 1256 1316 1378 1438 1500 1560 1622 1682 1744 37 99 159 221 281 343 403 465 525 587 647 709 769 831 891 953 1013 1075 1135 1197 1257 1319 1379 1441 1501 1563 1623 1685 1745 1807 100 162 222 284 344 406 466 528 588 650 710 772 832 894 954 1016 1076 1138 1198 1260 1320 1382 1442 1504 1564 1626 1686 1748 41 103 163 225 285 347 407 469 529 591 651 713 773 835 895 957 1017 1079 1139 1201 1261 1323 1383 1445 1505 1567 1627 1689 1749 1811 104 166 226 288 348 410 470 532 592 654 714 776 836 898 958 1020 1080 1142 1202 1264 1324 1386 1446 1508 1568 1630 1690 1752 45 107 167 229 289 351 411 473 533 595 655 717 777 839 899 961 1021 1083 1143 1205 1265 1327 1387 1449 1509 1571 1631 1693 1753 1815 108 170 230 292 352 414 474 536 596 658 718 780 840 902 962 1024 1084 1146 1206 1268 1328 1390 1450 1512 1572 1634 1694 1756 49 111 171 233 293 355 415 477 537 599 659 721 781 843 903 965 1025 1087 1147 1209 1269 1331 1391 1453 1513 1575 1635 1697 1757 1819 112 174 234 296 356 418 478 540 600 662 722 784 844 906 966 1028 1088 1150 1210 1272 1332 1394 1454 1516 1576 1638 1698 1760 53 115 175 237 297 359 419 481 541 603 663 725 785 847 907 969 1029 1091 1151 1213 1273 1335 1395 1457 1517 1579 1639 1701 1761 1823 116 178 238 300 360 422 482 544 604 666 726 788 848 910 970 1032 1092 1154 1214 1276 1336 1398 1458 1520 1580 1642 1702 1764 57 119 179 241 301 363 423 485 545 607 667 729 789 851 911 973 1033 1095 1155 1217 1277 1339 1399 1461 1521 1583 1643 1705 1765 1827 120 182 242 304 364 426 486 548 608 670 730 792 852 914 974 1036 1096 1158 1218 1280 1340 1402 1462 1524 1584 1646 1706 1768 + TICK + H 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + DEPOLARIZE1(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 65 69 73 77 81 85 89 93 97 101 105 109 113 117 124 128 132 136 140 144 148 152 156 160 164 168 172 176 180 187 191 195 199 203 207 211 215 219 223 227 231 235 239 246 250 254 258 262 266 270 274 278 282 286 290 294 298 302 309 313 317 321 325 329 333 337 341 345 349 353 357 361 368 372 376 380 384 388 392 396 400 404 408 412 416 420 424 431 435 439 443 447 451 455 459 463 467 471 475 479 483 490 494 498 502 506 510 514 518 522 526 530 534 538 542 546 553 557 561 565 569 573 577 581 585 589 593 597 601 605 612 616 620 624 628 632 636 640 644 648 652 656 660 664 668 675 679 683 687 691 695 699 703 707 711 715 719 723 727 734 738 742 746 750 754 758 762 766 770 774 778 782 786 790 797 801 805 809 813 817 821 825 829 833 837 841 845 849 856 860 864 868 872 876 880 884 888 892 896 900 904 908 912 919 923 927 931 935 939 943 947 951 955 959 963 967 971 978 982 986 990 994 998 1002 1006 1010 1014 1018 1022 1026 1030 1034 1041 1045 1049 1053 1057 1061 1065 1069 1073 1077 1081 1085 1089 1093 1100 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1163 1167 1171 1175 1179 1183 1187 1191 1195 1199 1203 1207 1211 1215 1222 1226 1230 1234 1238 1242 1246 1250 1254 1258 1262 1266 1270 1274 1278 1285 1289 1293 1297 1301 1305 1309 1313 1317 1321 1325 1329 1333 1337 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1400 1407 1411 1415 1419 1423 1427 1431 1435 1439 1443 1447 1451 1455 1459 1466 1470 1474 1478 1482 1486 1490 1494 1498 1502 1506 1510 1514 1518 1522 1529 1533 1537 1541 1545 1549 1553 1557 1561 1565 1569 1573 1577 1581 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1651 1655 1659 1663 1667 1671 1675 1679 1683 1687 1691 1695 1699 1703 1710 1714 1718 1722 1726 1730 1734 1738 1742 1746 1750 1754 1758 1762 1766 1773 1777 1781 1785 1789 1793 1797 1801 1805 1809 1813 1817 1821 1825 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + TICK + X_ERROR(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + MR 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + X_ERROR(0.001) 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 101 103 105 107 109 111 113 115 117 119 122 124 126 128 130 132 134 136 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172 174 176 178 180 182 185 187 189 191 193 195 197 199 201 203 205 207 209 211 213 215 217 219 221 223 225 227 229 231 233 235 237 239 241 244 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280 282 284 286 288 290 292 294 296 298 300 302 304 307 309 311 313 315 317 319 321 323 325 327 329 331 333 335 337 339 341 343 345 347 349 351 353 355 357 359 361 363 366 368 370 372 374 376 378 380 382 384 386 388 390 392 394 396 398 400 402 404 406 408 410 412 414 416 418 420 422 424 426 429 431 433 435 437 439 441 443 445 447 449 451 453 455 457 459 461 463 465 467 469 471 473 475 477 479 481 483 485 488 490 492 494 496 498 500 502 504 506 508 510 512 514 516 518 520 522 524 526 528 530 532 534 536 538 540 542 544 546 548 551 553 555 557 559 561 563 565 567 569 571 573 575 577 579 581 583 585 587 589 591 593 595 597 599 601 603 605 607 610 612 614 616 618 620 622 624 626 628 630 632 634 636 638 640 642 644 646 648 650 652 654 656 658 660 662 664 666 668 670 673 675 677 679 681 683 685 687 689 691 693 695 697 699 701 703 705 707 709 711 713 715 717 719 721 723 725 727 729 732 734 736 738 740 742 744 746 748 750 752 754 756 758 760 762 764 766 768 770 772 774 776 778 780 782 784 786 788 790 792 795 797 799 801 803 805 807 809 811 813 815 817 819 821 823 825 827 829 831 833 835 837 839 841 843 845 847 849 851 854 856 858 860 862 864 866 868 870 872 874 876 878 880 882 884 886 888 890 892 894 896 898 900 902 904 906 908 910 912 914 917 919 921 923 925 927 929 931 933 935 937 939 941 943 945 947 949 951 953 955 957 959 961 963 965 967 969 971 973 976 978 980 982 984 986 988 990 992 994 996 998 1000 1002 1004 1006 1008 1010 1012 1014 1016 1018 1020 1022 1024 1026 1028 1030 1032 1034 1036 1039 1041 1043 1045 1047 1049 1051 1053 1055 1057 1059 1061 1063 1065 1067 1069 1071 1073 1075 1077 1079 1081 1083 1085 1087 1089 1091 1093 1095 1098 1100 1102 1104 1106 1108 1110 1112 1114 1116 1118 1120 1122 1124 1126 1128 1130 1132 1134 1136 1138 1140 1142 1144 1146 1148 1150 1152 1154 1156 1158 1161 1163 1165 1167 1169 1171 1173 1175 1177 1179 1181 1183 1185 1187 1189 1191 1193 1195 1197 1199 1201 1203 1205 1207 1209 1211 1213 1215 1217 1220 1222 1224 1226 1228 1230 1232 1234 1236 1238 1240 1242 1244 1246 1248 1250 1252 1254 1256 1258 1260 1262 1264 1266 1268 1270 1272 1274 1276 1278 1280 1283 1285 1287 1289 1291 1293 1295 1297 1299 1301 1303 1305 1307 1309 1311 1313 1315 1317 1319 1321 1323 1325 1327 1329 1331 1333 1335 1337 1339 1342 1344 1346 1348 1350 1352 1354 1356 1358 1360 1362 1364 1366 1368 1370 1372 1374 1376 1378 1380 1382 1384 1386 1388 1390 1392 1394 1396 1398 1400 1402 1405 1407 1409 1411 1413 1415 1417 1419 1421 1423 1425 1427 1429 1431 1433 1435 1437 1439 1441 1443 1445 1447 1449 1451 1453 1455 1457 1459 1461 1464 1466 1468 1470 1472 1474 1476 1478 1480 1482 1484 1486 1488 1490 1492 1494 1496 1498 1500 1502 1504 1506 1508 1510 1512 1514 1516 1518 1520 1522 1524 1527 1529 1531 1533 1535 1537 1539 1541 1543 1545 1547 1549 1551 1553 1555 1557 1559 1561 1563 1565 1567 1569 1571 1573 1575 1577 1579 1581 1583 1586 1588 1590 1592 1594 1596 1598 1600 1602 1604 1606 1608 1610 1612 1614 1616 1618 1620 1622 1624 1626 1628 1630 1632 1634 1636 1638 1640 1642 1644 1646 1649 1651 1653 1655 1657 1659 1661 1663 1665 1667 1669 1671 1673 1675 1677 1679 1681 1683 1685 1687 1689 1691 1693 1695 1697 1699 1701 1703 1705 1708 1710 1712 1714 1716 1718 1720 1722 1724 1726 1728 1730 1732 1734 1736 1738 1740 1742 1744 1746 1748 1750 1752 1754 1756 1758 1760 1762 1764 1766 1768 1771 1773 1775 1777 1779 1781 1783 1785 1787 1789 1791 1793 1795 1797 1799 1801 1803 1805 1807 1809 1811 1813 1815 1817 1819 1821 1823 1825 1827 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 + SHIFT_COORDS(0, 0, 1) + DETECTOR(2, 0, 0) rec[-899] rec[-1798] + DETECTOR(6, 0, 0) rec[-898] rec[-1797] + DETECTOR(10, 0, 0) rec[-897] rec[-1796] + DETECTOR(14, 0, 0) rec[-896] rec[-1795] + DETECTOR(18, 0, 0) rec[-895] rec[-1794] + DETECTOR(22, 0, 0) rec[-894] rec[-1793] + DETECTOR(26, 0, 0) rec[-893] rec[-1792] + DETECTOR(30, 0, 0) rec[-892] rec[-1791] + DETECTOR(34, 0, 0) rec[-891] rec[-1790] + DETECTOR(38, 0, 0) rec[-890] rec[-1789] + DETECTOR(42, 0, 0) rec[-889] rec[-1788] + DETECTOR(46, 0, 0) rec[-888] rec[-1787] + DETECTOR(50, 0, 0) rec[-887] rec[-1786] + DETECTOR(54, 0, 0) rec[-886] rec[-1785] + DETECTOR(58, 0, 0) rec[-885] rec[-1784] + DETECTOR(2, 2, 0) rec[-884] rec[-1783] + DETECTOR(4, 2, 0) rec[-883] rec[-1782] + DETECTOR(6, 2, 0) rec[-882] rec[-1781] + DETECTOR(8, 2, 0) rec[-881] rec[-1780] + DETECTOR(10, 2, 0) rec[-880] rec[-1779] + DETECTOR(12, 2, 0) rec[-879] rec[-1778] + DETECTOR(14, 2, 0) rec[-878] rec[-1777] + DETECTOR(16, 2, 0) rec[-877] rec[-1776] + DETECTOR(18, 2, 0) rec[-876] rec[-1775] + DETECTOR(20, 2, 0) rec[-875] rec[-1774] + DETECTOR(22, 2, 0) rec[-874] rec[-1773] + DETECTOR(24, 2, 0) rec[-873] rec[-1772] + DETECTOR(26, 2, 0) rec[-872] rec[-1771] + DETECTOR(28, 2, 0) rec[-871] rec[-1770] + DETECTOR(30, 2, 0) rec[-870] rec[-1769] + DETECTOR(32, 2, 0) rec[-869] rec[-1768] + DETECTOR(34, 2, 0) rec[-868] rec[-1767] + DETECTOR(36, 2, 0) rec[-867] rec[-1766] + DETECTOR(38, 2, 0) rec[-866] rec[-1765] + DETECTOR(40, 2, 0) rec[-865] rec[-1764] + DETECTOR(42, 2, 0) rec[-864] rec[-1763] + DETECTOR(44, 2, 0) rec[-863] rec[-1762] + DETECTOR(46, 2, 0) rec[-862] rec[-1761] + DETECTOR(48, 2, 0) rec[-861] rec[-1760] + DETECTOR(50, 2, 0) rec[-860] rec[-1759] + DETECTOR(52, 2, 0) rec[-859] rec[-1758] + DETECTOR(54, 2, 0) rec[-858] rec[-1757] + DETECTOR(56, 2, 0) rec[-857] rec[-1756] + DETECTOR(58, 2, 0) rec[-856] rec[-1755] + DETECTOR(0, 4, 0) rec[-855] rec[-1754] + DETECTOR(2, 4, 0) rec[-854] rec[-1753] + DETECTOR(4, 4, 0) rec[-853] rec[-1752] + DETECTOR(6, 4, 0) rec[-852] rec[-1751] + DETECTOR(8, 4, 0) rec[-851] rec[-1750] + DETECTOR(10, 4, 0) rec[-850] rec[-1749] + DETECTOR(12, 4, 0) rec[-849] rec[-1748] + DETECTOR(14, 4, 0) rec[-848] rec[-1747] + DETECTOR(16, 4, 0) rec[-847] rec[-1746] + DETECTOR(18, 4, 0) rec[-846] rec[-1745] + DETECTOR(20, 4, 0) rec[-845] rec[-1744] + DETECTOR(22, 4, 0) rec[-844] rec[-1743] + DETECTOR(24, 4, 0) rec[-843] rec[-1742] + DETECTOR(26, 4, 0) rec[-842] rec[-1741] + DETECTOR(28, 4, 0) rec[-841] rec[-1740] + DETECTOR(30, 4, 0) rec[-840] rec[-1739] + DETECTOR(32, 4, 0) rec[-839] rec[-1738] + DETECTOR(34, 4, 0) rec[-838] rec[-1737] + DETECTOR(36, 4, 0) rec[-837] rec[-1736] + DETECTOR(38, 4, 0) rec[-836] rec[-1735] + DETECTOR(40, 4, 0) rec[-835] rec[-1734] + DETECTOR(42, 4, 0) rec[-834] rec[-1733] + DETECTOR(44, 4, 0) rec[-833] rec[-1732] + DETECTOR(46, 4, 0) rec[-832] rec[-1731] + DETECTOR(48, 4, 0) rec[-831] rec[-1730] + DETECTOR(50, 4, 0) rec[-830] rec[-1729] + DETECTOR(52, 4, 0) rec[-829] rec[-1728] + DETECTOR(54, 4, 0) rec[-828] rec[-1727] + DETECTOR(56, 4, 0) rec[-827] rec[-1726] + DETECTOR(58, 4, 0) rec[-826] rec[-1725] + DETECTOR(60, 4, 0) rec[-825] rec[-1724] + DETECTOR(2, 6, 0) rec[-824] rec[-1723] + DETECTOR(4, 6, 0) rec[-823] rec[-1722] + DETECTOR(6, 6, 0) rec[-822] rec[-1721] + DETECTOR(8, 6, 0) rec[-821] rec[-1720] + DETECTOR(10, 6, 0) rec[-820] rec[-1719] + DETECTOR(12, 6, 0) rec[-819] rec[-1718] + DETECTOR(14, 6, 0) rec[-818] rec[-1717] + DETECTOR(16, 6, 0) rec[-817] rec[-1716] + DETECTOR(18, 6, 0) rec[-816] rec[-1715] + DETECTOR(20, 6, 0) rec[-815] rec[-1714] + DETECTOR(22, 6, 0) rec[-814] rec[-1713] + DETECTOR(24, 6, 0) rec[-813] rec[-1712] + DETECTOR(26, 6, 0) rec[-812] rec[-1711] + DETECTOR(28, 6, 0) rec[-811] rec[-1710] + DETECTOR(30, 6, 0) rec[-810] rec[-1709] + DETECTOR(32, 6, 0) rec[-809] rec[-1708] + DETECTOR(34, 6, 0) rec[-808] rec[-1707] + DETECTOR(36, 6, 0) rec[-807] rec[-1706] + DETECTOR(38, 6, 0) rec[-806] rec[-1705] + DETECTOR(40, 6, 0) rec[-805] rec[-1704] + DETECTOR(42, 6, 0) rec[-804] rec[-1703] + DETECTOR(44, 6, 0) rec[-803] rec[-1702] + DETECTOR(46, 6, 0) rec[-802] rec[-1701] + DETECTOR(48, 6, 0) rec[-801] rec[-1700] + DETECTOR(50, 6, 0) rec[-800] rec[-1699] + DETECTOR(52, 6, 0) rec[-799] rec[-1698] + DETECTOR(54, 6, 0) rec[-798] rec[-1697] + DETECTOR(56, 6, 0) rec[-797] rec[-1696] + DETECTOR(58, 6, 0) rec[-796] rec[-1695] + DETECTOR(0, 8, 0) rec[-795] rec[-1694] + DETECTOR(2, 8, 0) rec[-794] rec[-1693] + DETECTOR(4, 8, 0) rec[-793] rec[-1692] + DETECTOR(6, 8, 0) rec[-792] rec[-1691] + DETECTOR(8, 8, 0) rec[-791] rec[-1690] + DETECTOR(10, 8, 0) rec[-790] rec[-1689] + DETECTOR(12, 8, 0) rec[-789] rec[-1688] + DETECTOR(14, 8, 0) rec[-788] rec[-1687] + DETECTOR(16, 8, 0) rec[-787] rec[-1686] + DETECTOR(18, 8, 0) rec[-786] rec[-1685] + DETECTOR(20, 8, 0) rec[-785] rec[-1684] + DETECTOR(22, 8, 0) rec[-784] rec[-1683] + DETECTOR(24, 8, 0) rec[-783] rec[-1682] + DETECTOR(26, 8, 0) rec[-782] rec[-1681] + DETECTOR(28, 8, 0) rec[-781] rec[-1680] + DETECTOR(30, 8, 0) rec[-780] rec[-1679] + DETECTOR(32, 8, 0) rec[-779] rec[-1678] + DETECTOR(34, 8, 0) rec[-778] rec[-1677] + DETECTOR(36, 8, 0) rec[-777] rec[-1676] + DETECTOR(38, 8, 0) rec[-776] rec[-1675] + DETECTOR(40, 8, 0) rec[-775] rec[-1674] + DETECTOR(42, 8, 0) rec[-774] rec[-1673] + DETECTOR(44, 8, 0) rec[-773] rec[-1672] + DETECTOR(46, 8, 0) rec[-772] rec[-1671] + DETECTOR(48, 8, 0) rec[-771] rec[-1670] + DETECTOR(50, 8, 0) rec[-770] rec[-1669] + DETECTOR(52, 8, 0) rec[-769] rec[-1668] + DETECTOR(54, 8, 0) rec[-768] rec[-1667] + DETECTOR(56, 8, 0) rec[-767] rec[-1666] + DETECTOR(58, 8, 0) rec[-766] rec[-1665] + DETECTOR(60, 8, 0) rec[-765] rec[-1664] + DETECTOR(2, 10, 0) rec[-764] rec[-1663] + DETECTOR(4, 10, 0) rec[-763] rec[-1662] + DETECTOR(6, 10, 0) rec[-762] rec[-1661] + DETECTOR(8, 10, 0) rec[-761] rec[-1660] + DETECTOR(10, 10, 0) rec[-760] rec[-1659] + DETECTOR(12, 10, 0) rec[-759] rec[-1658] + DETECTOR(14, 10, 0) rec[-758] rec[-1657] + DETECTOR(16, 10, 0) rec[-757] rec[-1656] + DETECTOR(18, 10, 0) rec[-756] rec[-1655] + DETECTOR(20, 10, 0) rec[-755] rec[-1654] + DETECTOR(22, 10, 0) rec[-754] rec[-1653] + DETECTOR(24, 10, 0) rec[-753] rec[-1652] + DETECTOR(26, 10, 0) rec[-752] rec[-1651] + DETECTOR(28, 10, 0) rec[-751] rec[-1650] + DETECTOR(30, 10, 0) rec[-750] rec[-1649] + DETECTOR(32, 10, 0) rec[-749] rec[-1648] + DETECTOR(34, 10, 0) rec[-748] rec[-1647] + DETECTOR(36, 10, 0) rec[-747] rec[-1646] + DETECTOR(38, 10, 0) rec[-746] rec[-1645] + DETECTOR(40, 10, 0) rec[-745] rec[-1644] + DETECTOR(42, 10, 0) rec[-744] rec[-1643] + DETECTOR(44, 10, 0) rec[-743] rec[-1642] + DETECTOR(46, 10, 0) rec[-742] rec[-1641] + DETECTOR(48, 10, 0) rec[-741] rec[-1640] + DETECTOR(50, 10, 0) rec[-740] rec[-1639] + DETECTOR(52, 10, 0) rec[-739] rec[-1638] + DETECTOR(54, 10, 0) rec[-738] rec[-1637] + DETECTOR(56, 10, 0) rec[-737] rec[-1636] + DETECTOR(58, 10, 0) rec[-736] rec[-1635] + DETECTOR(0, 12, 0) rec[-735] rec[-1634] + DETECTOR(2, 12, 0) rec[-734] rec[-1633] + DETECTOR(4, 12, 0) rec[-733] rec[-1632] + DETECTOR(6, 12, 0) rec[-732] rec[-1631] + DETECTOR(8, 12, 0) rec[-731] rec[-1630] + DETECTOR(10, 12, 0) rec[-730] rec[-1629] + DETECTOR(12, 12, 0) rec[-729] rec[-1628] + DETECTOR(14, 12, 0) rec[-728] rec[-1627] + DETECTOR(16, 12, 0) rec[-727] rec[-1626] + DETECTOR(18, 12, 0) rec[-726] rec[-1625] + DETECTOR(20, 12, 0) rec[-725] rec[-1624] + DETECTOR(22, 12, 0) rec[-724] rec[-1623] + DETECTOR(24, 12, 0) rec[-723] rec[-1622] + DETECTOR(26, 12, 0) rec[-722] rec[-1621] + DETECTOR(28, 12, 0) rec[-721] rec[-1620] + DETECTOR(30, 12, 0) rec[-720] rec[-1619] + DETECTOR(32, 12, 0) rec[-719] rec[-1618] + DETECTOR(34, 12, 0) rec[-718] rec[-1617] + DETECTOR(36, 12, 0) rec[-717] rec[-1616] + DETECTOR(38, 12, 0) rec[-716] rec[-1615] + DETECTOR(40, 12, 0) rec[-715] rec[-1614] + DETECTOR(42, 12, 0) rec[-714] rec[-1613] + DETECTOR(44, 12, 0) rec[-713] rec[-1612] + DETECTOR(46, 12, 0) rec[-712] rec[-1611] + DETECTOR(48, 12, 0) rec[-711] rec[-1610] + DETECTOR(50, 12, 0) rec[-710] rec[-1609] + DETECTOR(52, 12, 0) rec[-709] rec[-1608] + DETECTOR(54, 12, 0) rec[-708] rec[-1607] + DETECTOR(56, 12, 0) rec[-707] rec[-1606] + DETECTOR(58, 12, 0) rec[-706] rec[-1605] + DETECTOR(60, 12, 0) rec[-705] rec[-1604] + DETECTOR(2, 14, 0) rec[-704] rec[-1603] + DETECTOR(4, 14, 0) rec[-703] rec[-1602] + DETECTOR(6, 14, 0) rec[-702] rec[-1601] + DETECTOR(8, 14, 0) rec[-701] rec[-1600] + DETECTOR(10, 14, 0) rec[-700] rec[-1599] + DETECTOR(12, 14, 0) rec[-699] rec[-1598] + DETECTOR(14, 14, 0) rec[-698] rec[-1597] + DETECTOR(16, 14, 0) rec[-697] rec[-1596] + DETECTOR(18, 14, 0) rec[-696] rec[-1595] + DETECTOR(20, 14, 0) rec[-695] rec[-1594] + DETECTOR(22, 14, 0) rec[-694] rec[-1593] + DETECTOR(24, 14, 0) rec[-693] rec[-1592] + DETECTOR(26, 14, 0) rec[-692] rec[-1591] + DETECTOR(28, 14, 0) rec[-691] rec[-1590] + DETECTOR(30, 14, 0) rec[-690] rec[-1589] + DETECTOR(32, 14, 0) rec[-689] rec[-1588] + DETECTOR(34, 14, 0) rec[-688] rec[-1587] + DETECTOR(36, 14, 0) rec[-687] rec[-1586] + DETECTOR(38, 14, 0) rec[-686] rec[-1585] + DETECTOR(40, 14, 0) rec[-685] rec[-1584] + DETECTOR(42, 14, 0) rec[-684] rec[-1583] + DETECTOR(44, 14, 0) rec[-683] rec[-1582] + DETECTOR(46, 14, 0) rec[-682] rec[-1581] + DETECTOR(48, 14, 0) rec[-681] rec[-1580] + DETECTOR(50, 14, 0) rec[-680] rec[-1579] + DETECTOR(52, 14, 0) rec[-679] rec[-1578] + DETECTOR(54, 14, 0) rec[-678] rec[-1577] + DETECTOR(56, 14, 0) rec[-677] rec[-1576] + DETECTOR(58, 14, 0) rec[-676] rec[-1575] + DETECTOR(0, 16, 0) rec[-675] rec[-1574] + DETECTOR(2, 16, 0) rec[-674] rec[-1573] + DETECTOR(4, 16, 0) rec[-673] rec[-1572] + DETECTOR(6, 16, 0) rec[-672] rec[-1571] + DETECTOR(8, 16, 0) rec[-671] rec[-1570] + DETECTOR(10, 16, 0) rec[-670] rec[-1569] + DETECTOR(12, 16, 0) rec[-669] rec[-1568] + DETECTOR(14, 16, 0) rec[-668] rec[-1567] + DETECTOR(16, 16, 0) rec[-667] rec[-1566] + DETECTOR(18, 16, 0) rec[-666] rec[-1565] + DETECTOR(20, 16, 0) rec[-665] rec[-1564] + DETECTOR(22, 16, 0) rec[-664] rec[-1563] + DETECTOR(24, 16, 0) rec[-663] rec[-1562] + DETECTOR(26, 16, 0) rec[-662] rec[-1561] + DETECTOR(28, 16, 0) rec[-661] rec[-1560] + DETECTOR(30, 16, 0) rec[-660] rec[-1559] + DETECTOR(32, 16, 0) rec[-659] rec[-1558] + DETECTOR(34, 16, 0) rec[-658] rec[-1557] + DETECTOR(36, 16, 0) rec[-657] rec[-1556] + DETECTOR(38, 16, 0) rec[-656] rec[-1555] + DETECTOR(40, 16, 0) rec[-655] rec[-1554] + DETECTOR(42, 16, 0) rec[-654] rec[-1553] + DETECTOR(44, 16, 0) rec[-653] rec[-1552] + DETECTOR(46, 16, 0) rec[-652] rec[-1551] + DETECTOR(48, 16, 0) rec[-651] rec[-1550] + DETECTOR(50, 16, 0) rec[-650] rec[-1549] + DETECTOR(52, 16, 0) rec[-649] rec[-1548] + DETECTOR(54, 16, 0) rec[-648] rec[-1547] + DETECTOR(56, 16, 0) rec[-647] rec[-1546] + DETECTOR(58, 16, 0) rec[-646] rec[-1545] + DETECTOR(60, 16, 0) rec[-645] rec[-1544] + DETECTOR(2, 18, 0) rec[-644] rec[-1543] + DETECTOR(4, 18, 0) rec[-643] rec[-1542] + DETECTOR(6, 18, 0) rec[-642] rec[-1541] + DETECTOR(8, 18, 0) rec[-641] rec[-1540] + DETECTOR(10, 18, 0) rec[-640] rec[-1539] + DETECTOR(12, 18, 0) rec[-639] rec[-1538] + DETECTOR(14, 18, 0) rec[-638] rec[-1537] + DETECTOR(16, 18, 0) rec[-637] rec[-1536] + DETECTOR(18, 18, 0) rec[-636] rec[-1535] + DETECTOR(20, 18, 0) rec[-635] rec[-1534] + DETECTOR(22, 18, 0) rec[-634] rec[-1533] + DETECTOR(24, 18, 0) rec[-633] rec[-1532] + DETECTOR(26, 18, 0) rec[-632] rec[-1531] + DETECTOR(28, 18, 0) rec[-631] rec[-1530] + DETECTOR(30, 18, 0) rec[-630] rec[-1529] + DETECTOR(32, 18, 0) rec[-629] rec[-1528] + DETECTOR(34, 18, 0) rec[-628] rec[-1527] + DETECTOR(36, 18, 0) rec[-627] rec[-1526] + DETECTOR(38, 18, 0) rec[-626] rec[-1525] + DETECTOR(40, 18, 0) rec[-625] rec[-1524] + DETECTOR(42, 18, 0) rec[-624] rec[-1523] + DETECTOR(44, 18, 0) rec[-623] rec[-1522] + DETECTOR(46, 18, 0) rec[-622] rec[-1521] + DETECTOR(48, 18, 0) rec[-621] rec[-1520] + DETECTOR(50, 18, 0) rec[-620] rec[-1519] + DETECTOR(52, 18, 0) rec[-619] rec[-1518] + DETECTOR(54, 18, 0) rec[-618] rec[-1517] + DETECTOR(56, 18, 0) rec[-617] rec[-1516] + DETECTOR(58, 18, 0) rec[-616] rec[-1515] + DETECTOR(0, 20, 0) rec[-615] rec[-1514] + DETECTOR(2, 20, 0) rec[-614] rec[-1513] + DETECTOR(4, 20, 0) rec[-613] rec[-1512] + DETECTOR(6, 20, 0) rec[-612] rec[-1511] + DETECTOR(8, 20, 0) rec[-611] rec[-1510] + DETECTOR(10, 20, 0) rec[-610] rec[-1509] + DETECTOR(12, 20, 0) rec[-609] rec[-1508] + DETECTOR(14, 20, 0) rec[-608] rec[-1507] + DETECTOR(16, 20, 0) rec[-607] rec[-1506] + DETECTOR(18, 20, 0) rec[-606] rec[-1505] + DETECTOR(20, 20, 0) rec[-605] rec[-1504] + DETECTOR(22, 20, 0) rec[-604] rec[-1503] + DETECTOR(24, 20, 0) rec[-603] rec[-1502] + DETECTOR(26, 20, 0) rec[-602] rec[-1501] + DETECTOR(28, 20, 0) rec[-601] rec[-1500] + DETECTOR(30, 20, 0) rec[-600] rec[-1499] + DETECTOR(32, 20, 0) rec[-599] rec[-1498] + DETECTOR(34, 20, 0) rec[-598] rec[-1497] + DETECTOR(36, 20, 0) rec[-597] rec[-1496] + DETECTOR(38, 20, 0) rec[-596] rec[-1495] + DETECTOR(40, 20, 0) rec[-595] rec[-1494] + DETECTOR(42, 20, 0) rec[-594] rec[-1493] + DETECTOR(44, 20, 0) rec[-593] rec[-1492] + DETECTOR(46, 20, 0) rec[-592] rec[-1491] + DETECTOR(48, 20, 0) rec[-591] rec[-1490] + DETECTOR(50, 20, 0) rec[-590] rec[-1489] + DETECTOR(52, 20, 0) rec[-589] rec[-1488] + DETECTOR(54, 20, 0) rec[-588] rec[-1487] + DETECTOR(56, 20, 0) rec[-587] rec[-1486] + DETECTOR(58, 20, 0) rec[-586] rec[-1485] + DETECTOR(60, 20, 0) rec[-585] rec[-1484] + DETECTOR(2, 22, 0) rec[-584] rec[-1483] + DETECTOR(4, 22, 0) rec[-583] rec[-1482] + DETECTOR(6, 22, 0) rec[-582] rec[-1481] + DETECTOR(8, 22, 0) rec[-581] rec[-1480] + DETECTOR(10, 22, 0) rec[-580] rec[-1479] + DETECTOR(12, 22, 0) rec[-579] rec[-1478] + DETECTOR(14, 22, 0) rec[-578] rec[-1477] + DETECTOR(16, 22, 0) rec[-577] rec[-1476] + DETECTOR(18, 22, 0) rec[-576] rec[-1475] + DETECTOR(20, 22, 0) rec[-575] rec[-1474] + DETECTOR(22, 22, 0) rec[-574] rec[-1473] + DETECTOR(24, 22, 0) rec[-573] rec[-1472] + DETECTOR(26, 22, 0) rec[-572] rec[-1471] + DETECTOR(28, 22, 0) rec[-571] rec[-1470] + DETECTOR(30, 22, 0) rec[-570] rec[-1469] + DETECTOR(32, 22, 0) rec[-569] rec[-1468] + DETECTOR(34, 22, 0) rec[-568] rec[-1467] + DETECTOR(36, 22, 0) rec[-567] rec[-1466] + DETECTOR(38, 22, 0) rec[-566] rec[-1465] + DETECTOR(40, 22, 0) rec[-565] rec[-1464] + DETECTOR(42, 22, 0) rec[-564] rec[-1463] + DETECTOR(44, 22, 0) rec[-563] rec[-1462] + DETECTOR(46, 22, 0) rec[-562] rec[-1461] + DETECTOR(48, 22, 0) rec[-561] rec[-1460] + DETECTOR(50, 22, 0) rec[-560] rec[-1459] + DETECTOR(52, 22, 0) rec[-559] rec[-1458] + DETECTOR(54, 22, 0) rec[-558] rec[-1457] + DETECTOR(56, 22, 0) rec[-557] rec[-1456] + DETECTOR(58, 22, 0) rec[-556] rec[-1455] + DETECTOR(0, 24, 0) rec[-555] rec[-1454] + DETECTOR(2, 24, 0) rec[-554] rec[-1453] + DETECTOR(4, 24, 0) rec[-553] rec[-1452] + DETECTOR(6, 24, 0) rec[-552] rec[-1451] + DETECTOR(8, 24, 0) rec[-551] rec[-1450] + DETECTOR(10, 24, 0) rec[-550] rec[-1449] + DETECTOR(12, 24, 0) rec[-549] rec[-1448] + DETECTOR(14, 24, 0) rec[-548] rec[-1447] + DETECTOR(16, 24, 0) rec[-547] rec[-1446] + DETECTOR(18, 24, 0) rec[-546] rec[-1445] + DETECTOR(20, 24, 0) rec[-545] rec[-1444] + DETECTOR(22, 24, 0) rec[-544] rec[-1443] + DETECTOR(24, 24, 0) rec[-543] rec[-1442] + DETECTOR(26, 24, 0) rec[-542] rec[-1441] + DETECTOR(28, 24, 0) rec[-541] rec[-1440] + DETECTOR(30, 24, 0) rec[-540] rec[-1439] + DETECTOR(32, 24, 0) rec[-539] rec[-1438] + DETECTOR(34, 24, 0) rec[-538] rec[-1437] + DETECTOR(36, 24, 0) rec[-537] rec[-1436] + DETECTOR(38, 24, 0) rec[-536] rec[-1435] + DETECTOR(40, 24, 0) rec[-535] rec[-1434] + DETECTOR(42, 24, 0) rec[-534] rec[-1433] + DETECTOR(44, 24, 0) rec[-533] rec[-1432] + DETECTOR(46, 24, 0) rec[-532] rec[-1431] + DETECTOR(48, 24, 0) rec[-531] rec[-1430] + DETECTOR(50, 24, 0) rec[-530] rec[-1429] + DETECTOR(52, 24, 0) rec[-529] rec[-1428] + DETECTOR(54, 24, 0) rec[-528] rec[-1427] + DETECTOR(56, 24, 0) rec[-527] rec[-1426] + DETECTOR(58, 24, 0) rec[-526] rec[-1425] + DETECTOR(60, 24, 0) rec[-525] rec[-1424] + DETECTOR(2, 26, 0) rec[-524] rec[-1423] + DETECTOR(4, 26, 0) rec[-523] rec[-1422] + DETECTOR(6, 26, 0) rec[-522] rec[-1421] + DETECTOR(8, 26, 0) rec[-521] rec[-1420] + DETECTOR(10, 26, 0) rec[-520] rec[-1419] + DETECTOR(12, 26, 0) rec[-519] rec[-1418] + DETECTOR(14, 26, 0) rec[-518] rec[-1417] + DETECTOR(16, 26, 0) rec[-517] rec[-1416] + DETECTOR(18, 26, 0) rec[-516] rec[-1415] + DETECTOR(20, 26, 0) rec[-515] rec[-1414] + DETECTOR(22, 26, 0) rec[-514] rec[-1413] + DETECTOR(24, 26, 0) rec[-513] rec[-1412] + DETECTOR(26, 26, 0) rec[-512] rec[-1411] + DETECTOR(28, 26, 0) rec[-511] rec[-1410] + DETECTOR(30, 26, 0) rec[-510] rec[-1409] + DETECTOR(32, 26, 0) rec[-509] rec[-1408] + DETECTOR(34, 26, 0) rec[-508] rec[-1407] + DETECTOR(36, 26, 0) rec[-507] rec[-1406] + DETECTOR(38, 26, 0) rec[-506] rec[-1405] + DETECTOR(40, 26, 0) rec[-505] rec[-1404] + DETECTOR(42, 26, 0) rec[-504] rec[-1403] + DETECTOR(44, 26, 0) rec[-503] rec[-1402] + DETECTOR(46, 26, 0) rec[-502] rec[-1401] + DETECTOR(48, 26, 0) rec[-501] rec[-1400] + DETECTOR(50, 26, 0) rec[-500] rec[-1399] + DETECTOR(52, 26, 0) rec[-499] rec[-1398] + DETECTOR(54, 26, 0) rec[-498] rec[-1397] + DETECTOR(56, 26, 0) rec[-497] rec[-1396] + DETECTOR(58, 26, 0) rec[-496] rec[-1395] + DETECTOR(0, 28, 0) rec[-495] rec[-1394] + DETECTOR(2, 28, 0) rec[-494] rec[-1393] + DETECTOR(4, 28, 0) rec[-493] rec[-1392] + DETECTOR(6, 28, 0) rec[-492] rec[-1391] + DETECTOR(8, 28, 0) rec[-491] rec[-1390] + DETECTOR(10, 28, 0) rec[-490] rec[-1389] + DETECTOR(12, 28, 0) rec[-489] rec[-1388] + DETECTOR(14, 28, 0) rec[-488] rec[-1387] + DETECTOR(16, 28, 0) rec[-487] rec[-1386] + DETECTOR(18, 28, 0) rec[-486] rec[-1385] + DETECTOR(20, 28, 0) rec[-485] rec[-1384] + DETECTOR(22, 28, 0) rec[-484] rec[-1383] + DETECTOR(24, 28, 0) rec[-483] rec[-1382] + DETECTOR(26, 28, 0) rec[-482] rec[-1381] + DETECTOR(28, 28, 0) rec[-481] rec[-1380] + DETECTOR(30, 28, 0) rec[-480] rec[-1379] + DETECTOR(32, 28, 0) rec[-479] rec[-1378] + DETECTOR(34, 28, 0) rec[-478] rec[-1377] + DETECTOR(36, 28, 0) rec[-477] rec[-1376] + DETECTOR(38, 28, 0) rec[-476] rec[-1375] + DETECTOR(40, 28, 0) rec[-475] rec[-1374] + DETECTOR(42, 28, 0) rec[-474] rec[-1373] + DETECTOR(44, 28, 0) rec[-473] rec[-1372] + DETECTOR(46, 28, 0) rec[-472] rec[-1371] + DETECTOR(48, 28, 0) rec[-471] rec[-1370] + DETECTOR(50, 28, 0) rec[-470] rec[-1369] + DETECTOR(52, 28, 0) rec[-469] rec[-1368] + DETECTOR(54, 28, 0) rec[-468] rec[-1367] + DETECTOR(56, 28, 0) rec[-467] rec[-1366] + DETECTOR(58, 28, 0) rec[-466] rec[-1365] + DETECTOR(60, 28, 0) rec[-465] rec[-1364] + DETECTOR(2, 30, 0) rec[-464] rec[-1363] + DETECTOR(4, 30, 0) rec[-463] rec[-1362] + DETECTOR(6, 30, 0) rec[-462] rec[-1361] + DETECTOR(8, 30, 0) rec[-461] rec[-1360] + DETECTOR(10, 30, 0) rec[-460] rec[-1359] + DETECTOR(12, 30, 0) rec[-459] rec[-1358] + DETECTOR(14, 30, 0) rec[-458] rec[-1357] + DETECTOR(16, 30, 0) rec[-457] rec[-1356] + DETECTOR(18, 30, 0) rec[-456] rec[-1355] + DETECTOR(20, 30, 0) rec[-455] rec[-1354] + DETECTOR(22, 30, 0) rec[-454] rec[-1353] + DETECTOR(24, 30, 0) rec[-453] rec[-1352] + DETECTOR(26, 30, 0) rec[-452] rec[-1351] + DETECTOR(28, 30, 0) rec[-451] rec[-1350] + DETECTOR(30, 30, 0) rec[-450] rec[-1349] + DETECTOR(32, 30, 0) rec[-449] rec[-1348] + DETECTOR(34, 30, 0) rec[-448] rec[-1347] + DETECTOR(36, 30, 0) rec[-447] rec[-1346] + DETECTOR(38, 30, 0) rec[-446] rec[-1345] + DETECTOR(40, 30, 0) rec[-445] rec[-1344] + DETECTOR(42, 30, 0) rec[-444] rec[-1343] + DETECTOR(44, 30, 0) rec[-443] rec[-1342] + DETECTOR(46, 30, 0) rec[-442] rec[-1341] + DETECTOR(48, 30, 0) rec[-441] rec[-1340] + DETECTOR(50, 30, 0) rec[-440] rec[-1339] + DETECTOR(52, 30, 0) rec[-439] rec[-1338] + DETECTOR(54, 30, 0) rec[-438] rec[-1337] + DETECTOR(56, 30, 0) rec[-437] rec[-1336] + DETECTOR(58, 30, 0) rec[-436] rec[-1335] + DETECTOR(0, 32, 0) rec[-435] rec[-1334] + DETECTOR(2, 32, 0) rec[-434] rec[-1333] + DETECTOR(4, 32, 0) rec[-433] rec[-1332] + DETECTOR(6, 32, 0) rec[-432] rec[-1331] + DETECTOR(8, 32, 0) rec[-431] rec[-1330] + DETECTOR(10, 32, 0) rec[-430] rec[-1329] + DETECTOR(12, 32, 0) rec[-429] rec[-1328] + DETECTOR(14, 32, 0) rec[-428] rec[-1327] + DETECTOR(16, 32, 0) rec[-427] rec[-1326] + DETECTOR(18, 32, 0) rec[-426] rec[-1325] + DETECTOR(20, 32, 0) rec[-425] rec[-1324] + DETECTOR(22, 32, 0) rec[-424] rec[-1323] + DETECTOR(24, 32, 0) rec[-423] rec[-1322] + DETECTOR(26, 32, 0) rec[-422] rec[-1321] + DETECTOR(28, 32, 0) rec[-421] rec[-1320] + DETECTOR(30, 32, 0) rec[-420] rec[-1319] + DETECTOR(32, 32, 0) rec[-419] rec[-1318] + DETECTOR(34, 32, 0) rec[-418] rec[-1317] + DETECTOR(36, 32, 0) rec[-417] rec[-1316] + DETECTOR(38, 32, 0) rec[-416] rec[-1315] + DETECTOR(40, 32, 0) rec[-415] rec[-1314] + DETECTOR(42, 32, 0) rec[-414] rec[-1313] + DETECTOR(44, 32, 0) rec[-413] rec[-1312] + DETECTOR(46, 32, 0) rec[-412] rec[-1311] + DETECTOR(48, 32, 0) rec[-411] rec[-1310] + DETECTOR(50, 32, 0) rec[-410] rec[-1309] + DETECTOR(52, 32, 0) rec[-409] rec[-1308] + DETECTOR(54, 32, 0) rec[-408] rec[-1307] + DETECTOR(56, 32, 0) rec[-407] rec[-1306] + DETECTOR(58, 32, 0) rec[-406] rec[-1305] + DETECTOR(60, 32, 0) rec[-405] rec[-1304] + DETECTOR(2, 34, 0) rec[-404] rec[-1303] + DETECTOR(4, 34, 0) rec[-403] rec[-1302] + DETECTOR(6, 34, 0) rec[-402] rec[-1301] + DETECTOR(8, 34, 0) rec[-401] rec[-1300] + DETECTOR(10, 34, 0) rec[-400] rec[-1299] + DETECTOR(12, 34, 0) rec[-399] rec[-1298] + DETECTOR(14, 34, 0) rec[-398] rec[-1297] + DETECTOR(16, 34, 0) rec[-397] rec[-1296] + DETECTOR(18, 34, 0) rec[-396] rec[-1295] + DETECTOR(20, 34, 0) rec[-395] rec[-1294] + DETECTOR(22, 34, 0) rec[-394] rec[-1293] + DETECTOR(24, 34, 0) rec[-393] rec[-1292] + DETECTOR(26, 34, 0) rec[-392] rec[-1291] + DETECTOR(28, 34, 0) rec[-391] rec[-1290] + DETECTOR(30, 34, 0) rec[-390] rec[-1289] + DETECTOR(32, 34, 0) rec[-389] rec[-1288] + DETECTOR(34, 34, 0) rec[-388] rec[-1287] + DETECTOR(36, 34, 0) rec[-387] rec[-1286] + DETECTOR(38, 34, 0) rec[-386] rec[-1285] + DETECTOR(40, 34, 0) rec[-385] rec[-1284] + DETECTOR(42, 34, 0) rec[-384] rec[-1283] + DETECTOR(44, 34, 0) rec[-383] rec[-1282] + DETECTOR(46, 34, 0) rec[-382] rec[-1281] + DETECTOR(48, 34, 0) rec[-381] rec[-1280] + DETECTOR(50, 34, 0) rec[-380] rec[-1279] + DETECTOR(52, 34, 0) rec[-379] rec[-1278] + DETECTOR(54, 34, 0) rec[-378] rec[-1277] + DETECTOR(56, 34, 0) rec[-377] rec[-1276] + DETECTOR(58, 34, 0) rec[-376] rec[-1275] + DETECTOR(0, 36, 0) rec[-375] rec[-1274] + DETECTOR(2, 36, 0) rec[-374] rec[-1273] + DETECTOR(4, 36, 0) rec[-373] rec[-1272] + DETECTOR(6, 36, 0) rec[-372] rec[-1271] + DETECTOR(8, 36, 0) rec[-371] rec[-1270] + DETECTOR(10, 36, 0) rec[-370] rec[-1269] + DETECTOR(12, 36, 0) rec[-369] rec[-1268] + DETECTOR(14, 36, 0) rec[-368] rec[-1267] + DETECTOR(16, 36, 0) rec[-367] rec[-1266] + DETECTOR(18, 36, 0) rec[-366] rec[-1265] + DETECTOR(20, 36, 0) rec[-365] rec[-1264] + DETECTOR(22, 36, 0) rec[-364] rec[-1263] + DETECTOR(24, 36, 0) rec[-363] rec[-1262] + DETECTOR(26, 36, 0) rec[-362] rec[-1261] + DETECTOR(28, 36, 0) rec[-361] rec[-1260] + DETECTOR(30, 36, 0) rec[-360] rec[-1259] + DETECTOR(32, 36, 0) rec[-359] rec[-1258] + DETECTOR(34, 36, 0) rec[-358] rec[-1257] + DETECTOR(36, 36, 0) rec[-357] rec[-1256] + DETECTOR(38, 36, 0) rec[-356] rec[-1255] + DETECTOR(40, 36, 0) rec[-355] rec[-1254] + DETECTOR(42, 36, 0) rec[-354] rec[-1253] + DETECTOR(44, 36, 0) rec[-353] rec[-1252] + DETECTOR(46, 36, 0) rec[-352] rec[-1251] + DETECTOR(48, 36, 0) rec[-351] rec[-1250] + DETECTOR(50, 36, 0) rec[-350] rec[-1249] + DETECTOR(52, 36, 0) rec[-349] rec[-1248] + DETECTOR(54, 36, 0) rec[-348] rec[-1247] + DETECTOR(56, 36, 0) rec[-347] rec[-1246] + DETECTOR(58, 36, 0) rec[-346] rec[-1245] + DETECTOR(60, 36, 0) rec[-345] rec[-1244] + DETECTOR(2, 38, 0) rec[-344] rec[-1243] + DETECTOR(4, 38, 0) rec[-343] rec[-1242] + DETECTOR(6, 38, 0) rec[-342] rec[-1241] + DETECTOR(8, 38, 0) rec[-341] rec[-1240] + DETECTOR(10, 38, 0) rec[-340] rec[-1239] + DETECTOR(12, 38, 0) rec[-339] rec[-1238] + DETECTOR(14, 38, 0) rec[-338] rec[-1237] + DETECTOR(16, 38, 0) rec[-337] rec[-1236] + DETECTOR(18, 38, 0) rec[-336] rec[-1235] + DETECTOR(20, 38, 0) rec[-335] rec[-1234] + DETECTOR(22, 38, 0) rec[-334] rec[-1233] + DETECTOR(24, 38, 0) rec[-333] rec[-1232] + DETECTOR(26, 38, 0) rec[-332] rec[-1231] + DETECTOR(28, 38, 0) rec[-331] rec[-1230] + DETECTOR(30, 38, 0) rec[-330] rec[-1229] + DETECTOR(32, 38, 0) rec[-329] rec[-1228] + DETECTOR(34, 38, 0) rec[-328] rec[-1227] + DETECTOR(36, 38, 0) rec[-327] rec[-1226] + DETECTOR(38, 38, 0) rec[-326] rec[-1225] + DETECTOR(40, 38, 0) rec[-325] rec[-1224] + DETECTOR(42, 38, 0) rec[-324] rec[-1223] + DETECTOR(44, 38, 0) rec[-323] rec[-1222] + DETECTOR(46, 38, 0) rec[-322] rec[-1221] + DETECTOR(48, 38, 0) rec[-321] rec[-1220] + DETECTOR(50, 38, 0) rec[-320] rec[-1219] + DETECTOR(52, 38, 0) rec[-319] rec[-1218] + DETECTOR(54, 38, 0) rec[-318] rec[-1217] + DETECTOR(56, 38, 0) rec[-317] rec[-1216] + DETECTOR(58, 38, 0) rec[-316] rec[-1215] + DETECTOR(0, 40, 0) rec[-315] rec[-1214] + DETECTOR(2, 40, 0) rec[-314] rec[-1213] + DETECTOR(4, 40, 0) rec[-313] rec[-1212] + DETECTOR(6, 40, 0) rec[-312] rec[-1211] + DETECTOR(8, 40, 0) rec[-311] rec[-1210] + DETECTOR(10, 40, 0) rec[-310] rec[-1209] + DETECTOR(12, 40, 0) rec[-309] rec[-1208] + DETECTOR(14, 40, 0) rec[-308] rec[-1207] + DETECTOR(16, 40, 0) rec[-307] rec[-1206] + DETECTOR(18, 40, 0) rec[-306] rec[-1205] + DETECTOR(20, 40, 0) rec[-305] rec[-1204] + DETECTOR(22, 40, 0) rec[-304] rec[-1203] + DETECTOR(24, 40, 0) rec[-303] rec[-1202] + DETECTOR(26, 40, 0) rec[-302] rec[-1201] + DETECTOR(28, 40, 0) rec[-301] rec[-1200] + DETECTOR(30, 40, 0) rec[-300] rec[-1199] + DETECTOR(32, 40, 0) rec[-299] rec[-1198] + DETECTOR(34, 40, 0) rec[-298] rec[-1197] + DETECTOR(36, 40, 0) rec[-297] rec[-1196] + DETECTOR(38, 40, 0) rec[-296] rec[-1195] + DETECTOR(40, 40, 0) rec[-295] rec[-1194] + DETECTOR(42, 40, 0) rec[-294] rec[-1193] + DETECTOR(44, 40, 0) rec[-293] rec[-1192] + DETECTOR(46, 40, 0) rec[-292] rec[-1191] + DETECTOR(48, 40, 0) rec[-291] rec[-1190] + DETECTOR(50, 40, 0) rec[-290] rec[-1189] + DETECTOR(52, 40, 0) rec[-289] rec[-1188] + DETECTOR(54, 40, 0) rec[-288] rec[-1187] + DETECTOR(56, 40, 0) rec[-287] rec[-1186] + DETECTOR(58, 40, 0) rec[-286] rec[-1185] + DETECTOR(60, 40, 0) rec[-285] rec[-1184] + DETECTOR(2, 42, 0) rec[-284] rec[-1183] + DETECTOR(4, 42, 0) rec[-283] rec[-1182] + DETECTOR(6, 42, 0) rec[-282] rec[-1181] + DETECTOR(8, 42, 0) rec[-281] rec[-1180] + DETECTOR(10, 42, 0) rec[-280] rec[-1179] + DETECTOR(12, 42, 0) rec[-279] rec[-1178] + DETECTOR(14, 42, 0) rec[-278] rec[-1177] + DETECTOR(16, 42, 0) rec[-277] rec[-1176] + DETECTOR(18, 42, 0) rec[-276] rec[-1175] + DETECTOR(20, 42, 0) rec[-275] rec[-1174] + DETECTOR(22, 42, 0) rec[-274] rec[-1173] + DETECTOR(24, 42, 0) rec[-273] rec[-1172] + DETECTOR(26, 42, 0) rec[-272] rec[-1171] + DETECTOR(28, 42, 0) rec[-271] rec[-1170] + DETECTOR(30, 42, 0) rec[-270] rec[-1169] + DETECTOR(32, 42, 0) rec[-269] rec[-1168] + DETECTOR(34, 42, 0) rec[-268] rec[-1167] + DETECTOR(36, 42, 0) rec[-267] rec[-1166] + DETECTOR(38, 42, 0) rec[-266] rec[-1165] + DETECTOR(40, 42, 0) rec[-265] rec[-1164] + DETECTOR(42, 42, 0) rec[-264] rec[-1163] + DETECTOR(44, 42, 0) rec[-263] rec[-1162] + DETECTOR(46, 42, 0) rec[-262] rec[-1161] + DETECTOR(48, 42, 0) rec[-261] rec[-1160] + DETECTOR(50, 42, 0) rec[-260] rec[-1159] + DETECTOR(52, 42, 0) rec[-259] rec[-1158] + DETECTOR(54, 42, 0) rec[-258] rec[-1157] + DETECTOR(56, 42, 0) rec[-257] rec[-1156] + DETECTOR(58, 42, 0) rec[-256] rec[-1155] + DETECTOR(0, 44, 0) rec[-255] rec[-1154] + DETECTOR(2, 44, 0) rec[-254] rec[-1153] + DETECTOR(4, 44, 0) rec[-253] rec[-1152] + DETECTOR(6, 44, 0) rec[-252] rec[-1151] + DETECTOR(8, 44, 0) rec[-251] rec[-1150] + DETECTOR(10, 44, 0) rec[-250] rec[-1149] + DETECTOR(12, 44, 0) rec[-249] rec[-1148] + DETECTOR(14, 44, 0) rec[-248] rec[-1147] + DETECTOR(16, 44, 0) rec[-247] rec[-1146] + DETECTOR(18, 44, 0) rec[-246] rec[-1145] + DETECTOR(20, 44, 0) rec[-245] rec[-1144] + DETECTOR(22, 44, 0) rec[-244] rec[-1143] + DETECTOR(24, 44, 0) rec[-243] rec[-1142] + DETECTOR(26, 44, 0) rec[-242] rec[-1141] + DETECTOR(28, 44, 0) rec[-241] rec[-1140] + DETECTOR(30, 44, 0) rec[-240] rec[-1139] + DETECTOR(32, 44, 0) rec[-239] rec[-1138] + DETECTOR(34, 44, 0) rec[-238] rec[-1137] + DETECTOR(36, 44, 0) rec[-237] rec[-1136] + DETECTOR(38, 44, 0) rec[-236] rec[-1135] + DETECTOR(40, 44, 0) rec[-235] rec[-1134] + DETECTOR(42, 44, 0) rec[-234] rec[-1133] + DETECTOR(44, 44, 0) rec[-233] rec[-1132] + DETECTOR(46, 44, 0) rec[-232] rec[-1131] + DETECTOR(48, 44, 0) rec[-231] rec[-1130] + DETECTOR(50, 44, 0) rec[-230] rec[-1129] + DETECTOR(52, 44, 0) rec[-229] rec[-1128] + DETECTOR(54, 44, 0) rec[-228] rec[-1127] + DETECTOR(56, 44, 0) rec[-227] rec[-1126] + DETECTOR(58, 44, 0) rec[-226] rec[-1125] + DETECTOR(60, 44, 0) rec[-225] rec[-1124] + DETECTOR(2, 46, 0) rec[-224] rec[-1123] + DETECTOR(4, 46, 0) rec[-223] rec[-1122] + DETECTOR(6, 46, 0) rec[-222] rec[-1121] + DETECTOR(8, 46, 0) rec[-221] rec[-1120] + DETECTOR(10, 46, 0) rec[-220] rec[-1119] + DETECTOR(12, 46, 0) rec[-219] rec[-1118] + DETECTOR(14, 46, 0) rec[-218] rec[-1117] + DETECTOR(16, 46, 0) rec[-217] rec[-1116] + DETECTOR(18, 46, 0) rec[-216] rec[-1115] + DETECTOR(20, 46, 0) rec[-215] rec[-1114] + DETECTOR(22, 46, 0) rec[-214] rec[-1113] + DETECTOR(24, 46, 0) rec[-213] rec[-1112] + DETECTOR(26, 46, 0) rec[-212] rec[-1111] + DETECTOR(28, 46, 0) rec[-211] rec[-1110] + DETECTOR(30, 46, 0) rec[-210] rec[-1109] + DETECTOR(32, 46, 0) rec[-209] rec[-1108] + DETECTOR(34, 46, 0) rec[-208] rec[-1107] + DETECTOR(36, 46, 0) rec[-207] rec[-1106] + DETECTOR(38, 46, 0) rec[-206] rec[-1105] + DETECTOR(40, 46, 0) rec[-205] rec[-1104] + DETECTOR(42, 46, 0) rec[-204] rec[-1103] + DETECTOR(44, 46, 0) rec[-203] rec[-1102] + DETECTOR(46, 46, 0) rec[-202] rec[-1101] + DETECTOR(48, 46, 0) rec[-201] rec[-1100] + DETECTOR(50, 46, 0) rec[-200] rec[-1099] + DETECTOR(52, 46, 0) rec[-199] rec[-1098] + DETECTOR(54, 46, 0) rec[-198] rec[-1097] + DETECTOR(56, 46, 0) rec[-197] rec[-1096] + DETECTOR(58, 46, 0) rec[-196] rec[-1095] + DETECTOR(0, 48, 0) rec[-195] rec[-1094] + DETECTOR(2, 48, 0) rec[-194] rec[-1093] + DETECTOR(4, 48, 0) rec[-193] rec[-1092] + DETECTOR(6, 48, 0) rec[-192] rec[-1091] + DETECTOR(8, 48, 0) rec[-191] rec[-1090] + DETECTOR(10, 48, 0) rec[-190] rec[-1089] + DETECTOR(12, 48, 0) rec[-189] rec[-1088] + DETECTOR(14, 48, 0) rec[-188] rec[-1087] + DETECTOR(16, 48, 0) rec[-187] rec[-1086] + DETECTOR(18, 48, 0) rec[-186] rec[-1085] + DETECTOR(20, 48, 0) rec[-185] rec[-1084] + DETECTOR(22, 48, 0) rec[-184] rec[-1083] + DETECTOR(24, 48, 0) rec[-183] rec[-1082] + DETECTOR(26, 48, 0) rec[-182] rec[-1081] + DETECTOR(28, 48, 0) rec[-181] rec[-1080] + DETECTOR(30, 48, 0) rec[-180] rec[-1079] + DETECTOR(32, 48, 0) rec[-179] rec[-1078] + DETECTOR(34, 48, 0) rec[-178] rec[-1077] + DETECTOR(36, 48, 0) rec[-177] rec[-1076] + DETECTOR(38, 48, 0) rec[-176] rec[-1075] + DETECTOR(40, 48, 0) rec[-175] rec[-1074] + DETECTOR(42, 48, 0) rec[-174] rec[-1073] + DETECTOR(44, 48, 0) rec[-173] rec[-1072] + DETECTOR(46, 48, 0) rec[-172] rec[-1071] + DETECTOR(48, 48, 0) rec[-171] rec[-1070] + DETECTOR(50, 48, 0) rec[-170] rec[-1069] + DETECTOR(52, 48, 0) rec[-169] rec[-1068] + DETECTOR(54, 48, 0) rec[-168] rec[-1067] + DETECTOR(56, 48, 0) rec[-167] rec[-1066] + DETECTOR(58, 48, 0) rec[-166] rec[-1065] + DETECTOR(60, 48, 0) rec[-165] rec[-1064] + DETECTOR(2, 50, 0) rec[-164] rec[-1063] + DETECTOR(4, 50, 0) rec[-163] rec[-1062] + DETECTOR(6, 50, 0) rec[-162] rec[-1061] + DETECTOR(8, 50, 0) rec[-161] rec[-1060] + DETECTOR(10, 50, 0) rec[-160] rec[-1059] + DETECTOR(12, 50, 0) rec[-159] rec[-1058] + DETECTOR(14, 50, 0) rec[-158] rec[-1057] + DETECTOR(16, 50, 0) rec[-157] rec[-1056] + DETECTOR(18, 50, 0) rec[-156] rec[-1055] + DETECTOR(20, 50, 0) rec[-155] rec[-1054] + DETECTOR(22, 50, 0) rec[-154] rec[-1053] + DETECTOR(24, 50, 0) rec[-153] rec[-1052] + DETECTOR(26, 50, 0) rec[-152] rec[-1051] + DETECTOR(28, 50, 0) rec[-151] rec[-1050] + DETECTOR(30, 50, 0) rec[-150] rec[-1049] + DETECTOR(32, 50, 0) rec[-149] rec[-1048] + DETECTOR(34, 50, 0) rec[-148] rec[-1047] + DETECTOR(36, 50, 0) rec[-147] rec[-1046] + DETECTOR(38, 50, 0) rec[-146] rec[-1045] + DETECTOR(40, 50, 0) rec[-145] rec[-1044] + DETECTOR(42, 50, 0) rec[-144] rec[-1043] + DETECTOR(44, 50, 0) rec[-143] rec[-1042] + DETECTOR(46, 50, 0) rec[-142] rec[-1041] + DETECTOR(48, 50, 0) rec[-141] rec[-1040] + DETECTOR(50, 50, 0) rec[-140] rec[-1039] + DETECTOR(52, 50, 0) rec[-139] rec[-1038] + DETECTOR(54, 50, 0) rec[-138] rec[-1037] + DETECTOR(56, 50, 0) rec[-137] rec[-1036] + DETECTOR(58, 50, 0) rec[-136] rec[-1035] + DETECTOR(0, 52, 0) rec[-135] rec[-1034] + DETECTOR(2, 52, 0) rec[-134] rec[-1033] + DETECTOR(4, 52, 0) rec[-133] rec[-1032] + DETECTOR(6, 52, 0) rec[-132] rec[-1031] + DETECTOR(8, 52, 0) rec[-131] rec[-1030] + DETECTOR(10, 52, 0) rec[-130] rec[-1029] + DETECTOR(12, 52, 0) rec[-129] rec[-1028] + DETECTOR(14, 52, 0) rec[-128] rec[-1027] + DETECTOR(16, 52, 0) rec[-127] rec[-1026] + DETECTOR(18, 52, 0) rec[-126] rec[-1025] + DETECTOR(20, 52, 0) rec[-125] rec[-1024] + DETECTOR(22, 52, 0) rec[-124] rec[-1023] + DETECTOR(24, 52, 0) rec[-123] rec[-1022] + DETECTOR(26, 52, 0) rec[-122] rec[-1021] + DETECTOR(28, 52, 0) rec[-121] rec[-1020] + DETECTOR(30, 52, 0) rec[-120] rec[-1019] + DETECTOR(32, 52, 0) rec[-119] rec[-1018] + DETECTOR(34, 52, 0) rec[-118] rec[-1017] + DETECTOR(36, 52, 0) rec[-117] rec[-1016] + DETECTOR(38, 52, 0) rec[-116] rec[-1015] + DETECTOR(40, 52, 0) rec[-115] rec[-1014] + DETECTOR(42, 52, 0) rec[-114] rec[-1013] + DETECTOR(44, 52, 0) rec[-113] rec[-1012] + DETECTOR(46, 52, 0) rec[-112] rec[-1011] + DETECTOR(48, 52, 0) rec[-111] rec[-1010] + DETECTOR(50, 52, 0) rec[-110] rec[-1009] + DETECTOR(52, 52, 0) rec[-109] rec[-1008] + DETECTOR(54, 52, 0) rec[-108] rec[-1007] + DETECTOR(56, 52, 0) rec[-107] rec[-1006] + DETECTOR(58, 52, 0) rec[-106] rec[-1005] + DETECTOR(60, 52, 0) rec[-105] rec[-1004] + DETECTOR(2, 54, 0) rec[-104] rec[-1003] + DETECTOR(4, 54, 0) rec[-103] rec[-1002] + DETECTOR(6, 54, 0) rec[-102] rec[-1001] + DETECTOR(8, 54, 0) rec[-101] rec[-1000] + DETECTOR(10, 54, 0) rec[-100] rec[-999] + DETECTOR(12, 54, 0) rec[-99] rec[-998] + DETECTOR(14, 54, 0) rec[-98] rec[-997] + DETECTOR(16, 54, 0) rec[-97] rec[-996] + DETECTOR(18, 54, 0) rec[-96] rec[-995] + DETECTOR(20, 54, 0) rec[-95] rec[-994] + DETECTOR(22, 54, 0) rec[-94] rec[-993] + DETECTOR(24, 54, 0) rec[-93] rec[-992] + DETECTOR(26, 54, 0) rec[-92] rec[-991] + DETECTOR(28, 54, 0) rec[-91] rec[-990] + DETECTOR(30, 54, 0) rec[-90] rec[-989] + DETECTOR(32, 54, 0) rec[-89] rec[-988] + DETECTOR(34, 54, 0) rec[-88] rec[-987] + DETECTOR(36, 54, 0) rec[-87] rec[-986] + DETECTOR(38, 54, 0) rec[-86] rec[-985] + DETECTOR(40, 54, 0) rec[-85] rec[-984] + DETECTOR(42, 54, 0) rec[-84] rec[-983] + DETECTOR(44, 54, 0) rec[-83] rec[-982] + DETECTOR(46, 54, 0) rec[-82] rec[-981] + DETECTOR(48, 54, 0) rec[-81] rec[-980] + DETECTOR(50, 54, 0) rec[-80] rec[-979] + DETECTOR(52, 54, 0) rec[-79] rec[-978] + DETECTOR(54, 54, 0) rec[-78] rec[-977] + DETECTOR(56, 54, 0) rec[-77] rec[-976] + DETECTOR(58, 54, 0) rec[-76] rec[-975] + DETECTOR(0, 56, 0) rec[-75] rec[-974] + DETECTOR(2, 56, 0) rec[-74] rec[-973] + DETECTOR(4, 56, 0) rec[-73] rec[-972] + DETECTOR(6, 56, 0) rec[-72] rec[-971] + DETECTOR(8, 56, 0) rec[-71] rec[-970] + DETECTOR(10, 56, 0) rec[-70] rec[-969] + DETECTOR(12, 56, 0) rec[-69] rec[-968] + DETECTOR(14, 56, 0) rec[-68] rec[-967] + DETECTOR(16, 56, 0) rec[-67] rec[-966] + DETECTOR(18, 56, 0) rec[-66] rec[-965] + DETECTOR(20, 56, 0) rec[-65] rec[-964] + DETECTOR(22, 56, 0) rec[-64] rec[-963] + DETECTOR(24, 56, 0) rec[-63] rec[-962] + DETECTOR(26, 56, 0) rec[-62] rec[-961] + DETECTOR(28, 56, 0) rec[-61] rec[-960] + DETECTOR(30, 56, 0) rec[-60] rec[-959] + DETECTOR(32, 56, 0) rec[-59] rec[-958] + DETECTOR(34, 56, 0) rec[-58] rec[-957] + DETECTOR(36, 56, 0) rec[-57] rec[-956] + DETECTOR(38, 56, 0) rec[-56] rec[-955] + DETECTOR(40, 56, 0) rec[-55] rec[-954] + DETECTOR(42, 56, 0) rec[-54] rec[-953] + DETECTOR(44, 56, 0) rec[-53] rec[-952] + DETECTOR(46, 56, 0) rec[-52] rec[-951] + DETECTOR(48, 56, 0) rec[-51] rec[-950] + DETECTOR(50, 56, 0) rec[-50] rec[-949] + DETECTOR(52, 56, 0) rec[-49] rec[-948] + DETECTOR(54, 56, 0) rec[-48] rec[-947] + DETECTOR(56, 56, 0) rec[-47] rec[-946] + DETECTOR(58, 56, 0) rec[-46] rec[-945] + DETECTOR(60, 56, 0) rec[-45] rec[-944] + DETECTOR(2, 58, 0) rec[-44] rec[-943] + DETECTOR(4, 58, 0) rec[-43] rec[-942] + DETECTOR(6, 58, 0) rec[-42] rec[-941] + DETECTOR(8, 58, 0) rec[-41] rec[-940] + DETECTOR(10, 58, 0) rec[-40] rec[-939] + DETECTOR(12, 58, 0) rec[-39] rec[-938] + DETECTOR(14, 58, 0) rec[-38] rec[-937] + DETECTOR(16, 58, 0) rec[-37] rec[-936] + DETECTOR(18, 58, 0) rec[-36] rec[-935] + DETECTOR(20, 58, 0) rec[-35] rec[-934] + DETECTOR(22, 58, 0) rec[-34] rec[-933] + DETECTOR(24, 58, 0) rec[-33] rec[-932] + DETECTOR(26, 58, 0) rec[-32] rec[-931] + DETECTOR(28, 58, 0) rec[-31] rec[-930] + DETECTOR(30, 58, 0) rec[-30] rec[-929] + DETECTOR(32, 58, 0) rec[-29] rec[-928] + DETECTOR(34, 58, 0) rec[-28] rec[-927] + DETECTOR(36, 58, 0) rec[-27] rec[-926] + DETECTOR(38, 58, 0) rec[-26] rec[-925] + DETECTOR(40, 58, 0) rec[-25] rec[-924] + DETECTOR(42, 58, 0) rec[-24] rec[-923] + DETECTOR(44, 58, 0) rec[-23] rec[-922] + DETECTOR(46, 58, 0) rec[-22] rec[-921] + DETECTOR(48, 58, 0) rec[-21] rec[-920] + DETECTOR(50, 58, 0) rec[-20] rec[-919] + DETECTOR(52, 58, 0) rec[-19] rec[-918] + DETECTOR(54, 58, 0) rec[-18] rec[-917] + DETECTOR(56, 58, 0) rec[-17] rec[-916] + DETECTOR(58, 58, 0) rec[-16] rec[-915] + DETECTOR(2, 60, 0) rec[-15] rec[-914] + DETECTOR(6, 60, 0) rec[-14] rec[-913] + DETECTOR(10, 60, 0) rec[-13] rec[-912] + DETECTOR(14, 60, 0) rec[-12] rec[-911] + DETECTOR(18, 60, 0) rec[-11] rec[-910] + DETECTOR(22, 60, 0) rec[-10] rec[-909] + DETECTOR(26, 60, 0) rec[-9] rec[-908] + DETECTOR(30, 60, 0) rec[-8] rec[-907] + DETECTOR(34, 60, 0) rec[-7] rec[-906] + DETECTOR(38, 60, 0) rec[-6] rec[-905] + DETECTOR(42, 60, 0) rec[-5] rec[-904] + DETECTOR(46, 60, 0) rec[-4] rec[-903] + DETECTOR(50, 60, 0) rec[-3] rec[-902] + DETECTOR(54, 60, 0) rec[-2] rec[-901] + DETECTOR(58, 60, 0) rec[-1] rec[-900] +} +X_ERROR(0.001) 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 +M 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118 120 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 184 186 188 190 192 194 196 198 200 202 204 206 208 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 245 247 249 251 253 255 257 259 261 263 265 267 269 271 273 275 277 279 281 283 285 287 289 291 293 295 297 299 301 303 306 308 310 312 314 316 318 320 322 324 326 328 330 332 334 336 338 340 342 344 346 348 350 352 354 356 358 360 362 364 367 369 371 373 375 377 379 381 383 385 387 389 391 393 395 397 399 401 403 405 407 409 411 413 415 417 419 421 423 425 428 430 432 434 436 438 440 442 444 446 448 450 452 454 456 458 460 462 464 466 468 470 472 474 476 478 480 482 484 486 489 491 493 495 497 499 501 503 505 507 509 511 513 515 517 519 521 523 525 527 529 531 533 535 537 539 541 543 545 547 550 552 554 556 558 560 562 564 566 568 570 572 574 576 578 580 582 584 586 588 590 592 594 596 598 600 602 604 606 608 611 613 615 617 619 621 623 625 627 629 631 633 635 637 639 641 643 645 647 649 651 653 655 657 659 661 663 665 667 669 672 674 676 678 680 682 684 686 688 690 692 694 696 698 700 702 704 706 708 710 712 714 716 718 720 722 724 726 728 730 733 735 737 739 741 743 745 747 749 751 753 755 757 759 761 763 765 767 769 771 773 775 777 779 781 783 785 787 789 791 794 796 798 800 802 804 806 808 810 812 814 816 818 820 822 824 826 828 830 832 834 836 838 840 842 844 846 848 850 852 855 857 859 861 863 865 867 869 871 873 875 877 879 881 883 885 887 889 891 893 895 897 899 901 903 905 907 909 911 913 916 918 920 922 924 926 928 930 932 934 936 938 940 942 944 946 948 950 952 954 956 958 960 962 964 966 968 970 972 974 977 979 981 983 985 987 989 991 993 995 997 999 1001 1003 1005 1007 1009 1011 1013 1015 1017 1019 1021 1023 1025 1027 1029 1031 1033 1035 1038 1040 1042 1044 1046 1048 1050 1052 1054 1056 1058 1060 1062 1064 1066 1068 1070 1072 1074 1076 1078 1080 1082 1084 1086 1088 1090 1092 1094 1096 1099 1101 1103 1105 1107 1109 1111 1113 1115 1117 1119 1121 1123 1125 1127 1129 1131 1133 1135 1137 1139 1141 1143 1145 1147 1149 1151 1153 1155 1157 1160 1162 1164 1166 1168 1170 1172 1174 1176 1178 1180 1182 1184 1186 1188 1190 1192 1194 1196 1198 1200 1202 1204 1206 1208 1210 1212 1214 1216 1218 1221 1223 1225 1227 1229 1231 1233 1235 1237 1239 1241 1243 1245 1247 1249 1251 1253 1255 1257 1259 1261 1263 1265 1267 1269 1271 1273 1275 1277 1279 1282 1284 1286 1288 1290 1292 1294 1296 1298 1300 1302 1304 1306 1308 1310 1312 1314 1316 1318 1320 1322 1324 1326 1328 1330 1332 1334 1336 1338 1340 1343 1345 1347 1349 1351 1353 1355 1357 1359 1361 1363 1365 1367 1369 1371 1373 1375 1377 1379 1381 1383 1385 1387 1389 1391 1393 1395 1397 1399 1401 1404 1406 1408 1410 1412 1414 1416 1418 1420 1422 1424 1426 1428 1430 1432 1434 1436 1438 1440 1442 1444 1446 1448 1450 1452 1454 1456 1458 1460 1462 1465 1467 1469 1471 1473 1475 1477 1479 1481 1483 1485 1487 1489 1491 1493 1495 1497 1499 1501 1503 1505 1507 1509 1511 1513 1515 1517 1519 1521 1523 1526 1528 1530 1532 1534 1536 1538 1540 1542 1544 1546 1548 1550 1552 1554 1556 1558 1560 1562 1564 1566 1568 1570 1572 1574 1576 1578 1580 1582 1584 1587 1589 1591 1593 1595 1597 1599 1601 1603 1605 1607 1609 1611 1613 1615 1617 1619 1621 1623 1625 1627 1629 1631 1633 1635 1637 1639 1641 1643 1645 1648 1650 1652 1654 1656 1658 1660 1662 1664 1666 1668 1670 1672 1674 1676 1678 1680 1682 1684 1686 1688 1690 1692 1694 1696 1698 1700 1702 1704 1706 1709 1711 1713 1715 1717 1719 1721 1723 1725 1727 1729 1731 1733 1735 1737 1739 1741 1743 1745 1747 1749 1751 1753 1755 1757 1759 1761 1763 1765 1767 1770 1772 1774 1776 1778 1780 1782 1784 1786 1788 1790 1792 1794 1796 1798 1800 1802 1804 1806 1808 1810 1812 1814 1816 1818 1820 1822 1824 1826 1828 +DETECTOR(0, 4, 1) rec[-840] rec[-870] rec[-1755] +DETECTOR(0, 8, 1) rec[-780] rec[-810] rec[-1695] +DETECTOR(0, 12, 1) rec[-720] rec[-750] rec[-1635] +DETECTOR(0, 16, 1) rec[-660] rec[-690] rec[-1575] +DETECTOR(0, 20, 1) rec[-600] rec[-630] rec[-1515] +DETECTOR(0, 24, 1) rec[-540] rec[-570] rec[-1455] +DETECTOR(0, 28, 1) rec[-480] rec[-510] rec[-1395] +DETECTOR(0, 32, 1) rec[-420] rec[-450] rec[-1335] +DETECTOR(0, 36, 1) rec[-360] rec[-390] rec[-1275] +DETECTOR(0, 40, 1) rec[-300] rec[-330] rec[-1215] +DETECTOR(0, 44, 1) rec[-240] rec[-270] rec[-1155] +DETECTOR(0, 48, 1) rec[-180] rec[-210] rec[-1095] +DETECTOR(0, 52, 1) rec[-120] rec[-150] rec[-1035] +DETECTOR(0, 56, 1) rec[-60] rec[-90] rec[-975] +DETECTOR(2, 2, 1) rec[-869] rec[-870] rec[-899] rec[-900] rec[-1784] +DETECTOR(2, 6, 1) rec[-809] rec[-810] rec[-839] rec[-840] rec[-1724] +DETECTOR(2, 10, 1) rec[-749] rec[-750] rec[-779] rec[-780] rec[-1664] +DETECTOR(2, 14, 1) rec[-689] rec[-690] rec[-719] rec[-720] rec[-1604] +DETECTOR(2, 18, 1) rec[-629] rec[-630] rec[-659] rec[-660] rec[-1544] +DETECTOR(2, 22, 1) rec[-569] rec[-570] rec[-599] rec[-600] rec[-1484] +DETECTOR(2, 26, 1) rec[-509] rec[-510] rec[-539] rec[-540] rec[-1424] +DETECTOR(2, 30, 1) rec[-449] rec[-450] rec[-479] rec[-480] rec[-1364] +DETECTOR(2, 34, 1) rec[-389] rec[-390] rec[-419] rec[-420] rec[-1304] +DETECTOR(2, 38, 1) rec[-329] rec[-330] rec[-359] rec[-360] rec[-1244] +DETECTOR(2, 42, 1) rec[-269] rec[-270] rec[-299] rec[-300] rec[-1184] +DETECTOR(2, 46, 1) rec[-209] rec[-210] rec[-239] rec[-240] rec[-1124] +DETECTOR(2, 50, 1) rec[-149] rec[-150] rec[-179] rec[-180] rec[-1064] +DETECTOR(2, 54, 1) rec[-89] rec[-90] rec[-119] rec[-120] rec[-1004] +DETECTOR(2, 58, 1) rec[-29] rec[-30] rec[-59] rec[-60] rec[-944] +DETECTOR(4, 4, 1) rec[-838] rec[-839] rec[-868] rec[-869] rec[-1753] +DETECTOR(4, 8, 1) rec[-778] rec[-779] rec[-808] rec[-809] rec[-1693] +DETECTOR(4, 12, 1) rec[-718] rec[-719] rec[-748] rec[-749] rec[-1633] +DETECTOR(4, 16, 1) rec[-658] rec[-659] rec[-688] rec[-689] rec[-1573] +DETECTOR(4, 20, 1) rec[-598] rec[-599] rec[-628] rec[-629] rec[-1513] +DETECTOR(4, 24, 1) rec[-538] rec[-539] rec[-568] rec[-569] rec[-1453] +DETECTOR(4, 28, 1) rec[-478] rec[-479] rec[-508] rec[-509] rec[-1393] +DETECTOR(4, 32, 1) rec[-418] rec[-419] rec[-448] rec[-449] rec[-1333] +DETECTOR(4, 36, 1) rec[-358] rec[-359] rec[-388] rec[-389] rec[-1273] +DETECTOR(4, 40, 1) rec[-298] rec[-299] rec[-328] rec[-329] rec[-1213] +DETECTOR(4, 44, 1) rec[-238] rec[-239] rec[-268] rec[-269] rec[-1153] +DETECTOR(4, 48, 1) rec[-178] rec[-179] rec[-208] rec[-209] rec[-1093] +DETECTOR(4, 52, 1) rec[-118] rec[-119] rec[-148] rec[-149] rec[-1033] +DETECTOR(4, 56, 1) rec[-58] rec[-59] rec[-88] rec[-89] rec[-973] +DETECTOR(6, 2, 1) rec[-867] rec[-868] rec[-897] rec[-898] rec[-1782] +DETECTOR(6, 6, 1) rec[-807] rec[-808] rec[-837] rec[-838] rec[-1722] +DETECTOR(6, 10, 1) rec[-747] rec[-748] rec[-777] rec[-778] rec[-1662] +DETECTOR(6, 14, 1) rec[-687] rec[-688] rec[-717] rec[-718] rec[-1602] +DETECTOR(6, 18, 1) rec[-627] rec[-628] rec[-657] rec[-658] rec[-1542] +DETECTOR(6, 22, 1) rec[-567] rec[-568] rec[-597] rec[-598] rec[-1482] +DETECTOR(6, 26, 1) rec[-507] rec[-508] rec[-537] rec[-538] rec[-1422] +DETECTOR(6, 30, 1) rec[-447] rec[-448] rec[-477] rec[-478] rec[-1362] +DETECTOR(6, 34, 1) rec[-387] rec[-388] rec[-417] rec[-418] rec[-1302] +DETECTOR(6, 38, 1) rec[-327] rec[-328] rec[-357] rec[-358] rec[-1242] +DETECTOR(6, 42, 1) rec[-267] rec[-268] rec[-297] rec[-298] rec[-1182] +DETECTOR(6, 46, 1) rec[-207] rec[-208] rec[-237] rec[-238] rec[-1122] +DETECTOR(6, 50, 1) rec[-147] rec[-148] rec[-177] rec[-178] rec[-1062] +DETECTOR(6, 54, 1) rec[-87] rec[-88] rec[-117] rec[-118] rec[-1002] +DETECTOR(6, 58, 1) rec[-27] rec[-28] rec[-57] rec[-58] rec[-942] +DETECTOR(8, 4, 1) rec[-836] rec[-837] rec[-866] rec[-867] rec[-1751] +DETECTOR(8, 8, 1) rec[-776] rec[-777] rec[-806] rec[-807] rec[-1691] +DETECTOR(8, 12, 1) rec[-716] rec[-717] rec[-746] rec[-747] rec[-1631] +DETECTOR(8, 16, 1) rec[-656] rec[-657] rec[-686] rec[-687] rec[-1571] +DETECTOR(8, 20, 1) rec[-596] rec[-597] rec[-626] rec[-627] rec[-1511] +DETECTOR(8, 24, 1) rec[-536] rec[-537] rec[-566] rec[-567] rec[-1451] +DETECTOR(8, 28, 1) rec[-476] rec[-477] rec[-506] rec[-507] rec[-1391] +DETECTOR(8, 32, 1) rec[-416] rec[-417] rec[-446] rec[-447] rec[-1331] +DETECTOR(8, 36, 1) rec[-356] rec[-357] rec[-386] rec[-387] rec[-1271] +DETECTOR(8, 40, 1) rec[-296] rec[-297] rec[-326] rec[-327] rec[-1211] +DETECTOR(8, 44, 1) rec[-236] rec[-237] rec[-266] rec[-267] rec[-1151] +DETECTOR(8, 48, 1) rec[-176] rec[-177] rec[-206] rec[-207] rec[-1091] +DETECTOR(8, 52, 1) rec[-116] rec[-117] rec[-146] rec[-147] rec[-1031] +DETECTOR(8, 56, 1) rec[-56] rec[-57] rec[-86] rec[-87] rec[-971] +DETECTOR(10, 2, 1) rec[-865] rec[-866] rec[-895] rec[-896] rec[-1780] +DETECTOR(10, 6, 1) rec[-805] rec[-806] rec[-835] rec[-836] rec[-1720] +DETECTOR(10, 10, 1) rec[-745] rec[-746] rec[-775] rec[-776] rec[-1660] +DETECTOR(10, 14, 1) rec[-685] rec[-686] rec[-715] rec[-716] rec[-1600] +DETECTOR(10, 18, 1) rec[-625] rec[-626] rec[-655] rec[-656] rec[-1540] +DETECTOR(10, 22, 1) rec[-565] rec[-566] rec[-595] rec[-596] rec[-1480] +DETECTOR(10, 26, 1) rec[-505] rec[-506] rec[-535] rec[-536] rec[-1420] +DETECTOR(10, 30, 1) rec[-445] rec[-446] rec[-475] rec[-476] rec[-1360] +DETECTOR(10, 34, 1) rec[-385] rec[-386] rec[-415] rec[-416] rec[-1300] +DETECTOR(10, 38, 1) rec[-325] rec[-326] rec[-355] rec[-356] rec[-1240] +DETECTOR(10, 42, 1) rec[-265] rec[-266] rec[-295] rec[-296] rec[-1180] +DETECTOR(10, 46, 1) rec[-205] rec[-206] rec[-235] rec[-236] rec[-1120] +DETECTOR(10, 50, 1) rec[-145] rec[-146] rec[-175] rec[-176] rec[-1060] +DETECTOR(10, 54, 1) rec[-85] rec[-86] rec[-115] rec[-116] rec[-1000] +DETECTOR(10, 58, 1) rec[-25] rec[-26] rec[-55] rec[-56] rec[-940] +DETECTOR(12, 4, 1) rec[-834] rec[-835] rec[-864] rec[-865] rec[-1749] +DETECTOR(12, 8, 1) rec[-774] rec[-775] rec[-804] rec[-805] rec[-1689] +DETECTOR(12, 12, 1) rec[-714] rec[-715] rec[-744] rec[-745] rec[-1629] +DETECTOR(12, 16, 1) rec[-654] rec[-655] rec[-684] rec[-685] rec[-1569] +DETECTOR(12, 20, 1) rec[-594] rec[-595] rec[-624] rec[-625] rec[-1509] +DETECTOR(12, 24, 1) rec[-534] rec[-535] rec[-564] rec[-565] rec[-1449] +DETECTOR(12, 28, 1) rec[-474] rec[-475] rec[-504] rec[-505] rec[-1389] +DETECTOR(12, 32, 1) rec[-414] rec[-415] rec[-444] rec[-445] rec[-1329] +DETECTOR(12, 36, 1) rec[-354] rec[-355] rec[-384] rec[-385] rec[-1269] +DETECTOR(12, 40, 1) rec[-294] rec[-295] rec[-324] rec[-325] rec[-1209] +DETECTOR(12, 44, 1) rec[-234] rec[-235] rec[-264] rec[-265] rec[-1149] +DETECTOR(12, 48, 1) rec[-174] rec[-175] rec[-204] rec[-205] rec[-1089] +DETECTOR(12, 52, 1) rec[-114] rec[-115] rec[-144] rec[-145] rec[-1029] +DETECTOR(12, 56, 1) rec[-54] rec[-55] rec[-84] rec[-85] rec[-969] +DETECTOR(14, 2, 1) rec[-863] rec[-864] rec[-893] rec[-894] rec[-1778] +DETECTOR(14, 6, 1) rec[-803] rec[-804] rec[-833] rec[-834] rec[-1718] +DETECTOR(14, 10, 1) rec[-743] rec[-744] rec[-773] rec[-774] rec[-1658] +DETECTOR(14, 14, 1) rec[-683] rec[-684] rec[-713] rec[-714] rec[-1598] +DETECTOR(14, 18, 1) rec[-623] rec[-624] rec[-653] rec[-654] rec[-1538] +DETECTOR(14, 22, 1) rec[-563] rec[-564] rec[-593] rec[-594] rec[-1478] +DETECTOR(14, 26, 1) rec[-503] rec[-504] rec[-533] rec[-534] rec[-1418] +DETECTOR(14, 30, 1) rec[-443] rec[-444] rec[-473] rec[-474] rec[-1358] +DETECTOR(14, 34, 1) rec[-383] rec[-384] rec[-413] rec[-414] rec[-1298] +DETECTOR(14, 38, 1) rec[-323] rec[-324] rec[-353] rec[-354] rec[-1238] +DETECTOR(14, 42, 1) rec[-263] rec[-264] rec[-293] rec[-294] rec[-1178] +DETECTOR(14, 46, 1) rec[-203] rec[-204] rec[-233] rec[-234] rec[-1118] +DETECTOR(14, 50, 1) rec[-143] rec[-144] rec[-173] rec[-174] rec[-1058] +DETECTOR(14, 54, 1) rec[-83] rec[-84] rec[-113] rec[-114] rec[-998] +DETECTOR(14, 58, 1) rec[-23] rec[-24] rec[-53] rec[-54] rec[-938] +DETECTOR(16, 4, 1) rec[-832] rec[-833] rec[-862] rec[-863] rec[-1747] +DETECTOR(16, 8, 1) rec[-772] rec[-773] rec[-802] rec[-803] rec[-1687] +DETECTOR(16, 12, 1) rec[-712] rec[-713] rec[-742] rec[-743] rec[-1627] +DETECTOR(16, 16, 1) rec[-652] rec[-653] rec[-682] rec[-683] rec[-1567] +DETECTOR(16, 20, 1) rec[-592] rec[-593] rec[-622] rec[-623] rec[-1507] +DETECTOR(16, 24, 1) rec[-532] rec[-533] rec[-562] rec[-563] rec[-1447] +DETECTOR(16, 28, 1) rec[-472] rec[-473] rec[-502] rec[-503] rec[-1387] +DETECTOR(16, 32, 1) rec[-412] rec[-413] rec[-442] rec[-443] rec[-1327] +DETECTOR(16, 36, 1) rec[-352] rec[-353] rec[-382] rec[-383] rec[-1267] +DETECTOR(16, 40, 1) rec[-292] rec[-293] rec[-322] rec[-323] rec[-1207] +DETECTOR(16, 44, 1) rec[-232] rec[-233] rec[-262] rec[-263] rec[-1147] +DETECTOR(16, 48, 1) rec[-172] rec[-173] rec[-202] rec[-203] rec[-1087] +DETECTOR(16, 52, 1) rec[-112] rec[-113] rec[-142] rec[-143] rec[-1027] +DETECTOR(16, 56, 1) rec[-52] rec[-53] rec[-82] rec[-83] rec[-967] +DETECTOR(18, 2, 1) rec[-861] rec[-862] rec[-891] rec[-892] rec[-1776] +DETECTOR(18, 6, 1) rec[-801] rec[-802] rec[-831] rec[-832] rec[-1716] +DETECTOR(18, 10, 1) rec[-741] rec[-742] rec[-771] rec[-772] rec[-1656] +DETECTOR(18, 14, 1) rec[-681] rec[-682] rec[-711] rec[-712] rec[-1596] +DETECTOR(18, 18, 1) rec[-621] rec[-622] rec[-651] rec[-652] rec[-1536] +DETECTOR(18, 22, 1) rec[-561] rec[-562] rec[-591] rec[-592] rec[-1476] +DETECTOR(18, 26, 1) rec[-501] rec[-502] rec[-531] rec[-532] rec[-1416] +DETECTOR(18, 30, 1) rec[-441] rec[-442] rec[-471] rec[-472] rec[-1356] +DETECTOR(18, 34, 1) rec[-381] rec[-382] rec[-411] rec[-412] rec[-1296] +DETECTOR(18, 38, 1) rec[-321] rec[-322] rec[-351] rec[-352] rec[-1236] +DETECTOR(18, 42, 1) rec[-261] rec[-262] rec[-291] rec[-292] rec[-1176] +DETECTOR(18, 46, 1) rec[-201] rec[-202] rec[-231] rec[-232] rec[-1116] +DETECTOR(18, 50, 1) rec[-141] rec[-142] rec[-171] rec[-172] rec[-1056] +DETECTOR(18, 54, 1) rec[-81] rec[-82] rec[-111] rec[-112] rec[-996] +DETECTOR(18, 58, 1) rec[-21] rec[-22] rec[-51] rec[-52] rec[-936] +DETECTOR(20, 4, 1) rec[-830] rec[-831] rec[-860] rec[-861] rec[-1745] +DETECTOR(20, 8, 1) rec[-770] rec[-771] rec[-800] rec[-801] rec[-1685] +DETECTOR(20, 12, 1) rec[-710] rec[-711] rec[-740] rec[-741] rec[-1625] +DETECTOR(20, 16, 1) rec[-650] rec[-651] rec[-680] rec[-681] rec[-1565] +DETECTOR(20, 20, 1) rec[-590] rec[-591] rec[-620] rec[-621] rec[-1505] +DETECTOR(20, 24, 1) rec[-530] rec[-531] rec[-560] rec[-561] rec[-1445] +DETECTOR(20, 28, 1) rec[-470] rec[-471] rec[-500] rec[-501] rec[-1385] +DETECTOR(20, 32, 1) rec[-410] rec[-411] rec[-440] rec[-441] rec[-1325] +DETECTOR(20, 36, 1) rec[-350] rec[-351] rec[-380] rec[-381] rec[-1265] +DETECTOR(20, 40, 1) rec[-290] rec[-291] rec[-320] rec[-321] rec[-1205] +DETECTOR(20, 44, 1) rec[-230] rec[-231] rec[-260] rec[-261] rec[-1145] +DETECTOR(20, 48, 1) rec[-170] rec[-171] rec[-200] rec[-201] rec[-1085] +DETECTOR(20, 52, 1) rec[-110] rec[-111] rec[-140] rec[-141] rec[-1025] +DETECTOR(20, 56, 1) rec[-50] rec[-51] rec[-80] rec[-81] rec[-965] +DETECTOR(22, 2, 1) rec[-859] rec[-860] rec[-889] rec[-890] rec[-1774] +DETECTOR(22, 6, 1) rec[-799] rec[-800] rec[-829] rec[-830] rec[-1714] +DETECTOR(22, 10, 1) rec[-739] rec[-740] rec[-769] rec[-770] rec[-1654] +DETECTOR(22, 14, 1) rec[-679] rec[-680] rec[-709] rec[-710] rec[-1594] +DETECTOR(22, 18, 1) rec[-619] rec[-620] rec[-649] rec[-650] rec[-1534] +DETECTOR(22, 22, 1) rec[-559] rec[-560] rec[-589] rec[-590] rec[-1474] +DETECTOR(22, 26, 1) rec[-499] rec[-500] rec[-529] rec[-530] rec[-1414] +DETECTOR(22, 30, 1) rec[-439] rec[-440] rec[-469] rec[-470] rec[-1354] +DETECTOR(22, 34, 1) rec[-379] rec[-380] rec[-409] rec[-410] rec[-1294] +DETECTOR(22, 38, 1) rec[-319] rec[-320] rec[-349] rec[-350] rec[-1234] +DETECTOR(22, 42, 1) rec[-259] rec[-260] rec[-289] rec[-290] rec[-1174] +DETECTOR(22, 46, 1) rec[-199] rec[-200] rec[-229] rec[-230] rec[-1114] +DETECTOR(22, 50, 1) rec[-139] rec[-140] rec[-169] rec[-170] rec[-1054] +DETECTOR(22, 54, 1) rec[-79] rec[-80] rec[-109] rec[-110] rec[-994] +DETECTOR(22, 58, 1) rec[-19] rec[-20] rec[-49] rec[-50] rec[-934] +DETECTOR(24, 4, 1) rec[-828] rec[-829] rec[-858] rec[-859] rec[-1743] +DETECTOR(24, 8, 1) rec[-768] rec[-769] rec[-798] rec[-799] rec[-1683] +DETECTOR(24, 12, 1) rec[-708] rec[-709] rec[-738] rec[-739] rec[-1623] +DETECTOR(24, 16, 1) rec[-648] rec[-649] rec[-678] rec[-679] rec[-1563] +DETECTOR(24, 20, 1) rec[-588] rec[-589] rec[-618] rec[-619] rec[-1503] +DETECTOR(24, 24, 1) rec[-528] rec[-529] rec[-558] rec[-559] rec[-1443] +DETECTOR(24, 28, 1) rec[-468] rec[-469] rec[-498] rec[-499] rec[-1383] +DETECTOR(24, 32, 1) rec[-408] rec[-409] rec[-438] rec[-439] rec[-1323] +DETECTOR(24, 36, 1) rec[-348] rec[-349] rec[-378] rec[-379] rec[-1263] +DETECTOR(24, 40, 1) rec[-288] rec[-289] rec[-318] rec[-319] rec[-1203] +DETECTOR(24, 44, 1) rec[-228] rec[-229] rec[-258] rec[-259] rec[-1143] +DETECTOR(24, 48, 1) rec[-168] rec[-169] rec[-198] rec[-199] rec[-1083] +DETECTOR(24, 52, 1) rec[-108] rec[-109] rec[-138] rec[-139] rec[-1023] +DETECTOR(24, 56, 1) rec[-48] rec[-49] rec[-78] rec[-79] rec[-963] +DETECTOR(26, 2, 1) rec[-857] rec[-858] rec[-887] rec[-888] rec[-1772] +DETECTOR(26, 6, 1) rec[-797] rec[-798] rec[-827] rec[-828] rec[-1712] +DETECTOR(26, 10, 1) rec[-737] rec[-738] rec[-767] rec[-768] rec[-1652] +DETECTOR(26, 14, 1) rec[-677] rec[-678] rec[-707] rec[-708] rec[-1592] +DETECTOR(26, 18, 1) rec[-617] rec[-618] rec[-647] rec[-648] rec[-1532] +DETECTOR(26, 22, 1) rec[-557] rec[-558] rec[-587] rec[-588] rec[-1472] +DETECTOR(26, 26, 1) rec[-497] rec[-498] rec[-527] rec[-528] rec[-1412] +DETECTOR(26, 30, 1) rec[-437] rec[-438] rec[-467] rec[-468] rec[-1352] +DETECTOR(26, 34, 1) rec[-377] rec[-378] rec[-407] rec[-408] rec[-1292] +DETECTOR(26, 38, 1) rec[-317] rec[-318] rec[-347] rec[-348] rec[-1232] +DETECTOR(26, 42, 1) rec[-257] rec[-258] rec[-287] rec[-288] rec[-1172] +DETECTOR(26, 46, 1) rec[-197] rec[-198] rec[-227] rec[-228] rec[-1112] +DETECTOR(26, 50, 1) rec[-137] rec[-138] rec[-167] rec[-168] rec[-1052] +DETECTOR(26, 54, 1) rec[-77] rec[-78] rec[-107] rec[-108] rec[-992] +DETECTOR(26, 58, 1) rec[-17] rec[-18] rec[-47] rec[-48] rec[-932] +DETECTOR(28, 4, 1) rec[-826] rec[-827] rec[-856] rec[-857] rec[-1741] +DETECTOR(28, 8, 1) rec[-766] rec[-767] rec[-796] rec[-797] rec[-1681] +DETECTOR(28, 12, 1) rec[-706] rec[-707] rec[-736] rec[-737] rec[-1621] +DETECTOR(28, 16, 1) rec[-646] rec[-647] rec[-676] rec[-677] rec[-1561] +DETECTOR(28, 20, 1) rec[-586] rec[-587] rec[-616] rec[-617] rec[-1501] +DETECTOR(28, 24, 1) rec[-526] rec[-527] rec[-556] rec[-557] rec[-1441] +DETECTOR(28, 28, 1) rec[-466] rec[-467] rec[-496] rec[-497] rec[-1381] +DETECTOR(28, 32, 1) rec[-406] rec[-407] rec[-436] rec[-437] rec[-1321] +DETECTOR(28, 36, 1) rec[-346] rec[-347] rec[-376] rec[-377] rec[-1261] +DETECTOR(28, 40, 1) rec[-286] rec[-287] rec[-316] rec[-317] rec[-1201] +DETECTOR(28, 44, 1) rec[-226] rec[-227] rec[-256] rec[-257] rec[-1141] +DETECTOR(28, 48, 1) rec[-166] rec[-167] rec[-196] rec[-197] rec[-1081] +DETECTOR(28, 52, 1) rec[-106] rec[-107] rec[-136] rec[-137] rec[-1021] +DETECTOR(28, 56, 1) rec[-46] rec[-47] rec[-76] rec[-77] rec[-961] +DETECTOR(30, 2, 1) rec[-855] rec[-856] rec[-885] rec[-886] rec[-1770] +DETECTOR(30, 6, 1) rec[-795] rec[-796] rec[-825] rec[-826] rec[-1710] +DETECTOR(30, 10, 1) rec[-735] rec[-736] rec[-765] rec[-766] rec[-1650] +DETECTOR(30, 14, 1) rec[-675] rec[-676] rec[-705] rec[-706] rec[-1590] +DETECTOR(30, 18, 1) rec[-615] rec[-616] rec[-645] rec[-646] rec[-1530] +DETECTOR(30, 22, 1) rec[-555] rec[-556] rec[-585] rec[-586] rec[-1470] +DETECTOR(30, 26, 1) rec[-495] rec[-496] rec[-525] rec[-526] rec[-1410] +DETECTOR(30, 30, 1) rec[-435] rec[-436] rec[-465] rec[-466] rec[-1350] +DETECTOR(30, 34, 1) rec[-375] rec[-376] rec[-405] rec[-406] rec[-1290] +DETECTOR(30, 38, 1) rec[-315] rec[-316] rec[-345] rec[-346] rec[-1230] +DETECTOR(30, 42, 1) rec[-255] rec[-256] rec[-285] rec[-286] rec[-1170] +DETECTOR(30, 46, 1) rec[-195] rec[-196] rec[-225] rec[-226] rec[-1110] +DETECTOR(30, 50, 1) rec[-135] rec[-136] rec[-165] rec[-166] rec[-1050] +DETECTOR(30, 54, 1) rec[-75] rec[-76] rec[-105] rec[-106] rec[-990] +DETECTOR(30, 58, 1) rec[-15] rec[-16] rec[-45] rec[-46] rec[-930] +DETECTOR(32, 4, 1) rec[-824] rec[-825] rec[-854] rec[-855] rec[-1739] +DETECTOR(32, 8, 1) rec[-764] rec[-765] rec[-794] rec[-795] rec[-1679] +DETECTOR(32, 12, 1) rec[-704] rec[-705] rec[-734] rec[-735] rec[-1619] +DETECTOR(32, 16, 1) rec[-644] rec[-645] rec[-674] rec[-675] rec[-1559] +DETECTOR(32, 20, 1) rec[-584] rec[-585] rec[-614] rec[-615] rec[-1499] +DETECTOR(32, 24, 1) rec[-524] rec[-525] rec[-554] rec[-555] rec[-1439] +DETECTOR(32, 28, 1) rec[-464] rec[-465] rec[-494] rec[-495] rec[-1379] +DETECTOR(32, 32, 1) rec[-404] rec[-405] rec[-434] rec[-435] rec[-1319] +DETECTOR(32, 36, 1) rec[-344] rec[-345] rec[-374] rec[-375] rec[-1259] +DETECTOR(32, 40, 1) rec[-284] rec[-285] rec[-314] rec[-315] rec[-1199] +DETECTOR(32, 44, 1) rec[-224] rec[-225] rec[-254] rec[-255] rec[-1139] +DETECTOR(32, 48, 1) rec[-164] rec[-165] rec[-194] rec[-195] rec[-1079] +DETECTOR(32, 52, 1) rec[-104] rec[-105] rec[-134] rec[-135] rec[-1019] +DETECTOR(32, 56, 1) rec[-44] rec[-45] rec[-74] rec[-75] rec[-959] +DETECTOR(34, 2, 1) rec[-853] rec[-854] rec[-883] rec[-884] rec[-1768] +DETECTOR(34, 6, 1) rec[-793] rec[-794] rec[-823] rec[-824] rec[-1708] +DETECTOR(34, 10, 1) rec[-733] rec[-734] rec[-763] rec[-764] rec[-1648] +DETECTOR(34, 14, 1) rec[-673] rec[-674] rec[-703] rec[-704] rec[-1588] +DETECTOR(34, 18, 1) rec[-613] rec[-614] rec[-643] rec[-644] rec[-1528] +DETECTOR(34, 22, 1) rec[-553] rec[-554] rec[-583] rec[-584] rec[-1468] +DETECTOR(34, 26, 1) rec[-493] rec[-494] rec[-523] rec[-524] rec[-1408] +DETECTOR(34, 30, 1) rec[-433] rec[-434] rec[-463] rec[-464] rec[-1348] +DETECTOR(34, 34, 1) rec[-373] rec[-374] rec[-403] rec[-404] rec[-1288] +DETECTOR(34, 38, 1) rec[-313] rec[-314] rec[-343] rec[-344] rec[-1228] +DETECTOR(34, 42, 1) rec[-253] rec[-254] rec[-283] rec[-284] rec[-1168] +DETECTOR(34, 46, 1) rec[-193] rec[-194] rec[-223] rec[-224] rec[-1108] +DETECTOR(34, 50, 1) rec[-133] rec[-134] rec[-163] rec[-164] rec[-1048] +DETECTOR(34, 54, 1) rec[-73] rec[-74] rec[-103] rec[-104] rec[-988] +DETECTOR(34, 58, 1) rec[-13] rec[-14] rec[-43] rec[-44] rec[-928] +DETECTOR(36, 4, 1) rec[-822] rec[-823] rec[-852] rec[-853] rec[-1737] +DETECTOR(36, 8, 1) rec[-762] rec[-763] rec[-792] rec[-793] rec[-1677] +DETECTOR(36, 12, 1) rec[-702] rec[-703] rec[-732] rec[-733] rec[-1617] +DETECTOR(36, 16, 1) rec[-642] rec[-643] rec[-672] rec[-673] rec[-1557] +DETECTOR(36, 20, 1) rec[-582] rec[-583] rec[-612] rec[-613] rec[-1497] +DETECTOR(36, 24, 1) rec[-522] rec[-523] rec[-552] rec[-553] rec[-1437] +DETECTOR(36, 28, 1) rec[-462] rec[-463] rec[-492] rec[-493] rec[-1377] +DETECTOR(36, 32, 1) rec[-402] rec[-403] rec[-432] rec[-433] rec[-1317] +DETECTOR(36, 36, 1) rec[-342] rec[-343] rec[-372] rec[-373] rec[-1257] +DETECTOR(36, 40, 1) rec[-282] rec[-283] rec[-312] rec[-313] rec[-1197] +DETECTOR(36, 44, 1) rec[-222] rec[-223] rec[-252] rec[-253] rec[-1137] +DETECTOR(36, 48, 1) rec[-162] rec[-163] rec[-192] rec[-193] rec[-1077] +DETECTOR(36, 52, 1) rec[-102] rec[-103] rec[-132] rec[-133] rec[-1017] +DETECTOR(36, 56, 1) rec[-42] rec[-43] rec[-72] rec[-73] rec[-957] +DETECTOR(38, 2, 1) rec[-851] rec[-852] rec[-881] rec[-882] rec[-1766] +DETECTOR(38, 6, 1) rec[-791] rec[-792] rec[-821] rec[-822] rec[-1706] +DETECTOR(38, 10, 1) rec[-731] rec[-732] rec[-761] rec[-762] rec[-1646] +DETECTOR(38, 14, 1) rec[-671] rec[-672] rec[-701] rec[-702] rec[-1586] +DETECTOR(38, 18, 1) rec[-611] rec[-612] rec[-641] rec[-642] rec[-1526] +DETECTOR(38, 22, 1) rec[-551] rec[-552] rec[-581] rec[-582] rec[-1466] +DETECTOR(38, 26, 1) rec[-491] rec[-492] rec[-521] rec[-522] rec[-1406] +DETECTOR(38, 30, 1) rec[-431] rec[-432] rec[-461] rec[-462] rec[-1346] +DETECTOR(38, 34, 1) rec[-371] rec[-372] rec[-401] rec[-402] rec[-1286] +DETECTOR(38, 38, 1) rec[-311] rec[-312] rec[-341] rec[-342] rec[-1226] +DETECTOR(38, 42, 1) rec[-251] rec[-252] rec[-281] rec[-282] rec[-1166] +DETECTOR(38, 46, 1) rec[-191] rec[-192] rec[-221] rec[-222] rec[-1106] +DETECTOR(38, 50, 1) rec[-131] rec[-132] rec[-161] rec[-162] rec[-1046] +DETECTOR(38, 54, 1) rec[-71] rec[-72] rec[-101] rec[-102] rec[-986] +DETECTOR(38, 58, 1) rec[-11] rec[-12] rec[-41] rec[-42] rec[-926] +DETECTOR(40, 4, 1) rec[-820] rec[-821] rec[-850] rec[-851] rec[-1735] +DETECTOR(40, 8, 1) rec[-760] rec[-761] rec[-790] rec[-791] rec[-1675] +DETECTOR(40, 12, 1) rec[-700] rec[-701] rec[-730] rec[-731] rec[-1615] +DETECTOR(40, 16, 1) rec[-640] rec[-641] rec[-670] rec[-671] rec[-1555] +DETECTOR(40, 20, 1) rec[-580] rec[-581] rec[-610] rec[-611] rec[-1495] +DETECTOR(40, 24, 1) rec[-520] rec[-521] rec[-550] rec[-551] rec[-1435] +DETECTOR(40, 28, 1) rec[-460] rec[-461] rec[-490] rec[-491] rec[-1375] +DETECTOR(40, 32, 1) rec[-400] rec[-401] rec[-430] rec[-431] rec[-1315] +DETECTOR(40, 36, 1) rec[-340] rec[-341] rec[-370] rec[-371] rec[-1255] +DETECTOR(40, 40, 1) rec[-280] rec[-281] rec[-310] rec[-311] rec[-1195] +DETECTOR(40, 44, 1) rec[-220] rec[-221] rec[-250] rec[-251] rec[-1135] +DETECTOR(40, 48, 1) rec[-160] rec[-161] rec[-190] rec[-191] rec[-1075] +DETECTOR(40, 52, 1) rec[-100] rec[-101] rec[-130] rec[-131] rec[-1015] +DETECTOR(40, 56, 1) rec[-40] rec[-41] rec[-70] rec[-71] rec[-955] +DETECTOR(42, 2, 1) rec[-849] rec[-850] rec[-879] rec[-880] rec[-1764] +DETECTOR(42, 6, 1) rec[-789] rec[-790] rec[-819] rec[-820] rec[-1704] +DETECTOR(42, 10, 1) rec[-729] rec[-730] rec[-759] rec[-760] rec[-1644] +DETECTOR(42, 14, 1) rec[-669] rec[-670] rec[-699] rec[-700] rec[-1584] +DETECTOR(42, 18, 1) rec[-609] rec[-610] rec[-639] rec[-640] rec[-1524] +DETECTOR(42, 22, 1) rec[-549] rec[-550] rec[-579] rec[-580] rec[-1464] +DETECTOR(42, 26, 1) rec[-489] rec[-490] rec[-519] rec[-520] rec[-1404] +DETECTOR(42, 30, 1) rec[-429] rec[-430] rec[-459] rec[-460] rec[-1344] +DETECTOR(42, 34, 1) rec[-369] rec[-370] rec[-399] rec[-400] rec[-1284] +DETECTOR(42, 38, 1) rec[-309] rec[-310] rec[-339] rec[-340] rec[-1224] +DETECTOR(42, 42, 1) rec[-249] rec[-250] rec[-279] rec[-280] rec[-1164] +DETECTOR(42, 46, 1) rec[-189] rec[-190] rec[-219] rec[-220] rec[-1104] +DETECTOR(42, 50, 1) rec[-129] rec[-130] rec[-159] rec[-160] rec[-1044] +DETECTOR(42, 54, 1) rec[-69] rec[-70] rec[-99] rec[-100] rec[-984] +DETECTOR(42, 58, 1) rec[-9] rec[-10] rec[-39] rec[-40] rec[-924] +DETECTOR(44, 4, 1) rec[-818] rec[-819] rec[-848] rec[-849] rec[-1733] +DETECTOR(44, 8, 1) rec[-758] rec[-759] rec[-788] rec[-789] rec[-1673] +DETECTOR(44, 12, 1) rec[-698] rec[-699] rec[-728] rec[-729] rec[-1613] +DETECTOR(44, 16, 1) rec[-638] rec[-639] rec[-668] rec[-669] rec[-1553] +DETECTOR(44, 20, 1) rec[-578] rec[-579] rec[-608] rec[-609] rec[-1493] +DETECTOR(44, 24, 1) rec[-518] rec[-519] rec[-548] rec[-549] rec[-1433] +DETECTOR(44, 28, 1) rec[-458] rec[-459] rec[-488] rec[-489] rec[-1373] +DETECTOR(44, 32, 1) rec[-398] rec[-399] rec[-428] rec[-429] rec[-1313] +DETECTOR(44, 36, 1) rec[-338] rec[-339] rec[-368] rec[-369] rec[-1253] +DETECTOR(44, 40, 1) rec[-278] rec[-279] rec[-308] rec[-309] rec[-1193] +DETECTOR(44, 44, 1) rec[-218] rec[-219] rec[-248] rec[-249] rec[-1133] +DETECTOR(44, 48, 1) rec[-158] rec[-159] rec[-188] rec[-189] rec[-1073] +DETECTOR(44, 52, 1) rec[-98] rec[-99] rec[-128] rec[-129] rec[-1013] +DETECTOR(44, 56, 1) rec[-38] rec[-39] rec[-68] rec[-69] rec[-953] +DETECTOR(46, 2, 1) rec[-847] rec[-848] rec[-877] rec[-878] rec[-1762] +DETECTOR(46, 6, 1) rec[-787] rec[-788] rec[-817] rec[-818] rec[-1702] +DETECTOR(46, 10, 1) rec[-727] rec[-728] rec[-757] rec[-758] rec[-1642] +DETECTOR(46, 14, 1) rec[-667] rec[-668] rec[-697] rec[-698] rec[-1582] +DETECTOR(46, 18, 1) rec[-607] rec[-608] rec[-637] rec[-638] rec[-1522] +DETECTOR(46, 22, 1) rec[-547] rec[-548] rec[-577] rec[-578] rec[-1462] +DETECTOR(46, 26, 1) rec[-487] rec[-488] rec[-517] rec[-518] rec[-1402] +DETECTOR(46, 30, 1) rec[-427] rec[-428] rec[-457] rec[-458] rec[-1342] +DETECTOR(46, 34, 1) rec[-367] rec[-368] rec[-397] rec[-398] rec[-1282] +DETECTOR(46, 38, 1) rec[-307] rec[-308] rec[-337] rec[-338] rec[-1222] +DETECTOR(46, 42, 1) rec[-247] rec[-248] rec[-277] rec[-278] rec[-1162] +DETECTOR(46, 46, 1) rec[-187] rec[-188] rec[-217] rec[-218] rec[-1102] +DETECTOR(46, 50, 1) rec[-127] rec[-128] rec[-157] rec[-158] rec[-1042] +DETECTOR(46, 54, 1) rec[-67] rec[-68] rec[-97] rec[-98] rec[-982] +DETECTOR(46, 58, 1) rec[-7] rec[-8] rec[-37] rec[-38] rec[-922] +DETECTOR(48, 4, 1) rec[-816] rec[-817] rec[-846] rec[-847] rec[-1731] +DETECTOR(48, 8, 1) rec[-756] rec[-757] rec[-786] rec[-787] rec[-1671] +DETECTOR(48, 12, 1) rec[-696] rec[-697] rec[-726] rec[-727] rec[-1611] +DETECTOR(48, 16, 1) rec[-636] rec[-637] rec[-666] rec[-667] rec[-1551] +DETECTOR(48, 20, 1) rec[-576] rec[-577] rec[-606] rec[-607] rec[-1491] +DETECTOR(48, 24, 1) rec[-516] rec[-517] rec[-546] rec[-547] rec[-1431] +DETECTOR(48, 28, 1) rec[-456] rec[-457] rec[-486] rec[-487] rec[-1371] +DETECTOR(48, 32, 1) rec[-396] rec[-397] rec[-426] rec[-427] rec[-1311] +DETECTOR(48, 36, 1) rec[-336] rec[-337] rec[-366] rec[-367] rec[-1251] +DETECTOR(48, 40, 1) rec[-276] rec[-277] rec[-306] rec[-307] rec[-1191] +DETECTOR(48, 44, 1) rec[-216] rec[-217] rec[-246] rec[-247] rec[-1131] +DETECTOR(48, 48, 1) rec[-156] rec[-157] rec[-186] rec[-187] rec[-1071] +DETECTOR(48, 52, 1) rec[-96] rec[-97] rec[-126] rec[-127] rec[-1011] +DETECTOR(48, 56, 1) rec[-36] rec[-37] rec[-66] rec[-67] rec[-951] +DETECTOR(50, 2, 1) rec[-845] rec[-846] rec[-875] rec[-876] rec[-1760] +DETECTOR(50, 6, 1) rec[-785] rec[-786] rec[-815] rec[-816] rec[-1700] +DETECTOR(50, 10, 1) rec[-725] rec[-726] rec[-755] rec[-756] rec[-1640] +DETECTOR(50, 14, 1) rec[-665] rec[-666] rec[-695] rec[-696] rec[-1580] +DETECTOR(50, 18, 1) rec[-605] rec[-606] rec[-635] rec[-636] rec[-1520] +DETECTOR(50, 22, 1) rec[-545] rec[-546] rec[-575] rec[-576] rec[-1460] +DETECTOR(50, 26, 1) rec[-485] rec[-486] rec[-515] rec[-516] rec[-1400] +DETECTOR(50, 30, 1) rec[-425] rec[-426] rec[-455] rec[-456] rec[-1340] +DETECTOR(50, 34, 1) rec[-365] rec[-366] rec[-395] rec[-396] rec[-1280] +DETECTOR(50, 38, 1) rec[-305] rec[-306] rec[-335] rec[-336] rec[-1220] +DETECTOR(50, 42, 1) rec[-245] rec[-246] rec[-275] rec[-276] rec[-1160] +DETECTOR(50, 46, 1) rec[-185] rec[-186] rec[-215] rec[-216] rec[-1100] +DETECTOR(50, 50, 1) rec[-125] rec[-126] rec[-155] rec[-156] rec[-1040] +DETECTOR(50, 54, 1) rec[-65] rec[-66] rec[-95] rec[-96] rec[-980] +DETECTOR(50, 58, 1) rec[-5] rec[-6] rec[-35] rec[-36] rec[-920] +DETECTOR(52, 4, 1) rec[-814] rec[-815] rec[-844] rec[-845] rec[-1729] +DETECTOR(52, 8, 1) rec[-754] rec[-755] rec[-784] rec[-785] rec[-1669] +DETECTOR(52, 12, 1) rec[-694] rec[-695] rec[-724] rec[-725] rec[-1609] +DETECTOR(52, 16, 1) rec[-634] rec[-635] rec[-664] rec[-665] rec[-1549] +DETECTOR(52, 20, 1) rec[-574] rec[-575] rec[-604] rec[-605] rec[-1489] +DETECTOR(52, 24, 1) rec[-514] rec[-515] rec[-544] rec[-545] rec[-1429] +DETECTOR(52, 28, 1) rec[-454] rec[-455] rec[-484] rec[-485] rec[-1369] +DETECTOR(52, 32, 1) rec[-394] rec[-395] rec[-424] rec[-425] rec[-1309] +DETECTOR(52, 36, 1) rec[-334] rec[-335] rec[-364] rec[-365] rec[-1249] +DETECTOR(52, 40, 1) rec[-274] rec[-275] rec[-304] rec[-305] rec[-1189] +DETECTOR(52, 44, 1) rec[-214] rec[-215] rec[-244] rec[-245] rec[-1129] +DETECTOR(52, 48, 1) rec[-154] rec[-155] rec[-184] rec[-185] rec[-1069] +DETECTOR(52, 52, 1) rec[-94] rec[-95] rec[-124] rec[-125] rec[-1009] +DETECTOR(52, 56, 1) rec[-34] rec[-35] rec[-64] rec[-65] rec[-949] +DETECTOR(54, 2, 1) rec[-843] rec[-844] rec[-873] rec[-874] rec[-1758] +DETECTOR(54, 6, 1) rec[-783] rec[-784] rec[-813] rec[-814] rec[-1698] +DETECTOR(54, 10, 1) rec[-723] rec[-724] rec[-753] rec[-754] rec[-1638] +DETECTOR(54, 14, 1) rec[-663] rec[-664] rec[-693] rec[-694] rec[-1578] +DETECTOR(54, 18, 1) rec[-603] rec[-604] rec[-633] rec[-634] rec[-1518] +DETECTOR(54, 22, 1) rec[-543] rec[-544] rec[-573] rec[-574] rec[-1458] +DETECTOR(54, 26, 1) rec[-483] rec[-484] rec[-513] rec[-514] rec[-1398] +DETECTOR(54, 30, 1) rec[-423] rec[-424] rec[-453] rec[-454] rec[-1338] +DETECTOR(54, 34, 1) rec[-363] rec[-364] rec[-393] rec[-394] rec[-1278] +DETECTOR(54, 38, 1) rec[-303] rec[-304] rec[-333] rec[-334] rec[-1218] +DETECTOR(54, 42, 1) rec[-243] rec[-244] rec[-273] rec[-274] rec[-1158] +DETECTOR(54, 46, 1) rec[-183] rec[-184] rec[-213] rec[-214] rec[-1098] +DETECTOR(54, 50, 1) rec[-123] rec[-124] rec[-153] rec[-154] rec[-1038] +DETECTOR(54, 54, 1) rec[-63] rec[-64] rec[-93] rec[-94] rec[-978] +DETECTOR(54, 58, 1) rec[-3] rec[-4] rec[-33] rec[-34] rec[-918] +DETECTOR(56, 4, 1) rec[-812] rec[-813] rec[-842] rec[-843] rec[-1727] +DETECTOR(56, 8, 1) rec[-752] rec[-753] rec[-782] rec[-783] rec[-1667] +DETECTOR(56, 12, 1) rec[-692] rec[-693] rec[-722] rec[-723] rec[-1607] +DETECTOR(56, 16, 1) rec[-632] rec[-633] rec[-662] rec[-663] rec[-1547] +DETECTOR(56, 20, 1) rec[-572] rec[-573] rec[-602] rec[-603] rec[-1487] +DETECTOR(56, 24, 1) rec[-512] rec[-513] rec[-542] rec[-543] rec[-1427] +DETECTOR(56, 28, 1) rec[-452] rec[-453] rec[-482] rec[-483] rec[-1367] +DETECTOR(56, 32, 1) rec[-392] rec[-393] rec[-422] rec[-423] rec[-1307] +DETECTOR(56, 36, 1) rec[-332] rec[-333] rec[-362] rec[-363] rec[-1247] +DETECTOR(56, 40, 1) rec[-272] rec[-273] rec[-302] rec[-303] rec[-1187] +DETECTOR(56, 44, 1) rec[-212] rec[-213] rec[-242] rec[-243] rec[-1127] +DETECTOR(56, 48, 1) rec[-152] rec[-153] rec[-182] rec[-183] rec[-1067] +DETECTOR(56, 52, 1) rec[-92] rec[-93] rec[-122] rec[-123] rec[-1007] +DETECTOR(56, 56, 1) rec[-32] rec[-33] rec[-62] rec[-63] rec[-947] +DETECTOR(58, 2, 1) rec[-841] rec[-842] rec[-871] rec[-872] rec[-1756] +DETECTOR(58, 6, 1) rec[-781] rec[-782] rec[-811] rec[-812] rec[-1696] +DETECTOR(58, 10, 1) rec[-721] rec[-722] rec[-751] rec[-752] rec[-1636] +DETECTOR(58, 14, 1) rec[-661] rec[-662] rec[-691] rec[-692] rec[-1576] +DETECTOR(58, 18, 1) rec[-601] rec[-602] rec[-631] rec[-632] rec[-1516] +DETECTOR(58, 22, 1) rec[-541] rec[-542] rec[-571] rec[-572] rec[-1456] +DETECTOR(58, 26, 1) rec[-481] rec[-482] rec[-511] rec[-512] rec[-1396] +DETECTOR(58, 30, 1) rec[-421] rec[-422] rec[-451] rec[-452] rec[-1336] +DETECTOR(58, 34, 1) rec[-361] rec[-362] rec[-391] rec[-392] rec[-1276] +DETECTOR(58, 38, 1) rec[-301] rec[-302] rec[-331] rec[-332] rec[-1216] +DETECTOR(58, 42, 1) rec[-241] rec[-242] rec[-271] rec[-272] rec[-1156] +DETECTOR(58, 46, 1) rec[-181] rec[-182] rec[-211] rec[-212] rec[-1096] +DETECTOR(58, 50, 1) rec[-121] rec[-122] rec[-151] rec[-152] rec[-1036] +DETECTOR(58, 54, 1) rec[-61] rec[-62] rec[-91] rec[-92] rec[-976] +DETECTOR(58, 58, 1) rec[-1] rec[-2] rec[-31] rec[-32] rec[-916] +DETECTOR(60, 4, 1) rec[-811] rec[-841] rec[-1725] +DETECTOR(60, 8, 1) rec[-751] rec[-781] rec[-1665] +DETECTOR(60, 12, 1) rec[-691] rec[-721] rec[-1605] +DETECTOR(60, 16, 1) rec[-631] rec[-661] rec[-1545] +DETECTOR(60, 20, 1) rec[-571] rec[-601] rec[-1485] +DETECTOR(60, 24, 1) rec[-511] rec[-541] rec[-1425] +DETECTOR(60, 28, 1) rec[-451] rec[-481] rec[-1365] +DETECTOR(60, 32, 1) rec[-391] rec[-421] rec[-1305] +DETECTOR(60, 36, 1) rec[-331] rec[-361] rec[-1245] +DETECTOR(60, 40, 1) rec[-271] rec[-301] rec[-1185] +DETECTOR(60, 44, 1) rec[-211] rec[-241] rec[-1125] +DETECTOR(60, 48, 1) rec[-151] rec[-181] rec[-1065] +DETECTOR(60, 52, 1) rec[-91] rec[-121] rec[-1005] +DETECTOR(60, 56, 1) rec[-31] rec[-61] rec[-945] +OBSERVABLE_INCLUDE(0) rec[-871] rec[-872] rec[-873] rec[-874] rec[-875] rec[-876] rec[-877] rec[-878] rec[-879] rec[-880] rec[-881] rec[-882] rec[-883] rec[-884] rec[-885] rec[-886] rec[-887] rec[-888] rec[-889] rec[-890] rec[-891] rec[-892] rec[-893] rec[-894] rec[-895] rec[-896] rec[-897] rec[-898] rec[-899] rec[-900] \ No newline at end of file diff --git a/crates/ppvm-tableau/src/gates/clifford.rs b/crates/ppvm-tableau/src/gates/clifford.rs index 8f4563786..cad257fd3 100644 --- a/crates/ppvm-tableau/src/gates/clifford.rs +++ b/crates/ppvm-tableau/src/gates/clifford.rs @@ -294,11 +294,32 @@ where }); } + /// Apply CNOT to many pairs, operating on raw storage words to avoid + /// per-bit `bitvec` addressing. Pairs are applied sequentially per row, + /// so semantics match the per-pair `cnot` loop exactly. fn cnot_batch(&mut self, pairs: &[(usize, usize)]) { + let bits = std::mem::size_of::<::Store>() * 8; + let one = ::Store::one(); + let zero = ::Store::zero(); + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_mut_slice(); + let zp = pw.word.zbits.data.as_raw_mut_slice(); + let mut phase_flips = zero; for &(control, target) in pairs { - pw.cnot(control, target); + let (wc, sc) = (control / bits, control % bits); + let (wt, st) = (target / bits, target % bits); + let xa = (xp[wc] >> sc) & one; + let za = (zp[wc] >> sc) & one; + let xb = (xp[wt] >> st) & one; + let zb = (zp[wt] >> st) & one; + // +2 phase when x_a & z_b & !(x_b ^ z_a); 2+2 == 0 mod 4 so XOR-accumulate + phase_flips = phase_flips ^ ((xa & zb) & (xb ^ za ^ one)); + // z_a ^= z_b ; x_b ^= x_a + zp[wc] = zp[wc] ^ (zb << sc); + xp[wt] = xp[wt] ^ (xa << st); } + pw.phase ^= (((phase_flips & one) != zero) as u8) << 1; }); } @@ -1039,6 +1060,29 @@ mod tests { assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); } + #[test] + fn test_cnot_batch_cross_word() { + // Pairs straddle the two storage words (qubits 0..8 and 8..16). + let n = 16; + let pairs = vec![(1, 9), (8, 2), (7, 15), (10, 0)]; + let setup = [0usize, 7, 8, 9, 15]; + let mut tab_ind = TTab::new(n); + for &q in &setup { + tab_ind.h(q); + } + tab_ind.s(2); + for &(c, t) in &pairs { + tab_ind.cnot(c, t); + } + let mut tab_batch = TTab::new(n); + for &q in &setup { + tab_batch.h(q); + } + tab_batch.s(2); + tab_batch.cnot_batch(&pairs); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + #[test] fn test_cy_batch_matches_individual() { let n = 8; From dba1bee104bf824b6247b7178991da64ec8e5d7a Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 16:20:16 +0200 Subject: [PATCH 6/9] Also proper batching for CZ and CY --- crates/ppvm-tableau/benches/clifford_batch.rs | 48 ++++++++- crates/ppvm-tableau/src/gates/clifford.rs | 97 +++++++++++++++++-- 2 files changed, 138 insertions(+), 7 deletions(-) diff --git a/crates/ppvm-tableau/benches/clifford_batch.rs b/crates/ppvm-tableau/benches/clifford_batch.rs index 758d4938d..e12ab28a4 100644 --- a/crates/ppvm-tableau/benches/clifford_batch.rs +++ b/crates/ppvm-tableau/benches/clifford_batch.rs @@ -10,6 +10,7 @@ use std::time::Duration; use criterion::{BatchSize, BenchmarkId, Criterion, criterion_group, criterion_main}; use ppvm_runtime::config::fx64hash::Byte8F64; +use ppvm_runtime::config::fxhash::ByteF64; use ppvm_runtime::prelude::*; use ppvm_tableau::prelude::*; @@ -18,6 +19,13 @@ type Tab = Tableau>; const SIZES: &[usize] = &[128]; +// Wide u8-word regime mirroring the surface_d30 workload: 256 bytes/word = +// 2048 qubits, ~2 MB tableau (out of L1). This is where the raw-word two-qubit +// gates are expected to win; the u64/L1-resident `Tab` above does not show it. +type WideTab = Tableau>; + +const WIDE_N: usize = 2048; + fn configure() -> Criterion { Criterion::default() .warm_up_time(Duration::from_secs(1)) @@ -37,6 +45,18 @@ fn setup(n: usize) -> Tab { tab } +/// Non-trivial starting tableau in the wide u8-word config. +fn setup_wide(n: usize) -> WideTab { + let mut tab = WideTab::new(n); + for q in 0..n.min(8) { + tab.h(q); + } + for q in (0..n.min(8)).step_by(2) { + tab.s(q); + } + tab +} + fn indices_all(n: usize) -> Vec { (0..n).collect() } @@ -209,9 +229,35 @@ fn bench_clifford_batch(c: &mut Criterion) { group.finish(); } +/// Two-qubit gates in the wide u8-word regime where raw-word batching is +/// expected to pay off. `cnot` is included as a control: it already gained the +/// raw-word rewrite, so its `batch` should clearly beat its `loop` here. +fn bench_clifford_batch_wide(c: &mut Criterion) { + let mut group = c.benchmark_group("clifford-batch-wide"); + let n = WIDE_N; + let tab = setup_wide(n); + let pairs_full = pairs_all(n); + let pairs_half = pairs_every_other(n); + + bench_pair_loop!(group, tab, n, "all", cnot, &pairs_full); + bench_pair_batch!(group, tab, n, "all", cnot_batch, &pairs_full); + + bench_pair_loop!(group, tab, n, "all", cz, &pairs_full); + bench_pair_loop!(group, tab, n, "every_other", cz, &pairs_half); + bench_pair_batch!(group, tab, n, "all", cz_batch, &pairs_full); + bench_pair_batch!(group, tab, n, "every_other", cz_batch, &pairs_half); + + bench_pair_loop!(group, tab, n, "all", cy, &pairs_full); + bench_pair_loop!(group, tab, n, "every_other", cy, &pairs_half); + bench_pair_batch!(group, tab, n, "all", cy_batch, &pairs_full); + bench_pair_batch!(group, tab, n, "every_other", cy_batch, &pairs_half); + + group.finish(); +} + criterion_group! { name = benches; config = configure(); - targets = bench_clifford_batch + targets = bench_clifford_batch, bench_clifford_batch_wide } criterion_main!(benches); diff --git a/crates/ppvm-tableau/src/gates/clifford.rs b/crates/ppvm-tableau/src/gates/clifford.rs index cad257fd3..8f4b5e432 100644 --- a/crates/ppvm-tableau/src/gates/clifford.rs +++ b/crates/ppvm-tableau/src/gates/clifford.rs @@ -355,14 +355,32 @@ where }); } - /// Apply CZ to multiple pairs in a single pass. - /// CZ pairs have cross-qubit dependencies so we use per-pair delegation (proven faster). - #[inline] + /// Apply CZ to many pairs on raw storage words. CZ is symmetric and touches + /// only z-bits; pairs are applied sequentially per row, so semantics match + /// the per-pair `cz` loop exactly. fn cz_batch(&mut self, pairs: &[(usize, usize)]) { + let bits = std::mem::size_of::<::Store>() * 8; + let one = ::Store::one(); + let zero = ::Store::zero(); + self.data.iter_mut().for_each(|pw| { + let xp = pw.word.xbits.data.as_raw_slice(); + let zp = pw.word.zbits.data.as_raw_mut_slice(); + let mut phase_flips = zero; for &(control, target) in pairs { - pw.cz(control, target); + let (wc, sc) = (control / bits, control % bits); + let (wt, st) = (target / bits, target % bits); + let xa = (xp[wc] >> sc) & one; + let za = (zp[wc] >> sc) & one; + let xb = (xp[wt] >> st) & one; + let zb = (zp[wt] >> st) & one; + // +2 phase when x_a & x_b & (z_a ^ z_b) + phase_flips = phase_flips ^ ((xa & xb) & (za ^ zb)); + // z_a ^= x_b ; z_b ^= x_a + zp[wc] = zp[wc] ^ (xb << sc); + zp[wt] = zp[wt] ^ (xa << st); } + pw.phase ^= (((phase_flips & one) != zero) as u8) << 1; }); } } @@ -399,11 +417,32 @@ where }); } + /// Apply CY to many pairs on raw storage words. Pairs are applied + /// sequentially per row, so semantics match the per-pair `cy` loop exactly. fn cy_batch(&mut self, pairs: &[(usize, usize)]) { + let bits = std::mem::size_of::<::Store>() * 8; + let one = ::Store::one(); + let zero = ::Store::zero(); + self.data.iter_mut().for_each(|pw| { - for &(addr0, addr1) in pairs { - pw.cy(addr0, addr1); + let xp = pw.word.xbits.data.as_raw_mut_slice(); + let zp = pw.word.zbits.data.as_raw_mut_slice(); + let mut phase_flips = zero; + for &(control, target) in pairs { + let (wc, sc) = (control / bits, control % bits); + let (wt, st) = (target / bits, target % bits); + let xc = (xp[wc] >> sc) & one; + let zc = (zp[wc] >> sc) & one; + let xt = (xp[wt] >> st) & one; + let zt = (zp[wt] >> st) & one; + // +2 phase when x_c & (x_t ^ z_t) & !(z_c ^ z_t) + phase_flips = phase_flips ^ ((xc & (xt ^ zt)) & (zc ^ zt ^ one)); + // z_c ^= x_t ^ z_t ; x_t ^= x_c ; z_t ^= x_c + zp[wc] = zp[wc] ^ ((xt ^ zt) << sc); + xp[wt] = xp[wt] ^ (xc << st); + zp[wt] = zp[wt] ^ (xc << st); } + pw.phase ^= (((phase_flips & one) != zero) as u8) << 1; }); } @@ -903,6 +942,29 @@ mod tests { assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); } + #[test] + fn test_cz_batch_cross_word() { + // Pairs straddle the two storage words (qubits 0..8 and 8..16). + let n = 16; + let pairs = vec![(1, 9), (8, 2), (7, 15), (10, 0)]; + let setup = [0usize, 7, 8, 9, 15]; + let mut tab_ind = TTab::new(n); + for &q in &setup { + tab_ind.h(q); + } + tab_ind.s(2); + for &(c, t) in &pairs { + tab_ind.cz(c, t); + } + let mut tab_batch = TTab::new(n); + for &q in &setup { + tab_batch.h(q); + } + tab_batch.s(2); + tab_batch.cz_batch(&pairs); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + #[test] fn test_batch_empty_indices() { let n = 4; @@ -1102,6 +1164,29 @@ mod tests { assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); } + #[test] + fn test_cy_batch_cross_word() { + // Pairs straddle the two storage words (qubits 0..8 and 8..16). + let n = 16; + let pairs = vec![(1, 9), (8, 2), (7, 15), (10, 0)]; + let setup = [0usize, 7, 8, 9, 15]; + let mut tab_ind = TTab::new(n); + for &q in &setup { + tab_ind.h(q); + } + tab_ind.s(2); + for &(c, t) in &pairs { + tab_ind.cy(c, t); + } + let mut tab_batch = TTab::new(n); + for &q in &setup { + tab_batch.h(q); + } + tab_batch.s(2); + tab_batch.cy_batch(&pairs); + assert_eq!(snapshot(&tab_ind), snapshot(&tab_batch)); + } + #[test] fn test_batch_more_than_8_storage_words() { // 16 storage words exceeds the previous fixed-array limit of 8; From e5909516fb60f6856f36c35821f8760e19d54515 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Fri, 12 Jun 2026 16:29:57 +0200 Subject: [PATCH 7/9] Bench with CZ fused --- .../ppvm-tableau/benches/tableau-msd-fused.rs | 73 +++++++++++++------ 1 file changed, 49 insertions(+), 24 deletions(-) diff --git a/crates/ppvm-tableau/benches/tableau-msd-fused.rs b/crates/ppvm-tableau/benches/tableau-msd-fused.rs index f049b20ce..3959be752 100644 --- a/crates/ppvm-tableau/benches/tableau-msd-fused.rs +++ b/crates/ppvm-tableau/benches/tableau-msd-fused.rs @@ -89,21 +89,27 @@ fn encode_fused(tab: &mut Tab, qubits: &[usize]) { qubits[0], qubits[1], qubits[2], qubits[3], qubits[4], qubits[5], ]); - tab.cz(qubits[1], qubits[2]); - tab.cz(qubits[3], qubits[4]); - tab.cz(qubits[5], qubits[6]); + tab.cz_batch(&[ + (qubits[1], qubits[2]), + (qubits[3], qubits[4]), + (qubits[5], qubits[6]), + ]); tab.sqrt_y(qubits[6]); - tab.cz(qubits[0], qubits[3]); - tab.cz(qubits[2], qubits[5]); - tab.cz(qubits[4], qubits[6]); + tab.cz_batch(&[ + (qubits[0], qubits[3]), + (qubits[2], qubits[5]), + (qubits[4], qubits[6]), + ]); tab.sqrt_y_batch(&[qubits[2], qubits[3], qubits[4], qubits[5], qubits[6]]); - tab.cz(qubits[0], qubits[1]); - tab.cz(qubits[2], qubits[3]); - tab.cz(qubits[4], qubits[5]); + tab.cz_batch(&[ + (qubits[0], qubits[1]), + (qubits[2], qubits[3]), + (qubits[4], qubits[5]), + ]); tab.sqrt_y_batch(&[qubits[1], qubits[2], qubits[4]]); @@ -117,38 +123,57 @@ fn encode_fused(tab: &mut Tab, qubits: &[usize]) { qubits[16], ]); - for [i, j] in [[1, 3], [7, 10], [12, 14], [13, 16]] { - tab.cz(qubits[i], qubits[j]); - } + tab.cz_batch(&[ + (qubits[1], qubits[3]), + (qubits[7], qubits[10]), + (qubits[12], qubits[14]), + (qubits[13], qubits[16]), + ]); tab.sqrt_y_adj_batch(&[qubits[7], qubits[16]]); - for [i, j] in [[4, 7], [8, 10], [11, 14], [15, 16]] { - tab.cz(qubits[i], qubits[j]); - } + tab.cz_batch(&[ + (qubits[4], qubits[7]), + (qubits[8], qubits[10]), + (qubits[11], qubits[14]), + (qubits[15], qubits[16]), + ]); tab.sqrt_y_adj_batch(&[qubits[4], qubits[10], qubits[14], qubits[16]]); - for [i, j] in [[2, 4], [6, 8], [7, 9], [10, 13], [14, 16]] { - tab.cz(qubits[i], qubits[j]); - } + tab.cz_batch(&[ + (qubits[2], qubits[4]), + (qubits[6], qubits[8]), + (qubits[7], qubits[9]), + (qubits[10], qubits[13]), + (qubits[14], qubits[16]), + ]); tab.sqrt_y_batch(&[ qubits[3], qubits[6], qubits[9], qubits[10], qubits[12], qubits[13], ]); - for [i, j] in [[0, 2], [3, 6], [5, 8], [10, 12], [11, 13]] { - tab.cz(qubits[i], qubits[j]); - } + tab.cz_batch(&[ + (qubits[0], qubits[2]), + (qubits[3], qubits[6]), + (qubits[5], qubits[8]), + (qubits[10], qubits[12]), + (qubits[11], qubits[13]), + ]); tab.sqrt_y_batch(&[ qubits[1], qubits[2], qubits[3], qubits[4], qubits[6], qubits[7], qubits[8], qubits[9], qubits[11], qubits[12], qubits[14], ]); - for [i, j] in [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [12, 15]] { - tab.cz(qubits[i], qubits[j]); - } + tab.cz_batch(&[ + (qubits[0], qubits[1]), + (qubits[2], qubits[3]), + (qubits[4], qubits[5]), + (qubits[6], qubits[7]), + (qubits[8], qubits[9]), + (qubits[12], qubits[15]), + ]); tab.sqrt_y_adj_batch(&[ qubits[0], qubits[2], qubits[5], qubits[6], qubits[8], qubits[10], qubits[12], From da93cd585b51044c57a0fe6c19c719f78820101b Mon Sep 17 00:00:00 2001 From: "Xiu-zhe (Roger) Luo" Date: Sat, 13 Jun 2026 10:49:30 -0400 Subject: [PATCH 8/9] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- crates/ppvm-runtime/src/traits/clifford.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ppvm-runtime/src/traits/clifford.rs b/crates/ppvm-runtime/src/traits/clifford.rs index 67f5f0cd7..98ae9c1a2 100644 --- a/crates/ppvm-runtime/src/traits/clifford.rs +++ b/crates/ppvm-runtime/src/traits/clifford.rs @@ -152,9 +152,9 @@ impl Clifford for T { /// /// Default implementations loop over the corresponding single-qubit /// (or single-pair) method on [`Clifford`]. Types like the stabilizer -/// `Tableau` override the defaults with a fused inner-loop or bitmask -/// implementation; types without a faster path inherit the loop and -/// still benefit from the trait's uniform API. +/// `Tableau` override these methods with a fused inner-loop or bitmask +/// implementation. Types that don't need specialization can implement +/// this trait with an empty `impl` to use the defaults. pub trait CliffordBatch: Clifford { /// Apply Pauli `X` to every qubit in `indices`. fn x_batch(&mut self, indices: &[usize]) { From c85a94dbe2304925a04dc3b34a3e174f6319faa2 Mon Sep 17 00:00:00 2001 From: David Plankensteiner Date: Tue, 16 Jun 2026 10:59:05 +0200 Subject: [PATCH 9/9] Address some minor comments --- crates/ppvm-stim/src/executor.rs | 12 ++++++------ crates/ppvm-tableau/src/gates/clifford.rs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/ppvm-stim/src/executor.rs b/crates/ppvm-stim/src/executor.rs index 7b42cd464..eb2e29127 100644 --- a/crates/ppvm-stim/src/executor.rs +++ b/crates/ppvm-stim/src/executor.rs @@ -142,18 +142,18 @@ pub fn execute_prepared( GateName::SqrtYDag => tab.sqrt_y_adj_batch(targets), GateName::Identity => {} GateName::CX | GateName::ZCX | GateName::CNot => { - let pairs: Vec<(usize, usize)> = - targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + let mut pairs: Vec<(usize, usize)> = Vec::with_capacity(targets.len() / 2); + pairs.extend(targets.chunks_exact(2).map(|p| (p[0], p[1]))); tab.cnot_batch(&pairs); } GateName::CY | GateName::ZCY => { - let pairs: Vec<(usize, usize)> = - targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + let mut pairs: Vec<(usize, usize)> = Vec::with_capacity(targets.len() / 2); + pairs.extend(targets.chunks_exact(2).map(|p| (p[0], p[1]))); tab.cy_batch(&pairs); } GateName::CZ | GateName::ZCZ => { - let pairs: Vec<(usize, usize)> = - targets.chunks_exact(2).map(|p| (p[0], p[1])).collect(); + let mut pairs: Vec<(usize, usize)> = Vec::with_capacity(targets.len() / 2); + pairs.extend(targets.chunks_exact(2).map(|p| (p[0], p[1]))); tab.cz_batch(&pairs); } GateName::Swap diff --git a/crates/ppvm-tableau/src/gates/clifford.rs b/crates/ppvm-tableau/src/gates/clifford.rs index 8f4b5e432..72688a393 100644 --- a/crates/ppvm-tableau/src/gates/clifford.rs +++ b/crates/ppvm-tableau/src/gates/clifford.rs @@ -177,7 +177,7 @@ where /// spills to the heap beyond that, so there is no hard qubit cap. #[inline] fn build_masks(&self, indices: &[usize]) -> Option<(MaskBuf, usize)> { - if self.data.is_empty() { + if self.data.is_empty() || indices.is_empty() { return None; } let n_words = self.data[0].word.xbits.data.as_raw_slice().len();