From 9d4cac2e8968b714c93dfdfc29806679a9da87de Mon Sep 17 00:00:00 2001 From: RunasSudo Date: Thu, 10 Jun 2021 15:47:09 +1000 Subject: [PATCH] Implement Scottish STV test case --- Cargo.lock | 16 + Cargo.toml | 1 + html/main.css | 2 +- src/numbers/fixed.rs | 2 +- tests/data/linn07.blt | 2536 +++++++++++++++++++++++++++++++++++++++++ tests/data/linn07.xml | 11 + tests/scotland.rs | 152 +++ 7 files changed, 2718 insertions(+), 2 deletions(-) create mode 100644 tests/data/linn07.blt create mode 100644 tests/data/linn07.xml create mode 100644 tests/scotland.rs diff --git a/Cargo.lock b/Cargo.lock index 1f7ae2c..6b3ea93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -345,6 +345,7 @@ dependencies = [ "paste", "rug", "wasm-bindgen", + "xmltree", ] [[package]] @@ -576,3 +577,18 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "xml-rs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", +] diff --git a/Cargo.toml b/Cargo.toml index 48d6b98..fc59167 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,6 +25,7 @@ paste = "1.0.5" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] csv = "1.1.6" flate2 = "1.0" +xmltree = "0.10.3" [target.'cfg(not(target_arch = "wasm32"))'.dependencies.rug] version = "1.12" diff --git a/html/main.css b/html/main.css index 1558ae0..3daf5e3 100644 --- a/html/main.css +++ b/html/main.css @@ -109,7 +109,7 @@ tr.info:last-child td, .bb { /* Table stripes */ -tr.stage-no td:nth-child(even), +tr.stage-no td:nth-child(even):not([rowspan]), tr.stage-comment td:nth-child(odd), tr.candidate.transfers td:nth-child(even):not(.elected):not(.excluded), tr.candidate.votes td:nth-child(odd):not(.elected):not(.excluded) { diff --git a/src/numbers/fixed.rs b/src/numbers/fixed.rs index 8b6e9d0..566ec08 100644 --- a/src/numbers/fixed.rs +++ b/src/numbers/fixed.rs @@ -103,7 +103,7 @@ impl From for Fixed { impl From for Fixed { fn from(n: f64) -> Self { - return Self(IBig::from((n * 10_f64.powi(get_dps() as i32)) as u32)) + return Self(IBig::from((n * 10_f64.powi(get_dps() as i32)).round() as u32)) } } diff --git a/tests/data/linn07.blt b/tests/data/linn07.blt new file mode 100644 index 0000000..fc8ae75 --- /dev/null +++ b/tests/data/linn07.blt @@ -0,0 +1,2536 @@ +11 4 +295 1 0 +2 1 11 0 +1 1 11 10 5 0 +1 1 11 10 9 2 3 4 6 5 7 8 0 +1 1 11 2 0 +71 1 2 0 +2 1 2 10 0 +1 1 2 11 5 3 0 +1 1 2 11 9 0 +7 1 2 3 0 +1 1 2 3 4 0 +1 1 2 3 4 5 0 +1 1 2 3 4 9 6 5 8 7 10 11 0 +2 1 2 3 5 0 +2 1 2 3 6 0 +1 1 2 3 7 0 +1 1 2 3 8 9 4 7 6 5 10 11 0 +2 1 2 3 9 0 +14 1 2 4 0 +1 1 2 4 10 11 0 +1 1 2 4 3 0 +1 1 2 4 3 7 8 9 6 0 +3 1 2 4 5 0 +1 1 2 4 5 7 0 +2 1 2 4 5 9 0 +1 1 2 4 7 0 +1 1 2 4 7 5 0 +1 1 2 4 7 5 9 3 6 8 10 11 0 +5 1 2 4 9 0 +1 1 2 4 9 10 11 5 3 8 6 7 0 +1 1 2 4 9 5 0 +14 1 2 5 0 +1 1 2 5 3 9 4 6 8 0 +7 1 2 5 4 0 +1 1 2 5 4 3 9 6 8 7 10 11 0 +1 1 2 5 4 7 3 6 10 11 9 8 0 +1 1 2 5 4 9 3 6 8 7 10 11 0 +1 1 2 5 6 4 9 0 +1 1 2 5 7 10 0 +2 1 2 5 9 0 +1 1 2 5 9 4 3 6 8 7 10 11 0 +1 1 2 6 0 +1 1 2 6 8 0 +1 1 2 6 8 3 4 9 10 11 5 0 +1 1 2 6 8 4 9 11 7 10 5 3 0 +5 1 2 7 0 +1 1 2 7 10 11 4 5 3 9 6 8 0 +1 1 2 7 11 5 0 +3 1 2 7 4 0 +1 1 2 7 4 9 0 +1 1 2 7 5 9 0 +2 1 2 7 6 0 +2 1 2 7 8 0 +6 1 2 7 9 0 +1 1 2 7 9 10 8 6 3 5 11 0 +1 1 2 7 9 11 0 +3 1 2 8 0 +1 1 2 8 10 0 +1 1 2 8 4 0 +12 1 2 9 0 +1 1 2 9 10 5 0 +3 1 2 9 4 0 +1 1 2 9 4 5 0 +1 1 2 9 4 8 6 3 7 0 +1 1 2 9 5 0 +1 1 2 9 5 4 7 3 6 8 10 11 0 +1 1 2 9 7 0 +1 1 2 9 8 0 +11 1 3 0 +1 1 3 10 0 +1 1 3 2 0 +1 1 3 2 10 0 +1 1 3 2 4 0 +1 1 3 2 4 5 6 7 8 9 10 11 0 +1 1 3 2 5 8 11 6 4 10 9 7 0 +1 1 3 2 6 8 9 4 5 7 10 11 0 +1 1 3 2 7 0 +1 1 3 2 7 4 8 0 +2 1 3 4 0 +4 1 3 5 0 +1 1 3 5 4 9 0 +1 1 3 5 8 6 2 7 10 11 4 0 +1 1 3 5 9 0 +2 1 3 6 0 +1 1 3 6 4 0 +1 1 3 6 8 0 +1 1 3 6 8 2 9 4 7 5 10 11 0 +1 1 3 7 0 +1 1 3 8 6 0 +1 1 3 8 6 9 2 4 5 7 10 11 0 +1 1 3 9 0 +19 1 4 0 +11 1 4 2 0 +1 1 4 2 11 0 +1 1 4 2 5 3 0 +1 1 4 2 7 11 0 +1 1 4 2 8 9 0 +1 1 4 3 6 8 0 +6 1 4 5 0 +3 1 4 5 9 0 +4 1 4 7 0 +1 1 4 7 11 0 +1 1 4 7 5 6 8 3 2 10 9 11 0 +1 1 4 8 11 0 +4 1 4 9 0 +1 1 4 9 11 0 +1 1 4 9 2 0 +1 1 4 9 5 6 2 3 8 7 10 11 0 +75 1 5 0 +3 1 5 10 0 +5 1 5 2 0 +1 1 5 2 3 0 +1 1 5 2 3 4 6 8 7 9 10 11 0 +4 1 5 2 4 0 +1 1 5 2 4 7 9 10 11 8 6 3 0 +1 1 5 2 4 9 0 +3 1 5 2 7 0 +1 1 5 2 7 11 9 4 0 +1 1 5 2 7 9 10 11 4 3 6 8 0 +1 1 5 2 9 3 4 6 8 7 10 11 0 +1 1 5 2 9 4 0 +1 1 5 3 0 +1 1 5 3 2 4 6 8 7 9 10 11 0 +1 1 5 3 8 0 +1 1 5 3 8 4 2 6 9 7 10 11 0 +1 1 5 3 9 0 +14 1 5 4 0 +3 1 5 4 2 0 +1 1 5 4 8 0 +1 1 5 4 9 2 0 +1 1 5 4 9 2 3 6 8 7 10 11 0 +1 1 5 6 0 +1 1 5 6 3 0 +7 1 5 7 0 +1 1 5 7 2 0 +1 1 5 7 2 4 0 +1 1 5 7 4 0 +1 1 5 8 0 +1 1 5 8 3 0 +10 1 5 9 0 +1 1 5 9 2 0 +5 1 5 9 4 0 +1 1 6 0 +1 1 6 2 8 0 +1 1 6 3 8 0 +1 1 6 4 0 +1 1 6 7 2 3 4 8 9 10 11 5 0 +1 1 6 8 0 +1 1 6 8 3 4 0 +1 1 6 8 9 2 4 3 0 +1 1 6 9 0 +28 1 7 0 +1 1 7 10 2 0 +1 1 7 10 9 0 +1 1 7 11 10 9 2 3 4 5 6 8 0 +1 1 7 11 2 0 +11 1 7 2 0 +1 1 7 2 4 0 +1 1 7 2 4 8 9 5 3 6 10 11 0 +1 1 7 2 4 9 0 +2 1 7 2 5 0 +1 1 7 2 5 10 4 11 9 8 6 3 0 +1 1 7 3 0 +6 1 7 4 0 +1 1 7 4 10 9 0 +2 1 7 4 2 0 +5 1 7 5 0 +1 1 7 5 11 0 +1 1 7 6 8 0 +1 1 7 6 8 3 2 4 5 10 9 11 0 +1 1 7 8 0 +4 1 7 9 0 +1 1 7 9 10 0 +2 1 7 9 2 0 +1 1 7 9 2 11 0 +1 1 7 9 2 4 0 +1 1 7 9 2 5 0 +1 1 7 9 4 2 0 +1 1 7 9 5 4 10 0 +6 1 8 0 +1 1 8 2 0 +1 1 8 2 5 0 +1 1 8 3 2 0 +1 1 8 3 6 0 +1 1 8 3 6 2 0 +1 1 8 6 3 9 5 4 2 11 10 7 0 +1 1 8 7 3 0 +1 1 8 7 5 6 0 +14 1 9 0 +1 1 9 10 0 +2 1 9 11 4 0 +3 1 9 2 0 +2 1 9 2 3 6 8 0 +1 1 9 2 5 0 +1 1 9 2 7 0 +1 1 9 3 5 0 +4 1 9 4 0 +1 1 9 4 2 5 7 0 +4 1 9 5 0 +1 1 9 5 4 0 +26 10 0 +1 10 1 9 0 +8 10 11 0 +1 10 11 2 1 7 0 +1 10 11 2 3 5 4 6 7 8 9 1 0 +1 10 11 2 5 0 +1 10 11 2 6 3 4 7 8 9 5 1 0 +1 10 11 2 7 9 5 8 0 +1 10 11 2 9 3 8 4 6 1 5 7 0 +2 10 11 3 0 +1 10 11 4 0 +1 10 11 6 8 3 7 0 +1 10 11 6 9 0 +3 10 11 7 0 +1 10 11 7 2 4 0 +1 10 11 7 3 0 +1 10 11 7 5 3 0 +1 10 11 7 5 3 6 8 9 2 4 1 0 +1 10 11 7 6 8 9 3 4 0 +1 10 11 7 9 0 +1 10 11 7 9 2 3 4 5 8 6 1 0 +1 10 11 8 0 +1 10 11 8 3 0 +1 10 11 8 5 0 +1 10 11 8 6 0 +1 10 11 8 7 0 +1 10 11 8 7 6 9 0 +1 10 11 9 0 +1 10 11 9 2 0 +1 10 11 9 2 3 6 8 0 +1 10 11 9 3 2 1 4 5 7 8 6 0 +1 10 11 9 3 8 6 5 4 2 7 1 0 +1 10 11 9 4 0 +4 10 11 9 7 0 +1 10 11 9 8 0 +1 10 11 9 8 6 3 0 +3 10 2 0 +1 10 2 6 11 0 +1 10 3 0 +1 10 3 11 0 +1 10 3 2 0 +2 10 3 7 0 +1 10 3 8 0 +1 10 3 9 0 +1 10 4 1 2 7 9 11 0 +1 10 4 11 5 0 +2 10 4 9 0 +1 10 5 11 6 0 +1 10 5 6 0 +3 10 6 3 0 +1 10 6 3 8 9 11 0 +1 10 6 5 3 0 +8 10 7 0 +4 10 7 11 0 +1 10 7 11 6 0 +1 10 7 11 8 0 +1 10 7 11 8 5 4 9 6 2 3 1 0 +1 10 7 11 8 9 2 4 6 3 5 1 0 +2 10 7 11 9 0 +2 10 7 2 0 +1 10 7 2 8 6 3 0 +1 10 7 2 9 0 +1 10 7 3 0 +1 10 7 3 9 0 +1 10 7 4 0 +1 10 7 5 2 1 0 +1 10 7 6 3 1 2 4 5 8 9 11 0 +1 10 7 9 0 +1 10 7 9 4 0 +1 10 7 9 4 11 0 +1 10 8 0 +1 10 8 1 0 +1 10 8 11 0 +1 10 8 11 3 0 +2 10 8 3 0 +1 10 8 6 3 11 9 7 5 4 2 1 0 +1 10 8 6 3 2 0 +1 10 8 6 7 3 0 +3 10 9 0 +1 10 9 11 0 +1 10 9 11 7 0 +1 10 9 11 8 6 3 0 +1 10 9 11 8 6 3 7 4 5 2 1 0 +1 10 9 2 0 +1 10 9 2 4 0 +1 10 9 2 7 0 +1 10 9 6 3 0 +1 10 9 7 11 0 +1 10 9 7 11 4 0 +1 10 9 7 3 8 6 2 11 1 5 0 +109 11 0 +1 11 1 0 +1 11 1 2 5 0 +1 11 1 5 4 0 +1 11 1 7 9 0 +11 11 10 0 +2 11 10 2 0 +1 11 10 2 4 9 7 6 8 3 1 5 0 +2 11 10 3 0 +1 11 10 3 6 8 0 +1 11 10 3 9 4 5 0 +3 11 10 4 0 +1 11 10 4 6 3 8 9 2 7 1 5 0 +1 11 10 4 7 9 5 2 1 3 6 8 0 +1 11 10 5 2 0 +2 11 10 5 7 0 +2 11 10 6 0 +1 11 10 6 1 3 2 4 9 8 7 5 0 +1 11 10 6 3 8 0 +8 11 10 7 0 +1 11 10 7 2 0 +1 11 10 7 3 2 0 +1 11 10 7 3 6 8 0 +2 11 10 7 5 0 +1 11 10 7 5 2 0 +1 11 10 7 5 4 9 8 3 2 1 6 0 +2 11 10 7 6 0 +1 11 10 7 6 4 1 2 3 5 9 8 0 +1 11 10 7 6 8 3 2 9 4 5 1 0 +1 11 10 7 8 0 +1 11 10 7 9 0 +1 11 10 7 9 2 4 6 3 8 5 1 0 +1 11 10 7 9 4 2 8 3 6 5 1 0 +1 11 10 7 9 6 0 +2 11 10 8 0 +1 11 10 8 3 0 +1 11 10 8 3 7 4 2 6 9 0 +1 11 10 8 3 9 4 6 0 +2 11 10 8 6 0 +1 11 10 8 6 3 2 0 +1 11 10 8 6 3 2 1 4 9 7 5 0 +1 11 10 8 6 7 9 3 2 0 +1 11 10 8 9 6 3 0 +4 11 10 9 0 +2 11 10 9 2 0 +2 11 10 9 4 0 +1 11 10 9 4 6 8 7 2 3 1 5 0 +1 11 10 9 4 7 0 +1 11 10 9 4 7 8 0 +1 11 10 9 5 0 +1 11 10 9 6 0 +1 11 10 9 6 8 0 +5 11 10 9 7 0 +1 11 10 9 7 2 4 1 8 6 3 0 +1 11 10 9 7 6 8 3 0 +1 11 10 9 8 0 +1 11 10 9 8 7 5 6 3 2 0 +1 11 10 9 8 7 6 5 4 3 2 1 0 +7 11 2 0 +1 11 2 1 0 +1 11 2 10 4 9 7 0 +1 11 2 4 0 +1 11 2 6 0 +1 11 2 7 9 0 +1 11 2 8 6 0 +1 11 2 9 6 0 +1 11 2 9 8 6 3 0 +2 11 3 0 +1 11 3 2 0 +1 11 3 2 6 0 +1 11 3 4 0 +1 11 3 4 2 5 6 7 8 9 10 1 0 +1 11 3 5 9 10 0 +2 11 3 6 0 +1 11 3 6 7 8 9 10 4 5 2 1 0 +3 11 3 8 0 +1 11 3 8 6 0 +1 11 3 9 8 6 0 +1 11 4 0 +1 11 4 1 2 3 6 5 7 8 9 10 0 +1 11 4 2 6 0 +1 11 4 3 10 0 +1 11 4 3 9 10 8 6 2 7 1 5 0 +1 11 4 5 2 0 +1 11 4 6 0 +1 11 4 6 10 0 +2 11 4 7 0 +1 11 4 8 0 +1 11 4 9 10 1 0 +1 11 4 9 6 0 +1 11 5 10 2 0 +1 11 5 10 6 0 +1 11 5 3 10 8 0 +1 11 5 3 4 7 0 +1 11 5 7 3 0 +1 11 5 8 10 9 7 1 2 4 3 6 0 +1 11 5 9 4 2 10 8 7 6 3 1 0 +1 11 5 9 7 0 +4 11 6 0 +1 11 6 10 0 +4 11 6 3 0 +1 11 6 3 8 0 +1 11 6 4 5 0 +1 11 6 5 0 +1 11 6 7 3 0 +1 11 6 7 8 10 9 3 4 5 2 1 0 +1 11 6 9 2 3 0 +12 11 7 0 +1 11 7 1 0 +7 11 7 10 0 +1 11 7 10 5 0 +1 11 7 10 5 4 2 9 0 +1 11 7 10 9 6 8 5 3 2 1 0 +1 11 7 10 9 8 0 +1 11 7 10 9 8 3 5 6 4 2 1 0 +3 11 7 2 0 +1 11 7 2 1 5 8 9 6 0 +2 11 7 2 10 0 +1 11 7 2 8 3 10 0 +3 11 7 2 9 0 +4 11 7 3 0 +1 11 7 3 2 6 10 0 +1 11 7 3 5 9 10 8 6 4 2 1 0 +5 11 7 4 0 +1 11 7 4 10 0 +1 11 7 4 3 5 2 8 9 10 6 1 0 +1 11 7 4 9 0 +1 11 7 5 10 3 6 8 0 +1 11 7 5 10 9 8 6 4 3 2 1 0 +1 11 7 5 3 6 0 +1 11 7 6 0 +1 11 7 6 8 0 +1 11 7 6 8 10 0 +1 11 7 6 8 3 4 9 10 2 5 1 0 +4 11 7 9 0 +1 11 7 9 10 0 +1 11 7 9 10 4 2 6 8 3 1 5 0 +1 11 7 9 2 4 5 0 +1 11 8 0 +2 11 8 10 0 +1 11 8 10 3 0 +1 11 8 10 7 2 5 1 6 4 3 0 +4 11 8 3 0 +1 11 8 3 2 4 5 6 7 9 10 1 0 +1 11 8 4 3 0 +2 11 8 5 0 +1 11 8 6 0 +1 11 8 6 10 0 +1 11 8 6 10 3 4 5 7 9 2 1 0 +1 11 8 6 2 0 +5 11 8 6 3 0 +1 11 8 6 4 0 +2 11 8 7 0 +1 11 8 7 6 4 3 9 10 2 5 1 0 +1 11 8 9 0 +1 11 8 9 10 0 +5 11 9 0 +5 11 9 10 0 +1 11 9 10 2 3 4 8 6 0 +1 11 9 10 7 0 +1 11 9 10 7 3 0 +1 11 9 2 7 0 +1 11 9 2 8 0 +1 11 9 3 0 +1 11 9 4 2 0 +1 11 9 4 6 0 +1 11 9 4 7 0 +1 11 9 6 2 3 7 8 10 4 5 1 0 +1 11 9 6 3 2 0 +1 11 9 6 4 7 8 0 +1 11 9 6 8 3 0 +5 11 9 7 0 +1 11 9 7 10 0 +1 11 9 7 10 2 4 0 +2 11 9 7 4 2 10 0 +1 11 9 7 8 0 +2 11 9 8 0 +1 11 9 8 6 10 3 0 +256 2 0 +62 2 1 0 +1 2 1 10 0 +1 2 1 11 0 +1 2 1 11 7 8 9 4 0 +9 2 1 3 0 +2 2 1 3 4 0 +1 2 1 3 4 7 8 9 6 5 0 +1 2 1 3 4 8 0 +2 2 1 3 6 0 +1 2 1 3 6 7 8 5 4 9 0 +1 2 1 3 6 8 0 +1 2 1 3 8 6 4 9 7 5 10 11 0 +2 2 1 3 9 0 +1 2 1 3 9 7 0 +15 2 1 4 0 +1 2 1 4 10 0 +1 2 1 4 11 5 0 +1 2 1 4 3 0 +1 2 1 4 3 5 6 8 7 9 10 11 0 +1 2 1 4 3 7 6 5 8 9 10 0 +7 2 1 4 5 0 +1 2 1 4 5 3 6 7 8 9 11 10 0 +1 2 1 4 5 7 9 6 3 8 10 11 0 +1 2 1 4 7 0 +1 2 1 4 7 10 0 +1 2 1 4 7 9 0 +1 2 1 4 8 0 +3 2 1 4 9 0 +1 2 1 4 9 8 6 10 11 7 3 5 0 +7 2 1 5 0 +1 2 1 5 11 4 0 +1 2 1 5 9 0 +1 2 1 5 9 3 8 6 7 4 11 10 0 +1 2 1 5 9 7 3 8 6 4 11 10 0 +2 2 1 6 0 +1 2 1 6 3 8 7 9 4 5 0 +1 2 1 6 8 0 +13 2 1 7 0 +1 2 1 7 10 0 +5 2 1 7 4 0 +1 2 1 7 5 4 3 0 +1 2 1 7 8 0 +1 2 1 7 8 3 0 +1 2 1 7 8 3 5 6 0 +2 2 1 7 9 0 +1 2 1 7 9 3 11 0 +1 2 1 7 9 6 0 +2 2 1 8 0 +1 2 1 8 3 4 0 +1 2 1 8 3 9 0 +1 2 1 8 4 5 9 3 6 7 10 11 0 +1 2 1 8 6 9 0 +1 2 1 8 9 0 +12 2 1 9 0 +1 2 1 9 3 0 +2 2 1 9 5 0 +1 2 1 9 7 0 +1 2 1 9 8 0 +1 2 1 9 8 6 4 3 0 +6 2 10 0 +1 2 10 1 9 0 +1 2 10 11 3 0 +1 2 10 11 6 3 7 8 9 4 1 5 0 +1 2 10 11 9 0 +2 2 10 4 0 +1 2 10 7 0 +1 2 10 7 9 8 11 5 6 3 4 1 0 +1 2 10 8 6 3 9 1 5 4 11 0 +1 2 10 9 6 0 +11 2 11 0 +1 2 11 1 10 0 +1 2 11 1 3 0 +1 2 11 10 0 +1 2 11 10 4 0 +1 2 11 10 9 8 6 3 1 5 7 0 +1 2 11 10 9 8 6 3 7 4 5 1 0 +1 2 11 3 0 +1 2 11 3 8 0 +3 2 11 4 0 +4 2 11 7 0 +1 2 11 7 4 1 8 9 3 6 10 0 +1 2 11 7 9 8 0 +3 2 11 8 0 +3 2 11 9 0 +1 2 11 9 10 0 +2 2 11 9 7 0 +1 2 11 9 7 4 0 +1 2 11 9 8 6 3 1 4 10 5 7 0 +36 2 3 0 +6 2 3 1 0 +1 2 3 1 4 5 6 7 8 9 10 11 0 +1 2 3 1 4 5 7 8 10 11 6 9 0 +1 2 3 1 5 6 8 9 4 7 10 11 0 +1 2 3 1 6 0 +2 2 3 1 6 8 0 +1 2 3 1 6 8 9 4 5 7 10 11 0 +1 2 3 1 7 8 6 0 +1 2 3 10 0 +4 2 3 11 0 +1 2 3 11 7 0 +1 2 3 11 7 8 0 +1 2 3 11 8 0 +2 2 3 4 0 +2 2 3 4 6 0 +1 2 3 4 6 11 9 0 +1 2 3 4 6 5 8 9 0 +1 2 3 4 8 0 +1 2 3 4 8 10 0 +1 2 3 4 9 8 0 +1 2 3 5 0 +1 2 3 5 6 7 8 11 0 +8 2 3 6 0 +1 2 3 6 1 0 +1 2 3 6 4 0 +1 2 3 6 4 8 7 9 1 5 11 10 0 +1 2 3 6 5 0 +4 2 3 6 7 0 +1 2 3 6 7 8 0 +16 2 3 6 8 0 +2 2 3 6 8 1 0 +1 2 3 6 8 1 4 5 9 11 10 0 +1 2 3 6 8 1 5 4 7 11 10 9 0 +1 2 3 6 8 10 0 +1 2 3 6 8 10 1 0 +2 2 3 6 8 4 0 +1 2 3 6 8 4 1 5 0 +1 2 3 6 8 7 0 +1 2 3 6 8 7 10 11 9 1 5 4 0 +3 2 3 6 8 9 0 +2 2 3 6 9 0 +1 2 3 6 9 7 8 0 +16 2 3 7 0 +3 2 3 7 6 0 +1 2 3 7 8 6 0 +1 2 3 7 8 9 11 4 0 +1 2 3 7 9 0 +11 2 3 8 0 +2 2 3 8 11 0 +7 2 3 8 6 0 +1 2 3 8 6 10 4 0 +1 2 3 8 6 4 0 +1 2 3 8 6 5 0 +1 2 3 8 6 7 11 0 +1 2 3 8 6 7 5 4 9 10 1 11 0 +1 2 3 8 7 0 +1 2 3 8 7 6 1 4 9 5 10 11 0 +3 2 3 8 9 0 +1 2 3 8 9 6 11 0 +4 2 3 9 0 +2 2 3 9 6 0 +1 2 3 9 7 0 +1 2 3 9 8 10 6 11 0 +1 2 3 9 8 5 10 4 6 0 +1 2 3 9 8 6 0 +23 2 4 0 +3 2 4 1 0 +1 2 4 1 5 0 +1 2 4 1 8 0 +1 2 4 1 8 3 6 0 +1 2 4 1 9 0 +1 2 4 1 9 10 6 3 8 7 5 0 +1 2 4 1 9 3 6 8 7 5 10 11 0 +2 2 4 10 0 +1 2 4 10 3 0 +1 2 4 11 0 +2 2 4 3 0 +1 2 4 3 1 0 +1 2 4 3 11 0 +2 2 4 5 0 +1 2 4 5 7 1 6 8 0 +1 2 4 5 9 0 +2 2 4 6 0 +1 2 4 6 3 1 0 +1 2 4 6 9 7 0 +6 2 4 7 0 +1 2 4 7 10 0 +1 2 4 7 3 0 +1 2 4 7 3 6 8 0 +1 2 4 7 9 0 +1 2 4 7 9 1 0 +1 2 4 7 9 11 10 0 +1 2 4 8 0 +1 2 4 8 11 0 +1 2 4 8 9 10 11 7 3 5 1 6 0 +9 2 4 9 0 +1 2 4 9 1 0 +1 2 4 9 11 0 +1 2 4 9 3 0 +1 2 4 9 5 1 0 +2 2 4 9 6 0 +1 2 4 9 7 0 +4 2 5 0 +4 2 5 1 0 +1 2 5 1 4 8 0 +1 2 5 10 4 0 +1 2 5 10 7 0 +1 2 5 11 9 10 4 1 0 +1 2 5 3 6 7 8 10 11 9 4 1 0 +2 2 5 4 0 +1 2 5 4 9 0 +2 2 5 6 0 +1 2 5 6 1 7 8 4 3 9 10 11 0 +2 2 5 7 0 +2 2 5 7 1 0 +1 2 5 7 10 0 +1 2 5 7 9 1 4 0 +1 2 5 8 0 +29 2 6 0 +2 2 6 1 0 +1 2 6 10 11 0 +1 2 6 10 8 3 11 9 7 5 1 0 +3 2 6 11 0 +1 2 6 3 1 0 +1 2 6 3 7 0 +3 2 6 3 8 0 +1 2 6 3 9 8 0 +1 2 6 3 9 8 10 11 0 +1 2 6 4 7 0 +1 2 6 4 9 0 +1 2 6 5 1 0 +1 2 6 5 10 0 +1 2 6 5 3 7 8 10 11 9 4 1 0 +1 2 6 7 0 +1 2 6 7 1 0 +1 2 6 7 10 11 0 +1 2 6 7 8 0 +1 2 6 7 8 3 4 9 10 11 5 1 0 +1 2 6 7 8 3 5 0 +9 2 6 8 0 +2 2 6 8 1 0 +4 2 6 8 3 0 +1 2 6 8 3 4 11 10 9 5 1 7 0 +1 2 6 8 7 0 +1 2 6 8 7 3 4 0 +1 2 6 8 9 0 +1 2 6 8 9 10 11 7 5 4 3 1 0 +1 2 6 9 0 +1 2 6 9 4 0 +52 2 7 0 +12 2 7 1 0 +1 2 7 1 3 4 6 8 5 10 9 11 0 +1 2 7 1 4 0 +1 2 7 1 4 9 0 +1 2 7 1 5 4 9 10 3 6 8 11 0 +1 2 7 1 5 9 0 +1 2 7 1 6 0 +1 2 7 1 6 9 0 +3 2 7 1 9 0 +1 2 7 1 9 11 4 0 +1 2 7 1 9 8 0 +6 2 7 10 0 +3 2 7 10 11 0 +1 2 7 10 11 1 0 +1 2 7 10 3 8 11 9 5 4 1 6 0 +1 2 7 10 6 11 0 +1 2 7 10 9 0 +1 2 7 10 9 11 8 6 3 1 4 5 0 +6 2 7 11 0 +1 2 7 11 1 5 9 0 +1 2 7 11 10 4 0 +1 2 7 11 10 9 0 +1 2 7 11 3 0 +1 2 7 11 3 9 0 +2 2 7 11 4 0 +1 2 7 11 9 0 +1 2 7 11 9 4 0 +1 2 7 11 9 8 0 +1 2 7 3 0 +1 2 7 3 4 0 +1 2 7 3 6 0 +1 2 7 3 6 8 9 0 +1 2 7 3 6 9 0 +1 2 7 3 6 9 4 0 +2 2 7 3 8 0 +1 2 7 3 8 6 4 5 11 10 9 1 0 +10 2 7 4 0 +1 2 7 4 3 0 +1 2 7 4 3 6 5 8 9 10 1 11 0 +1 2 7 4 6 8 9 0 +1 2 7 4 8 0 +1 2 7 4 8 11 0 +1 2 7 4 9 0 +2 2 7 4 9 1 0 +1 2 7 4 9 3 6 8 1 10 11 5 0 +1 2 7 5 9 0 +5 2 7 6 0 +1 2 7 6 1 3 8 9 4 10 11 0 +4 2 7 6 3 0 +1 2 7 6 3 8 4 5 1 9 11 10 0 +1 2 7 6 3 9 10 11 8 4 5 1 0 +4 2 7 8 0 +1 2 7 8 1 0 +1 2 7 8 11 6 0 +1 2 7 8 3 6 0 +1 2 7 8 9 0 +23 2 7 9 0 +1 2 7 9 1 0 +4 2 7 9 11 0 +2 2 7 9 11 10 0 +1 2 7 9 11 10 1 4 5 0 +1 2 7 9 11 4 0 +1 2 7 9 11 6 3 4 0 +2 2 7 9 3 0 +4 2 7 9 4 0 +1 2 7 9 4 1 11 10 3 6 8 5 0 +1 2 7 9 4 5 3 6 8 1 10 11 0 +23 2 8 0 +12 2 8 1 0 +1 2 8 1 4 0 +1 2 8 11 3 9 0 +1 2 8 11 4 0 +11 2 8 3 0 +1 2 8 3 4 0 +1 2 8 3 4 5 6 7 9 10 1 11 0 +3 2 8 3 6 0 +1 2 8 3 6 1 0 +1 2 8 3 6 7 0 +1 2 8 3 7 0 +1 2 8 3 9 7 6 0 +2 2 8 4 0 +1 2 8 4 9 0 +1 2 8 5 0 +9 2 8 6 0 +1 2 8 6 3 0 +1 2 8 6 3 11 0 +1 2 8 6 3 4 0 +1 2 8 6 4 0 +1 2 8 6 5 11 0 +1 2 8 6 7 0 +4 2 8 7 0 +1 2 8 7 1 0 +3 2 8 9 0 +1 2 8 9 11 0 +1 2 8 9 11 3 5 6 1 7 10 4 0 +1 2 8 9 3 6 0 +1 2 8 9 6 0 +51 2 9 0 +5 2 9 1 0 +1 2 9 1 3 4 0 +1 2 9 1 4 0 +1 2 9 1 6 0 +1 2 9 1 8 0 +4 2 9 10 0 +2 2 9 10 11 0 +1 2 9 10 11 5 4 0 +1 2 9 10 3 6 8 0 +1 2 9 10 6 0 +1 2 9 10 7 11 3 8 6 5 4 1 0 +1 2 9 10 7 8 6 3 0 +2 2 9 11 0 +1 2 9 11 1 10 0 +1 2 9 11 3 0 +1 2 9 11 7 0 +4 2 9 3 0 +1 2 9 3 1 8 0 +1 2 9 3 10 0 +2 2 9 3 4 0 +2 2 9 3 6 8 0 +1 2 9 3 7 0 +1 2 9 3 7 1 0 +1 2 9 3 8 1 6 4 5 11 10 7 0 +2 2 9 3 8 6 0 +8 2 9 4 0 +1 2 9 4 1 3 0 +1 2 9 5 6 0 +4 2 9 6 0 +1 2 9 6 4 7 8 3 0 +1 2 9 6 8 0 +1 2 9 6 8 1 7 0 +11 2 9 7 0 +1 2 9 7 1 0 +1 2 9 7 3 0 +1 2 9 7 4 1 0 +1 2 9 7 4 3 8 6 10 11 1 5 0 +1 2 9 7 4 5 6 11 10 3 8 1 0 +1 2 9 7 4 8 6 3 0 +1 2 9 7 5 0 +1 2 9 7 6 0 +1 2 9 8 0 +1 2 9 8 3 0 +1 2 9 8 4 0 +2 2 9 8 6 3 0 +1 2 9 8 6 3 1 0 +1 2 9 8 6 3 10 11 5 4 1 7 0 +1 2 9 8 6 3 7 0 +332 3 0 +4 3 1 0 +1 3 1 10 0 +4 3 1 2 0 +1 3 1 2 8 6 4 7 5 9 10 11 0 +1 3 1 5 0 +1 3 1 6 0 +2 3 1 6 8 0 +1 3 1 6 8 2 5 4 11 10 7 0 +3 3 1 8 0 +1 3 1 8 2 0 +2 3 10 0 +1 3 10 1 2 5 6 7 8 9 4 11 0 +1 3 10 11 7 2 0 +1 3 10 11 8 9 6 0 +1 3 10 2 0 +3 3 10 6 0 +1 3 10 6 2 0 +1 3 10 6 8 11 4 0 +1 3 10 6 9 0 +12 3 11 0 +3 3 11 10 0 +1 3 11 10 5 0 +1 3 11 10 8 7 4 5 2 1 0 +1 3 11 10 8 7 6 0 +1 3 11 10 9 8 6 4 2 7 5 1 0 +1 3 11 2 9 7 10 8 6 4 0 +2 3 11 4 0 +7 3 11 6 0 +1 3 11 6 2 0 +3 3 11 6 8 0 +1 3 11 6 8 10 9 0 +1 3 11 6 8 2 0 +1 3 11 6 9 0 +1 3 11 6 9 8 10 0 +1 3 11 7 10 0 +2 3 11 8 0 +1 3 11 8 2 1 4 5 7 6 9 10 0 +1 3 11 8 6 0 +1 3 11 8 7 2 0 +1 3 11 8 7 6 0 +1 3 11 9 0 +13 3 2 0 +2 3 2 1 0 +1 3 2 1 4 5 6 7 8 9 10 11 0 +2 3 2 1 6 0 +1 3 2 1 6 8 0 +1 3 2 1 6 8 7 0 +1 3 2 1 8 6 0 +1 3 2 1 8 6 5 0 +1 3 2 10 0 +1 3 2 10 11 0 +4 3 2 4 0 +1 3 2 4 6 7 0 +1 3 2 5 6 0 +1 3 2 5 6 8 0 +7 3 2 6 0 +1 3 2 6 1 9 8 5 4 7 10 11 0 +1 3 2 6 4 0 +2 3 2 6 7 0 +12 3 2 6 8 0 +1 3 2 6 8 4 0 +1 3 2 6 8 5 7 9 10 11 4 1 0 +1 3 2 6 8 7 0 +3 3 2 6 8 9 0 +1 3 2 6 8 9 1 0 +1 3 2 6 8 9 10 11 5 4 1 7 0 +1 3 2 6 8 9 10 11 5 4 7 1 0 +1 3 2 6 8 9 7 1 5 10 11 0 +2 3 2 6 9 0 +1 3 2 6 9 1 4 8 7 11 5 10 0 +1 3 2 6 9 8 0 +2 3 2 7 0 +1 3 2 7 6 0 +1 3 2 7 8 4 6 10 5 1 11 9 0 +1 3 2 7 8 6 9 10 4 5 1 11 0 +1 3 2 7 9 0 +1 3 2 7 9 6 4 0 +7 3 2 8 0 +1 3 2 8 4 1 0 +2 3 2 8 6 0 +1 3 2 8 6 11 0 +1 3 2 8 6 11 7 0 +1 3 2 8 7 0 +2 3 2 9 0 +1 3 2 9 11 5 0 +1 3 2 9 6 0 +1 3 2 9 8 0 +1 3 2 9 8 4 0 +9 3 4 0 +1 3 4 11 10 0 +1 3 4 11 10 8 6 0 +1 3 4 2 0 +1 3 4 5 6 7 2 1 8 9 0 +1 3 4 5 6 7 8 9 10 11 1 0 +1 3 4 6 0 +1 3 4 6 1 2 0 +1 3 4 6 7 8 9 1 2 10 11 0 +2 3 4 6 8 0 +1 3 4 6 8 11 9 2 1 5 7 10 0 +1 3 4 6 8 2 1 9 7 5 11 10 0 +1 3 4 6 8 7 9 10 11 2 5 1 0 +2 3 4 8 0 +1 3 4 8 5 0 +1 3 5 1 0 +1 3 5 1 8 9 6 2 4 10 11 7 0 +4 3 5 6 0 +1 3 5 6 1 0 +1 3 5 6 7 0 +2 3 5 6 8 0 +1 3 5 6 8 10 0 +1 3 5 6 9 0 +1 3 5 7 0 +1 3 5 7 9 0 +2 3 5 8 0 +1 3 5 8 10 0 +2 3 5 9 0 +75 3 6 0 +1 3 6 1 0 +2 3 6 10 0 +3 3 6 10 11 0 +13 3 6 11 0 +1 3 6 11 7 0 +1 3 6 11 8 0 +1 3 6 11 8 4 2 7 10 1 9 5 0 +1 3 6 11 8 9 0 +10 3 6 2 0 +1 3 6 2 1 0 +1 3 6 2 4 0 +1 3 6 2 7 8 9 11 0 +1 3 6 2 8 4 0 +1 3 6 2 9 0 +4 3 6 4 0 +1 3 6 4 8 0 +1 3 6 4 9 0 +1 3 6 5 0 +1 3 6 5 8 0 +8 3 6 7 0 +1 3 6 7 1 0 +1 3 6 7 11 0 +1 3 6 7 2 0 +1 3 6 7 2 8 5 1 4 9 10 11 0 +5 3 6 7 8 0 +1 3 6 7 8 10 0 +1 3 6 7 8 10 9 11 4 2 1 0 +1 3 6 7 8 10 9 4 0 +1 3 6 7 8 2 1 4 5 9 10 11 0 +1 3 6 7 8 2 9 4 0 +1 3 6 7 8 4 11 2 9 10 1 5 0 +1 3 6 7 8 4 2 9 10 11 5 1 0 +1 3 6 7 9 0 +541 3 6 8 0 +4 3 6 8 1 0 +1 3 6 8 1 2 7 5 4 9 10 11 0 +1 3 6 8 1 7 4 5 9 10 11 0 +10 3 6 8 10 0 +1 3 6 8 10 11 9 4 0 +1 3 6 8 10 11 9 4 2 1 7 5 0 +1 3 6 8 10 7 9 0 +21 3 6 8 11 0 +1 3 6 8 11 10 0 +1 3 6 8 11 10 9 2 4 7 5 1 0 +1 3 6 8 11 10 9 2 7 4 5 1 0 +1 3 6 8 11 10 9 5 4 0 +1 3 6 8 11 2 4 1 5 7 9 10 0 +1 3 6 8 11 4 0 +1 3 6 8 11 4 9 1 2 7 0 +1 3 6 8 11 7 0 +1 3 6 8 11 7 4 2 1 5 9 10 0 +1 3 6 8 11 7 4 5 10 9 2 1 0 +21 3 6 8 2 0 +1 3 6 8 2 1 4 5 7 9 10 11 0 +1 3 6 8 2 1 4 7 9 10 11 0 +1 3 6 8 2 1 5 9 0 +1 3 6 8 2 10 0 +1 3 6 8 2 10 11 4 1 7 5 9 0 +1 3 6 8 2 10 7 0 +1 3 6 8 2 10 7 9 0 +4 3 6 8 2 4 0 +1 3 6 8 2 4 10 0 +1 3 6 8 2 4 5 7 9 10 1 11 0 +1 3 6 8 2 4 9 1 10 5 11 0 +1 3 6 8 2 4 9 10 11 7 5 1 0 +1 3 6 8 2 5 9 1 10 4 11 7 0 +2 3 6 8 2 9 0 +1 3 6 8 2 9 4 0 +1 3 6 8 2 9 4 5 10 11 1 7 0 +12 3 6 8 4 0 +1 3 6 8 4 2 1 9 0 +1 3 6 8 4 2 7 0 +1 3 6 8 4 2 7 9 11 10 1 5 0 +1 3 6 8 4 5 0 +1 3 6 8 4 5 1 9 2 11 10 7 0 +1 3 6 8 4 5 7 9 10 2 1 11 0 +1 3 6 8 4 9 2 0 +1 3 6 8 4 9 2 5 10 11 1 0 +1 3 6 8 4 9 2 7 5 10 11 1 0 +4 3 6 8 5 0 +1 3 6 8 5 2 1 4 7 0 +1 3 6 8 5 7 9 4 2 1 10 11 0 +20 3 6 8 7 0 +1 3 6 8 7 1 2 9 4 5 10 11 0 +2 3 6 8 7 11 0 +1 3 6 8 7 11 2 0 +1 3 6 8 7 2 0 +1 3 6 8 7 2 11 9 10 0 +1 3 6 8 7 2 4 5 9 10 1 11 0 +1 3 6 8 7 2 9 11 0 +1 3 6 8 7 4 10 11 5 2 1 9 0 +1 3 6 8 7 9 0 +1 3 6 8 7 9 2 10 11 5 1 0 +1 3 6 8 7 9 4 2 10 11 1 5 0 +13 3 6 8 9 0 +1 3 6 8 9 10 0 +1 3 6 8 9 10 11 0 +1 3 6 8 9 10 11 5 4 2 1 0 +1 3 6 8 9 10 11 7 5 4 2 1 0 +1 3 6 8 9 11 2 4 10 1 5 7 0 +3 3 6 8 9 2 0 +1 3 6 8 9 2 1 4 5 11 10 7 0 +1 3 6 8 9 2 1 7 10 11 4 5 0 +1 3 6 8 9 2 10 5 4 7 11 1 0 +1 3 6 8 9 2 4 11 0 +1 3 6 8 9 4 0 +2 3 6 8 9 7 0 +1 3 6 8 9 7 1 11 0 +5 3 6 9 0 +1 3 6 9 4 2 8 11 1 5 7 10 0 +1 3 6 9 7 0 +11 3 7 0 +1 3 7 1 0 +1 3 7 1 2 0 +1 3 7 1 5 0 +1 3 7 1 8 6 2 4 5 9 10 11 0 +4 3 7 10 0 +1 3 7 10 11 0 +1 3 7 10 5 8 9 6 4 2 1 11 0 +6 3 7 11 0 +1 3 7 11 10 5 2 1 4 6 8 9 0 +1 3 7 2 6 0 +1 3 7 2 8 0 +1 3 7 4 0 +1 3 7 4 9 0 +1 3 7 5 11 1 0 +1 3 7 5 8 0 +5 3 7 6 0 +3 3 7 6 8 0 +1 3 7 6 8 2 9 4 11 10 1 5 0 +1 3 7 6 9 0 +8 3 7 8 0 +1 3 7 8 1 0 +1 3 7 8 10 11 6 0 +1 3 7 8 11 0 +1 3 7 8 11 6 9 2 0 +1 3 7 8 2 1 4 5 9 6 10 11 0 +1 3 7 8 4 2 0 +6 3 7 8 6 0 +1 3 7 8 9 10 4 5 2 1 11 0 +4 3 7 9 0 +1 3 7 9 10 6 4 11 1 2 5 0 +2 3 7 9 6 10 11 4 2 1 8 5 0 +67 3 8 0 +1 3 8 1 2 0 +5 3 8 10 0 +1 3 8 10 9 2 0 +7 3 8 11 0 +1 3 8 11 1 2 0 +2 3 8 11 10 0 +1 3 8 11 5 0 +2 3 8 11 6 0 +1 3 8 11 6 10 0 +2 3 8 2 0 +1 3 8 2 1 6 0 +1 3 8 2 4 6 9 1 11 10 7 5 0 +1 3 8 2 5 4 10 11 9 6 7 1 0 +5 3 8 2 6 0 +1 3 8 2 6 9 0 +3 3 8 2 9 0 +1 3 8 2 9 11 0 +1 3 8 2 9 11 10 0 +1 3 8 2 9 4 1 6 5 10 11 7 0 +2 3 8 4 0 +1 3 8 4 1 6 0 +1 3 8 4 11 0 +1 3 8 4 6 11 10 9 7 5 2 1 0 +2 3 8 5 0 +1 3 8 5 6 11 0 +96 3 8 6 0 +1 3 8 6 1 0 +1 3 8 6 1 2 7 4 5 9 10 11 0 +1 3 8 6 1 2 7 9 4 10 11 5 0 +1 3 8 6 1 2 9 4 7 11 10 5 0 +3 3 8 6 10 0 +1 3 8 6 10 9 2 0 +5 3 8 6 11 0 +1 3 8 6 11 4 0 +8 3 8 6 2 0 +1 3 8 6 2 1 7 4 0 +1 3 8 6 2 7 5 4 0 +1 3 8 6 2 7 9 11 10 4 5 1 0 +1 3 8 6 4 0 +1 3 8 6 5 0 +3 3 8 6 7 0 +1 3 8 6 7 1 2 10 9 11 5 4 0 +2 3 8 6 9 0 +1 3 8 6 9 10 2 1 5 11 7 4 0 +1 3 8 6 9 7 0 +2 3 8 7 0 +1 3 8 7 10 11 6 0 +1 3 8 7 11 9 10 6 0 +2 3 8 7 2 0 +1 3 8 7 2 6 9 4 10 11 1 5 0 +2 3 8 7 6 0 +3 3 8 9 0 +1 3 8 9 10 0 +5 3 8 9 2 0 +1 3 8 9 6 0 +11 3 9 0 +1 3 9 10 0 +1 3 9 11 8 6 0 +2 3 9 2 0 +1 3 9 2 7 0 +3 3 9 4 0 +2 3 9 5 0 +1 3 9 6 0 +1 3 9 6 2 0 +1 3 9 6 8 0 +1 3 9 6 8 2 1 0 +1 3 9 7 0 +1 3 9 8 6 0 +1 3 9 8 6 2 4 5 11 10 1 7 0 +75 4 0 +2 4 1 0 +1 4 1 11 7 2 8 0 +2 4 1 2 0 +1 4 1 2 7 0 +1 4 1 2 9 0 +4 4 1 7 0 +2 4 1 7 2 9 0 +1 4 1 7 5 6 3 0 +2 4 1 8 0 +1 4 1 9 0 +1 4 1 9 11 0 +1 4 10 0 +1 4 10 11 8 3 0 +7 4 11 0 +2 4 11 10 0 +1 4 11 10 2 6 3 8 9 7 5 1 0 +1 4 11 6 0 +1 4 11 9 2 1 6 3 5 8 7 10 0 +6 4 2 0 +2 4 2 1 0 +1 4 2 11 10 0 +1 4 2 11 9 0 +1 4 2 3 1 0 +1 4 2 3 6 7 8 9 10 11 5 1 0 +1 4 2 5 0 +2 4 2 7 0 +1 4 2 7 9 1 0 +1 4 2 8 9 1 3 5 6 7 10 11 0 +3 4 2 9 0 +1 4 2 9 1 0 +1 4 2 9 10 0 +3 4 2 9 7 0 +3 4 3 0 +1 4 3 10 0 +1 4 3 10 7 0 +1 4 3 10 8 0 +1 4 3 2 0 +1 4 3 2 10 0 +1 4 3 2 5 7 10 11 8 6 1 9 0 +3 4 3 6 8 0 +1 4 3 6 8 1 5 2 7 9 11 10 0 +1 4 3 7 0 +1 4 3 8 0 +1 4 3 8 6 0 +2 4 5 0 +1 4 5 1 3 6 7 8 9 10 11 2 0 +1 4 5 1 8 0 +1 4 5 1 9 0 +1 4 5 6 0 +1 4 5 6 11 10 9 8 7 3 2 1 0 +2 4 6 0 +1 4 6 2 0 +2 4 6 3 8 0 +2 4 6 5 0 +1 4 6 7 8 9 10 11 0 +1 4 6 8 0 +1 4 6 8 3 9 0 +1 4 6 9 1 0 +1 4 6 9 7 0 +9 4 7 0 +2 4 7 1 2 0 +1 4 7 1 2 6 0 +1 4 7 1 5 0 +1 4 7 10 11 6 5 2 3 8 9 1 0 +1 4 7 10 2 0 +1 4 7 10 5 0 +2 4 7 11 0 +1 4 7 11 10 3 6 8 2 9 1 5 0 +2 4 7 2 0 +1 4 7 2 1 0 +1 4 7 2 9 0 +1 4 7 3 10 0 +1 4 7 3 2 0 +1 4 7 5 11 0 +2 4 7 6 0 +1 4 7 8 2 0 +1 4 7 9 0 +1 4 7 9 10 0 +1 4 7 9 10 11 1 2 5 6 8 3 0 +1 4 7 9 10 3 5 6 2 1 8 0 +1 4 7 9 11 2 5 10 8 6 3 1 0 +1 4 7 9 2 1 5 11 10 6 3 0 +1 4 8 0 +2 4 8 1 0 +1 4 8 10 0 +1 4 8 3 0 +1 4 8 3 11 6 0 +2 4 8 6 3 0 +4 4 9 0 +1 4 9 2 0 +1 4 9 2 1 0 +1 4 9 2 3 6 8 7 11 1 5 0 +1 4 9 7 2 0 +1 4 9 7 5 0 +35 5 0 +28 5 1 0 +5 5 1 2 0 +1 5 1 2 9 4 3 6 8 7 10 11 0 +1 5 1 3 6 0 +1 5 1 3 6 8 11 0 +3 5 1 4 0 +1 5 1 4 2 0 +1 5 1 4 2 9 3 6 7 8 10 11 0 +1 5 1 4 7 0 +1 5 1 7 3 0 +1 5 1 7 8 0 +2 5 1 8 0 +1 5 1 8 3 0 +1 5 1 8 3 6 0 +3 5 1 9 0 +1 5 1 9 2 0 +1 5 1 9 2 4 7 11 10 6 8 3 0 +1 5 10 1 0 +1 5 10 11 4 0 +1 5 10 4 1 11 9 0 +1 5 10 7 1 2 0 +1 5 11 1 0 +1 5 11 2 0 +1 5 11 2 4 1 8 10 9 3 6 7 0 +1 5 11 7 1 2 0 +1 5 11 7 6 0 +1 5 11 8 0 +1 5 11 9 10 8 7 6 4 3 2 1 0 +1 5 2 0 +1 5 2 1 0 +1 5 2 1 9 0 +1 5 2 3 0 +1 5 2 3 6 0 +1 5 2 4 0 +2 5 3 0 +1 5 3 1 8 0 +1 5 3 6 10 0 +1 5 3 6 7 8 9 10 11 1 2 4 0 +1 5 3 6 8 9 0 +3 5 4 0 +1 5 4 1 2 6 0 +1 5 4 1 2 9 0 +1 5 4 2 0 +1 5 4 9 0 +1 5 4 9 10 1 2 11 6 7 3 8 0 +3 5 6 0 +1 5 6 1 0 +1 5 6 1 2 3 8 9 10 0 +1 5 6 11 0 +1 5 6 2 0 +1 5 6 3 4 0 +1 5 6 3 8 1 2 4 7 9 10 11 0 +1 5 6 4 7 9 10 11 3 8 2 1 0 +1 5 6 7 0 +1 5 6 7 8 0 +1 5 6 7 8 11 10 9 4 3 2 1 0 +3 5 6 8 0 +1 5 6 8 11 3 0 +2 5 6 8 3 0 +2 5 7 0 +1 5 7 3 0 +1 5 7 3 10 0 +1 5 7 3 6 2 1 8 9 10 4 11 0 +1 5 7 6 11 9 10 4 3 2 1 0 +1 5 7 6 8 0 +1 5 7 8 0 +1 5 7 9 0 +1 5 8 0 +1 5 8 1 0 +3 5 8 3 0 +1 5 8 3 1 0 +1 5 8 6 0 +1 5 8 6 2 9 0 +1 5 8 6 4 3 2 7 9 1 11 10 0 +1 5 9 0 +2 5 9 1 0 +1 5 9 1 2 0 +1 5 9 10 4 0 +1 5 9 11 10 7 6 8 4 3 2 1 0 +2 5 9 2 0 +1 5 9 6 2 0 +230 6 0 +4 6 1 0 +1 6 1 2 0 +1 6 1 2 11 7 8 9 0 +1 6 1 2 4 0 +1 6 1 2 5 9 11 10 8 3 4 0 +2 6 1 3 2 0 +1 6 1 4 5 0 +1 6 1 4 5 7 9 8 10 11 3 2 0 +1 6 1 7 2 0 +1 6 1 8 10 3 0 +2 6 10 0 +1 6 10 11 0 +1 6 10 11 7 0 +2 6 10 3 0 +1 6 10 7 0 +1 6 10 8 0 +1 6 10 8 3 0 +1 6 10 9 11 7 4 0 +1 6 10 9 8 0 +3 6 11 0 +1 6 11 10 7 0 +3 6 11 2 0 +8 6 11 3 0 +2 6 11 3 8 0 +1 6 11 3 8 7 2 0 +1 6 11 4 7 0 +2 6 11 5 8 0 +2 6 11 7 0 +1 6 11 7 3 8 9 0 +1 6 11 7 4 0 +1 6 11 8 9 3 4 10 2 0 +1 6 11 9 2 0 +1 6 11 9 3 4 0 +1 6 11 9 8 10 0 +10 6 2 0 +1 6 2 1 0 +1 6 2 1 3 7 8 0 +1 6 2 1 3 8 0 +2 6 2 11 0 +1 6 2 11 3 8 0 +1 6 2 11 4 7 8 3 1 10 9 0 +4 6 2 3 0 +1 6 2 3 1 0 +1 6 2 3 4 8 7 5 9 10 11 1 0 +1 6 2 3 7 0 +5 6 2 3 8 0 +2 6 2 4 0 +1 6 2 4 7 9 10 11 8 5 3 0 +2 6 2 7 0 +1 6 2 7 10 0 +2 6 2 7 8 0 +7 6 2 8 0 +1 6 2 8 10 3 0 +1 6 2 8 4 0 +1 6 2 8 9 0 +1 6 2 9 0 +1 6 2 9 11 0 +1 6 2 9 3 0 +1 6 2 9 3 11 0 +49 6 3 0 +2 6 3 1 0 +1 6 3 1 8 5 0 +1 6 3 10 0 +1 6 3 10 4 0 +1 6 3 10 4 2 11 9 7 5 1 8 0 +1 6 3 10 8 2 1 4 7 11 5 0 +4 6 3 11 0 +1 6 3 11 1 0 +1 6 3 11 4 0 +1 6 3 11 7 0 +1 6 3 11 9 0 +2 6 3 2 0 +1 6 3 2 4 1 9 0 +1 6 3 2 8 1 0 +3 6 3 4 0 +1 6 3 4 8 7 9 2 10 11 5 1 0 +1 6 3 5 0 +1 6 3 5 8 0 +7 6 3 7 0 +2 6 3 7 11 0 +1 6 3 7 4 0 +1 6 3 7 4 2 11 8 5 1 9 10 0 +2 6 3 7 8 0 +1 6 3 7 8 10 11 4 2 1 5 0 +1 6 3 7 8 2 1 4 5 9 10 11 0 +1 6 3 7 8 9 10 5 11 4 1 2 0 +1 6 3 7 8 9 2 1 5 4 10 11 0 +2 6 3 7 9 0 +224 6 3 8 0 +1 6 3 8 1 0 +1 6 3 8 1 2 0 +1 6 3 8 1 7 10 11 2 9 0 +5 6 3 8 10 0 +1 6 3 8 10 1 2 4 5 7 11 9 0 +1 6 3 8 10 11 0 +1 6 3 8 10 11 5 7 0 +1 6 3 8 10 11 9 1 2 4 5 7 0 +1 6 3 8 10 9 2 7 0 +1 6 3 8 10 9 7 4 2 1 11 5 0 +12 6 3 8 11 0 +1 6 3 8 11 10 0 +1 6 3 8 11 10 4 2 9 0 +1 6 3 8 11 10 9 7 4 2 1 5 0 +1 6 3 8 11 2 0 +1 6 3 8 11 4 0 +1 6 3 8 11 7 0 +1 6 3 8 11 9 4 2 10 7 1 5 0 +6 6 3 8 2 0 +1 6 3 8 2 10 9 4 11 7 1 5 0 +1 6 3 8 2 11 4 7 0 +1 6 3 8 2 9 1 0 +6 6 3 8 4 0 +1 6 3 8 4 5 10 11 2 7 9 1 0 +5 6 3 8 5 0 +15 6 3 8 7 0 +1 6 3 8 7 1 2 4 0 +1 6 3 8 7 1 2 9 4 5 11 10 0 +1 6 3 8 7 1 5 4 2 9 11 10 0 +1 6 3 8 7 10 0 +1 6 3 8 7 10 9 2 1 11 5 4 0 +1 6 3 8 7 11 0 +1 6 3 8 7 2 1 4 9 10 11 5 0 +1 6 3 8 7 9 0 +9 6 3 8 9 0 +1 6 3 8 9 11 10 4 7 5 2 0 +1 6 3 8 9 2 1 10 11 5 7 4 0 +1 6 3 8 9 5 11 10 2 1 7 4 0 +6 6 3 9 0 +1 6 3 9 2 0 +1 6 3 9 4 0 +2 6 4 0 +1 6 4 2 7 9 11 10 5 1 3 8 0 +1 6 4 3 0 +1 6 4 3 7 0 +1 6 4 3 8 0 +1 6 4 5 0 +1 6 4 8 9 2 0 +4 6 5 0 +1 6 5 11 0 +1 6 5 2 8 1 3 7 4 9 11 10 0 +2 6 5 3 0 +1 6 5 3 11 10 8 0 +1 6 5 3 2 4 8 9 10 11 7 1 0 +1 6 5 3 8 0 +1 6 5 4 1 0 +15 6 7 0 +1 6 7 10 0 +5 6 7 11 0 +1 6 7 11 10 0 +1 6 7 11 3 2 1 8 9 10 5 0 +1 6 7 11 9 10 8 2 3 4 5 1 0 +3 6 7 2 0 +1 6 7 2 3 4 0 +5 6 7 3 0 +1 6 7 3 8 0 +1 6 7 3 8 10 9 11 1 2 4 5 0 +1 6 7 4 0 +1 6 7 4 8 9 3 2 10 11 1 5 0 +1 6 7 5 2 0 +1 6 7 5 8 4 3 9 10 2 1 11 0 +3 6 7 8 0 +1 6 7 8 10 5 4 3 2 9 11 1 0 +1 6 7 8 11 0 +1 6 7 8 11 2 4 0 +1 6 7 8 2 0 +8 6 7 8 3 0 +1 6 7 8 3 2 1 4 5 9 11 10 0 +1 6 7 8 3 2 4 10 11 9 5 1 0 +1 6 7 8 3 4 9 0 +1 6 7 8 3 9 11 10 4 2 5 1 0 +1 6 7 9 2 0 +1 6 7 9 2 10 4 0 +53 6 8 0 +2 6 8 1 3 0 +5 6 8 10 0 +1 6 8 10 11 0 +1 6 8 10 3 2 4 7 11 9 1 5 0 +1 6 8 10 7 0 +8 6 8 11 0 +1 6 8 11 10 0 +4 6 8 11 3 0 +1 6 8 11 3 10 1 4 5 9 2 7 0 +1 6 8 11 7 0 +1 6 8 11 7 3 0 +8 6 8 2 0 +1 6 8 2 1 0 +2 6 8 2 11 0 +1 6 8 2 3 0 +1 6 8 2 5 0 +2 6 8 2 7 0 +313 6 8 3 0 +3 6 8 3 1 0 +1 6 8 3 1 2 4 9 10 11 7 5 0 +1 6 8 3 1 2 7 4 5 9 10 11 0 +1 6 8 3 1 7 10 5 2 4 9 11 0 +1 6 8 3 1 7 5 0 +1 6 8 3 1 9 4 2 7 0 +5 6 8 3 10 0 +1 6 8 3 10 11 9 4 2 1 5 7 0 +1 6 8 3 10 5 4 2 1 7 9 11 0 +1 6 8 3 10 5 9 2 7 0 +1 6 8 3 10 9 0 +1 6 8 3 10 9 4 2 1 5 7 11 0 +15 6 8 3 11 0 +1 6 8 3 11 10 0 +1 6 8 3 11 2 0 +1 6 8 3 11 9 10 0 +1 6 8 3 11 9 4 2 5 1 7 0 +19 6 8 3 2 0 +2 6 8 3 2 1 9 0 +1 6 8 3 2 10 11 9 7 4 1 5 0 +1 6 8 3 2 10 5 4 1 11 0 +1 6 8 3 2 11 0 +1 6 8 3 2 4 0 +1 6 8 3 2 4 1 7 9 10 11 5 0 +1 6 8 3 2 5 4 9 1 10 7 11 0 +1 6 8 3 2 7 4 5 1 10 9 11 0 +2 6 8 3 2 9 0 +4 6 8 3 4 0 +1 6 8 3 4 2 1 5 9 10 11 7 0 +2 6 8 3 4 2 5 7 9 10 11 1 0 +2 6 8 3 5 0 +1 6 8 3 5 2 4 11 9 10 1 7 0 +11 6 8 3 7 0 +1 6 8 3 7 10 11 0 +1 6 8 3 7 11 0 +1 6 8 3 7 11 2 1 4 5 10 9 0 +1 6 8 3 7 11 2 10 5 4 9 1 0 +1 6 8 3 7 11 5 0 +1 6 8 3 7 2 0 +1 6 8 3 7 9 11 10 5 1 2 4 0 +1 6 8 3 7 9 11 4 1 2 5 10 0 +1 6 8 3 7 9 2 4 11 10 5 1 0 +1 6 8 3 7 9 4 10 11 2 1 5 0 +5 6 8 3 9 0 +1 6 8 3 9 11 0 +2 6 8 3 9 4 0 +1 6 8 3 9 4 11 10 2 5 1 7 0 +1 6 8 3 9 4 2 1 5 11 10 7 0 +2 6 8 4 0 +1 6 8 5 0 +1 6 8 5 3 2 7 9 10 1 11 0 +1 6 8 5 3 4 0 +3 6 8 7 0 +1 6 8 7 2 0 +1 6 8 7 2 9 0 +1 6 8 7 3 0 +1 6 8 7 3 10 9 11 4 2 1 0 +1 6 8 7 3 2 1 10 9 4 5 11 0 +1 6 8 9 0 +1 6 8 9 10 0 +1 6 8 9 10 2 1 3 4 5 7 11 0 +1 6 8 9 3 0 +2 6 8 9 3 10 4 2 11 1 7 5 0 +7 6 9 0 +1 6 9 11 10 0 +1 6 9 2 3 0 +2 6 9 3 0 +1 6 9 3 8 2 4 1 0 +1 6 9 4 0 +1 6 9 4 2 0 +1 6 9 7 0 +1 6 9 8 2 3 1 4 7 5 10 11 0 +1 6 9 8 3 2 0 +1 6 9 8 7 2 3 10 11 4 1 5 0 +573 7 0 +39 7 1 0 +1 7 1 10 0 +1 7 1 10 5 2 11 0 +1 7 1 11 5 0 +1 7 1 11 5 4 0 +1 7 1 11 8 0 +13 7 1 2 0 +2 7 1 2 11 0 +2 7 1 2 3 0 +1 7 1 2 3 10 4 11 5 6 9 8 0 +1 7 1 2 3 4 10 11 5 6 8 9 0 +1 7 1 2 3 4 6 0 +1 7 1 2 3 5 9 8 6 4 11 10 0 +4 7 1 2 4 0 +2 7 1 2 4 9 0 +1 7 1 2 5 3 4 6 8 9 10 11 0 +1 7 1 2 5 9 10 11 4 3 8 0 +2 7 1 2 6 0 +1 7 1 2 8 0 +1 7 1 2 8 4 3 5 6 9 11 10 0 +2 7 1 2 9 4 0 +1 7 1 2 9 8 3 5 4 11 10 6 0 +2 7 1 3 0 +1 7 1 3 8 0 +5 7 1 4 0 +1 7 1 4 2 0 +1 7 1 4 5 0 +1 7 1 4 6 2 5 9 3 10 11 0 +1 7 1 4 8 0 +1 7 1 4 9 2 0 +1 7 1 5 2 9 4 10 11 6 8 3 0 +1 7 1 5 4 0 +1 7 1 5 9 0 +1 7 1 6 0 +1 7 1 6 4 0 +1 7 1 8 0 +1 7 1 8 6 4 9 11 5 2 10 3 0 +1 7 1 8 9 2 0 +8 7 1 9 0 +1 7 1 9 2 0 +1 7 1 9 3 0 +2 7 1 9 4 0 +32 7 10 0 +1 7 10 1 11 4 8 5 2 3 9 6 0 +1 7 10 1 2 0 +2 7 10 1 2 11 0 +1 7 10 1 2 3 4 5 6 8 9 11 0 +23 7 10 11 0 +1 7 10 11 2 0 +1 7 10 11 2 4 3 9 5 6 8 1 0 +1 7 10 11 2 4 9 1 3 5 6 8 0 +1 7 10 11 3 1 0 +2 7 10 11 5 0 +1 7 10 11 5 9 2 1 4 8 3 6 0 +1 7 10 11 6 0 +1 7 10 11 6 5 4 3 2 1 8 9 0 +2 7 10 11 8 0 +1 7 10 11 8 6 3 5 4 1 2 9 0 +4 7 10 11 9 0 +1 7 10 11 9 1 0 +1 7 10 11 9 5 0 +1 7 10 11 9 8 3 0 +1 7 10 11 9 8 6 5 2 4 3 1 0 +2 7 10 2 0 +1 7 10 2 11 0 +1 7 10 2 3 0 +1 7 10 2 4 0 +1 7 10 2 5 3 4 0 +3 7 10 3 0 +1 7 10 3 1 0 +1 7 10 3 11 0 +1 7 10 3 11 8 9 2 4 0 +1 7 10 3 2 0 +1 7 10 3 8 0 +1 7 10 4 0 +1 7 10 4 11 0 +1 7 10 4 3 11 0 +2 7 10 5 0 +1 7 10 5 2 0 +1 7 10 6 0 +1 7 10 6 11 0 +1 7 10 6 11 3 8 0 +1 7 10 6 3 2 5 8 9 4 1 11 0 +1 7 10 6 8 0 +1 7 10 6 8 9 11 5 3 2 4 1 0 +1 7 10 8 11 0 +1 7 10 8 6 5 0 +6 7 10 9 0 +4 7 10 9 11 0 +1 7 10 9 11 2 0 +1 7 10 9 11 8 5 4 2 1 3 6 0 +1 7 10 9 11 8 6 3 2 0 +1 7 10 9 4 1 2 11 5 6 0 +1 7 10 9 4 11 8 6 3 2 1 5 0 +1 7 10 9 8 6 3 2 11 4 5 1 0 +64 7 11 0 +2 7 11 1 0 +1 7 11 1 3 6 8 10 2 4 5 9 0 +24 7 11 10 0 +1 7 11 10 1 0 +2 7 11 10 2 0 +1 7 11 10 2 3 0 +1 7 11 10 2 3 5 4 6 8 9 1 0 +1 7 11 10 2 4 5 9 1 3 6 8 0 +1 7 11 10 3 0 +1 7 11 10 3 6 8 9 4 2 1 5 0 +4 7 11 10 4 0 +1 7 11 10 4 2 9 8 6 5 3 1 0 +1 7 11 10 4 3 6 8 2 1 9 5 0 +1 7 11 10 4 9 2 6 3 5 1 0 +2 7 11 10 5 0 +1 7 11 10 6 3 0 +2 7 11 10 8 0 +1 7 11 10 8 2 3 4 1 5 9 6 0 +5 7 11 10 9 0 +1 7 11 10 9 3 6 8 0 +1 7 11 10 9 4 2 3 1 0 +1 7 11 10 9 8 0 +2 7 11 10 9 8 3 6 4 2 5 1 0 +1 7 11 10 9 8 6 5 4 3 2 1 0 +9 7 11 2 0 +1 7 11 2 1 10 5 4 3 6 8 9 0 +1 7 11 2 1 4 9 10 5 6 3 0 +3 7 11 2 10 0 +1 7 11 2 10 4 0 +1 7 11 2 10 9 4 0 +1 7 11 2 3 1 10 8 0 +1 7 11 2 3 4 6 8 1 5 10 9 0 +3 7 11 2 4 0 +1 7 11 2 5 10 4 1 9 8 6 3 0 +1 7 11 2 9 0 +3 7 11 3 0 +1 7 11 3 10 4 8 0 +1 7 11 3 6 0 +1 7 11 3 6 8 0 +1 7 11 3 6 9 8 10 4 2 1 5 0 +1 7 11 3 8 0 +1 7 11 3 8 9 6 10 5 2 1 4 0 +7 7 11 4 0 +1 7 11 4 1 0 +3 7 11 4 10 0 +2 7 11 4 2 0 +1 7 11 4 2 1 0 +1 7 11 4 2 9 10 3 6 0 +3 7 11 4 9 0 +2 7 11 4 9 10 0 +3 7 11 5 0 +1 7 11 5 10 0 +1 7 11 5 10 4 2 9 8 6 3 1 0 +1 7 11 5 6 0 +3 7 11 6 0 +1 7 11 6 2 0 +3 7 11 6 3 0 +1 7 11 6 8 0 +1 7 11 6 8 10 9 2 4 1 5 3 0 +1 7 11 6 8 3 5 10 1 9 2 4 0 +1 7 11 6 8 3 9 10 2 4 0 +1 7 11 6 9 2 3 4 8 10 5 1 0 +3 7 11 8 0 +1 7 11 8 3 2 6 9 10 5 4 1 0 +1 7 11 8 5 0 +1 7 11 8 5 3 4 6 10 9 2 1 0 +1 7 11 8 6 0 +1 7 11 8 9 4 2 0 +16 7 11 9 0 +1 7 11 9 1 0 +4 7 11 9 10 0 +1 7 11 9 10 8 0 +1 7 11 9 10 8 6 4 3 2 1 5 0 +1 7 11 9 2 0 +1 7 11 9 2 4 0 +1 7 11 9 3 4 2 1 5 6 8 10 0 +2 7 11 9 4 0 +1 7 11 9 4 10 5 2 1 3 6 8 0 +1 7 11 9 6 0 +1 7 11 9 8 10 0 +1 7 11 9 8 3 10 0 +1 7 11 9 8 6 3 2 0 +76 7 2 0 +14 7 2 1 0 +2 7 2 1 11 0 +1 7 2 1 3 0 +5 7 2 1 4 0 +1 7 2 1 5 9 10 11 6 3 8 0 +1 7 2 1 5 9 4 3 6 8 10 11 0 +1 7 2 1 6 0 +3 7 2 1 9 0 +1 7 2 1 9 10 11 8 6 3 4 5 0 +1 7 2 1 9 11 0 +2 7 2 1 9 11 10 5 4 0 +1 7 2 1 9 3 4 5 6 8 10 11 0 +1 7 2 1 9 5 6 4 0 +6 7 2 10 0 +1 7 2 10 1 0 +2 7 2 10 11 0 +1 7 2 10 11 3 0 +1 7 2 10 11 5 4 3 8 9 6 1 0 +1 7 2 10 11 9 1 0 +1 7 2 10 11 9 5 3 8 0 +1 7 2 10 5 0 +1 7 2 10 9 0 +1 7 2 10 9 11 0 +10 7 2 11 0 +2 7 2 11 10 0 +1 7 2 11 10 9 0 +1 7 2 11 3 0 +2 7 2 11 4 0 +1 7 2 11 4 10 0 +2 7 2 11 6 0 +1 7 2 11 8 0 +6 7 2 11 9 0 +1 7 2 11 9 1 4 0 +1 7 2 11 9 4 1 0 +1 7 2 11 9 4 1 8 10 5 6 3 0 +1 7 2 11 9 4 10 0 +1 7 2 11 9 4 10 3 8 6 5 1 0 +1 7 2 11 9 4 3 5 6 8 10 1 0 +11 7 2 3 0 +1 7 2 3 11 0 +1 7 2 3 4 0 +2 7 2 3 6 0 +2 7 2 3 6 8 0 +1 7 2 3 6 8 9 4 11 10 5 1 0 +2 7 2 3 8 0 +1 7 2 3 8 9 4 0 +2 7 2 3 9 0 +1 7 2 3 9 1 4 0 +1 7 2 3 9 6 4 8 10 11 5 0 +1 7 2 3 9 8 10 6 5 4 11 1 0 +9 7 2 4 0 +2 7 2 4 1 0 +1 7 2 4 1 9 11 10 5 3 6 8 0 +3 7 2 4 11 0 +1 7 2 4 3 0 +1 7 2 4 8 0 +6 7 2 4 9 0 +1 7 2 4 9 5 1 10 8 6 3 11 0 +2 7 2 5 0 +1 7 2 5 1 0 +1 7 2 5 10 9 0 +1 7 2 5 11 0 +1 7 2 5 3 0 +1 7 2 5 9 0 +1 7 2 5 9 1 10 0 +2 7 2 6 0 +1 7 2 6 1 0 +1 7 2 6 1 8 0 +1 7 2 6 3 0 +1 7 2 6 3 8 9 11 10 5 4 1 0 +1 7 2 6 4 0 +2 7 2 6 9 0 +3 7 2 8 0 +3 7 2 8 3 0 +1 7 2 8 3 6 5 10 9 1 4 11 0 +3 7 2 8 9 0 +43 7 2 9 0 +1 7 2 9 1 0 +1 7 2 9 1 11 0 +1 7 2 9 1 4 0 +3 7 2 9 10 0 +2 7 2 9 10 11 0 +1 7 2 9 10 11 8 4 3 5 6 1 0 +3 7 2 9 11 0 +1 7 2 9 11 10 1 5 4 0 +1 7 2 9 11 4 0 +1 7 2 9 11 8 6 3 0 +1 7 2 9 3 4 1 6 8 10 11 5 0 +2 7 2 9 4 0 +1 7 2 9 4 10 3 6 8 5 11 1 0 +1 7 2 9 5 4 1 10 11 8 6 3 0 +1 7 2 9 6 10 0 +1 7 2 9 8 0 +26 7 3 0 +1 7 3 1 0 +1 7 3 1 6 5 9 10 11 8 4 0 +1 7 3 1 9 0 +6 7 3 10 0 +1 7 3 10 11 6 8 0 +1 7 3 10 6 0 +1 7 3 10 9 0 +6 7 3 11 0 +1 7 3 11 8 2 0 +1 7 3 11 8 2 10 0 +4 7 3 2 0 +1 7 3 2 10 1 0 +2 7 3 2 11 8 9 10 4 5 6 1 0 +1 7 3 2 6 0 +1 7 3 2 8 1 4 5 9 10 11 0 +1 7 3 2 8 10 11 0 +2 7 3 4 0 +1 7 3 4 6 8 9 0 +1 7 3 5 1 2 4 6 8 9 10 11 0 +1 7 3 5 2 9 10 11 8 6 4 1 0 +1 7 3 5 9 11 1 4 8 2 10 0 +7 7 3 6 0 +1 7 3 6 11 8 10 4 0 +2 7 3 6 2 0 +5 7 3 6 8 0 +1 7 3 6 8 1 2 4 5 9 10 11 0 +1 7 3 6 8 2 11 0 +1 7 3 6 8 4 0 +1 7 3 6 8 9 10 11 4 5 1 2 0 +1 7 3 6 8 9 2 1 5 10 11 4 0 +1 7 3 6 8 9 4 0 +15 7 3 8 0 +1 7 3 8 4 0 +4 7 3 8 6 0 +1 7 3 8 6 2 0 +2 7 3 8 6 9 0 +1 7 3 8 9 0 +3 7 3 9 0 +1 7 3 9 10 11 6 5 0 +1 7 3 9 2 0 +1 7 3 9 6 0 +1 7 3 9 8 5 6 4 2 1 10 11 0 +24 7 4 0 +2 7 4 1 0 +1 7 4 1 10 0 +1 7 4 1 11 10 0 +1 7 4 1 11 10 9 6 2 0 +2 7 4 1 2 0 +1 7 4 1 3 2 5 8 6 9 10 11 0 +1 7 4 1 9 0 +4 7 4 10 0 +1 7 4 10 5 0 +4 7 4 11 0 +1 7 4 11 1 2 0 +1 7 4 11 10 0 +1 7 4 11 10 9 0 +1 7 4 11 9 0 +3 7 4 2 0 +1 7 4 2 1 0 +1 7 4 2 1 5 6 9 11 10 8 3 0 +1 7 4 2 10 0 +1 7 4 2 10 11 6 3 1 5 8 9 0 +1 7 4 2 11 10 9 5 1 6 8 3 0 +1 7 4 2 8 10 5 1 6 11 0 +3 7 4 2 9 0 +1 7 4 3 0 +1 7 4 3 2 9 0 +1 7 4 5 0 +1 7 4 5 1 2 0 +2 7 4 5 9 0 +1 7 4 5 9 10 11 2 1 8 6 3 0 +1 7 4 6 8 0 +1 7 4 8 0 +1 7 4 8 1 0 +1 7 4 8 3 10 2 1 0 +1 7 4 8 3 9 5 2 1 10 11 0 +9 7 4 9 0 +1 7 4 9 1 0 +1 7 4 9 1 2 10 11 3 5 6 8 0 +2 7 4 9 10 11 2 0 +2 7 4 9 11 0 +1 7 4 9 11 10 3 2 5 6 8 1 0 +1 7 4 9 11 2 0 +1 7 4 9 2 0 +1 7 4 9 3 0 +3 7 5 0 +2 7 5 1 0 +1 7 5 1 10 11 9 4 2 6 8 3 0 +1 7 5 1 2 4 3 10 6 8 11 9 0 +1 7 5 1 2 4 9 0 +3 7 5 10 0 +1 7 5 10 11 0 +1 7 5 11 0 +1 7 5 11 10 0 +1 7 5 2 0 +1 7 5 3 6 2 4 0 +1 7 5 3 9 0 +2 7 5 4 0 +1 7 5 4 11 0 +1 7 5 4 8 9 10 0 +1 7 5 6 0 +1 7 5 6 2 0 +1 7 5 6 8 0 +1 7 5 8 0 +1 7 5 8 6 3 2 4 9 10 11 1 0 +2 7 5 9 0 +1 7 5 9 1 3 2 4 10 11 8 0 +28 7 6 0 +1 7 6 1 3 0 +2 7 6 10 0 +1 7 6 10 11 8 0 +1 7 6 10 3 0 +8 7 6 11 0 +1 7 6 11 10 9 1 5 4 2 8 3 0 +1 7 6 11 2 0 +1 7 6 11 3 8 9 2 10 1 0 +1 7 6 11 4 0 +2 7 6 11 9 0 +8 7 6 2 0 +1 7 6 2 1 4 3 8 0 +1 7 6 2 10 0 +1 7 6 2 11 0 +1 7 6 2 3 10 11 0 +1 7 6 2 3 8 1 0 +1 7 6 2 3 8 9 11 10 5 4 1 0 +1 7 6 2 4 0 +1 7 6 2 8 0 +1 7 6 2 8 3 0 +1 7 6 2 8 9 11 0 +1 7 6 2 9 0 +14 7 6 3 0 +1 7 6 3 1 0 +1 7 6 3 1 2 4 8 10 0 +2 7 6 3 10 0 +1 7 6 3 11 0 +3 7 6 3 2 0 +1 7 6 3 2 11 10 8 0 +1 7 6 3 2 4 8 0 +1 7 6 3 2 4 8 10 9 5 1 11 0 +2 7 6 3 4 0 +5 7 6 3 8 0 +1 7 6 3 8 2 0 +1 7 6 3 8 9 4 0 +1 7 6 3 9 0 +1 7 6 4 0 +1 7 6 4 3 0 +2 7 6 5 0 +1 7 6 5 11 0 +1 7 6 5 3 0 +8 7 6 8 0 +1 7 6 8 1 0 +3 7 6 8 3 0 +1 7 6 8 3 2 11 0 +1 7 6 8 4 3 0 +6 7 6 9 0 +1 7 6 9 4 0 +1 7 6 9 4 11 0 +1 7 6 9 8 10 0 +1 7 6 9 8 3 2 0 +22 7 8 0 +1 7 8 10 0 +1 7 8 10 11 5 3 1 9 6 4 2 0 +1 7 8 10 2 3 4 5 6 9 11 1 0 +1 7 8 10 3 2 0 +1 7 8 10 6 2 0 +1 7 8 11 0 +4 7 8 11 3 0 +1 7 8 11 4 3 2 6 0 +1 7 8 11 5 0 +1 7 8 11 6 0 +1 7 8 11 6 10 3 0 +6 7 8 2 0 +1 7 8 2 3 0 +2 7 8 2 4 0 +1 7 8 2 6 0 +13 7 8 3 0 +2 7 8 3 11 0 +1 7 8 3 11 10 4 6 9 0 +1 7 8 3 11 10 9 6 4 2 5 1 0 +2 7 8 3 2 0 +1 7 8 3 2 1 4 5 6 9 10 11 0 +1 7 8 3 2 5 6 9 4 1 11 10 0 +1 7 8 3 2 6 0 +3 7 8 3 6 0 +1 7 8 3 6 1 2 9 10 11 5 4 0 +1 7 8 3 9 0 +3 7 8 4 0 +1 7 8 4 3 0 +1 7 8 5 0 +6 7 8 6 0 +1 7 8 6 11 0 +5 7 8 6 3 0 +1 7 8 6 3 1 2 5 4 9 11 10 0 +1 7 8 6 3 9 5 4 2 10 11 0 +1 7 8 6 4 3 5 1 2 9 0 +5 7 8 9 0 +1 7 8 9 10 0 +1 7 8 9 11 10 6 3 2 1 4 5 0 +1 7 8 9 3 0 +1 7 8 9 6 3 2 4 10 11 1 5 0 +71 7 9 0 +4 7 9 1 0 +1 7 9 1 11 0 +2 7 9 1 2 0 +1 7 9 1 5 11 0 +9 7 9 10 0 +1 7 9 10 1 0 +6 7 9 10 11 0 +2 7 9 10 11 2 0 +1 7 9 10 11 2 3 6 8 0 +1 7 9 10 11 2 4 0 +1 7 9 10 11 4 2 5 1 6 3 8 0 +1 7 9 10 11 8 5 0 +1 7 9 10 2 0 +1 7 9 10 2 11 8 6 3 4 5 1 0 +1 7 9 10 5 0 +1 7 9 10 8 3 6 2 4 11 5 1 0 +21 7 9 11 0 +1 7 9 11 1 0 +2 7 9 11 10 0 +1 7 9 11 10 2 0 +1 7 9 11 10 2 4 0 +1 7 9 11 10 4 0 +1 7 9 11 10 4 2 0 +1 7 9 11 10 4 2 8 6 3 1 5 0 +1 7 9 11 10 5 4 2 1 3 6 8 0 +2 7 9 11 2 0 +1 7 9 11 3 0 +1 7 9 11 3 2 0 +1 7 9 11 3 4 6 8 10 2 1 5 0 +1 7 9 11 5 2 10 4 8 6 3 1 0 +1 7 9 11 8 0 +25 7 9 2 0 +2 7 9 2 1 0 +1 7 9 2 1 5 0 +1 7 9 2 10 0 +1 7 9 2 10 4 0 +3 7 9 2 11 0 +1 7 9 2 11 10 4 1 0 +1 7 9 2 3 0 +4 7 9 2 4 0 +1 7 9 2 6 8 0 +2 7 9 2 8 0 +5 7 9 3 0 +2 7 9 3 2 0 +1 7 9 3 2 10 8 11 6 4 1 5 0 +1 7 9 3 2 11 10 0 +1 7 9 3 8 2 6 10 0 +11 7 9 4 0 +1 7 9 4 1 2 5 10 11 3 6 8 0 +1 7 9 4 1 2 8 0 +4 7 9 4 10 0 +1 7 9 4 11 0 +2 7 9 4 2 0 +1 7 9 4 2 1 11 10 8 6 3 5 0 +1 7 9 4 2 10 11 5 6 3 8 1 0 +2 7 9 5 0 +1 7 9 5 10 11 8 0 +1 7 9 5 2 0 +1 7 9 5 4 2 1 11 10 3 6 0 +1 7 9 5 4 2 1 3 6 8 10 11 0 +3 7 9 6 0 +1 7 9 6 11 0 +1 7 9 6 2 10 8 11 1 3 4 5 0 +1 7 9 6 8 0 +2 7 9 8 0 +1 7 9 8 10 11 2 3 4 1 6 5 0 +1 7 9 8 11 0 +1 7 9 8 3 0 +1 7 9 8 4 10 11 0 +156 8 0 +4 8 1 0 +1 8 1 2 0 +1 8 1 2 5 6 9 3 10 11 4 0 +2 8 1 2 9 0 +1 8 1 3 0 +1 8 1 3 6 7 0 +1 8 1 4 2 0 +1 8 1 5 2 4 11 9 0 +1 8 1 5 4 0 +1 8 1 6 0 +1 8 1 6 3 2 4 9 0 +1 8 1 7 0 +1 8 1 9 3 2 0 +1 8 10 0 +1 8 10 11 0 +1 8 10 11 3 4 0 +1 8 10 11 9 2 6 3 4 5 7 1 0 +1 8 10 4 2 0 +1 8 10 6 0 +2 8 10 7 0 +4 8 11 0 +1 8 11 1 7 0 +1 8 11 10 0 +1 8 11 10 6 3 0 +1 8 11 10 7 6 0 +1 8 11 2 4 3 1 6 7 9 10 5 0 +3 8 11 3 6 0 +1 8 11 6 0 +1 8 11 6 3 0 +1 8 11 6 3 10 4 9 7 5 0 +1 8 11 6 7 0 +1 8 11 7 9 6 3 4 2 1 5 10 0 +2 8 11 9 0 +20 8 2 0 +2 8 2 1 0 +1 8 2 1 3 6 0 +1 8 2 1 4 3 9 0 +1 8 2 1 9 0 +1 8 2 1 9 4 0 +7 8 2 3 0 +2 8 2 3 6 0 +1 8 2 3 6 4 0 +1 8 2 3 6 7 10 11 0 +1 8 2 3 6 7 9 0 +1 8 2 3 9 0 +2 8 2 5 0 +1 8 2 5 3 6 4 1 9 0 +4 8 2 6 0 +1 8 2 6 1 3 0 +5 8 2 6 3 0 +1 8 2 6 3 1 5 0 +1 8 2 6 3 11 0 +1 8 2 6 3 4 1 0 +1 8 2 6 4 9 3 5 7 0 +1 8 2 6 7 0 +1 8 2 6 9 0 +4 8 2 7 0 +1 8 2 7 1 0 +1 8 2 7 3 0 +1 8 2 7 9 0 +5 8 2 9 0 +1 8 2 9 11 0 +1 8 2 9 3 4 6 11 1 10 5 7 0 +1 8 2 9 3 6 4 0 +1 8 2 9 4 0 +1 8 2 9 6 0 +35 8 3 0 +1 8 3 10 0 +1 8 3 10 11 0 +1 8 3 10 11 6 9 7 0 +1 8 3 10 6 0 +2 8 3 11 0 +1 8 3 11 6 0 +1 8 3 11 6 4 7 9 10 2 1 0 +1 8 3 11 9 6 4 2 7 10 5 1 0 +10 8 3 2 0 +1 8 3 2 1 6 9 4 5 0 +1 8 3 2 4 5 1 6 7 9 10 11 0 +2 8 3 2 6 0 +1 8 3 2 6 10 1 4 9 11 5 7 0 +1 8 3 2 7 10 11 9 6 4 0 +2 8 3 2 9 0 +1 8 3 4 0 +1 8 3 4 6 0 +1 8 3 4 6 7 9 10 11 1 2 0 +2 8 3 5 0 +134 8 3 6 0 +3 8 3 6 1 0 +1 8 3 6 1 2 4 5 7 9 10 11 0 +1 8 3 6 1 2 9 4 5 10 11 7 0 +1 8 3 6 10 0 +1 8 3 6 10 1 0 +1 8 3 6 10 5 9 11 0 +1 8 3 6 10 9 0 +2 8 3 6 11 0 +1 8 3 6 11 1 2 4 5 7 9 10 0 +9 8 3 6 2 0 +1 8 3 6 2 1 0 +1 8 3 6 2 1 4 5 7 11 10 9 0 +1 8 3 6 2 1 4 5 9 10 7 11 0 +2 8 3 6 2 11 9 10 4 0 +1 8 3 6 2 4 1 0 +1 8 3 6 2 4 11 0 +1 8 3 6 2 5 10 11 9 0 +3 8 3 6 2 9 0 +1 8 3 6 2 9 4 1 7 10 11 0 +1 8 3 6 2 9 5 4 7 1 11 10 0 +3 8 3 6 4 0 +2 8 3 6 4 2 0 +1 8 3 6 4 9 7 0 +1 8 3 6 5 2 4 0 +5 8 3 6 7 0 +1 8 3 6 7 10 11 9 2 4 1 5 0 +8 8 3 6 9 0 +1 8 3 6 9 1 2 4 5 7 10 11 0 +1 8 3 6 9 11 10 2 5 4 1 7 0 +1 8 3 6 9 11 7 2 10 4 5 1 0 +1 8 3 6 9 4 0 +4 8 3 7 0 +1 8 3 7 1 10 5 0 +1 8 3 7 11 5 0 +1 8 3 7 2 0 +1 8 3 7 6 0 +2 8 3 9 0 +1 8 4 0 +2 8 4 1 0 +1 8 4 1 11 9 3 6 2 5 10 7 0 +2 8 4 11 0 +4 8 4 2 0 +1 8 4 2 1 0 +2 8 4 6 0 +1 8 4 9 0 +1 8 5 1 0 +1 8 5 6 7 1 3 9 4 2 10 11 0 +1 8 5 9 6 0 +31 8 6 0 +1 8 6 1 0 +1 8 6 10 3 0 +2 8 6 11 0 +2 8 6 11 3 0 +1 8 6 11 3 7 2 10 9 4 5 1 0 +4 8 6 2 0 +1 8 6 2 1 0 +5 8 6 2 3 0 +1 8 6 2 7 0 +205 8 6 3 0 +1 8 6 3 1 0 +1 8 6 3 1 2 11 10 9 0 +1 8 6 3 1 2 4 5 7 9 10 11 0 +1 8 6 3 1 2 4 9 10 11 5 7 0 +1 8 6 3 1 4 5 2 7 9 11 10 0 +1 8 6 3 1 5 0 +3 8 6 3 10 0 +1 8 6 3 10 11 9 7 5 4 2 1 0 +8 8 6 3 11 0 +1 8 6 3 11 10 0 +9 8 6 3 2 0 +1 8 6 3 2 1 0 +1 8 6 3 2 1 9 0 +2 8 6 3 2 10 0 +1 8 6 3 2 11 0 +1 8 6 3 2 4 5 9 7 1 10 11 0 +1 8 6 3 2 4 9 10 11 7 1 5 0 +1 8 6 3 2 7 10 11 5 4 1 9 0 +1 8 6 3 2 7 9 4 5 1 10 11 0 +1 8 6 3 2 9 0 +4 8 6 3 4 0 +1 8 6 3 4 1 5 0 +1 8 6 3 4 10 11 0 +4 8 6 3 5 0 +1 8 6 3 5 9 0 +8 8 6 3 7 0 +1 8 6 3 7 11 2 0 +10 8 6 3 9 0 +2 8 6 3 9 2 0 +1 8 6 3 9 2 1 4 5 10 11 7 0 +4 8 6 4 0 +1 8 6 4 3 0 +1 8 6 4 9 10 1 2 3 5 7 11 0 +1 8 6 5 3 0 +1 8 6 7 0 +1 8 6 7 2 0 +1 8 6 7 3 0 +2 8 6 9 0 +1 8 6 9 2 0 +10 8 7 0 +1 8 7 1 2 0 +1 8 7 10 2 11 4 1 5 6 9 0 +1 8 7 11 9 10 6 5 4 3 2 1 0 +4 8 7 2 0 +1 8 7 2 3 0 +1 8 7 2 3 9 10 6 0 +1 8 7 3 0 +1 8 7 3 1 11 0 +1 8 7 3 2 0 +1 8 7 3 6 0 +3 8 7 6 0 +1 8 7 6 11 0 +2 8 7 6 3 0 +1 8 7 6 3 11 2 0 +1 8 7 9 0 +2 8 7 9 2 0 +5 8 9 0 +1 8 9 1 2 6 11 10 0 +1 8 9 10 0 +1 8 9 11 10 3 4 0 +1 8 9 11 6 3 0 +1 8 9 2 0 +1 8 9 2 11 0 +1 8 9 2 3 0 +1 8 9 3 2 0 +1 8 9 3 6 0 +1 8 9 4 3 6 2 0 +1 8 9 5 0 +1 8 9 6 2 4 0 +1 8 9 6 3 0 +1 8 9 6 3 10 11 4 0 +2 8 9 7 0 +1 8 9 7 11 10 3 2 4 6 5 1 0 +71 9 0 +1 9 1 0 +1 9 1 10 4 2 6 7 3 5 8 11 0 +1 9 1 2 10 5 0 +1 9 1 2 4 0 +1 9 1 2 4 5 7 8 3 6 10 11 0 +1 9 1 5 0 +4 9 10 0 +1 9 10 11 0 +1 9 10 11 2 7 0 +2 9 10 11 4 0 +1 9 10 11 4 7 8 3 6 2 0 +2 9 10 11 7 0 +1 9 10 11 7 6 8 3 2 4 1 5 0 +3 9 10 2 0 +1 9 10 2 11 7 0 +1 9 10 2 11 7 4 5 6 8 3 1 0 +1 9 10 3 11 8 2 7 4 6 0 +1 9 10 4 0 +1 9 10 6 3 8 7 2 0 +1 9 10 6 4 3 8 2 7 1 11 5 0 +2 9 10 7 0 +1 9 10 7 3 4 11 8 6 5 1 2 0 +1 9 10 7 4 11 6 3 8 2 1 5 0 +1 9 10 7 6 0 +3 9 11 0 +2 9 11 10 0 +1 9 11 10 7 0 +1 9 11 2 3 4 5 6 8 10 7 1 0 +1 9 11 3 0 +2 9 11 4 0 +3 9 11 7 0 +1 9 11 7 10 0 +1 9 11 7 10 8 6 3 2 1 5 0 +1 9 11 7 2 10 4 0 +1 9 11 7 4 2 0 +1 9 11 8 3 0 +1 9 11 8 6 3 0 +1 9 11 8 6 3 10 0 +30 9 2 0 +1 9 2 1 8 0 +1 9 2 10 0 +2 9 2 11 0 +1 9 2 11 10 1 3 6 8 7 0 +1 9 2 11 10 8 6 3 4 7 1 5 0 +2 9 2 3 0 +1 9 2 3 11 0 +1 9 2 3 4 10 11 8 7 6 1 5 0 +2 9 2 3 6 8 0 +1 9 2 3 6 8 5 4 1 11 10 7 0 +4 9 2 4 0 +3 9 2 4 7 0 +1 9 2 4 7 6 8 3 11 10 1 5 0 +1 9 2 4 7 8 3 6 5 10 11 1 0 +2 9 2 4 8 0 +1 9 2 6 0 +1 9 2 6 3 0 +3 9 2 7 0 +1 9 2 7 11 0 +1 9 2 7 4 10 11 0 +1 9 2 7 6 0 +1 9 2 7 8 6 4 3 10 11 5 1 0 +1 9 2 8 0 +1 9 2 8 3 0 +1 9 2 8 3 6 0 +1 9 2 8 7 0 +2 9 3 0 +1 9 3 1 0 +1 9 3 10 5 2 0 +2 9 3 2 0 +1 9 3 2 1 0 +1 9 3 6 0 +1 9 3 6 7 0 +1 9 3 6 8 0 +1 9 3 7 8 2 10 0 +1 9 3 8 10 6 11 7 2 4 0 +1 9 3 8 6 0 +5 9 4 0 +1 9 4 1 5 2 8 7 6 3 10 11 0 +1 9 4 10 0 +1 9 4 11 0 +5 9 4 2 0 +1 9 4 2 11 10 5 3 1 8 6 7 0 +1 9 4 5 0 +1 9 4 6 2 1 0 +1 9 4 6 8 0 +1 9 5 1 2 7 4 3 6 8 10 11 0 +1 9 5 4 0 +4 9 6 0 +1 9 6 10 11 0 +3 9 6 3 0 +1 9 6 3 8 0 +2 9 6 3 8 2 0 +1 9 6 4 2 0 +1 9 6 5 4 3 2 1 11 10 7 8 0 +1 9 6 7 0 +1 9 6 8 0 +1 9 6 8 1 3 0 +1 9 6 8 7 0 +11 9 7 0 +1 9 7 1 5 2 4 10 8 6 3 11 0 +3 9 7 10 0 +1 9 7 10 11 0 +1 9 7 10 2 0 +1 9 7 10 6 3 8 0 +2 9 7 11 0 +1 9 7 11 4 0 +8 9 7 2 0 +2 9 7 2 1 0 +1 9 7 2 10 11 0 +1 9 7 2 3 8 6 4 0 +1 9 7 2 4 0 +1 9 7 2 4 10 11 8 3 6 1 5 0 +1 9 7 2 8 0 +2 9 7 3 0 +1 9 7 3 2 0 +1 9 7 3 2 6 0 +1 9 7 3 6 8 0 +1 9 7 4 0 +1 9 7 4 2 0 +1 9 7 4 3 0 +1 9 7 5 11 10 4 0 +1 9 7 5 4 0 +3 9 8 0 +1 9 8 1 0 +1 9 8 11 0 +1 9 8 2 6 3 0 +1 9 8 2 7 0 +1 9 8 6 2 3 0 +3 9 8 7 0 +0 +"Esme H Clark" +"Margot Clark" +"Sadie Docherty" +"Chris Lang" +"Harry McArthur" +"John McKenzie" +"David Ritchie" +"Alan Stewart" +"Chloe Helen Stewart" +"Gordon Thomson" +"Frank Young" +"LINN" diff --git a/tests/data/linn07.xml b/tests/data/linn07.xml new file mode 100644 index 0000000..1c75b2d --- /dev/null +++ b/tests/data/linn07.xml @@ -0,0 +1,11 @@ +
LINN04/05/20074956701914.00000eSTV2.0.161711192147WIG
LINNDavid RitchieGordon ThomsonHarry McArthurChris LangChloe Helen StewartFrank YoungEsme H ClarkSadie DochertyAlan StewartEsme H Clark898.00000Continuing7.134827.13482905.13482Continuing1.000000.315701.31570906.45052Continuing55.000000.3157055.31570961.76622Continuing29.000000.6314029.63140991.39762Continuing13.000000.9471013.947101005.34472Continuing10.000000.5682610.568261015.91298Continuing-1006.00000-9.91298-1015.912980.00000Excluded-Excluded-ExcludedExcludedMargot Clark1284.00000Continuing18.9420018.942001302.94200Continuing8.000000.378848.378841311.32084Continuing7.000000.126287.126281318.44712Continuing31.000000.7576831.757681350.20480Continuing105.000003.28328108.283281458.48808Continuing70.000003.8515473.851541532.33962Continuing330.000003.66212333.662121866.00174Continuing2.362560.025922.388481868.39022Continuing138.000001.704780.650560.00540140.360742008.75096ElectedElectedSadie Docherty1782.00000Continuing7.197967.197961789.19796Continuing9.000000.505129.505121798.70308Continuing9.000000.126289.126281807.82936Continuing18.000000.1894218.189421826.01878Continuing23.000000.6945423.694541849.71332Continuing46.000001.1996647.199661896.91298Continuing50.000000.4419850.441981947.35496Elected-33.16144-0.17712-33.354961914.00000Elected1914.00000ElectedElectedChris Lang219.00000Continuing5.619465.61946224.61946Continuing5.000000.189425.18942229.80888Continuing9.000000.252569.25256239.06144Continuing-233.00000-6.06144-239.061440.00000Excluded-Excluded-Excluded-Excluded-Excluded-ExcludedExcludedHarry McArthur165.00000Continuing1.831061.83106166.83106Continuing3.000000.189423.18942170.02048Continuing-168.00000-2.02048-170.020480.00000Excluded-Excluded-Excluded-Excluded-Excluded-Excluded-ExcludedExcludedJohn McKenzie1381.00000Continuing8.271348.271341389.27134Continuing6.000000.378846.378841395.65018Continuing22.000000.1894222.189421417.83960Continuing16.000000.0631416.063141433.90274Continuing25.000000.3788425.378841459.28158Continuing54.000001.0733855.073381514.35496Continuing16.000000.2525616.252561530.60752Continuing16.537920.0388816.576801547.18432Continuing622.000002.715022.996000.00972627.720742174.90506ElectedElectedDavid Ritchie2043.00000Elected-128.99502-129.000001914.00000Elected1914.00000Elected1914.00000Elected1914.00000Elected1914.00000Elected1914.00000Elected1914.00000Elected1914.00000Elected1914.00000ElectedElectedAlan Stewart955.00000Continuing6.440286.44028961.44028Continuing9.000000.126289.12628970.56656Continuing10.000000.1262810.12628980.69284Continuing9.000000.315709.31570990.00854Continuing11.000000.5051211.505121001.51366Continuing75.000001.9573476.957341078.47100Continuing27.000000.3788427.378841105.84984Continuing5.769440.037805.807241111.65708Continuing-1096.00000-9.84984-5.76944-0.03780-1111.657080.00000ExcludedExcludedChloe Helen Stewart296.00000Continuing14.7747614.77476310.77476Continuing17.000001.0102418.01024328.78500Continuing10.000000.1894210.18942338.97442Continuing19.000001.3890820.38908359.36350Continuing-342.00000-17.36350-359.363500.00000Excluded-Excluded-Excluded-Excluded-ExcludedExcludedGordon Thomson149.00000Continuing7.829367.82936156.82936Continuing-149.00000-7.82936-156.829360.00000Excluded-Excluded-Excluded-Excluded-Excluded-Excluded-Excluded-ExcludedExcludedFrank Young395.00000Continuing14.7747614.77476409.77476Continuing57.000002.7150259.71502469.48978Continuing9.000000.189429.18942478.67920Continuing19.000000.6314019.63140498.31060Continuing45.000004.1672449.16724547.47784Continuing-525.00000-22.47784-547.477840.00000Excluded-Excluded-Excluded-ExcludedExcludedNon-transferable0.00000Unknown36.1792236.1842036.18420Unknown34.000002.0204836.0204872.20468Unknown37.000000.5051237.50512109.70980Unknown92.000002.0836294.08362203.79342Unknown120.000007.38738127.38738331.18080Unknown270.0000013.82766283.82766615.00846Unknown583.000005.17748588.177481203.18594Unknown8.491520.074528.582441211.76838Unknown336.000005.430042.122880.02268343.575601555.34398UnknownContinuing + + Glasgow City Council + 45.25 + + + + + + +
diff --git a/tests/scotland.rs b/tests/scotland.rs new file mode 100644 index 0000000..9e34cb6 --- /dev/null +++ b/tests/scotland.rs @@ -0,0 +1,152 @@ +/* OpenTally: Open-source election vote counting + * Copyright © 2021 Lee Yingtong Li (RunasSudo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +// https://web.archive.org/web/20121004213938/http://www.glasgow.gov.uk/en/YourCouncil/Elections_Voting/Election_Results/ElectionScotland2007/LGWardResults.htm?ward=1&wardname=1%20-%20Linn + +use opentally::election::{CandidateState, CountState, Election}; +use opentally::numbers::Fixed; +use opentally::stv; + +use num_traits::Zero; +use xmltree::Element; + +use std::io::{self, BufRead}; +use std::fs::File; + +#[test] +fn scotland_linn07_fixed5() { + let stv_opts = stv::STVOptions { + round_tvs: Some(5), + round_weights: None, + round_votes: None, + round_quota: Some(0), + quota: stv::QuotaType::Droop, + quota_criterion: stv::QuotaCriterion::GreaterOrEqual, + quota_mode: stv::QuotaMode::Static, + surplus: stv::SurplusMethod::WIG, + surplus_order: stv::SurplusOrder::BySize, + transferable_only: false, + exclusion: stv::ExclusionMethod::SingleStage, + bulk_exclude: false, + defer_surpluses: false, + pp_decimals: 5, + }; + Fixed::set_dps(5); + + // Read XML file + let file = File::open("tests/data/linn07.xml").expect("IO Error"); + let root = Element::parse(file).expect("Parse Error"); + + let mut candidates: Vec<&Element> = root.children.iter() + .filter_map(|n| match n { + xmltree::XMLNode::Element(e) => if e.name == "candidate" { Some(e) } else { None }, + _ => None, + }) + .collect(); + let cand_nt = candidates.pop().unwrap(); + + // TODO: Validate candidate names + + let num_stages = root.get_child("headerrow").expect("Syntax Error").children.len(); + + // Read BLT + let file = File::open("tests/data/linn07.blt").expect("IO Error"); + let file_reader = io::BufReader::new(file); + let lines = file_reader.lines(); + + let election: Election = Election::from_blt(lines.map(|r| r.expect("IO Error").to_string()).into_iter()); + + // Initialise count state + let mut state = CountState::new(&election); + + // Distribute first preferences + stv::count_init(&mut state, &stv_opts); + let mut stage_num = 1; + + for i in 0..num_stages { + println!("Stage {}", stage_num); + + // Validate NT + let nt_votes = get_cand_stage(cand_nt, i) + .get_child("value").unwrap() + .get_text().unwrap() + .to_string(); + + assert!(approx_eq(&(&state.exhausted.votes + &state.loss_fraction.votes), &parse_str(nt_votes))); + + for (candidate, cand_xml) in state.election.candidates.iter().zip(candidates.iter()) { + let count_card = state.candidates.get(candidate).unwrap(); + + // Validate candidate votes + let cand_votes = get_cand_stage(cand_xml, i) + .get_child("value").unwrap() + .get_text().unwrap() + .to_string(); + let cand_votes = parse_str(cand_votes); + assert!(approx_eq(&count_card.votes, &cand_votes), "Failed to validate votes for candidate {}. Expected {:}, got {:}", candidate.name, cand_votes, count_card.votes); + + // Validate candidate states + let cand_state = get_cand_stage(cand_xml, i) + .get_child("status").unwrap() + .get_text().unwrap() + .to_string(); + if cand_state == "Continuing" { + assert!(count_card.state == CandidateState::HOPEFUL); + } else if cand_state == "Elected" { + assert!(count_card.state == CandidateState::ELECTED); + } else if cand_state == "Excluded" { + assert!(count_card.state == CandidateState::EXCLUDED); + } else { + panic!("Unknown state descriptor {}", cand_state); + } + } + + assert_eq!(stv::count_one_stage(&mut state, &stv_opts), false); + stage_num += 1; + } + + assert_eq!(stv::count_one_stage(&mut state, &stv_opts), true); +} + +fn get_cand_stage(candidate: &Element, idx: usize) -> &Element { + return candidate.children.iter() + .filter_map(|n| match n { + xmltree::XMLNode::Element(e) => if e.name == "stage" { Some(e) } else { None }, + _ => None, + }) + .nth(idx).unwrap(); +} + +fn parse_str(s: String) -> Fixed { + if s == "-" { return Fixed::zero(); } + let f: f64 = s.parse().expect("Syntax Error"); + return opentally::numbers::From::from(f); +} + +fn approx_eq(a: &Fixed, b: &Fixed) -> bool { + // Some tolerance required in equality comparisons, as eSTV incorrectly computes transfers + // by value, instead of all at once, resulting in increased rounding error + let eq_tol: Fixed = opentally::numbers::From::from(0.0001); + + if a - b > eq_tol { + return false; + } + if b - a > eq_tol { + return false; + } + return true; +}