diff --git a/Cargo.toml b/Cargo.toml index eed7f1be3..149a14fb4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,25 @@ [workspace] -members = ["math", "crypto", "gpu", "benches", "provers/plonk", "provers/stark", "provers/groth16", "provers/groth16/arkworks-adapter", "provers/groth16/circom-adapter", "examples/merkle-tree-cli", "examples/prove-miden", "provers/winterfell_adapter", "examples/shamir_secret_sharing","examples/pinocchio", "examples/prove-verify-circom", "examples/baby-snark"] +members = [ + "math", + "crypto", + "gpu", + "benches", + "provers/plonk", + "provers/stark", + "provers/groth16/bn_254", + "provers/groth16/bn_254/circom-adapter", + "provers/groth16/bls12_381", + "provers/groth16/bls12_381/arkworks-adapter", + "provers/groth16/bls12_381/circom-adapter", + "examples/merkle-tree-cli", + "examples/prove-miden", + "provers/winterfell_adapter", + "examples/shamir_secret_sharing", + "examples/pinocchio", + "examples/prove-verify-circom", + "examples/baby-snark", +] exclude = ["ensure-no_std"] resolver = "2" @@ -16,16 +35,18 @@ lambdaworks-crypto = { path = "./crypto", version = "0.11.0", default-features = lambdaworks-gpu = { path = "./gpu", version = "0.11.0" } lambdaworks-math = { path = "./math", version = "0.11.0", default-features = false } stark-platinum-prover = { path = "./provers/stark" } -lambdaworks-winterfell-adapter = { path = "./provers/winterfell_adapter"} -lambdaworks-groth16 = { path = "./provers/groth16" } -lambdaworks-circom-adapter = { path = "./provers/groth16/circom-adapter" } +lambdaworks-winterfell-adapter = { path = "./provers/winterfell_adapter" } +lambdaworks-groth16-bn-254 = { path = "./provers/groth16/bn_254" } +lambdaworks-groth16-bls12-381 = { path = "./provers/groth16/bls12_381" } +lambdaworks-circom-adapter-bn-254 = { path = "./provers/groth16/bn_254/circom-adapter" } +lambdaworks-circom-adapter-bls12-381 = { path = "./provers/groth16/bls12_381/circom-adapter" } [patch.crates-io] -winter-air = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4"} -winter-prover = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4"} -winter-math = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4"} -winter-utils = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4"} -winter-crypto = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4"} +winter-air = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4" } +winter-prover = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4" } +winter-math = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4" } +winter-utils = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4" } +winter-crypto = { git = "https://github.com/lambdaclass/winterfell-for-lambdaworks.git", branch = "derive-clone-v6.4" } miden-air = { git = "https://github.com/lambdaclass/miden-vm" } miden-core = { git = "https://github.com/lambdaclass/miden-vm" } miden-assembly = { git = "https://github.com/lambdaclass/miden-vm" } diff --git a/examples/prove-verify-circom/Cargo.toml b/examples/prove-verify-circom/Cargo.toml index 2b70b7dbc..4f0d8af47 100644 --- a/examples/prove-verify-circom/Cargo.toml +++ b/examples/prove-verify-circom/Cargo.toml @@ -11,8 +11,8 @@ path = "src/main.rs" [dependencies] lambdaworks-crypto = { workspace = true } -lambdaworks-groth16 = { workspace = true } +lambdaworks-groth16-bls12-381 = { workspace = true } lambdaworks-math = { workspace = true, features = ["lambdaworks-serde-string"] } -lambdaworks-circom-adapter = { workspace = true } +lambdaworks-circom-adapter-bls12-381 = { workspace = true } serde = { version = "1.0" } serde_json = "1" diff --git a/examples/prove-verify-circom/src/main.rs b/examples/prove-verify-circom/src/main.rs index eed701d2c..ab4666253 100644 --- a/examples/prove-verify-circom/src/main.rs +++ b/examples/prove-verify-circom/src/main.rs @@ -1,7 +1,7 @@ use std::fs; -use lambdaworks_circom_adapter::*; -use lambdaworks_groth16::*; +use lambdaworks_circom_adapter_bls12_381::*; +use lambdaworks_groth16_bls12_381::*; const TEST_DIR: &str = "input_files/"; diff --git a/math/src/elliptic_curve/short_weierstrass/curves/bn_254/default_types.rs b/math/src/elliptic_curve/short_weierstrass/curves/bn_254/default_types.rs index 482e8d8f2..50780d428 100644 --- a/math/src/elliptic_curve/short_weierstrass/curves/bn_254/default_types.rs +++ b/math/src/elliptic_curve/short_weierstrass/curves/bn_254/default_types.rs @@ -2,14 +2,17 @@ use crate::{ field::{ element::FieldElement, fields::montgomery_backed_prime_fields::{IsModulus, MontgomeryBackendPrimeField}, + traits::IsFFTField, }, - unsigned_integer::element::U256, + unsigned_integer::element::{UnsignedInteger, U256}, }; #[derive(Clone, Debug)] pub struct FrConfig; -/// Modulus of bn 254 subgroup r = 21888242871839275222246405745257275088548364400416034343698204186575808495617, aka order +/// We define Fr where r is the number of points that the eliptic curve BN254 has. +/// I.e. r is the order of the group BN254 Curve. +/// r = 21888242871839275222246405745257275088548364400416034343698204186575808495617. impl IsModulus for FrConfig { const MODULUS: U256 = U256::from_hex_unchecked( "30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001", @@ -20,3 +23,16 @@ impl IsModulus for FrConfig { pub type FrField = MontgomeryBackendPrimeField; /// FrElement using MontgomeryBackend for Bn254 pub type FrElement = FieldElement; + +/// TWO_ADICITY is 28 because there is a subgroup of Fr of order 2^28. +/// Note that 2^28 divides r - 1. +/// (r - 1) / 2^28 mod r = 81540058820840996586704275553141814055101440848469862132140264610111. +/// We calculated the TWO_ADIC_PRIMITVE_ROOT_OF_UNITY in the following way: +/// g = 5 is a primitive root of order r - 1, that is, g^{r-1} = 1 and g^i != 1 for i < r-1. +/// Then g^{(r-1) / 2^28} is a primitive root of order 2^28. +impl IsFFTField for FrField { + const TWO_ADICITY: u64 = 28; + const TWO_ADIC_PRIMITVE_ROOT_OF_UNITY: Self::BaseType = UnsignedInteger::from_hex_unchecked( + "2A3C09F0A58A7E8500E0A7EB8EF62ABC402D111E41112ED49BD61B6E725B19F0", + ); +} diff --git a/provers/groth16/bls12_381/Cargo.toml b/provers/groth16/bls12_381/Cargo.toml new file mode 100644 index 000000000..abd106285 --- /dev/null +++ b/provers/groth16/bls12_381/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "lambdaworks-groth16-bls12-381" +version.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +lambdaworks-math.workspace = true +lambdaworks-crypto.workspace = true +rand_chacha = "0.3.1" +serde = "1.0" +serde_json = "1.0" +rand = "0.8.5" diff --git a/provers/groth16/arkworks-adapter/Cargo.toml b/provers/groth16/bls12_381/arkworks-adapter/Cargo.toml similarity index 60% rename from provers/groth16/arkworks-adapter/Cargo.toml rename to provers/groth16/bls12_381/arkworks-adapter/Cargo.toml index 637070bdb..2c1bfbff5 100644 --- a/provers/groth16/arkworks-adapter/Cargo.toml +++ b/provers/groth16/bls12_381/arkworks-adapter/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "arkworks_adapter" +name = "arkworks_adapter_bls12_381" version.workspace = true edition.workspace = true license.workspace = true @@ -8,12 +8,12 @@ repository.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -lambdaworks-math = { path = "../../../math" } -lambdaworks-groth16 = { path = "../" } -ark-r1cs-std = { version = "^0.3.1"} -ark-bls12-381 = { version = "0.4.0"} +lambdaworks-math = { path = "../../../../math" } +lambdaworks-groth16-bls12-381 = { path = "../" } +ark-r1cs-std = { version = "^0.3.1" } +ark-bls12-381 = { version = "0.4.0" } ark-ff = { version = "^0.4.2" } ark-relations = { version = "^0.4.0" } -ark-serialize = {version = "0.4.2"} +ark-serialize = { version = "0.4.2" } num-bigint = { version = "0.4", default-features = false } rand = "0.8.5" diff --git a/provers/groth16/arkworks-adapter/README.md b/provers/groth16/bls12_381/arkworks-adapter/README.md similarity index 100% rename from provers/groth16/arkworks-adapter/README.md rename to provers/groth16/bls12_381/arkworks-adapter/README.md diff --git a/provers/groth16/arkworks-adapter/src/integration_tests.rs b/provers/groth16/bls12_381/arkworks-adapter/src/integration_tests.rs similarity index 98% rename from provers/groth16/arkworks-adapter/src/integration_tests.rs rename to provers/groth16/bls12_381/arkworks-adapter/src/integration_tests.rs index d03f5e79d..4ac3d867b 100644 --- a/provers/groth16/arkworks-adapter/src/integration_tests.rs +++ b/provers/groth16/bls12_381/arkworks-adapter/src/integration_tests.rs @@ -1,7 +1,7 @@ use crate::arkworks_cs_to_lambda_cs; use ark_bls12_381::Fr; use ark_relations::{lc, r1cs::ConstraintSystem, r1cs::Variable}; -use lambdaworks_groth16::{setup, verify, Prover, QuadraticArithmeticProgram}; +use lambdaworks_groth16_bls12_381::{setup, verify, Prover, QuadraticArithmeticProgram}; use rand::Rng; #[test] diff --git a/provers/groth16/arkworks-adapter/src/lib.rs b/provers/groth16/bls12_381/arkworks-adapter/src/lib.rs similarity index 97% rename from provers/groth16/arkworks-adapter/src/lib.rs rename to provers/groth16/bls12_381/arkworks-adapter/src/lib.rs index f0403ef20..f75cda33e 100644 --- a/provers/groth16/arkworks-adapter/src/lib.rs +++ b/provers/groth16/bls12_381/arkworks-adapter/src/lib.rs @@ -3,7 +3,7 @@ mod integration_tests; use ark_ff::PrimeField; use ark_relations::r1cs::{ConstraintSystemRef, Field}; -use lambdaworks_groth16::{common::*, r1cs::R1CS, ConstraintSystem}; +use lambdaworks_groth16_bls12_381::{common::*, r1cs::R1CS, ConstraintSystem}; use lambdaworks_math::traits::ByteConversion; use std::ops::Deref; diff --git a/provers/groth16/bls12_381/circom-adapter/Cargo.toml b/provers/groth16/bls12_381/circom-adapter/Cargo.toml new file mode 100644 index 000000000..495af71c2 --- /dev/null +++ b/provers/groth16/bls12_381/circom-adapter/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "lambdaworks-circom-adapter-bls12-381" +version.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +lambdaworks-math = { path = "../../../../math" } +lambdaworks-groth16-bls12-381 = { path = "../" } +serde = { version = "1.0" } +serde_json = "1" diff --git a/provers/groth16/circom-adapter/src/README.md b/provers/groth16/bls12_381/circom-adapter/src/README.md similarity index 96% rename from provers/groth16/circom-adapter/src/README.md rename to provers/groth16/bls12_381/circom-adapter/src/README.md index b0f7253ef..a9872fbde 100644 --- a/provers/groth16/circom-adapter/src/README.md +++ b/provers/groth16/bls12_381/circom-adapter/src/README.md @@ -11,7 +11,7 @@ This package allows one to perform trusted setup, prove, and verify constraints circom test.circom --r1cs --wasm -p bls12381 ``` - This will create a **test_js** directory, and a **test.r1cs** file. Do not skip the **-p bls12381** flag as this is the only field supported by this adapter right now. + This will create a **test_js** directory, and a **test.r1cs** file. Do not skip the **-p bls12381** flag because the default curve is the bn-254. 3. ```bash node test_js/generate_witness.js test_js/test.wasm input.json witness.wtns diff --git a/provers/groth16/circom-adapter/src/integration_tests.rs b/provers/groth16/bls12_381/circom-adapter/src/integration_tests.rs similarity index 98% rename from provers/groth16/circom-adapter/src/integration_tests.rs rename to provers/groth16/bls12_381/circom-adapter/src/integration_tests.rs index 8dd5b65b3..5f1dd2446 100644 --- a/provers/groth16/circom-adapter/src/integration_tests.rs +++ b/provers/groth16/bls12_381/circom-adapter/src/integration_tests.rs @@ -1,7 +1,7 @@ use std::fs; use crate::*; -use lambdaworks_groth16::*; +use lambdaworks_groth16_bls12_381::*; const TEST_DIR: &str = "test_files"; diff --git a/provers/groth16/bls12_381/circom-adapter/src/lib.rs b/provers/groth16/bls12_381/circom-adapter/src/lib.rs new file mode 100644 index 000000000..4e7995537 --- /dev/null +++ b/provers/groth16/bls12_381/circom-adapter/src/lib.rs @@ -0,0 +1,116 @@ +#[cfg(test)] +mod integration_tests; + +use lambdaworks_groth16_bls12_381::{common::FrElement, QuadraticArithmeticProgram as QAP}; +use lambdaworks_math::unsigned_integer::element::UnsignedInteger; +use serde_json::Value; + +pub fn circom_to_lambda( + r1cs_file_content: &str, + witness_file_content: &str, +) -> (QAP, Vec) { + let circom_r1cs: Value = serde_json::from_str(r1cs_file_content).expect("Error parsing JSON"); + let [mut l, mut r, mut o] = build_lro_from_circom_r1cs(&circom_r1cs); + + let mut witness: Vec<_> = serde_json::from_str::>(witness_file_content) + .expect("Error parsing JSON") + .iter() + .map(|num_str| circom_str_to_lambda_field_element(num_str)) + .collect(); + adjust_lro_and_witness(&circom_r1cs, &mut l, &mut r, &mut o, &mut witness); + + // Lambdaworks considers "1" a public input, so compensate for it + let num_of_pub_inputs = circom_r1cs["nPubInputs"].as_u64().unwrap() as usize + 1; + + ( + QAP::from_variable_matrices(num_of_pub_inputs, &l, &r, &o), + witness, + ) +} + +/// Takes as input circom.r1cs.json file and outputs LRO matrices +#[inline] +fn build_lro_from_circom_r1cs(circom_r1cs: &Value) -> [Vec>; 3] { + let num_of_vars = circom_r1cs["nVars"].as_u64().unwrap() as usize; // Includes "1" + let num_of_gates = circom_r1cs["nConstraints"].as_u64().unwrap() as usize; + + let mut l = vec![vec![FrElement::zero(); num_of_gates]; num_of_vars]; + let mut r = vec![vec![FrElement::zero(); num_of_gates]; num_of_vars]; + let mut o = vec![vec![FrElement::zero(); num_of_gates]; num_of_vars]; + + for (constraint_idx, constraint) in circom_r1cs["constraints"] + .as_array() + .unwrap() + .iter() + .enumerate() + { + let constraint = constraint.as_array().unwrap(); + for (var_idx, str_val) in constraint[0].as_object().unwrap() { + l[var_idx.parse::().unwrap()][constraint_idx] = + circom_str_to_lambda_field_element(str_val.as_str().unwrap()); + } + for (var_idx, str_val) in constraint[1].as_object().unwrap() { + r[var_idx.parse::().unwrap()][constraint_idx] = + circom_str_to_lambda_field_element(str_val.as_str().unwrap()); + } + for (var_idx, str_val) in constraint[2].as_object().unwrap() { + o[var_idx.parse::().unwrap()][constraint_idx] = + circom_str_to_lambda_field_element(str_val.as_str().unwrap()); + } + } + + [l, r, o] +} + +/// Circom witness ordering: ["1", ..outputs, ...inputs, ...other_signals] +/// Lambda witness ordering: ["1", ...inputs, ..outputs, ...other_signals] +/// Same applies to rows of LRO (each representing a variable) +/// This function compensates this difference +#[inline] +fn adjust_lro_and_witness( + circom_r1cs: &Value, + l: &mut [Vec], + r: &mut [Vec], + o: &mut [Vec], + witness: &mut [FrElement], +) { + let num_of_private_inputs = circom_r1cs["nPrvInputs"].as_u64().unwrap() as usize; + let num_of_pub_inputs = circom_r1cs["nPubInputs"].as_u64().unwrap() as usize; + let num_of_inputs = num_of_pub_inputs + num_of_private_inputs; + let num_of_outputs = circom_r1cs["nOutputs"].as_u64().unwrap() as usize; + + let mut temp_l = Vec::with_capacity(num_of_inputs); + let mut temp_r = Vec::with_capacity(num_of_inputs); + let mut temp_o = Vec::with_capacity(num_of_inputs); + let mut temp_witness = Vec::with_capacity(num_of_inputs); + + for i in 0..num_of_inputs { + temp_l.push(l[num_of_outputs + 1 + i].clone()); + temp_r.push(r[num_of_outputs + 1 + i].clone()); + temp_o.push(o[num_of_outputs + 1 + i].clone()); + temp_witness.push(witness[num_of_outputs + 1 + i].clone()); + } + + for i in 0..num_of_inputs { + let temp_l_i = l[1 + i].clone(); + l[1 + i].clone_from(&temp_l[i]); + l[num_of_outputs + 1 + i].clone_from(&temp_l_i); + + let temp_r_i = r[1 + i].clone(); + r[1 + i].clone_from(&temp_r[i]); + r[num_of_outputs + 1 + i].clone_from(&temp_r_i); + + let temp_o_i = o[1 + i].clone(); + o[1 + i].clone_from(&temp_o[i]); + o[num_of_outputs + 1 + i].clone_from(&temp_o_i); + + let temp_witness_i = witness[1 + i].clone(); + witness[1 + i].clone_from(&temp_witness[i]); + witness[num_of_outputs + 1 + i].clone_from(&temp_witness_i); + } +} + +#[inline] +fn circom_str_to_lambda_field_element(value: &str) -> FrElement { + FrElement::from(&UnsignedInteger::<4>::from_dec_str(value).unwrap()) +} diff --git a/provers/groth16/bls12_381/circom-adapter/test_files/poseidon/test.r1cs.json b/provers/groth16/bls12_381/circom-adapter/test_files/poseidon/test.r1cs.json new file mode 100644 index 000000000..6f3725df1 --- /dev/null +++ b/provers/groth16/bls12_381/circom-adapter/test_files/poseidon/test.r1cs.json @@ -0,0 +1,4510 @@ +{ + "n8": 32, + "prime": "52435875175126190479447740508185965837690552500527637822603658699938581184513", + "nVars": 215, + "nOutputs": 1, + "nPubInputs": 0, + "nPrvInputs": 1, + "nLabels": 583, + "nConstraints": 213, + "useCustomGates": false, + "constraints": [ + [ + { + "0": "47002224662166672867131413033472899870931743636313811084027392038215058404480", + "2": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "0": "5433650512959517612316327474713065966758808864213826738576266661723522780033", + "2": "1" + }, + { + "73": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "73": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "73": "1" + }, + { + "74": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "74": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "0": "5433650512959517612316327474713065966758808864213826738576266661723522780033", + "2": "1" + }, + { + "0": "17301668213014761646596552653015591039760461391617952799153519234591864034463", + "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "0": "18121914352619992825529298674955760274687060138678729211531310305112441479676", + "3": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "0": "34313960822506197653918441833230205563003492361848908611072348394826139704837", + "3": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "75": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "75": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "75": "1" + }, + { + "76": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "76": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "0": "34313960822506197653918441833230205563003492361848908611072348394826139704837", + "3": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "19776162473771124504636460540005465934623588388516917789964545078054814040751", + "4": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "0": "39641237770587972878319552685981320289244633020922775863749204380887651483675", + "3": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "0": "12794637404538217601128187822204645548445919479604861958854454319050929700838", + "3": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "77": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "77": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "77": "1" + }, + { + "78": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "78": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "0": "12794637404538217601128187822204645548445919479604861958854454319050929700838", + "3": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "0": "11316768622745143833150712249439306411966930091146927416794626237074092972974", + "5": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "4": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "5": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "4": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "5": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "79": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "79": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "79": "1" + }, + { + "80": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "80": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "4": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "5": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "16445483823163065295596987123801926703922762982696126295152762759513382273866", + "6": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "4": "46659190381000641016999143094135733593911872198348198329939611371656852828168", + "5": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "4": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "5": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "81": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "81": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "81": "1" + }, + { + "82": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "82": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "4": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "5": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "0": "4514474156763384993737907502541146539969481658202448264361041161669007485071", + "7": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "6": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "7": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "6": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "7": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "83": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "83": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "83": "1" + }, + { + "84": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "84": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "6": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "7": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "15962945726901666037200703277090943625692830090147479512076829448913210994056", + "8": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "6": "46659190381000641016999143094135733593911872198348198329939611371656852828168", + "7": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "6": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "7": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "85": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "85": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "85": "1" + }, + { + "86": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "86": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "6": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "7": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "0": "887718591790650017281197227986729839639624303500401204697133087008458682956", + "9": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "72": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "72": "1" + }, + { + "87": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "87": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "87": "1" + }, + { + "88": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "88": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "72": "1" + }, + { + "0": "12275810531539430738053742281045622394839331044128025660443842052759513336728", + "10": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "8": "5192654897427357008432485609548618383439366938048738267512357806175323156466", + "9": "44191900748914651603154436884985405802624310922043415177054320835582811318799", + "17": "16682593524536877201531712829085670433517609722011452244873718259799228348094", + "18": "43176292574239827709965913132349833968585313120748753931461671119571506050120", + "19": "22454277736302330539981016565441139619576134744538169566477933175530787940739", + "20": "30123729579747296778679082467374526570498598882963001935435199420320161942256", + "21": "46568232823494654032688015031064077399377245709898471396748713760514442211391", + "22": "25337516245609128609822543248097808410082403769697789578791662343706028102192", + "23": "35601550524008744029282673352847160429101650733862130894197735477082149245871", + "24": "35137801412648608602082879801594064027148126627191773745053156849660147041891", + "25": "40398626151690458309263530700753346533191711706310534404013923450891362313020", + "26": "49254854458955331381907192669226021831064520795257317826598691575112032093544", + "27": "34654188339918270879861929787619795508384021635481876666056120963255152633433", + "28": "494391027058814481580993061254426732497840799120447570371498432602819883101", + "29": "44946201903288700296658382468835869814262726797502836774418588029043176260447", + "30": "48528295336382606069489647204400489577673347693131220253265802156768701700347", + "31": "31360798183006332565597117389323951060666556605711330882110548035101473192155", + "32": "14199984020335272086112293703616407891113291629004800921837716240396770592817", + "33": "22499065136731618754150770882412842216746313195882824776123236056140771071854", + "34": "52217880981612453390038597745102175942273063793798860889994274578587614827152", + "35": "11537655746854260565095799304447329691170321378827272307394507431534802009593", + "36": "4976638099565858473647778905610272835781322907363722016885461315219100861322", + "37": "4108392090303695195493660099979157995992377166454976378640241409951861734299", + "38": "15653641529872622376681823131135518307232703072159041211329697102310448663115", + "39": "14800899020251847241232019228031646644613998640250076359556728567450119111044", + "40": "44463855465583845034168653476990587477897453789614831858855295629714808931485", + "41": "10017085478120126963175632015936019718784225748796618639521456603694580582439", + "42": "5964435497664887447234757603860015773037854172250406422904388839641102056810", + "43": "5437229115590008548073876339184123793065964842700306165967098364197229809109", + "44": "31761090498660381152590868148703047507119657770368107945038318332745129332080", + "45": "52164753007942648654126677065408014405462714011956435929334483881356324845985", + "46": "8491974724559101596776574308942970972383695354753462027230993760828778482293", + "47": "46151185706456268294809352088665486118335041496311606337323937958920678053636", + "48": "26163285151599097458896485665061693812858393921677914525792777641618531124982", + "49": "20680354245047335378058215136376195768406919946856627631309921694439969779746", + "50": "17670284351817699338614554067914420616735028118279118466474981361397453000395", + "51": "48726527588140482709743231003634452131141550449721745648864847320882060170540", + "52": "1855745755075703151059428086310382931309105627860435429284103108472625282784", + "53": "27754302890119318476717015603950964862285802702681699302181928196592129086473", + "54": "49105981729716423446324504208277584360266771134924957425516715062055227989458", + "55": "2431220470210283703128932870876730811953054921751866995952505982901254332105", + "56": "17241810903661829527159007203551354915356058054897363299778832770398291954875", + "57": "5506609965393505601379869526086751832292859950316561376217538900402655037296", + "58": "35055291447473077149257142781429556079981892410110587627461981785180960067866", + "59": "27099544121785566071163804026757738834751009441787367088902224089246104816217", + "60": "21168488962979702344414435570748821232449040113325022888730742258043507028405", + "61": "47670895780436930537707698149600870156430827387591564803827756947402825569930", + "62": "2796943212009229214673244125547912349110865240615935726835249132294761701941", + "63": "7918403660682730431927324352637792984964501341438814631906703645998903792014", + "64": "32683555564922264902143485015196964126056753474964765939073261049223026516501", + "65": "13416403507941528912250512177702720074184965506688177765950834406754453210568", + "66": "38787375715048970217010351389657525454533757158251583363414573878811191758526", + "67": "46406132564233381384920233542963075657760887680299224559198572377706144536577", + "68": "30201327076396983193347672435573825141534190996210192641635524573209002434330", + "69": "38470913765980546510790377478989823683444782719827572704647142504929737797128", + "70": "8710830633971736968251063972026569291314211937138214596925867734113744983382", + "71": "51635308733343782767757203821132158717542520956470118440081593984226660505683", + "72": "35111823997307573390460048516833474775712674889514381017874831449584379582888" + }, + { + "8": "47243220277698833471015254898637347454251185562478899555091300893763258028047", + "9": "8243974426211538876293303623200560035066241578484222645549337864355769865714", + "17": "35753281650589313277916027679100295404172942778516185577729940440139352836419", + "18": "9259582600886362769481827375836131869105239379778883891141987580367075134393", + "19": "29981597438823859939466723942744826218114417755989468256125725524407793243774", + "20": "22312145595378893700768658040811439267191953617564635887168459279618419242257", + "21": "5867642351631536446759725477121888438313306790629166425854944939424138973122", + "22": "27098358929517061869625197260088157427608148730829848243811996356232553082321", + "23": "16834324651117446450165067155338805408588901766665506928405923222856431938642", + "24": "17298073762477581877364860706591901810542425873335864077550501850278434142622", + "25": "12037249023435732170184209807432619304498840794217103418589735249047218871493", + "26": "3181020716170859097540547838959944006626031705270319996004967124826549090969", + "27": "17781686835207919599585810720566170329306530865045761156547537736683428551080", + "28": "51941484148067375997866747446931539105192711701407190252232160267335761301412", + "29": "7489673271837490182789358039350096023427825703024801048185070670895404924066", + "30": "3907579838743584409958093303785476260017204807396417569337856543169879484166", + "31": "21075076992119857913850623118862014777023995894816306940493110664837107992358", + "32": "38235891154790918393335446804569557946577260871522836900765942459541810591696", + "33": "29936810038394571725296969625773123620944239304644813046480422643797810112659", + "34": "217994193513737089409142763083789895417488706728776932609384121350966357361", + "35": "40898219428271929914351941203738636146520231121700365515209151268403779174920", + "36": "47459237075560332005799961602575693001909229593163915805718197384719480323191", + "37": "48327483084822495283954080408206807841698175334072661443963417289986719450214", + "38": "36782233645253568102765917377050447530457849428368596611273961597628132521398", + "39": "37634976154874343238215721280154319193076553860277561463046930132488462073469", + "40": "7972019709542345445279087031195378359793098710912805963748363070223772253028", + "41": "42418789697006063516272108492249946118906326751731019183082202096244000602074", + "42": "46471439677461303032212982904325950064652698328277231399699269860297479127703", + "43": "46998646059536181931373864169001842044624587657827331656636560335741351375404", + "44": "20674784676465809326856872359482918330570894730159529877565340367193451852433", + "45": "271122167183541825321063442777951432227838488571201893269174818582256338528", + "46": "43943900450567088882671166199242994865306857145774175795372664939109802702220", + "47": "6284689468669922184638388419520479719355511004216031485279720741017903130877", + "48": "26272590023527093020551254843124272024832158578849723296810881058320050059531", + "49": "31755520930078855101389525371809770069283632553671010191293737005498611404767", + "50": "34765590823308491140833186440271545220955524382248519356128677338541128184118", + "51": "3709347586985707769704509504551513706549002050805892173738811379056521013973", + "52": "50580129420050487328388312421875582906381446872667202393319555591465955901729", + "53": "24681572285006872002730724904235000975404749797845938520421730503346452098040", + "54": "3329893445409767033123236299908381477423781365602680397086943637883353195055", + "55": "50004654704915906776318807637309235025737497578775770826651152717037326852408", + "56": "35194064271464360952288733304634610922334494445630274522824825929540289229638", + "57": "46929265209732684878067870982099214005397692550211076446386119799535926147217", + "58": "17380583727653113330190597726756409757708660090417050195141676914757621116647", + "59": "25336331053340624408283936481428227002939543058740270733701434610692476368296", + "60": "31267386212146488135033304937437144605241512387202614933872916441895074156108", + "61": "4764979394689259941740042358585095681259725112936073018775901752535755614583", + "62": "49638931963116961264774496382638053488579687259911702095768409567643819482572", + "63": "44517471514443460047520416155548172852726051159088823190696955053939677392499", + "64": "19752319610203925577304255492989001711633799025562871883530397650715554668012", + "65": "39019471667184661567197228330483245763505586993839460056652824293184127973945", + "66": "13648499460077220262437389118528440383156795342276054459189084821127389425987", + "67": "6029742610892809094527506965222890179929664820228413263405086322232436647936", + "68": "22234548098729207286100068072612140696156361504317445180968134126729578750183", + "69": "13964961409145643968657363029196142154245769780700065117956516195008843387385", + "70": "43725044541154453511196676536159396546376340563389423225677790965824836201131", + "71": "800566441782407711690536687053807120148031544057519382522064715711920678830", + "72": "17324051177818617088987691991352491061977877611013256804728827250354201601625" + }, + { + "89": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "89": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "89": "1" + }, + { + "90": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "90": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "8": "47243220277698833471015254898637347454251185562478899555091300893763258028047", + "9": "8243974426211538876293303623200560035066241578484222645549337864355769865714", + "17": "35753281650589313277916027679100295404172942778516185577729940440139352836419", + "18": "9259582600886362769481827375836131869105239379778883891141987580367075134393", + "19": "29981597438823859939466723942744826218114417755989468256125725524407793243774", + "20": "22312145595378893700768658040811439267191953617564635887168459279618419242257", + "21": "5867642351631536446759725477121888438313306790629166425854944939424138973122", + "22": "27098358929517061869625197260088157427608148730829848243811996356232553082321", + "23": "16834324651117446450165067155338805408588901766665506928405923222856431938642", + "24": "17298073762477581877364860706591901810542425873335864077550501850278434142622", + "25": "12037249023435732170184209807432619304498840794217103418589735249047218871493", + "26": "3181020716170859097540547838959944006626031705270319996004967124826549090969", + "27": "17781686835207919599585810720566170329306530865045761156547537736683428551080", + "28": "51941484148067375997866747446931539105192711701407190252232160267335761301412", + "29": "7489673271837490182789358039350096023427825703024801048185070670895404924066", + "30": "3907579838743584409958093303785476260017204807396417569337856543169879484166", + "31": "21075076992119857913850623118862014777023995894816306940493110664837107992358", + "32": "38235891154790918393335446804569557946577260871522836900765942459541810591696", + "33": "29936810038394571725296969625773123620944239304644813046480422643797810112659", + "34": "217994193513737089409142763083789895417488706728776932609384121350966357361", + "35": "40898219428271929914351941203738636146520231121700365515209151268403779174920", + "36": "47459237075560332005799961602575693001909229593163915805718197384719480323191", + "37": "48327483084822495283954080408206807841698175334072661443963417289986719450214", + "38": "36782233645253568102765917377050447530457849428368596611273961597628132521398", + "39": "37634976154874343238215721280154319193076553860277561463046930132488462073469", + "40": "7972019709542345445279087031195378359793098710912805963748363070223772253028", + "41": "42418789697006063516272108492249946118906326751731019183082202096244000602074", + "42": "46471439677461303032212982904325950064652698328277231399699269860297479127703", + "43": "46998646059536181931373864169001842044624587657827331656636560335741351375404", + "44": "20674784676465809326856872359482918330570894730159529877565340367193451852433", + "45": "271122167183541825321063442777951432227838488571201893269174818582256338528", + "46": "43943900450567088882671166199242994865306857145774175795372664939109802702220", + "47": "6284689468669922184638388419520479719355511004216031485279720741017903130877", + "48": "26272590023527093020551254843124272024832158578849723296810881058320050059531", + "49": "31755520930078855101389525371809770069283632553671010191293737005498611404767", + "50": "34765590823308491140833186440271545220955524382248519356128677338541128184118", + "51": "3709347586985707769704509504551513706549002050805892173738811379056521013973", + "52": "50580129420050487328388312421875582906381446872667202393319555591465955901729", + "53": "24681572285006872002730724904235000975404749797845938520421730503346452098040", + "54": "3329893445409767033123236299908381477423781365602680397086943637883353195055", + "55": "50004654704915906776318807637309235025737497578775770826651152717037326852408", + "56": "35194064271464360952288733304634610922334494445630274522824825929540289229638", + "57": "46929265209732684878067870982099214005397692550211076446386119799535926147217", + "58": "17380583727653113330190597726756409757708660090417050195141676914757621116647", + "59": "25336331053340624408283936481428227002939543058740270733701434610692476368296", + "60": "31267386212146488135033304937437144605241512387202614933872916441895074156108", + "61": "4764979394689259941740042358585095681259725112936073018775901752535755614583", + "62": "49638931963116961264774496382638053488579687259911702095768409567643819482572", + "63": "44517471514443460047520416155548172852726051159088823190696955053939677392499", + "64": "19752319610203925577304255492989001711633799025562871883530397650715554668012", + "65": "39019471667184661567197228330483245763505586993839460056652824293184127973945", + "66": "13648499460077220262437389118528440383156795342276054459189084821127389425987", + "67": "6029742610892809094527506965222890179929664820228413263405086322232436647936", + "68": "22234548098729207286100068072612140696156361504317445180968134126729578750183", + "69": "13964961409145643968657363029196142154245769780700065117956516195008843387385", + "70": "43725044541154453511196676536159396546376340563389423225677790965824836201131", + "71": "800566441782407711690536687053807120148031544057519382522064715711920678830", + "72": "17324051177818617088987691991352491061977877611013256804728827250354201601625" + }, + { + "0": "21143091624051898429049779202777783090616631078773674742631481136382890245166", + "11": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "10": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "11": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "10": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "11": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "91": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "91": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "91": "1" + }, + { + "92": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "92": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "10": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "11": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "10171452642243387955781526332645193123346266850900972162093561209595357586423", + "12": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "10": "46659190381000641016999143094135733593911872198348198329939611371656852828168", + "11": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "10": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "11": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "93": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "93": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "93": "1" + }, + { + "94": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "94": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "10": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "11": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "0": "3855895713134056811998624598511873826580243324673003091901619068671473231435", + "13": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "12": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "13": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "12": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "13": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "95": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "95": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "95": "1" + }, + { + "96": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "96": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "12": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "13": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "13528768565745931233460851026527843568952293200662922221190432010518079703355", + "14": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "12": "46659190381000641016999143094135733593911872198348198329939611371656852828168", + "13": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "12": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "13": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "97": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "97": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "97": "1" + }, + { + "98": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "98": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "12": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "13": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "0": "6443318563434187156482979037576690662213493094314678699384407936675395356263", + "15": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "14": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "15": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "14": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "15": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "99": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "99": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "99": "1" + }, + { + "100": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "100": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "14": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "15": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "16": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "14": "46659190381000641016999143094135733593911872198348198329939611371656852828168", + "15": "44087700254192067928964146508732085830934444379186570650215212783609639205945" + }, + { + "14": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "15": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "101": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "101": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "101": "1" + }, + { + "102": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "102": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "14": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "15": "8348174920934122550483593999453880006756108121341067172388445916328941978568" + }, + { + "1": "18391027390011658052434319788313832985258800726793609915693141529846616218392", + "16": "39976218779278093542861309592985538942815568401541314690583304734527154574303" + } + ], + [ + { + "8": "49525108357280539459569165668684164497620522385376616561300824389215851676972", + "9": "32708508311735022941325600146712381710542921827904536994669574389708558585369" + }, + { + "8": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "9": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "103": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "103": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "103": "1" + }, + { + "104": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "104": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "8": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "9": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + }, + { + "0": "12274216425815286338344348482336276117995066724093487299512262174649563976186", + "8": "523275527750387873590246815039557098366775355168517172710947678319526243896", + "9": "29863921153103613859282946949144467702712859644865163165806334700261602539917", + "17": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "17": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "17": "1" + }, + { + "105": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "105": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "105": "1" + }, + { + "106": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "106": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "17": "1" + }, + { + "0": "1050758930252644049914605206403427631313247657935800041327915318465466974783", + "8": "14647793870698006663788078479891969955203674662705784514362579274748145255342", + "9": "44013170922976527852837802860940497245253994239591664654910384441309179470950", + "17": "44618527102236044714623041959177328003816642867354995233005889480954713736162", + "18": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "18": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "18": "1" + }, + { + "107": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "107": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "107": "1" + }, + { + "108": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "108": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "18": "1" + }, + { + "0": "10607585076226348745183629788245008577438579576330359487986117688517235408881", + "8": "44086260898869827729461696793073698695171266839028803560440724451968694562878", + "9": "45609318636240826618104404231943273075745914428284787965153199837375146018682", + "17": "34689122506791715776071270321964384164520116559785394498199709612928793950519", + "18": "20500302356120126646304935893371217543220209172169789961563086856428115597248", + "19": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "19": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "19": "1" + }, + { + "109": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "109": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "109": "1" + }, + { + "110": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "110": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "19": "1" + }, + { + "0": "20509009694313778489858884111978287368685508463213168251197030962719682409205", + "8": "12607992335172491240600546551739327470767846536047868017918750947802282287335", + "9": "31066938295670410723054688528383889966878843405893792865037517011432310377109", + "17": "28444766044878297851939071031958436774401690490685803415980417810351285288175", + "18": "46992068175337004244612270242884504024052307296766029016148008260534360879369", + "19": "30998169063668865873788972002963240699852520757570395930308332452580097054007", + "20": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "20": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "20": "1" + }, + { + "111": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "111": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "111": "1" + }, + { + "112": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "112": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "20": "1" + }, + { + "0": "4563680725198793251172562411623420668869330885202539013185566348548255071635", + "8": "23438669612988967744394891095824517659633044895292482524073888033526829516987", + "9": "27332645648899331453309944209892012570458875279051683414008536707518527791934", + "17": "12756820937250441106229187825805449016933357428518379195050618891473007065071", + "18": "13558789015118527713957930658666130417146533292655698478770748946628830945170", + "19": "133745349276713264300556318422135592110994373519420655612344503638515360841", + "20": "37362060064797730184705915714627896388964928616834195472855686100461021030130", + "21": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "21": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "21": "1" + }, + { + "113": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "113": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "113": "1" + }, + { + "114": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "114": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "21": "1" + }, + { + "0": "10132793020925051358967312895903080509340240497490871556356344077873835967889", + "8": "52054038910215594550350530851443290570393185222311899738807668115885166480748", + "9": "21931046423993759091296806349383041916752643429514287099782135231963611419871", + "17": "38509896658554346735701809271368460008849036093648740709803418559671241746918", + "18": "10404084851932792103272289385895210754252900162091158424484943133514023472134", + "19": "44197672073455331141053970220012513759520245384805484238044711836794287013028", + "20": "19111610154350099526360715550060897883235808614222370357672419532172792868954", + "21": "49197749829697731916730220414012305162239148718896561097266732704587314877562", + "22": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "22": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "22": "1" + }, + { + "115": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "115": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "115": "1" + }, + { + "116": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "116": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "22": "1" + }, + { + "0": "2647212931513679432767054030363504863222540192567519779190979594289737202550", + "8": "38265739260659547545823878167336804938380457069528607389540990840187913625048", + "9": "10977316254521966142079585524801037072517021878534582944038349171363363010424", + "17": "24670164380422293972563714110452662424227945793854522951291921694212727913657", + "18": "13428317419311691864066108855224782671524209281113452406120194086612645933003", + "19": "1306729606245615638105902628288325102878471788441872534753886762054758749285", + "20": "42459919049932035097624789991134573942266120535137515909226761181108272964659", + "21": "25996860871921503911544082043813396243054833166873924304909577117740333819085", + "22": "47042174649050522390501748178762639544653448991838551088262477161887058505704", + "23": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "23": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "23": "1" + }, + { + "117": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "117": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "117": "1" + }, + { + "118": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "118": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "23": "1" + }, + { + "0": "4359886051856780224292971980741406425492649906224296730054335077893394909530", + "8": "25049770149452949374467751744953832674825149247215267735945993077948422051037", + "9": "38513659637705165414771786174460269397288080548044442743384172534373206325937", + "17": "52122341676622476698989697463907931856383406157792658408512797620781224506873", + "18": "9839492682569537610819765512504521947628538257548325302727677139273265827420", + "19": "18655316350694565641464950746239354029108944720339362036628705957794260437160", + "20": "13600593241380128370270779462252518827942753136846635056083174406395864726952", + "21": "46866975249348385204996497054439891787355641311250052516740548639217601140643", + "22": "18300223650325421706116599425722186640066050378465269788761004957205339296481", + "23": "1108292025407625726051905408276804397965195841607222412643343962994880725416", + "24": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "24": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "24": "1" + }, + { + "119": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "119": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "119": "1" + }, + { + "120": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "120": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "24": "1" + }, + { + "0": "3054847578866604975257033821021111653343035155943751913629683293137065347688", + "8": "1571814154268717365911099353068294390185480398602746730473175244831011913749", + "9": "40944618482791468333288891986527612484118332155090636872070947106473911680823", + "17": "26544098650097602827530483799155511251841273545311750035204314985181742249889", + "18": "47789569197925979394558652231068257823414656437532033330332972750615121224973", + "19": "11766554378928597063804608229791574923485243610554158815715421873522134958138", + "20": "32488380112214489255202140173040041641682802662141975501481890469994212878140", + "21": "43944567479141735733084647695553977221103054591511189509433824240395745824912", + "22": "32142445010587398401940223855151394061997208110235665894288758048966534773810", + "23": "19708456662923868506331135265189148400623717017138247198937389688645833119818", + "24": "8710199628819774376887170190660500058809235533705819821767327029930309306060", + "25": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "25": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "25": "1" + }, + { + "121": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "121": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "121": "1" + }, + { + "122": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "122": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "25": "1" + }, + { + "0": "1596959724864208462318973909411993812742702283705404297188991879075781032285", + "8": "597586323079623342021154412625898051176897679340023864083676874051668511934", + "9": "7856192806994717731873545182397730487544363372736958983631501652418019505935", + "17": "50264507679943839576798439730596962159743072300230863395483751916788544964520", + "18": "34744287446837256340485864020734126794481742487713181744756072870918865035221", + "19": "31536751286981380314003196150422144896562966034030808672985938732266457747648", + "20": "7011128262576212572413596762500166619168819400050749490847811724813985822562", + "21": "34393510166785394575647698404563761511600361745324455861299096957522581151882", + "22": "2539820945593229936033516859775882239362549663900519549445893129215823354926", + "23": "31830160268950011988415843485889916909435506750195255746749797547385071335706", + "24": "26163545989402538687163581171383833840715572972843592035966208808229216185106", + "25": "28655945309801649476497566762368779734248351654321856351044823474760502562791", + "26": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "26": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "26": "1" + }, + { + "123": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "123": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "123": "1" + }, + { + "124": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "124": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "26": "1" + }, + { + "0": "9261998448432672939016143689737142959950360294646800435636112732010430895748", + "8": "29187660716279070466787210448535577009279255682815140908027674703152603353097", + "9": "34127721494573460562626390511713334078644561604752937144809917178660613681772", + "17": "35579634117589868096465119861802472339972768591256890404363690519067366418412", + "18": "11775947800468834411936124909313979868489795258570487214954130629687446250427", + "19": "26757645007250378196609692159012133165990312145599643459296878881105757930181", + "20": "27665572361398849436113159412832395956213860747776629163045867949595935146953", + "21": "8605886056650093142247183627154593698747475493192517229640802595075646339512", + "22": "11827601560949004328045691063904382330623155862780950862428796047012317979804", + "23": "17140429297242487508373023503976741370501964850620935389018442218477773274633", + "24": "19197190215986596441799021031587930506996378487446902302730638321380074945023", + "25": "40294901855215798913817067541369435026574706677301803503482667829096473569933", + "26": "4428148813778707766160807786538068971023325871880931422496658130186965151085", + "27": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "27": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "27": "1" + }, + { + "125": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "125": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "125": "1" + }, + { + "126": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "126": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "27": "1" + }, + { + "0": "21811458719499960186771214587366397959723618323848154217660010569954685810715", + "8": "34401610499586966881619461335030210072479838401278499810788565707787185255455", + "9": "51165492728394242983663379841727284624200596842151612659217220816743963203538", + "17": "7957160447300388165441996578337445694734798230657804121629037002580485804588", + "18": "3112296533843222836687174985460829512830498821936912945097238271636899007951", + "19": "29763270315477331916450274239517016674168147839226194069123460836065020823172", + "20": "24045372628603965531640755160668422831271597757979033486858224704815861441342", + "21": "32656267590793163554518363289836788062436883137510286552200807360270842252201", + "22": "43240951980381493526299749711619611481213013101865296211337817937016731143926", + "23": "24343674894502055927091066748288339464015196069594062903545488680302215556884", + "24": "27993811030819184317552970940800960241497363672173730398321464726334293958097", + "25": "22152655807744473877336354872503231583082965085782926063629967178853133089546", + "26": "21983049277506886158038474252140360350322964821609907598656506573318739437848", + "27": "21453047890104560453118921752650875921831568987001062676099051267369559909495", + "28": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "28": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "28": "1" + }, + { + "127": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "127": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "127": "1" + }, + { + "128": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "128": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "28": "1" + }, + { + "0": "3239076967784329489572444293576130919094218653342995300018245457598795548917", + "8": "21029159653293094852701089505851760414211005952802290736984732909843171386992", + "9": "6099653689013781554444846056378306891303416933883925215025255810832583578247", + "17": "14966059711859970165987342015410695006396269680549529458279318356656676092078", + "18": "11669683921054668546877318202199638349464737070388825019929787329418089991121", + "19": "22936347808378387795366137433807865747318828653532980672336704756330391161390", + "20": "28520175517985735849599910603135742858821364584281742893610499563740602141349", + "21": "1972317795414592831264440063142528198019547091539219716133346020110636874516", + "22": "44725062420632732927700594162692920449497607746903752529035447992870531990083", + "23": "18245339776025151066698543282567574090818306067639678467857056028416982921995", + "24": "33666071778868081577534013820928639052489491575650584804439875006850755630775", + "25": "29006803614327437572794885934940680170158140010867839314591082355351172926441", + "26": "26664354854209176428562622367752563855213297208751125047536148861356830877014", + "27": "46540170169284300712416130581131496192458354284627871312157958099560592800520", + "28": "37552166768553729842078435667515655279661905811024726972391043179629665575773", + "29": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "29": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "29": "1" + }, + { + "129": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "129": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "129": "1" + }, + { + "130": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "130": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "29": "1" + }, + { + "0": "20462520400712402627709344205131902699657125916001693532154815488581362749475", + "8": "3286079220927218273323471015859387401808211963700847942237991184532915331062", + "9": "2343353509527431221332805874580459769477254227005869364491719637404275393556", + "17": "15835679397455681978852345178921585571770478820469628643245691677831111209106", + "18": "25968359525593086699828741390841462213842557620921661117888781513811006682992", + "19": "39997221789469405004859238830109971808117973193471679882930960070408268917550", + "20": "31156624005995695462950647443564568709839806438278546285750322523829652149710", + "21": "48034682423002979598595735627082470964414057999025019120237307914909210515445", + "22": "25682390162004926648126512596702300684563123040119082981667172060065342954604", + "23": "44102610159658350122248945998262639117012424368083906748594985507669525398290", + "24": "32726117160370677784865534342031335354951857703739264647854242975769839117872", + "25": "42972349808106017539874972881902782760034769830822810182078396041017049664207", + "26": "20250495254710141779242865554672450483083674839617623855788372037336087569162", + "27": "24649455789456834061394228559949696511291535147962937233602998410882693391013", + "28": "5273471053396930295336690560480093058729058663067686078914810556193817947632", + "29": "20828928976331033411088404076326953775690739983590058821574144317057361316145", + "30": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "30": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "30": "1" + }, + { + "131": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "131": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "131": "1" + }, + { + "132": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "132": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "30": "1" + }, + { + "0": "15540512546148021086829191867945740637058588949955294856096961322685397103557", + "8": "10594000682191512671561842596850404768915215951390201064000301330876956225481", + "9": "24273899499008308828010116107035952946652360552962421411901755620677425559520", + "17": "21652127980743386179775703988143498909493671094413131441765583886616678127316", + "18": "7618365555867366171095384948441447746830408002681924780236233228087176595746", + "19": "16755497111647544518527337728294241483321161788841150515946266621678200849447", + "20": "25703243218349343715292199910244143742862242078796621739382563676444918929261", + "21": "23660236320146546117199432747642895528957581325887281208357215695199920019617", + "22": "2357711090522289546598897234729386613974028245803311836473732510536217990527", + "23": "28733109390173555215828644728966016814697501232510340716340765521737962277261", + "24": "44996841128396863114245258798635116637325455782740466297389023640723938426165", + "25": "6599789027858686808158438761231663258872408335820355159742928007712988636038", + "26": "28875710406631775034784952874367371890072865222379164063203700341303660516619", + "27": "50284829871210718242517076663473729011651558626688537645367329442091428271822", + "28": "1762353919069896882843960674301272407929198385872696572475666081553308159800", + "29": "10472686281706988856343297719402448851837898306731319072661790133137287988625", + "30": "24651292315699772044621115381931231967266843563921217358063230858396457193949", + "31": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "31": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "31": "1" + }, + { + "133": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "133": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "133": "1" + }, + { + "134": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "134": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "31": "1" + }, + { + "0": "13865340336144010740428645313739899438060242120535852433410522037321843803156", + "8": "14528663677549217700800129164589240270333099357676222217378864147671364079489", + "9": "11838001831142887965161049711255116731008938006723415752393105875928823923846", + "17": "37732396118242725888244754173643394832944788121742165982809199686401861287085", + "18": "23530732678750065385307338533592755450395924605310386851176582649096474639407", + "19": "50550572544129774267342194539641465324961602768578697715406753079042513781561", + "20": "15681255641087045917754868438779202436188948959404981614827002801118140285897", + "21": "14475111171075784286728374505417106731551073148221576213378864831472932847906", + "22": "21892317478647426493537220403009064189435814866706096421969697051020450471478", + "23": "49689139596570110748553740997039927421991030434841221960385634510364249022485", + "24": "24478737364037223335741847998307333115695913847075173158738694618639327321585", + "25": "23620509942094221335144955812663113871607773353773706235850667951902394330342", + "26": "1107509655449675373141801514668550306082947757353068871276916185101043394203", + "27": "21672129563678408258542791106266827495094250942223150056012336225035897917964", + "28": "40747714802267667523974000545189899228541863833165007357953802391444328469473", + "29": "34248378101069309979817762929920866414732447870225799199323440508751612246222", + "30": "35737277879488434066315981735687763550656392649338564392724059919984168272314", + "31": "47600411446882452507164335670385039071272755848488217750798424417826323267472", + "32": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "32": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "32": "1" + }, + { + "135": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "135": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "135": "1" + }, + { + "136": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "136": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "32": "1" + }, + { + "0": "4030925228209360989389332579897661669475428247758360576989046703985980534507", + "8": "14858100306733543830524509776306521753986490895213794511117380368819770756599", + "9": "44671304073227997346166121088379726371809129767681143691985426306899658342", + "17": "17765016743291917293348217143848029152268927397297485711988339683993251565304", + "18": "12964095691769142343773882903970457860146509467297206130486623695415961710194", + "19": "32583882997290336890435533681419785790048166306686416329629090622958600343611", + "20": "49880726576714371518407866641215833961753359214898505221320997746121053278085", + "21": "37279684032623107713129904363178895751371645527786470363426886665677707859510", + "22": "8079583818299097245587658691508156392962956495276449575816587971727797972240", + "23": "35071035289962475935149929989628309574094420629916270880243266104415759539645", + "24": "42412176687250432268065419865405620074868093565660661895808364766176954784949", + "25": "1304424358085773743635032637550606677479958615291705462427564388111328643902", + "26": "18123863706460350717772224518948997136960189165692162918421068438515605331180", + "27": "15247387742143107700869638004684331078239062417893832300017981275653423992029", + "28": "40795696217902147849441066156704542391211206690054538600804155824232978810725", + "29": "11710849920167296168107062606282981359033447704029463211736528472494482512845", + "30": "44932719700262148428290218524399144765364648952886442361660894793170415079845", + "31": "18553267487594477155394598359202706283204821239882196657466733946723748123074", + "32": "31873539077738869484715001286646541797062663060098859143133736285480854825686", + "33": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "33": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "33": "1" + }, + { + "137": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "137": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "137": "1" + }, + { + "138": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "138": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "33": "1" + }, + { + "0": "2580022244547148022781785697172503311467595214847728559144402326933969076319", + "8": "27181109173473107186592951733888426823570839381186649897096332580930062940328", + "9": "46873524491435198200626502287228048075211204246868986503104136165641791091000", + "17": "16379919815991409619844626114342202540154347571398347276443860490806914645879", + "18": "11215928921155056297718210586372702721892685907533235168022562517029343843882", + "19": "1330974974779279136429085649456844951070467436753555818629827501355776171085", + "20": "32238479736710015534064993383806271116202583408359114092914087949533985207602", + "21": "41437026133774595801694975208558376439021336104883292767726661373231785547566", + "22": "39025745105875015827336770743473543127798310955808271568591940634510927401951", + "23": "18721971601977855606709983187995720067291812077544760484198819854632075982187", + "24": "48004104043746425951168520121815459983414955463778911459915037961735580717718", + "25": "28972033817708454024422908480199183522160189472616183084578941864288748112462", + "26": "21345098043036376894019519366487490654696740986373323407488281376162220863865", + "27": "26246535916519084883477629318090541703747049200756286242386224261745288927184", + "28": "25179221006167358111653074356355845330978933642545584176962297005149820651640", + "29": "31629172517777438013855581661549792417351427250750916176635759848538075124917", + "30": "36614856766820819896890097301420229891251179730422633418135500946732781252415", + "31": "49079342121772723457703921427965310366784818866056592450274390639804540556053", + "32": "41479607759050823926556936572770111002182672160916287369425357901766050133984", + "33": "31077921017487499812944246263959659803791987246355972434453375524498987390104", + "34": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "34": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "34": "1" + }, + { + "139": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "139": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "139": "1" + }, + { + "140": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "140": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "34": "1" + }, + { + "0": "337091914144357888262743136529662076143869414926179844835581507288841653842", + "8": "50723568755110666799389577571665792632962662873358369901279293864384186561143", + "9": "27381029524956830770342921432213488541773610786265562701437276274030509756474", + "17": "25157163025006675813840556669981528186049170754748173478938770434777396816988", + "18": "28220291531884295875085884990996904875205766936954026921709458393824277943310", + "19": "44224780248686618407322042303949308702686705189457533519373292643528805622645", + "20": "34788159059940347861135457423000269516445375584087753308537484728309055205449", + "21": "36660474990137303773157128866616209618111858267312087687536945007857245393990", + "22": "50291588391624888429074352082114698989490083229359406152520519227161145955752", + "23": "21842326528100635611925738545930902265606859755888367305503773667640452131595", + "24": "37760017257082409198026431670079351419967799140801543277979178371853586471369", + "25": "19711495222248109494758541085854341796257284924339506972066620427354960872585", + "26": "22749383682185903339974801655701739973700060135585844052178901866256719745285", + "27": "34789994377602427233110181307437542598456534172351365146979293543752814588779", + "28": "13094345979130343631637511943758586092439973481034244383319185982296702999440", + "29": "15337830510875330083847337164522713022265707297957458492661512584103490730001", + "30": "43396174188327815553236876768678164070817193476535712490535348655096541012031", + "31": "41879290867236239830078484326818488917092697577902934320004706674829159970527", + "32": "43709028298909923903233945287688330015343407681282869080265270326641824875177", + "33": "51861947707730949692802647980976865874872943600377291169311749144625240692366", + "34": "8949707910887086829156187647044449922875040275018614353774963009243352703273", + "35": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "35": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "35": "1" + }, + { + "141": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "141": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "141": "1" + }, + { + "142": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "142": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "35": "1" + }, + { + "0": "21128818615001540137263856211467089199630793116539340697922423416110745118506", + "8": "13845169169543960551325081618817383129322270258184351988862082266238056066234", + "9": "8226205125048119476598120382361959897256221918431931751979010784270410275891", + "17": "38906599262480486164096033254986152016544272824787712454349266670064444981418", + "18": "49524041899556842462282581562545444136513978713907354951476349361407804036311", + "19": "48901194030454629608041684006494516246491574008936092961415478070453381489887", + "20": "47017488196543169375853198988631926012157609120078177171042041709223045158498", + "21": "24704598254494170906978985158025975987627976205595592823858779473094965603342", + "22": "9235527723173510533028272015275429216226938838313413125926991336173069828382", + "23": "25694322235152318296973156623042105963668059641399971137993098938512850741569", + "24": "6430150625281502499263367545623485637542997100772161154937808907917540064794", + "25": "36818399479123338381126843754845473358867253932349754618057690777012487995222", + "26": "12026308592203002671755915770366143632281549246146936315633345713513495626039", + "27": "15027531273239294548135408743811046336953236319381205820053392255603275101761", + "28": "32209254178022292255523713989810816367286658061472011291723236143902874517341", + "29": "32631081872689453428850131044174664754415433374321656372630646887155927531161", + "30": "1687826072397159240028492639840412160099394262930722026586109382335944438145", + "31": "13644809454034025291462669073548153801222969383556126452124682748451034061288", + "32": "28378004937887085466224964764108652218018754514582192794350310994650993308245", + "33": "38336552971616893359511591087441539361256363627353678656085081581112517358916", + "34": "10616810266955583517128484139187353572132153666289449673663128542986554461416", + "35": "42178141075323017166567164113145783395347919199890554609075192669801121474907", + "36": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "36": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "36": "1" + }, + { + "143": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "143": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "143": "1" + }, + { + "144": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "144": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "36": "1" + }, + { + "0": "7314289664170998780822250984795805793842874757314808790503348444042779760074", + "8": "30662043156597574790057014846962168542122497721087294491438631696378782227484", + "9": "6488437480145820551431940315431694795565037465649971588553196450940297368277", + "17": "49813802759714230353405816804126837960809128426019442477297038364407471055193", + "18": "12517256310096590504853274600996957800188381529902527165118665831865424884325", + "19": "3079999161275035619855647255162768679151481673673206924605948290605869361282", + "20": "38160797019872468074970542291721311411185147474986686063412484101066367780996", + "21": "5277882749044928939030434407454708831407032006908971901866230098567169953986", + "22": "28697072126854734145391363710624207203902114564006887954633261484935914582650", + "23": "48579635183661323089798871550932517842869241978799981633144406563073340407994", + "24": "13552388601447211119872664938077459954366466316771215357085573378346771750855", + "25": "7544676925590293827155319499305944595115166818563932432061837869160142749267", + "26": "39701097489896980160555820140090032405804153322133866493612527491494076257191", + "27": "8832563016222880454812569305019351221709735174922622662818671036750521782780", + "28": "42750630213196396943917030570936433911208787315609504067186228862973230444057", + "29": "23497096521892953939825819131151357197272352397104394152594762199795198551054", + "30": "20758017408834418991609862867846704076072430843743186943621596868377820425651", + "31": "50536232266277788037039807491929537164213431138401466625614258399941441016136", + "32": "31218313643500738727668245785981366209495259120102650649284720166935247643929", + "33": "7139785482164772453235574425501179796160507201334608607359135451510956619769", + "34": "21426037128104978208428634291788170441480970374740082327269389698221829766951", + "35": "49826112753746887747948778170207209208712717450784818887368578292560647786861", + "36": "45239551344620027413844232442148888764664155410237779046456427596526516401713", + "37": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "37": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "37": "1" + }, + { + "145": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "145": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "145": "1" + }, + { + "146": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "146": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "37": "1" + }, + { + "0": "17774049587694351616089815110956846453850106707275621110789201687277957820281", + "8": "11850879631656382017697575928125109153224599045215266929537827948998316762935", + "9": "30232256179014136090139975203662404632649090238744268830894121143745141062215", + "17": "29242549176650905843987268756578212698779552564954022595678629296459076816962", + "18": "37306561170878606140625331462011722616894127953732802260861353333403823943119", + "19": "22146354924546398933803212205358772400522488608603479059166957231321700290340", + "20": "21056352391025112863656294310438454807175015260686937517359604598039224334392", + "21": "13704796627622720731527881330357435065100578401998242636187743389482523710985", + "22": "5664689534756509992878435762488602169039148765158857723195653635520482094697", + "23": "6322948406265495834170924118212099318935348969238839867732296789678826291431", + "24": "4419712412905029863629157295207997565622761346624656165912705778637331410931", + "25": "41879071297502907542631800868601571246202948262922140738202733956669232495729", + "26": "5539920222027131258347851840485044060148951658459501473708228553401494090271", + "27": "6034211861305683142766877367290777028665117612565775600623624258474909659493", + "28": "38566821641000356042175751663373312299611234373543418708190468954267686638449", + "29": "12484257238020764278248486244494647925813814307196031258457529180134522717520", + "30": "12088770739118911904854912539240099012516172519206902495787529669677212134533", + "31": "7575995152049874141648958945076998534958559475728407379234922619731221024203", + "32": "48745628520490379445538824630341209839229824311092126125927789112873273510064", + "33": "14653310810396563398291495591422972601807358119590621831471857245357386800611", + "34": "22776226952437673635196492706144875987471929525928842515109504733197962000397", + "35": "40224303441185971055810341996542504167102054070463552370880570999456706479148", + "36": "10295064350542447578898388503786417973681429914299410609181650632091658646327", + "37": "18858277053094609957166923567570958423513516228825289463735088131328490411616", + "38": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "38": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "38": "1" + }, + { + "147": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "147": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "147": "1" + }, + { + "148": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "148": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "38": "1" + }, + { + "0": "11019693257420674975398059669532837767980992812803956883547482631461450651960", + "8": "16928277678457539924493636008939749436959266355469745961219654360226967844472", + "9": "31272499369987139069488356498241864545917741852811322857225556083384913250240", + "17": "26157339263080822056836925159177176817282458167818256859411195220746299363768", + "18": "37739682229216337513312114384872743771114286347750114321577922031861638568423", + "19": "28706667408894407595930033405124374686594522481996221525610673305918807929027", + "20": "9686910624990245879390164764173842737690126858792111117231271949615157241094", + "21": "21275802581959010754878487450494975466564908081680224992245190540696983218537", + "22": "1541638644456041256239739688853664780387002832732752635059619008643085956727", + "23": "21352225176308708369972004089606744818312330440918733898737346445626543253648", + "24": "10920606669198589431243693740300420744709350994791405626257801971811240909858", + "25": "14101170012663090398234447491860091445224108024064538147352028951872354341574", + "26": "42149286697789005626888552551469332441104296265015971110906263835316730464965", + "27": "43265524969980899902328903531277380451722695171875703865404860244414634947895", + "28": "23539510236848902708905675777211808654773168756145962429198126822344226311292", + "29": "36566296967485201076823316234644921892676701998290561546349475040193815853768", + "30": "7074490561651379315451189268597430431955983028423277252088214593382360289302", + "31": "27553902952833260856639181376624219269377712692931136828431127737552995267295", + "32": "17985626034133801121789741334690470221178497155863162704401703190061599938282", + "33": "32632206181409287963727907342521328247863471041335478524341221560497273911934", + "34": "42867432770536947951309983303740179308274109337679318841065170445443110439995", + "35": "19279362180509195546034568039438280697103471368061754165548486469339481548199", + "36": "35952703204886281564593944085704058268385563155210117348953529202575188173181", + "37": "2865156237875579677226096900280071780422451880687485768734854411802841039962", + "38": "36770014299349415561677255349936090831255773519943501154753537073496539244575", + "39": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "39": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "39": "1" + }, + { + "149": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "149": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "149": "1" + }, + { + "150": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "150": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "39": "1" + }, + { + "0": "8945986251101329707360666524341408357502651307257925367450947820355368214535", + "8": "19621957599858283039228942414831234334418543669744174167780883956126851745264", + "9": "11782529295182019304153434378211039374798107207551458210521069024226098915337", + "17": "49278758536456266448250434641644395437445817130976722165653129757070794680478", + "18": "43633802059756764926680859109607038522312580612087153378466366499937250039429", + "19": "32835346063310279740662961962148439418498078693684289598954528231161153602154", + "20": "26811596446196172505626896366057669134451858814980164707356948392719202417005", + "21": "18875579163824385203072996097698536623049403899538511519101453842279441195842", + "22": "12842036419072882223015619555077392569923678687719068677619340623146866809352", + "23": "20088418219834287471426140997943921812891137929012273574990725293301492007625", + "24": "31288287700170681476885182152424994678424833044313794480042136427974213500292", + "25": "36698767274083859448273317493988168946131111089883483865166818417722883061644", + "26": "46038392220063806307879075425263041079377330486123603950198620212776389942258", + "27": "23032405341825757775578463429128633955891923289454007280640185908198749001912", + "28": "2186688854759609604361452016300647084218833634450843622824488202522142264895", + "29": "45727295000394372337156038973578866544817779387166483606226723031940532856463", + "30": "20341199797792943554641051033521515418250074811232164043118791622765364537145", + "31": "35782365127887941991118638082089445024557233685616522140596732819867487273316", + "32": "48565143725360679749285030214373807703870519138359664475372562200498890597725", + "33": "10866552960921177324838233872013586107530388890430387178835984713886548409635", + "34": "30243336147172932871675464029427792437425092184946484793249386344719415489953", + "35": "16808846921184437640264982516275108527068129185823665379139680240363584732029", + "36": "47662546468052363058224483835014419669361605046434986215334456201714459787860", + "37": "310352617817380162711792202336770411324252279493429063578066374551155484999", + "38": "11935013315395360329901434478257972609774780647305602986025372919628917585160", + "39": "14755321404618334499811932496197107494510782350478032457581071181404951210635", + "40": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "40": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "40": "1" + }, + { + "151": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "151": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "151": "1" + }, + { + "152": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "152": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "40": "1" + }, + { + "0": "16600645183477638722007904287733521074791737381945794958827103590279914462576", + "8": "42314825667221233237103551252644362643241169551710964499188403709980641444856", + "9": "28227699328129887719001794074043836722927747605197280790703598355096308450470", + "17": "1770400685919935114818401647108303603064747177990157725979935477782847071625", + "18": "21840627590191711326340995799848952233700153485768138726013208940285812715794", + "19": "37154751456668767436688129068272332702690893803770635598821410155289651649357", + "20": "27671215364757217206860459697877057574591132801612199789856265575418820268136", + "21": "22629003087615824156742308679714307643960186523753129308462402343490024260161", + "22": "15756634907567765620811405116637788161196758865320028919380129821726602851434", + "23": "7695495109244326469524587084883257683119941243876328534898678676461121070251", + "24": "28765174347382233218157963896294260934321968382359379351961967530079420939430", + "25": "3390844913631200580785296647074137597117328556753398565746952446078751450437", + "26": "29594491183238071861591287655584547894683749568167079241274595681372336956266", + "27": "28913142760178868502173166118136685339224790086189785111346811232621189532728", + "28": "45832861973683163004894948677391515171904179441823510781756805122947314442567", + "29": "31558004927815607533973532986675246387525448767302920227379319447169914134083", + "30": "28028681106952368280944961917656853287140708870462904602587487006160033513546", + "31": "28907508224624220904701568806509798149998887253368752586648220390082805265286", + "32": "11610919656117098898729531747702941813925211479421781261973856161589172667729", + "33": "3231369469534854164266393753610546350768491779350919640154553933009579696683", + "34": "47169630653861250814855656637100662267446690330862589731663803506456155773321", + "35": "1452247855224159301983841270820901528408784252971929590282721646087721441821", + "36": "34677618128559183808305500928931160410323459304586421065054364094808869251292", + "37": "50493826240639096618686945080317734960716061154872562135852866956741813571169", + "38": "8817074993573976128477339618065802477287398014200413035703159730211889016320", + "39": "21978630713134704531716360243096572055955824692889309463025467261314860112262", + "40": "33725811018185567734055535291884000512942208143309228910982194679963823389667", + "41": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "41": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "41": "1" + }, + { + "153": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "153": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "153": "1" + }, + { + "154": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "154": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "41": "1" + }, + { + "0": "11176512602209691417636272193861235132071391793840565562361651389294061042059", + "8": "32926019421241766115886759857390645421406956354213986673502257002928118703355", + "9": "49322693414070112361358512281698665879647459215440267595469827738584492496854", + "17": "23885849599750960614195676552190104781624167550702792930135278782551959680912", + "18": "52027993194289789878721235717901002159062426489631176312815162515892383178934", + "19": "20662874286277103781593972467614217896771610380042762792042189495340567497488", + "20": "11024082539078060250302434570254659466759872833700654022273959674816033156069", + "21": "47900169680356514769473251177281839038424597295070992696786332498725144115126", + "22": "43128414037998903280225286555100738166628908168028202345158002838473899035005", + "23": "21873737877315362585111871031542075627401623925590880962326448593844173256594", + "24": "45827880819010052859682398093934267495546231911068322924583720842333110096830", + "25": "24708341089878163845604900673376650077518903274152284425587869564432263833901", + "26": "38249719634626947028774516518377519238907029494092586227875997773569916494095", + "27": "38868657591738799754450976530845541053781177916338697072279523785882116264122", + "28": "24666967491863823872268894608464430357570174118224274426374241769221722189445", + "29": "20948467994356262746790204439320110128618944925073494537213964454790641088716", + "30": "38488727835666536472587626179631781040410387452477608884818993755045121332319", + "31": "30599267710866281727840624159446152374249752767773192547878239672562131840684", + "32": "15807707260705186026934442682639374891852306650080608713250092557433280318851", + "33": "36757500844957109817886920806721144962967018390345783625309683336805947217031", + "34": "16195063003814745206853764524105132153073190480596855335367388375459538763071", + "35": "49955515121534659574626278012551066333081933898174102697619904729893950800521", + "36": "16770123621612585525700151395012787120342672139714596759240361110446120457487", + "37": "38732057274905822561165004373199701615249935934342560547372833408650701030003", + "38": "42037880624657949431082276650057149517219633097126345695858606280354618584649", + "39": "25523153092056605796472789240196574098233133459144651411703225514191886783058", + "40": "13208626618338019841673304812021246827423373161375018886007460504304112417024", + "41": "34799616780256086016754470315050336574258377279361730937204119314378252243228", + "42": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "42": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "42": "1" + }, + { + "155": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "155": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "155": "1" + }, + { + "156": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "156": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "42": "1" + }, + { + "0": "14889617408341048364135563212181036206522304313837983213620424531022449761460", + "8": "9821978372370396565607801129981669222334664256788905950789229827664602932480", + "9": "44862232445783687748726242704207292341327785797356376593676494830800916057931", + "17": "8001707016140060525533368639759466050815245287169753349367248364608803361893", + "18": "19434270661729297800095840105966764422631322265254599438375963928012041689370", + "19": "31037746839541599637614789781208480394244415226575855916289025913966388902435", + "20": "38086421464767233228206031579834479573435705416833136798931821388239851989438", + "21": "24515471995485056967766024106378888453007265452167891603007338553757952287356", + "22": "44335491948290344772488376733372694528692413586275385475595292284760762478234", + "23": "16105744552339749408775181532270654053409499087931502174638318673614801557613", + "24": "27062978657722122306789121226197958510515451476845272398605686330265121100929", + "25": "5520923236345478641996786741370818820503973997372831479955196634617592721773", + "26": "40372254748615791326162736375394137416565170834115680593886351983307326680263", + "27": "3313230171378708344916878929359553603690478115731810973246369027418791684592", + "28": "25168768161733154384401824521470485165397728927771272393402763957272848436196", + "29": "7254257427238599687012675713692488682283170336131220142956080989373488208915", + "30": "46529158845605654480670634214474125910620651936182760464285801117685844940226", + "31": "40165790948437272557581734132036130141153118107590583938048574754391390752399", + "32": "13766184923483059424872988105181982574114466203261560587617546353967345033685", + "33": "41314350190765687995272185097953747686249237407949200695918953887204610127421", + "34": "27436818555742363029176064996584252941471030296862535710006175920585573493096", + "35": "47817333641969328854732962986196346305893730082899700901100616340685751184060", + "36": "14655556891179325738020446357323826975238866008126384323263343552314900265044", + "37": "29841105892017310032127252269542861436562066344755093514110688347137715362628", + "38": "17301699307353836037259823782188805909487958290808515729827120876865150598413", + "39": "12218919189459031534444047442125277423180155681078368028325283640039624669329", + "40": "32273155224374158801770363506480180554531983962048253716369171577946453015556", + "41": "19189352981675128447190344166435719843207892852012150882908045445221584611614", + "42": "22639478768968659661961089202534664418483898785848419662908078854285901317920", + "43": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "43": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "43": "1" + }, + { + "157": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "157": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "157": "1" + }, + { + "158": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "158": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "43": "1" + }, + { + "0": "13725846858893036951158965143583678272726150787955443316044240114688865768260", + "8": "36711147995975920595872917053759219718988643029692576312671462774480141174686", + "9": "27172094241862832421672996325553855005375442296725922842350599103927202236425", + "17": "50539431486023871778126791939737628041642579364406999647288020791451610107862", + "18": "48015925587210585502497747531311096565745330244328620974852467179372687363617", + "19": "12694811585244082672882319007797720760771830847145535184152402024864247304120", + "20": "44433479935271094509501806160762352061113545734692252336335228153800612643096", + "21": "37386656397900222485002324306707781812485208262771064720704260799052224672522", + "22": "31206282322712029119630700061865260856303456354616137846427295407279117548273", + "23": "43763258151721165051273034133497210148902677599769646893855705295584896019849", + "24": "176577944156624346035173047433732315625625583936739762280238588418515483318", + "25": "40096303191267207628032101582573559356008900308432736858384083963295127729427", + "26": "32426050228559810017376986417514827877603720450503828415146126617938123435633", + "27": "7983822328991665313700416344046138157339466452182712542571151094949742362394", + "28": "656962417534521476066849282500450979079944508788912020618878626450111853800", + "29": "51458752810552025572996496677206893011249949517129489406190705102025798619139", + "30": "44370342490930171370758565971532021877479785502771011230219648034171740049220", + "31": "30212829044460511741571511887257717278125615814334995886433062816531420087166", + "32": "51462551491324820088567192406299811177339527385124975612463745473417906344511", + "33": "18202574542611783737362937477361408124277147541915626784961912224105659198445", + "34": "16506763906557014790524743957685465050643297150420689535701328289711220966002", + "35": "22538466767702464908481839631359603636701979452058713396181692050522590708232", + "36": "2889737371787126059259758513601934129969758783239892532255711969094005311856", + "37": "50387068289250485498381075697928834591329919392790185570508879491333962703881", + "38": "34607726097378365187641414136907165409176372467005504221209584056799351224853", + "39": "31286936081466490687047104501942782791001960334578372043308625198999889395140", + "40": "12646589838472978096138338501122514906520852391060195608825005144490511415274", + "41": "15608735804665700466643300779646889978518192296080682377287443381139223335371", + "42": "49993459431056528522590237504686568710210356597254656865859431600683266684920", + "43": "17161225510441542669896798530158788679153679836317295003128575350675787351907", + "44": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "44": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "44": "1" + }, + { + "159": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "159": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "159": "1" + }, + { + "160": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "160": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "44": "1" + }, + { + "0": "7031966701933394996335226463904734684231938370740242159297465282149711323302", + "8": "142012157162732790476712995405203508236839755439096208359662992891357920076", + "9": "45512549781131894787852726095630356935102934880792575620757067129369241134465", + "17": "5262593509101086771419549406334548268667695077124764692098655571429760875613", + "18": "4962143974369544789461484771893115416145749735198985940119059033798638683565", + "19": "26489941391968162577700795132149135904666886136198429518668309055258539820571", + "20": "5631286445105881041551469083518029532985232239958802797853191393969982129189", + "21": "16933341551246723932075808548395826172521797403020301719416223335719271499776", + "22": "15047808481617831302684792227077542378281757186745790146735777283855485797715", + "23": "47406587404723779473212568051089605220106692098616671654508754167495564631815", + "24": "24841980625906827075911289162239918083684419155029097953141657744254274520929", + "25": "5691167378968777327238142672202348693664591089695149053054740888775836413668", + "26": "20602960291808973971745409950139760614584745447700843206081823707441531906318", + "27": "26056642317876551124932757267109182497254717756225955270427164091195222966678", + "28": "7282735191207013916587502141658990009093363787239802764138135976059195221469", + "29": "46677591209305463328428007775592826718062206778083989246446546439705255971652", + "30": "38378418323519475723770544359600973357768683300447638132540759524233742520169", + "31": "42642949952483049707453255595597615279424296789275207664507626499734816035190", + "32": "47218652939016341317425777778014400780436768771128722468616430386170557150218", + "33": "13624129633543806012332981695804056963000035956067201901626310027831375170020", + "34": "35930755608853632707003306945556513160629865385051788381691419775567527806354", + "35": "45138358027759727736114240842907199493686963710834064817571156309429114137551", + "36": "5782365809987060486144015037645983854378634345782370676036420827593408852153", + "37": "2667579255481456752762628214670847533038342860232427263641149401076611056726", + "38": "28459610922089974098541159827694267186070956041726450257767444965924612436292", + "39": "39125557997459914703736221925330539592561246508548203277041418738859583645077", + "40": "3738880590785599133153406905368577425751147523729218981253385839886755679796", + "41": "3100785493698492171850829896449248633539415655759176279293995796633568408735", + "42": "11052236898562956832925465497615751865853367445834666626093853800894272646616", + "43": "28293801064931662160623436755904130864413208165510843867734909083982942429050", + "44": "11969561556661521394075796469760243514765960948235377349874003978124234398371", + "45": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "45": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "45": "1" + }, + { + "161": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "161": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "161": "1" + }, + { + "162": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "162": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "45": "1" + }, + { + "0": "1598623817079294552053879422210947472173483306271647853752616124799192256195", + "8": "19357375764928658486125492312903159240962516177547653766639560342970447513609", + "9": "17118701616051148895425563017719752116688081282488191314593730879998997672528", + "17": "23903302725285530814764911488019660980310125807704778650028442951921783028799", + "18": "9897263044193607155627162695017667381801834624220133564131928889622082388385", + "19": "47490516596625040873684685722291707875685916662882003823468373379942203943244", + "20": "35650378556195341492829421851580373180514703389856223209693179747710610666342", + "21": "6442299495546724762090119607188928448279286781673837336592301342828742402887", + "22": "51671889287264351694348042003912808712722331694462281256678512026240380035362", + "23": "37366119584409138370974470095618562237665824326794809311160782371088705795442", + "24": "32791788447625478084986353216057490565370704028609400145698666511146163062616", + "25": "31075851774814637707598884955930591295308633473932978116698622475944127812357", + "26": "36546464339158916041350011351352576231065070984191552828215525031671446135349", + "27": "23936470630097230164450049645278622502326699395308969546378797604571614370544", + "28": "12863019227041163679357132342403072833493994330243086370189741032121951009865", + "29": "46396999292767829232413635208160980612505988303487669327281747452575151087801", + "30": "51774417703689346175269622718539474352936079983151706333491620927359022446243", + "31": "31138846263665044144447764956866331329116971856785098041226111389415994111666", + "32": "7385118339516078424348639584862546644726644641358359613155622493151278694598", + "33": "32772595414665738987529295269541840911904817580202721890676403815428992374992", + "34": "48609450298102975410878002947010993415780901701734494293424138640093185264497", + "35": "33065909175909175231243458130698368815121775338564547511889315722304937955810", + "36": "51476353437800693676898582629048518729381383092760728912765830528570010191884", + "37": "47332120333366057171632318477468055992141535858476641095121598375949582189052", + "38": "28379018099761924258193916621470498057810366514738305328467687876634890535045", + "39": "20442923051403164779568983221233112502659333458720967483565560818617854662021", + "40": "16778439902420796923288572157417285152644655501314307730105153774655178486465", + "41": "29590561817755464173884206077046656028869621477687420126651906676567779047550", + "42": "50778979844974474744310943616990541216931214758741462071249181328648059247853", + "43": "48327756960186655700029610093525378413444717435369524613947391343393464331474", + "44": "51806651970964959124394335285633687623390235447738246814070188395444571343012", + "45": "18602332275634592716672086837920674817730217379007489248168742572627279248304", + "46": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "46": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "46": "1" + }, + { + "163": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "163": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "163": "1" + }, + { + "164": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "164": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "46": "1" + }, + { + "0": "19774466718056564032734488707833648551011540998602523750214654491716642104404", + "8": "16227282192285380784239586845831622786641088857048607816373423540961705833178", + "9": "50622252848272042658715088266286380788452842744620902788927155637878454849679", + "17": "17258180871075628593496773525563950820511982198732771812968569892157559106177", + "18": "45389738865430948844944923011329608447316758171755954381791240884705086941337", + "19": "4546374487117493137600343529585842613046040850218517029809310558948665479612", + "20": "43693730665788888221316550144101092797505262253722201038781041771484946266477", + "21": "47395612810614895046124839754368317666814348510703666653329484040637490338740", + "22": "32613789337377137132593303034618216811062156327266179921959981653424153731504", + "23": "20961534624814738790940043886091546454983536368386801913924874812306470719575", + "24": "34980387216430823971905122251032436335341226455311383589064003849459268442873", + "25": "38093528760732579390346070830415951623496227298591897320095481005009929098157", + "26": "48993565115964824721977709313166617227423679784757921262652161152997201094311", + "27": "27290507081691080659755915833677151289006857969790653544104965201856832774627", + "28": "42080594259869551656213236912377675437208312885996812520150816981125551904468", + "29": "34319759628681464785281049185675829809846555283831650736307510954127411094187", + "30": "36715072233611125792468802308617692745150472758285162905942150811274903666221", + "31": "38692397173361669864504675882326418916578246304109065414701919708958344628017", + "32": "29326103779314365483244268789582955730433686983794469383867867523696389840625", + "33": "32695501838507157153826566959370390879471215395376616760000428287943710088071", + "34": "21078426719703939258054705017567310573521158020826307557557811024396181708359", + "35": "19256272795231341010002747488580365875520880544875197343295417395234076942720", + "36": "51105112782644593471995659170752563254787355732144879955449614778392594359142", + "37": "16672157567103979778465856123393972043004245839972237888512432209886157335352", + "38": "5132718335644465242765393801105473255944018728137391526391882331617876955591", + "39": "44702633937131440423951237378783041350021520379895635577392201297345105096513", + "40": "12253910526746071346700304786036386012889485879232095534046298822351619499842", + "41": "604272257488378493608435388821877965592309006351284850634467177233314107681", + "42": "14579891564640186122012802035449470722979846868490443252818087990401335565873", + "43": "2528555589907304480567543995740873254269943236110359458607521578313185483455", + "44": "39932222907452663354169180873737483411772733705167487385372693194233755169387", + "45": "8878563326952107781211530709200446220236926168591198151805735789344752724931", + "46": "23148774627323638096156968892438537428059434414982163460401389722540031123577", + "47": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "47": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "47": "1" + }, + { + "165": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "165": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "165": "1" + }, + { + "166": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "166": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "47": "1" + }, + { + "0": "10833489778171075947445720806211760058004501131759886332251918804308190690081", + "8": "12485065852966330612667926249192926404519223821600031601817032788228891751173", + "9": "10168653637090274400132323743446697752243041907275221524744554284791341285420", + "17": "41453060575518500136728336976042780403730184505616890546207211019509276838010", + "18": "3938423710941079636991353088832759036727715661432461483499029976398365656156", + "19": "491541280244853203172834507238880271894148136506540124692605895905014660155", + "20": "48497205504597853575818979888835119588852486763460700459357191803627976763716", + "21": "7219600033858943759042100507882608202841692249864595510049142695040104225571", + "22": "4688629064620755656645374566897785120106912499694128358988120826552278586445", + "23": "39201623907570466488796080979309584010081500074188715075395158757700542180316", + "24": "49074992071532227596043579046673235209644648959565117235007669356528394990476", + "25": "48716948409848034998049900660312197575769034220903857168894035433554003012425", + "26": "2177743461631360281223354428537531257077701806775378570805194061184599829447", + "27": "31675794719237103210178779411581622881574978706409981297741504044072856807432", + "28": "811579569821149950334432326133607288840384635575885264253518708717387072503", + "29": "14435231682989099908668465716963816605318278372862317981160513302516754947791", + "30": "43886947675217745271113944732849795357387235755374611934564453691327951246100", + "31": "37318079882616467187103745378659794006255299213551432520229535613827126805107", + "32": "26705613097504594196241984922218932755879842131529070424378182775736488838823", + "33": "44381509634746186727509445274744396626696995163947224142541586586947775674057", + "34": "8921157924943686401802427551025836126174391280714568357295779209147616560889", + "35": "37489743120529567389970634350129533772311765733328362538523960919047450838569", + "36": "34023203323877654128747935165011354052658439645515440557742072195157993727030", + "37": "48937644247515191079345779508999693422914276623222677706840909167356884726099", + "38": "7980942975810932378585036412845287768191052967369455151308522889980260340748", + "39": "19597085003381045547978930945751050195838083299295792405300527537583188453008", + "40": "6489354869503383462041844038090974303720501359012215067361568777452575487416", + "41": "6838561344113985155114368695325331235965571993011010125873393223676748420593", + "42": "22928325978138128729394435268656540845199026426117189525905859542652758462571", + "43": "5389936583667132916324241186677008497789274957691366372006156196544340983353", + "44": "9173137713889742705446604445573410638315174421328481234661353292979240463503", + "45": "45868326017838507058834427152559482978484561776178826334391024375469665278025", + "46": "16832804545574783575930464465446066370068144932129311780865410396805403252955", + "47": "39339549402361046520356004604034987007221427095395601966119220299226094274826", + "48": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "48": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "48": "1" + }, + { + "167": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "167": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "167": "1" + }, + { + "168": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "168": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "48": "1" + }, + { + "0": "1643230281589922929913461313269721677840560726699527243824368999070606462076", + "8": "9150124100202883496359667368289649418858428348285828628727641093544362969306", + "9": "10374480017835766120640512168723903721981209848307028438552563020656473018860", + "17": "31315773388575221903098703113779066631655938513490713759459613250454585798324", + "18": "43936062048912166867549848842467200820501804318748178088898551696577170694204", + "19": "1828076773736506060829539308554111412837350780127459773619575726383250235271", + "20": "38920045238477788386630376348159850463740461860153994897137085336989816809733", + "21": "386467343220786862253800105704189636532522647485797147798326502661554856122", + "22": "47165177610393849397585382068993459802984220782267731789977278902028059960177", + "23": "47596726018418239838624119297346790990431090841872748084682226400752169518755", + "24": "47079066136437787747726217152500800014350215339610046526487385750721400723808", + "25": "6944423624350972837810059700762218699492055009462260502998172451910189178411", + "26": "48329751551891319440395668063617981799707909857591627421763975978828656201472", + "27": "4547274341935321648683725053485757619433819657294875366334675861170620115302", + "28": "1204461565236492774643423119226833922149069210357752482563346534582979999916", + "29": "51637481141688044174696233988938619965098833844124525570587758719212515268855", + "30": "48781594189550063345783163596186923401920942089227292649931543057294164251676", + "31": "23407735082211443838806599823221247441634437474246751656435588997042112949012", + "32": "36446872433866869878113284078987975458112078466781651601463757078376679305151", + "33": "50823574225017882450332143233678616897569768344547463819008641869165329356627", + "34": "51791322192639338826528454043887610610124124954033768691588198292856285006349", + "35": "50302977761241343969938129534033638902350425994906136627925824358240485055781", + "36": "34383150358904224955813498808455586505136229354308635565211456463999684991449", + "37": "28919085422878005286860466514092737090752013910694849285993469115132210944886", + "38": "43370767523315502286746526799047213374006413514885574666559342516023412844324", + "39": "27916942360791600208390409813772600806996114342820568405459090556866802697695", + "40": "42968812092627766453438027113874087026410138469580999821765729666522832886667", + "41": "42286969470473001982885681062468171248082670978244270234393936681378890733893", + "42": "7436595962763155960284980707299893121113475361001948563296637185978678135853", + "43": "34442102657158387979474935955287866375576048980995352221233310611484081512290", + "44": "48965567413064480415468552016520697916069754987910033805778587584149805830527", + "45": "10110748048509874446200626286757642340521009132908729511776740165593480869200", + "46": "23821455589710264137993374241564663787329505123082215823798122849687775323818", + "47": "8836922678029898678801888127383665769778240981576043425283136509491716796228", + "48": "22848952150216221657278322388055055127341707464964944907439556694761909917829", + "49": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "49": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "49": "1" + }, + { + "169": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "169": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "169": "1" + }, + { + "170": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "170": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "49": "1" + }, + { + "0": "5529383825244679302765929967407905660423153508826597450732592666784449667225", + "8": "37055462750066689003461043268482093768255524330162480752380091744775301088625", + "9": "2868687757480077334032362986069262808410660948463783084539963536058220231809", + "17": "18061100468992391736440440646368959899497826542215191389141247863370658943938", + "18": "47420493926202178152648909058166454197033548962877870937301621307515594009886", + "19": "42620731115860326370608481394974037636684117222339165479158928550882646647179", + "20": "3039478907074962470472079110870376186260520791501699381050807827362409154969", + "21": "25473289429482678472777713523788213153751319977754872366595368764257157193750", + "22": "46422562909458209494273308239913451970949078380982272138128658581220235122272", + "23": "9128765778263001237008255350280402035217861414456145324508896638993613012460", + "24": "7455669787603810821627829188526725058592097054309104291564175921036624334455", + "25": "14353798396702170852569961524848286586466831194733411090981745429416157700095", + "26": "5424141662401179925871596514666228109669050911728604012809610457734604459333", + "27": "17167460947612164759578153328942490216249175115796801124253018286563859905743", + "28": "18468904687752525748882063428017842286224731148767165756090751574467136647711", + "29": "36430364577432022342495838191696718843117338372877184232481871587699764210386", + "30": "10422876835121098669596605121475209716844737372362721502163187847904988517432", + "31": "6849549442861257735207428637094791593981959650991526519412015270561430668532", + "32": "32383336136694996847732898211450163182940030011613106346867600164489195536246", + "33": "29463020886287809181977004269040535691584942691717167339556975597839484274571", + "34": "7064777828360925765798085877300103558247219785867199374290137175795956586748", + "35": "39804699850084118816746474891691207549708458259880821034002552028448868090155", + "36": "35622346333162668044567745298489894606904047119572809148689811878521960796057", + "37": "12002751929148267900185461127103679795788513307375770233480590674844237734319", + "38": "6238610245645407134238174062018982427556465933498326530100267938116756389765", + "39": "38223334768324367500451957568928771935518287699975570445422841288143576825204", + "40": "17569859554436091520522306831116608885764842349847700892479876557069302161074", + "41": "10984176370297423938620763651899444110304955439092386135700506339663632930191", + "42": "19781856117837581188239633563253835326814048142930359419504123948510918332513", + "43": "11493673264049883921135845884001518168836515531075901068950172865812266759915", + "44": "9857065403299824442261916026741552823607819106464157480898257584216083359060", + "45": "25219542011495972260220822665248381963923395508188510715436078085710606476784", + "46": "45467884437327280531791482804876063238991302892630751555933243104593120753680", + "47": "5396042962590938500697767758869095412354374487351525793103253040485277911785", + "48": "30284619413030338066398106943902740082968037974727604058918565599755308417687", + "49": "37974042889562811290521989283153743935601079177541358157166481519370768542906", + "50": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "50": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "50": "1" + }, + { + "171": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "171": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "171": "1" + }, + { + "172": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "172": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "50": "1" + }, + { + "0": "3182718166498008812418586185198779390426386793456672324496083987133297273028", + "8": "32926915752434043089867058169666297752313776372016219331728563277690241534083", + "9": "47976875954232073336554205585086358567803613462315826321029621315345058443524", + "17": "5013767729997012319537535223742671376847216036883396905593755311750771851124", + "18": "4042102599875199704360227070290810262077356882668493057202162483802847551247", + "19": "7523167637422404073837718433613161800922502611402235838506500718978337278060", + "20": "29363760583617431835031510144827098016649152662807776793457114327749053170730", + "21": "51793675347194196027107483187723312731029262058165743625042792930272256346227", + "22": "28784486182402121939677102428494458446056217346449876112534872083729197737179", + "23": "33196842299770698094777836345369062044376762594603668793910295530004395860817", + "24": "22208414789330235684212724304396966782410301945268989554076441457783721016667", + "25": "28580447473241086180594740858448882001369133488186246055180461214635205909561", + "26": "34278135444415729840826722645351753769427628300194311781939262098964143660674", + "27": "48193225826157385232782694370852811173938937474981025814999570481072944081411", + "28": "52201237824720083752363860060076587793378140971033785093924679406652381363175", + "29": "47552906929785624091452435551737721455988804786883975584992420475007699810773", + "30": "27132472653502616956966642728126699195788400198103973948993023516431572589362", + "31": "10389811231893989052934357579831789017638868489307187783157199748358721415287", + "32": "36549607029688752653370605148221026360249830237184887264419022181287783306400", + "33": "42532666236031626673360246982240202331291830693927235736901700185198836760783", + "34": "46494840385138930761416763459839914858861862032292579750712123959140575486927", + "35": "34371304866850425822747943494500712401006566930164300319197998496807185126343", + "36": "42908265370426739389831127013082888253076642651088871623458013388879086873986", + "37": "11266282299598410997189206084139697517390930788939438234281336855974629584778", + "38": "13805468254465408450402625430120689646754186366290144302725820351252434866880", + "39": "43434726263656988720248000007749398516863399008523143018931161020271912800792", + "40": "647731032233422217558127532773373463300504203189397392298264292595875487383", + "41": "2905659771028298817004550722430838979198457315870623726262319644807624942985", + "42": "25698046083270312750636259327184550058421111519323309647198223674899960287011", + "43": "7855947208728139557226339259540416057017531347482278615209160307519622148288", + "44": "47708852949726384190581221945733806953051097619938074628876833805174210141435", + "45": "39479565339885969083033734435984479668373915952688061804811835305230118135333", + "46": "7842387998943086825378298185293619679502215847273077668397997731014939121008", + "47": "40306784563250300758131954226384334558258162701206642695140064284918287330673", + "48": "9197092075254020697128929074555292623565702505297022739167122481872051270291", + "49": "27546004459242409128714464151873563221532990014603680095750652265227049128976", + "50": "42458762056737171250789835374827842987755060473775593241102738142319044877826", + "51": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "51": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "51": "1" + }, + { + "173": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "173": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "173": "1" + }, + { + "174": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "174": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "51": "1" + }, + { + "0": "14599400764263231688213618032482449522109778447311452342990557992771279312515", + "8": "18912742569144191770162346423650482057014722093013146591972376900150909929530", + "9": "38548250175464665192127540856411534634963604105490431104492468719569689398231", + "17": "44348538671285686934884133685986338744527348022344885164891332779321400366538", + "18": "1317035426462381896031095674260522491638297528453635216908139118977061741406", + "19": "46539207139660021075588674954360581639176307945744542063239224977085836649648", + "20": "19948988903310505461818670726332844174056822953145061275074663474023611784203", + "21": "32799341221863613713315633976844686242513156056573436764399772292078998002902", + "22": "47882070842801306810625066651456545217207722143553240827563066436616476338717", + "23": "37288456982982674791710885911199410879115779381419600020643092129816688345351", + "24": "24590071506477008281171416896588602430040047086534166442574329507096343702194", + "25": "21426534331298303745051173870539947668741631378123539841613483736269106030915", + "26": "21500915328820030333608864248737705227390853190525669612567282458918537468989", + "27": "2308445996127659243095771873055937834746528951850901014580599297683329698668", + "28": "37436558193041549499094419234762480296256637673958654680499876580003225945988", + "29": "5876951665448425737513934386595289755669601152481593379720880778812976650347", + "30": "2931207815460508121850433958866787318687555432772051964500636556873218580423", + "31": "39297787268304865366875080259169708651282955033008844315219223063622811132742", + "32": "3815516441516166661642172869930941161203900213418247385063959232984890767063", + "33": "28286489692742642209328005839749003580767201527597857886363299992740921956273", + "34": "30362392711822458116774494325638110400060105826693561155539104482639338528376", + "35": "10080174423788243550547718097463919226130273089939311600243914136125286667950", + "36": "27091549112553130991767524660764913489766818069077890225413351581320027788468", + "37": "18826009612321450242655041363080133503507468988795699511697464020993344212329", + "38": "15953098987300962448626455676063143253197121142297994297124625590770153630274", + "39": "52226479997039263893288195155905971351959680139821013658974470901311902455741", + "40": "26919088194009920442887843339979507927310781225351493408216270427103744817440", + "41": "15958228281395294969968506938836163432356122968174445529633184099557083551354", + "42": "24026242102138439782480649244306880158304466217867285135586377535978229645528", + "43": "8372630119721329513598071506313643611486345273849051306859636519105003283484", + "44": "45222015296981788493755017514116328636458841196562673595761093374086989985476", + "45": "44577972078797192698174046205333304946212575340719842707581790406040507255641", + "46": "40272514905000928736293458265218941340231225508985571798376485411066362977764", + "47": "6709837189341035330553101939098937948377238343260378126852853557079310516844", + "48": "47807295039052943200192045607452430857512347687674434292683582960089519079597", + "49": "17586268334218852322280026530709274916427397519665142185944639475824175461129", + "50": "19493625175981631156698363301813094890232951876979700015593327200705609103261", + "51": "25683586717985565161948594091827604418697644794370484562766993783686395908239", + "52": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "52": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "52": "1" + }, + { + "175": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "175": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "175": "1" + }, + { + "176": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "176": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "52": "1" + }, + { + "0": "19971122460007657859508211404523175040055308424338161607196356611508685672711", + "8": "45800820128173391792185096204771604566910744248498168395979465763434726200074", + "9": "3296593061958405454222623767042377492294151640890709792162681729282441860959", + "17": "47577554868383470173772963558858336929033862232427644487064158734754936268283", + "18": "18477055984664591791168426741989663816098043141357366638520053497338079402575", + "19": "25220082235435097624027415701773571462515511010670278999287335449451268531191", + "20": "626711679103864410439713004447866840839704333952923655574744443194054128520", + "21": "46168177344309306601260358932398362664384532320511350508189345939910842708899", + "22": "12210542597760506638588020455529460573339586738742651768549690640596356472824", + "23": "4382854497241020342368818720791628600373586432302204096445971852065242242109", + "24": "45682661849071321924503119515687782731623959437074118200276414169882856637949", + "25": "49399949275619986302265977830833405944277499222523470864100997833855183769335", + "26": "18450413655447460334878199409335636421323547099473359223820431819470746119311", + "27": "1837028932618437220297077170968059055290689679994891484332187122910651899938", + "28": "39622122628997086779775300897944353896275898579263552469736968131323183682930", + "29": "10948723487912278740535296997019334230669113019607642499202210519535806030867", + "30": "15697358055270789222913660525066260537271159134069000173252065709498065979446", + "31": "27857821019300782343485018756105818966357710298942387798577048806298503028817", + "32": "17356086639314663282692549189543132986148130847434722818463421244817259728223", + "33": "891327086656865113381281477779838422670221314500243227129808492328666628854", + "34": "15143558804250167271859225448771729546438234112652322237017579473405520284811", + "35": "16390615825144014250159192152580361697013774158644572682547086120575102613470", + "36": "24884018759847835638638532005804645087825510580402991836802423535026848890402", + "37": "27884325742779882949054032106561462868317711852477810554036909137384089655002", + "38": "45774013456159699697037248566545754692356300584177254754477820182750814439767", + "39": "12456232222288471227144367158891184160679107279386793729713014786582782323815", + "40": "21622819518092347312784241151526807226685736830852547810228089884173491716460", + "41": "26701937558854188229061367392442715915411165328623636113257176896654406684794", + "42": "42033658794673269440783147627697273078428793909581651885129093452456370823044", + "43": "32601587741740562494877757669929289782841268464357082837787932579766868623872", + "44": "28991960260567965231978744956343826810629279953958189256198349905624048560904", + "45": "51737555115584236985075043616985711544105687714282862501121480196841248355425", + "46": "34201144676260319605708261812656239403953964667988043477108767974993143184197", + "47": "9906106918365321017105677790435123615339082526894244822796091051050072605410", + "48": "31260639885130878794843351623708476260309342082607367020952318208258443597815", + "49": "6977163481927963691187158449685853311426752776578931518685822891256410250137", + "50": "3514454668016928522178975669382735701277456742852963606568745948886411661948", + "51": "26964653365035093099079233300737906096765913771649525232456926040546945369028", + "52": "12497266611968540567111644893085223797720357073685312991428428732122834393648", + "53": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "53": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "53": "1" + }, + { + "177": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "177": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "177": "1" + }, + { + "178": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "178": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "53": "1" + }, + { + "0": "12801369279155577131760037436686619341421686678830792595575775840669776442563", + "8": "48314670915362627199752432936376680501039827958805748846625888559233657950802", + "9": "36193325099956969212371624565796622990386626924369046066585654744916067956227", + "17": "50173205642135171924920681355846645523717857709157089501646638240843254608466", + "18": "48667477437227384968606401517801433351367041061184844460733929214411245515153", + "19": "29468633431938254341174210027244178345528760649133603172754558558924141821880", + "20": "14345993343623488938290976856477841428797757620812366906795990921674695156417", + "21": "35366090867308845531673767619698229594652729166029855327366968050336069683389", + "22": "35511542731973774503017775596344705542250731048918915430508219562259364736626", + "23": "31663516183477238231908557668110710303588643107783599067195586215579342442991", + "24": "36294237593843045602877574052408930235865392795896448996051948224974258999816", + "25": "37264147634278328055643958769928693472117849154812706124555185877271734880109", + "26": "6405794658226361651932970226715465952688138048776789154099691258582864265581", + "27": "16644667594192474495283244120292911558085205029420622892260221298971905554587", + "28": "38134538098278005702493298765434409251270322704749634056448927576445009842737", + "29": "45826906271895256079093037232020869649557982877749626792408970774493043871574", + "30": "1593256909260181279006918088898070339693815483577656139152349725128201040543", + "31": "42991136075009807934268348038867327634824416770002788686976655950875250823473", + "32": "37708865735284819187879728055988359746024244646477934111398423647452361709216", + "33": "47164384664177555697846017933874747451603461484031012137458439862459381805074", + "34": "965897963308505670259252396349758849490684199114512397124646286838592010104", + "35": "30527006209889105742014547584929936775107102185333973362772965349019086644642", + "36": "29229608477861642923912423043441599810674586380622648291982756970402380291271", + "37": "1953211450577961224325433364858897622999560620157734175054307880950069477946", + "38": "9353519980616867754753210515127525477911643995317359005875530721518736307544", + "39": "16185706506967175686265770066846559450323124283797699141451776739272925401570", + "40": "38022062023407203818525259102611229069856916794072976458543714108368590343694", + "41": "46465208811556690916176364326908979382487747551315561629727874724669460928081", + "42": "18561524374418425025293682348210367189154475189225886149014162833411012225454", + "43": "32475787033882626937186047914679707543688806472804855206596574310071848468173", + "44": "27777254178959933148238688998877629299620445205960491876664172162600227405703", + "45": "42281456474174918556176940606933783615885059091629897872382333450022464607768", + "46": "30220411442471558101331871257374116184578780630167048780559754194684624191702", + "47": "5903825956785405493059608031611842077972649879646080175587220918915621220574", + "48": "17260187455220800157500219115622945881734720793662323569058006167767093361336", + "49": "52128968513794320763886436531635675169094572810123717503985686939701742113750", + "50": "27688659169175867744387350098721751851726897990151039928118164768438867661644", + "51": "29060634690866525617320518365559890485375658123513445532987097910753124707637", + "52": "12674183554060579328168137719987416387732764071784921154729503956463272509612", + "53": "49032264524367070039979300981022405674483090528243494919276139725840577629803", + "54": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "54": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "54": "1" + }, + { + "179": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "179": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "179": "1" + }, + { + "180": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "180": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "54": "1" + }, + { + "0": "2874800145470695258580041840911551878272283565060591475417515522159069870291", + "8": "20856609100865185787751612448733162360224271878987395766388433936362043695461", + "9": "12194183133497856466174688191209059807219766320629463385834794408249963412301", + "17": "31120003419260810433513376907978875667641771785924900128059201650129025002917", + "18": "49075744729252835999324841051845888451029339824366977433296527179178796120204", + "19": "26649798772914118313774692572897728972996138081192524682225116227379955805723", + "20": "41481613659966279609324734461745490978016031957504218984109857404997551581190", + "21": "30946854478876974127030466698546304482867161543226115801559905435036618512713", + "22": "20306023826684576400012600130891657535312452106355231428727797969977899524386", + "23": "42234672811986758149547693373931303325722717544933127080177051976441786012261", + "24": "9968736060683541482096459058594514828048520841619612563543546965290819049926", + "25": "419159326803355504179044755466687201380679803539890028835597793036028148670", + "26": "7396879683204645534515863273956505889287928485285985265001562544458108372264", + "27": "33107708437166453066711746978644129600215459638571298655909606369328774708558", + "28": "1732395166632007906540260951336623548518684916962654086166318956454494582612", + "29": "38038727361781312909939564755112728410225794225274293695641011853692913942887", + "30": "47064636956155159711372043655525582593330987748710505959772210793150844427629", + "31": "21094028601983788282466965388694059964657012242126432762809912658058837513025", + "32": "41693947444146048268900275157088917679898621087439750905288151198471636691825", + "33": "21395561571199733448175766131346558181089532251915490406827735912339060481275", + "34": "38344438168145259744035490010153258028894823122889981318274790921047311177021", + "35": "36258256020328210054225953915467393970280126992885092782600759336076807906414", + "36": "5148818709280297982538149421466868438634363587044453389440824490919438380476", + "37": "10278869912806823810196303006899201166586662306567305858617877001030314127551", + "38": "523562038924235281409734882151422465950556227071179417612305001927314831554", + "39": "44169929119578255992801129855518330082719838779908561108568163718866855441244", + "40": "16123470698057306807401503360854890044980663506556273137399859491248793076711", + "41": "41377980663559068169285432194800492798724863252183212831370642716258744672546", + "42": "26474215360742893662054977905863824919387896215596411102532934134275961495347", + "43": "49964246569323779981619465035875384729064815705712628415579200513034193278638", + "44": "35208116100267599078440655715509657194269847386778597064885133844425211587329", + "45": "31060781036617704279363296484561798037376197962341776875664819457925942107822", + "46": "3187565374732278756401028773377528675775290133292385761572821738691963201647", + "47": "50370578993513916347001504316826660523542037902909360494292428417978980967529", + "48": "49609829308379409108571524386113107966178825462271389944901570747423379187910", + "49": "32837244640867386656635274474487603222200973394948633305679410931669689931245", + "50": "20093098078022279649854787717657644175357059710060694480824121550302320328051", + "51": "43628106233154507498986159342755166333941765449497175563291834244511737379217", + "52": "19934393442660559057401067523764892965923164220007314439356829698670167778640", + "53": "28954700295118130234512355849317298799232179094852566623421541652106186276562", + "54": "15958782681044120532233862649699354067562059482538815462686088366110135452008", + "55": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "55": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "55": "1" + }, + { + "181": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "181": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "181": "1" + }, + { + "182": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "182": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "55": "1" + }, + { + "0": "15558578381003392888309173936039806021949114680855373870727168432126175091041", + "8": "36958213691714857769216413913717418756278650557262436863112402114560266322453", + "9": "45014442397094611256700146330680183783333287366446722041429690667721733015947", + "17": "36699347915436590119012342223007322693871385423905777984001272614601809060469", + "18": "4182050713175943474869699871949603240467902844541127021822081383262698883227", + "19": "1273529694669713607728232233990315371713710688403897798989378639884378802626", + "20": "8672800637664026646743353507843702204571133196091624193841028239432876612002", + "21": "27480134299646099452152758729175766347604505303723655843813415817155731692605", + "22": "30500110147764869241663641725809932131980022349733875173938526399578630402695", + "23": "37030819562059733930764362059115754276660327317281064767897494458549206154039", + "24": "3660739564462922177054254887881893920831064401602616405594399048113866124360", + "25": "49831051361945158893120755370319693358884714166399824350805931828231122758907", + "26": "24567375305900541593389151988598983318358988428396664010009286087762387169287", + "27": "40754943758301933511617295805822605115493844891518129662616663106045623085079", + "28": "5626873820042429608006775761281872331410675450527484263670837735872600436437", + "29": "34863835242065454762537466692915586106813265652827290812350232547736812461308", + "30": "28828205476385997846779928983272003862852760906233275569602803301408742183403", + "31": "22404421863587080361386335251285610425901872423967912438723918768609701754090", + "32": "49742800412465320613190097571905223754246690598046716044092048951594495144283", + "33": "43303826440986422772306777141453898681091336743660802199226193716736468111732", + "34": "6887733418436517002533875615346854133651070936202786825206750583634416865435", + "35": "49928646512630617197668763320934773675279798078327894506637275425144811858980", + "36": "31195925800150561447903998324756407744939544137813193398111834438159029670629", + "37": "50728333294076698795328593499497941485753817730764946846097348332971820028089", + "38": "47431846741560944119759707044268607324491358823045671830112338234018569771208", + "39": "11768075163522120199872609279918140574977309412921216959940230218079930033864", + "40": "41473359991692454826320644045116445959346115572840334171707672586867253916594", + "41": "34193163133561962307658969863144337775495246144895307564894490707896028980959", + "42": "35867805232289326499030564831339998043659154145919031292301374748120022854211", + "43": "14993180337074960720200686515994140668145164628921675157751616402398509521981", + "44": "44064398282333257020730328421876041904474323246572881596558050018032899535332", + "45": "19948524166797692818960016080188213484029547942940502496106522580431568460692", + "46": "25789203347610016219245228643172820780131628919673031699868379621320034965224", + "47": "23778934183651653875855073897696630838083898449618010562925986432739163562010", + "48": "42873329740499792269864769078473886692959327353108742535862616780175502798850", + "49": "38446814079139810910457761664258995461481738309202125910212759757408039109745", + "50": "15169960863969117799681893272465749807243108331232990797941252799802904789983", + "51": "38622443651082277770338516920718920222092540374828892382687036544580326399635", + "52": "39012125427428523625270049677804413638281221676939693649555247230928602879857", + "53": "11009779126651618604805444760109344004521652798024360065291954761372826045508", + "54": "10333640033246829710459890372538173174968500552565000956697270018521681136132", + "55": "33085109261284620782260186134834786881330708467426846946188432828680927670741", + "56": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "56": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "56": "1" + }, + { + "183": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "183": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "183": "1" + }, + { + "184": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "184": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "56": "1" + }, + { + "0": "9811599964264530187304305794911397412166832842489170888364387877850235210426", + "8": "35257600960717538875671174989277404503928084911858834487979693639941982630379", + "9": "3511536225223262604609683995454835423729933191908823349529006198749754827458", + "17": "11140552643295538623324758330780884994169601899807457822393096174630573504170", + "18": "46499105656219891570679669047008880047550492622686403885395088124165904580949", + "19": "13199005296328705942742673700739398316276900099170163010895756592340180569845", + "20": "38964461774913690861526712655704437143704150074595460975020257188853694562186", + "21": "46887995575115075192085668564705929400665308797905212794851598240413114450963", + "22": "43882743115731196202414273703052922012595016859296339769740332206157263189122", + "23": "20397062127725501361465306241040596120458947829181053355790739032074705276821", + "24": "23160115496829174048084493986276064970641698048212834450299759532374273843073", + "25": "4268056679769359643937094304142320277221752714811575715839175071336588346582", + "26": "38249448006087871870414075597249197962305563763288948092987171768225606048056", + "27": "33596237573662860295450833846931282978098516966413400438078941425910835629498", + "28": "23630434733803689743605699222542434625025001933784843468220959267528142872101", + "29": "33575464307243128981723379154379172357079406922008987267817849443623380855631", + "30": "30626007667114502838585126358916475666886034246231519650495792272912006029020", + "31": "13633205442678024490116374717532131352359980411562278664318957818815276920767", + "32": "12161045078858759438780510398498849284840447054488718213829402694006262441613", + "33": "50030805989570793011632246156070787126245014493357494630801666217569732219304", + "34": "16967256452093040311257114695634358181533509810798447616355511972126811938368", + "35": "37159904135829956970090166621705162746922718418428587224171612039491511282234", + "36": "27082508832330131584428263875403436892556356800227622939998462667466888078376", + "37": "8621624402418440223444480777677121828796697294554054054921746855244960962871", + "38": "13850968289508252572346818654663049160399799234068973515041336808130117998136", + "39": "48348378963979534612553729623784696025942387346766985612264001588619022509895", + "40": "20465842086964107698124849734843009969170881610962290987835753743429296723691", + "41": "8670623148692012434609961242682871457964873164561845443717617228286906566132", + "42": "16145238248104054550143407880643729479505295189450933988102913064388173330271", + "43": "10145441268572590579208613134932101955700079461488272082330201550579502389725", + "44": "25679027856520546825358322768399413062788017707148561415116457406931508103195", + "45": "32193319629788271552211183220519976653532663919955926627209228839062721385556", + "46": "13345002706260255504834651581939602387199150714457171852797771708361543609008", + "47": "47061450638514375826215811908744866879258526610731896947900612310952630500848", + "48": "6972801335038734140453678068767945491926699338337421365533088755153382412709", + "49": "45826496760241964327805018861710011778187306958856979803130891325927228280974", + "50": "37232668388052912044859799313792650240045356124449905327667091406656129739611", + "51": "1532679147724594765474517925527692031171670435697271341619284126367634189102", + "52": "13155359903310327012531704167967345564423841690627110816735525415741074577023", + "53": "2643346701398652130190188285932478236786842320402775663801174175616386099833", + "54": "8450242745402834923810032977394242745150947624276083478110833191908818570550", + "55": "22650864147209266095665093661522062646273819273669143119794073301199367811327", + "56": "38444507686116491782456252560622280787395517083096505398020732946145982829252", + "57": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "57": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "57": "1" + }, + { + "185": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "185": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "185": "1" + }, + { + "186": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "186": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "57": "1" + }, + { + "0": "11797479380255190086030457967941350172480879235135372778366002137304980472711", + "8": "15903879427501232694255638422894771343347562435171741841900994323840681792831", + "9": "50933137116934872809912330682256821781357990795311511926646529443934874684866", + "17": "35996553932923897415086385224589569272575176623262682197040707185932980608310", + "18": "15673980864813038456649688853613609271108903784258878253725217485084375952374", + "19": "24174431504151113175261776274814121376130441284859089138757876354435937799758", + "20": "51771580265810105335926249893197814447984473552914220937219071265403434683058", + "21": "11290676623867776344114482395303171169781518793948295324309426128608604849031", + "22": "8409495521111008620436530099469680340946687554032749058284685581311015911667", + "23": "40277766370322337046224132367735432681011902480335046503085989917085258671141", + "24": "32351579748207146295947573665198897103936797798774700208149653140337275101629", + "25": "26808655080887219095537193056365166400344791460751387396265567694499495682557", + "26": "43939295993427639264523982908312155952270428904976951179149363619349171568699", + "27": "2615928250125534253983662023398397482642537775194048496353954712112464381585", + "28": "24665117811273098571791268405924882650770009640818441195485571661529124368653", + "29": "23310083990793389709278189173553809917938459280773029801578963832080194662847", + "30": "38897903662727474762999506260664058810863249897094730433494501194313760658978", + "31": "22152896730736334549888318638692287204513515214316028404603478706319246406821", + "32": "40841491001727582810923937974220948519414818120996801118165557378803379209065", + "33": "45804241428533841200143162657819328022465976214145860566982147891478535457215", + "34": "38247945248539047400507866706601033492064308564388986885894572889109560162144", + "35": "47940123283699016257558947182409062548466132367938684643112467714426120763777", + "36": "12092623607389999641850228730930499684025853387799891848171999001242156520113", + "37": "49612578069481060603003816627697197677305941822287909347803282058610057851646", + "38": "20808330026913643960790880775016541975386323877332274178447810961387653739530", + "39": "12509250239645937872135956832140815144675242147625726684019380216316765581796", + "40": "13282348156818073297501589837760392749731423097724829433731087807561077290345", + "41": "8635613494893295811108084342410205802605449093122787212547598535283126066382", + "42": "32921001631426041445676343899570583143896202738541110737370163455053198523276", + "43": "15072150072951460790252803724636999781589895337377831063611633819852290167493", + "44": "47738287137100779085704833103435594777837426768554691154123749531090265614528", + "45": "7445854682870371420431653252737133712854292373432054892095511395705085407679", + "46": "21419594226096369102011540768316311221996509834983414160253966398167483277798", + "47": "41412475794020893132046501869760288631274866268483141282007604116478522130215", + "48": "29438264997412425909247180540071295742601686211397643346247079268958911123793", + "49": "45548144845518422625308249397535081611763184016229732029888668317030817383283", + "50": "41927051337616883142943994926384936534125160827462461617823879167958338420243", + "51": "43871397036862176880455740854832172473688538889696440670583829898652011761449", + "52": "35207008718646426805720704075193183187236956162781027008678627115192383928486", + "53": "29994332457423934758231668689495943901058791066006355079939621091191349632753", + "54": "38772336053192597942783585627048220283047009949910621214754172288582954650815", + "55": "23258426506563365742480079527437241168385234319706845454083583771341346157344", + "56": "21925302142198178264630423325182135754836599254707043729183366482558865259361", + "57": "19658305843685569169430362365353837930373042553254857801602254381749376221871", + "58": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "58": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "58": "1" + }, + { + "187": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "187": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "187": "1" + }, + { + "188": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "188": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "58": "1" + }, + { + "0": "15812276861397201227532067085271584728094218111982315967331671382133625425702", + "8": "18535644248950183777137251290930303361902992375131844745869851531133871101591", + "9": "51279430787531082701705987084781412833104680004081069854155329187001349341305", + "17": "4620280059807225859841498832568948712166192733167194648593693014954508365885", + "18": "32279062726889456243515576789074612857448705807164488364752217196476984385336", + "19": "44184272794121612856301067916009731591444999632122835020008743833827814863552", + "20": "29330345497656289885337341599199864997103599202957467011994075379964143536392", + "21": "5810129635340722855995660842622571514496893097535104267342213526806885038139", + "22": "22093601765509068412097730208250625216888878428029620474620624391082030724566", + "23": "33823292390456074445857176711494284388031659375969059374615101024483851681562", + "24": "15072443219894216835360983777898383891557547579089367459205122866145685995272", + "25": "11626606821172032584621965350821246286763970077350448014993294448335424093939", + "26": "25180933374455752788679644005606966820561921667480756716673289054562010226309", + "27": "1293692419630817662246021156447890909935006109796007300336215233157165802530", + "28": "40038366087558648585659130172915749952856978749469196738924528961463907971374", + "29": "47485661197731712229971694659034918012631606979817871191437440272676288502187", + "30": "2266783342230428215697200199668626694995414935224528224332416477665003813608", + "31": "38938621350782041225841985605041242562204765227075428144303567109368785432651", + "32": "11750757641454844391624222022215998328321386209820668812170311710921023483959", + "33": "4991232372153516775627384368557315643226357632901061310999707044873437432007", + "34": "39792158166938465032391835383243783697520243744886894060261989761329089919021", + "35": "49219084037788441430833002157865002740643066075395238743097679890017637651197", + "36": "24290370875537977927341659948899202892675773969715971504272559801894997624230", + "37": "821568644471580341005322773319808354960034337318505717800240692934651502145", + "38": "48762614452492834136469422970576561937183920526135495771505488136430876876113", + "39": "42134329839847921670579319483404900443425581513469279384164672676108050967277", + "40": "895129569681074695138752992405210404493215552983063837481217347568002758337", + "41": "7127544495965029401646717773079951414444422596100117426315918732427731834503", + "42": "23561203008659710736424481520837744068715071337987497033620756364166920628005", + "43": "8765990301331921992840574586282673763273298928042305630462451059175060999866", + "44": "36967831456732430915449372990747641804529407171981008266600435052906003828059", + "45": "14011901445376071324335811805745684445627094483111232940105054388150045797253", + "46": "50374876510000627886928660363770266275324035283249568246117252443100228691096", + "47": "8752478880339119208975018249995394197518781758545556932041583769657207755366", + "48": "37462509494912456254133476550641732048029849031342304242982998805380001516880", + "49": "28066082151029757310758300027320057333871698171350795423585946842186060828127", + "50": "29266447935243209577950456344099974544965022864956546295908626823688007890951", + "51": "15663062836082338776813337146561950964713663215969728180399468063126031180017", + "52": "22152069226694884890791439616391555314316473853628051925772872910546792004939", + "53": "45342217178073138250295208119690541363360396224002497690104428892154216307304", + "54": "5140994251500456411231211828824151820179055227524877764851708249117356248925", + "55": "45650138088064769636030235114597838277767315488933920125305256055766941545400", + "56": "9406552773588238504368824519032723679370593795249549746547590939424200942174", + "57": "34304589006885983711696510309541293412660869701243945658506473451337462560973", + "58": "44906303812554767121099823723834814371787058510416082935177272166347207070672", + "59": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "59": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "59": "1" + }, + { + "189": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "189": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "189": "1" + }, + { + "190": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "190": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "59": "1" + }, + { + "0": "14555033526911765831054005951477598685743695466168667850533171876658643729676", + "8": "34863523424364231614938921732466296539096491121427033596608711213460107724357", + "9": "27207535934594294618567784126810315469019735075077155894544655864054151572902", + "17": "5750256653513464772270728240767106259049960238754078985236533960553573217603", + "18": "27966986139375070816317855599335811167712069543547616545463636483849903171319", + "19": "48996383137165744560061674561699476843486153794209246017313888406269221666270", + "20": "2476119499950347117965077281283419172976844485414883598019890992416300049927", + "21": "19605519810492726935429407060044067856903606542149496202792719949332025169386", + "22": "8613512556546439080890935591940424299608376457901416051960964138272274942071", + "23": "11436359065316862937883286899732082402214811066474061966990279097030365329070", + "24": "39554166495063583479815671404631836465055498965504028848471474929024611216042", + "25": "19523470983586898988240630454875779055340295958702401903231329869131873961057", + "26": "26348171561658105438770458063226156174491270173373023323901210992687510469166", + "27": "39000576329217846269267382972726852667891052881859239144898377686097306720074", + "28": "1759539451344592922231121524951202200686716472285931383985167368459252745243", + "29": "44215007384708812547026515417691940988308520425821705337635516823963224312320", + "30": "3862928018832750321923891854067134902921544629899703616314984218766964942138", + "31": "21901636045985803764716269921651167505902593405337357105978024841479321558088", + "32": "15277032463621263351820813264538405039452211480260088892733451046931132793815", + "33": "47980315532056274693469074541315585470204512827658914626207874233482560262938", + "34": "13928209294676374986354534054581251377364148962389063419717048253436134839604", + "35": "46507853233669737936947896284949410488000541732414151172042936403069736895843", + "36": "5975339878438961254510761711737913220057327327920429634635847855679974385968", + "37": "46008417865678207009465851644805333939374068341600672204260151528384657420229", + "38": "32503514419112369135379707976457969627621664842193727041696160656391827897762", + "39": "29769885641142348996066484628958347559121673431399592937816912426690987936086", + "40": "28529485287992002327998886451815402427854447912805386641154547997477587424000", + "41": "10966056069092924465755325624999776666254573866314064813816398376495429392400", + "42": "23532024143992470589447289005983263662372741992402502112047294085724646358400", + "43": "6235066832243651718711793764111718577564538023035110780311297583819589637393", + "44": "37661601410810942143169047226518599079836676761701770864494875029400923702229", + "45": "51812320359747782931547711187698452386999889004542292053699082845002721608565", + "46": "46176950838959732318853419882362989611918701877381595807619426338789099528392", + "47": "46089031264899263959080610837239385297077066650560830826453176977157677727376", + "48": "35263622527179513804135349218413880394118823203804729405259008337527426821440", + "49": "23095995603625684421889036204755221630019576810534568201102507181887473131855", + "50": "8386585992550556921137720806880337531315050013800179766616859101176600258161", + "51": "45286850868675883216907245060188269722019657115235649596763286723407492330126", + "52": "29999732457492875872545122490568514877382586569195772952675283928339147878608", + "53": "15482532462112043627191388992155886864269024630544596242863184665227394845065", + "54": "25634082300307938257694021266206682661095479777731268539621430425145306759008", + "55": "40809550935485141086337434497663859640055401701049869955361322997962814204623", + "56": "42599837123830750380711027863755497897308646321548115070195289612716615924754", + "57": "21977168978137609776256406509083264783855133110410345478252231994821428414661", + "58": "36545003017022304986596970369089955362889935421785592657720103615656385746601", + "59": "11264203372774413051457764167603997729900179027056370285563478883438007644364", + "60": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "60": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "60": "1" + }, + { + "191": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "191": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "191": "1" + }, + { + "192": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "192": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "60": "1" + }, + { + "0": "8453370176619636688730899865196838058367647719211769227158095525122045566926", + "8": "14700273049248148503004145417342472819489376223376523850579514678795192227081", + "9": "29499326547663415118039654483404228825085905754372888154597331620186324201400", + "17": "16900751352067322471321849692971462399854556457660170971998689894833900813331", + "18": "16689479123960579558525350640076788009266299858209821170307162127601213020682", + "19": "14386894150226514038993853486320555463526577351517015808534222973907504459731", + "20": "14281827511074562696250851356442184389645138997631056247147800856186302003365", + "21": "7601252818192062195187621691597227288571904750280742359906535937941906367017", + "22": "4950822731455444783467234639504457829374996503506837168099325001874615550183", + "23": "51837903246315225107713370053074430254423132769542085893706060555586792897700", + "24": "16546152870877373244122296708221062426096626308631253855930455402080796562574", + "25": "4267865283645358193406033116664140612846132199837271175626375136847081417872", + "26": "31454641283437352122887508382533251804031425393665228594397434200271283770360", + "27": "652351439019401607116973282173938477922922008986176658355519764498125477040", + "28": "18594303503105103590816782598057378876343333312365732299430823372586744082303", + "29": "20533746798332961527887867601021334314023977450240156997756134802307938010802", + "30": "31730678564668931612365424731140004183405310786489510937867001188362404418596", + "31": "48479350898178129790326533098191184443453539697488280147441712352960713016015", + "32": "3701397702704437653048502268996115699107880672985127178774683611658752663787", + "33": "43460925668457066802977853258916243668192492196292654929076745569308999855359", + "34": "27733837539902012247848527574232219638074401231105290178750803799129180705787", + "35": "30083372598883073357569659985884766847092469428102463974683224520788843750263", + "36": "13416139037409930437710452642455058429395604708926529298923428519360184552116", + "37": "27623352308908286682197442773696828064780759541825113166920190830465760115310", + "38": "24467178523527661412490840403895102707219693834308197483111012821849214625368", + "39": "23728113528246855478500232569870948003639556873931983873702722387224671507274", + "40": "40129666380656807062809606434513663321184682779877056834215304787161622530992", + "41": "23196600856704274435727136372434040707394830440542391821430543031726044902028", + "42": "8215865162361209177076800640667002682904703694618158726144936914506095863437", + "43": "3321432016766039564500829840965935044807999892231160713467534524496739885083", + "44": "28396606736882264536595363707806916216399321241793162972947130804700644375984", + "45": "11194814843932421015565967864086907107533146380253464829460895377752980992085", + "46": "10247629864320245984498290366880059792803521307928493823642220920516164182974", + "47": "45540947434270323589980283215503197959394615493726851605142801290557895945522", + "48": "6351410723033070278915663444147684783159571748995149346685113381367496940470", + "49": "16646450007547282223758767567849289455552591191901648461491104448301851645160", + "50": "24889229155976855852906874602243636161245617243340644213538531529932171805657", + "51": "16505800654202230305733090602177678389553495759416075701766877632336332944277", + "52": "7675925178062114939817324806065476013942155510710362786272913586341990387463", + "53": "4359946372430343557819891012909070894466214109202481725255824345350007819348", + "54": "45310328951976216802832977340955247700000185785697448432973364509588835227620", + "55": "1384466495725852204781033898726991475424675908064122876245360290035272122590", + "56": "20546022705070598934171404288007102076165295582340576848525332838925487625279", + "57": "31529351690707589786177302613748003542923394436330434021084483472278799068151", + "58": "36579664282908550417057810780214348432407464125259718233915609127479074532371", + "59": "21731188521940091435304189115941138939077038176310508314733831383137706473253", + "60": "31242499920666589644175623123420152488672982280975416311907961288030179258970", + "61": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "61": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "61": "1" + }, + { + "193": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "193": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "193": "1" + }, + { + "194": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "194": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "61": "1" + }, + { + "0": "13746050345785052659407845574049356403121452981555493239274450074369130425982", + "8": "12160298752630338254530407945916766563834922532629505948426056026762355688759", + "9": "24489210578788599746303010662424713680859298825664124500851658126460028611472", + "17": "2416282630496950895368468643656141052319363876716233763023393100414280100706", + "18": "42981599081066594574328294535999978881017233028753835538536441541950646694255", + "19": "15212058715196543168691534562115742556260998059165932940223155050835392905871", + "20": "7202642958849074041149709775648076784468091348519822681347269528720073196143", + "21": "6522432676358732147478141817940573321601463188148893724131345313299366277943", + "22": "30767391711383501088521957411965231355303322859244512663417573036486769560650", + "23": "25746217630755160409444044629613582263482418055996449213633577488700523972799", + "24": "21021489915403929056022381202339071137483935615957803312647510804006503608618", + "25": "25542488973179203547537575381757126623160646063126252149260646642491985455010", + "26": "39202783094033560367251586850007418595231762966762456877083689422103114302873", + "27": "42659979988686870538834442012951157000488835088586275318454859917364636180137", + "28": "22430322677324130181763040670691241668786011709052687276545407961918692563488", + "29": "48406987307229118673240050520579202466569377333779345715053781378573549122625", + "30": "32512762645259969846085846374668170239637901875870563058345044054829768690833", + "31": "12964332751459612423825674278436953024702343697445272589499909315219193614844", + "32": "17674929204239727197236875816434856294782854402608690167877003244499062707806", + "33": "35996901399392717462862132250727787257166816817003415696247648759044238397277", + "34": "28325316069932751182520989939110557399260474921579709781574209643558465758695", + "35": "21833357143948235033591121406164464285108953595523603678956916489804539718072", + "36": "38331690060583629680685237980166619778480849178533510350226140209194952416669", + "37": "1910008285596138509433156975888508301958334203765702016398433769673831959592", + "38": "20529999853741449522757630250231340974686162798879163149077571373915494358582", + "39": "47621487574637106182778429441529768269093324718613739643526908500865444681430", + "40": "7640467605139465408312247914559549873127370928782720115148094253764904080185", + "41": "35573711437974105808858853822651224195828755279535917162598043903770539612809", + "42": "35715418186459305889507607119939666907048938427469427022964475999452421772838", + "43": "22336959598789106495327873836901651981071934364977905040499914092266492901141", + "44": "34511547816643469568866276318926640155368224942611919472019254390342347425444", + "45": "48824917938452478622888631878667621239852169635968133501076368017563996390439", + "46": "20853660078940660344920339985103970034680290671611986933111153861490558697822", + "47": "10571432867175603940150031107922561124766978468619575879683648289217524381660", + "48": "49493276046799327428140895006466786215873772846362310379203146808983456575065", + "49": "36713702121150926082432966348187867976049574274749083575831213287992908318467", + "50": "26713043222935439313168338297667161549663121998436625146885077388937336772475", + "51": "36921874834948147602387153908118301866871622664597884998360102167718472222034", + "52": "21171928867526122304893463972788477735084019247057030465089017334283634744053", + "53": "102857812645606371641637208241588513525948993002616265152481194966021407713", + "54": "11157164996773026209481356607883839838979228741589344866739125352400725182348", + "55": "23717811700099572458850518496200474317486991557110676129799763478332773039046", + "56": "39414262539969457155290717359724715561792308742773407579245220001788434864973", + "57": "14340877577137189560256276309492674267175395555397058879478961925444677924606", + "58": "31915161442890750462810947067448112034018865009430288942708990316341338025344", + "59": "15874618092216782249393338768265106006925014950905031167874131481528276254681", + "60": "44678910721548955339712967126788169304877529192714225642695406925806633973101", + "61": "47156379770217313095519756335734358221876217483869599784859342147494897869852", + "62": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "62": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "62": "1" + }, + { + "195": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "195": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "195": "1" + }, + { + "196": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "196": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "62": "1" + }, + { + "0": "14759221361221742392877550517283338785302973165056606116918148040408389214809", + "8": "202407840431875867766643426059833405749180713740029168212121726829111456034", + "9": "4389625065657449317030702350118528836723412888175923456795303622692603348461", + "17": "22124547763030614956723956856326261205118864432496713670905557893356629288740", + "18": "45015563437869612030875693329426287865677755054832015531433903251609211909263", + "19": "30132039976894230991911643394121154959353962970395263040064521052303401753375", + "20": "33261906612104730940158418188127527192912654771923390369884450357809733512018", + "21": "26075012561174944464659081211721167856622575581389757714824703074162184755500", + "22": "34422329714935664530650383509330601829983540590145237423922650433433290306244", + "23": "22826653351476414916129886030807788398849717147480080565816228954869033149809", + "24": "17143881673837099860443000027845204658537360143875256170701468782769380870994", + "25": "1155594379190122261495268389870511496052391222425417245436215318946864734397", + "26": "27994354284010570886378705670130542222881562968881762784737961665295328109152", + "27": "45231133596052197635441293735131396095159983596261768316187212236318546544039", + "28": "16262625025122187759545307417174368345931365220187530099940772777713941503773", + "29": "17744349920858472243804562537874098925427018001413294470494809327274841825536", + "30": "39349295918782787440679267240707908956600518497269391393014839001610583708951", + "31": "32757745102683417706190882994574011250024626837577371684864966374698366374416", + "32": "10378422045359168268143655276949180380523554526659479511729656315605983861813", + "33": "20295155718568791125722514790729739347910862321393260313425396612833381792986", + "34": "23673313318641707960531293961064692186143094921293655158657384119991662470445", + "35": "8785396070667577989992666411528897019609520717717293376504614371173471548867", + "36": "4105435180062589839415042674755865976958947375050106721326799093268850695917", + "37": "45202079445709425613495500848516752301308963291977529462377843726961768403108", + "38": "44583613145060041115161155641231271374067442119672941778587718531269742487124", + "39": "41082691868835919128935860287122418783595901946872388164274532321275156677148", + "40": "29046324304980759156362827555335638076628152980071794850825882786495925128687", + "41": "18667535964814177829900659772648241778938686873519814281138220943998997612903", + "42": "40387146549309737497467663883891468396539144007385755558789294261647364013939", + "43": "13979902850909523934126392020966080066041119739795649557053411463088861758217", + "44": "17527637028087741448032923941231911813916383117712210814057933375044595533521", + "45": "8093583585228186186026281210884812121230182868152944202457872179246298741037", + "46": "26476544518972331283253815016259224039059162169809722353651089996545464056047", + "47": "16930513270556706168816870780416023598389664126082227060736388156415338467046", + "48": "26378167911658665390128023595423353673806432673057019895828190214510813544676", + "49": "36438971143067186466459211641069632178659359451497133561777853824712959150707", + "50": "31219984588343227847567592575943601250271080362604322004882881874762994202476", + "51": "21531408845797380042597696391618043923815122995271396214228758000829838292801", + "52": "45005119603522978749818109516984003357286054479567303857884173247462067307659", + "53": "52158206475962808364205342072108229411532691697245532292168363626638390530973", + "54": "22972056838090000140748294757470531319524401910776998371572311009586332693783", + "55": "43229442928392347842299135599657644251105686012690357203224589867278468699484", + "56": "5880835793078016588051561462709350330896161665659458373952555687144518761911", + "57": "24568610925075405039864661949450358667168673161553757339074381162686686643210", + "58": "12539646897245244286054609727668992110829914176219447921630768207798677120345", + "59": "22877905117837514250317404440252599030960777959680398572233601350668547841979", + "60": "7143486405429330723189502435109301316884002952786063678248225165035176463854", + "61": "27419536701911088779893332686301237261792647785541455115979948637938215988950", + "62": "22724626402939750092672426482330819282956047222097810847261056122387673907003", + "63": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "63": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "63": "1" + }, + { + "197": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "197": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "197": "1" + }, + { + "198": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "198": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "63": "1" + }, + { + "0": "12918384943133505870596332126482017188382093626741625148832869110825500058603", + "8": "37884471416135629084723192987622969071086230264500793597466006263030137077950", + "9": "40997719029526128938822562421152492865154216291293700642781556044594017130687", + "17": "28422544056114001658103762492539660648378977517899528721398186317915948612359", + "18": "3777851713579777371958374617881770761271960394744080397007051823789849641816", + "19": "20827762194490943506410781321651756764545592934544937415436559374710741109737", + "20": "8539356410893075195659365992316188968031657384439031113700177936830697517126", + "21": "46557132888501387188241359432113836916710605499313174639000457027283747484879", + "22": "34978267062325686259874599292218175361180457311333429302345318509877047033559", + "23": "35219361896831725206042534504188001395081288968945915824641456462653969075853", + "24": "35596816375591274151942729752532234635679149886114395569813380802867966213102", + "25": "47148162502421090881221294300417151695945096449423734460024056913379613668879", + "26": "29651522042631797561422500254422319203910570148836217744653014334164403772943", + "27": "1847631130218946164597098437158686334545365640077428838105219075711049634604", + "28": "29307134038554350007637632447404944007917016757747002014845600111364985803941", + "29": "51348434721896323438054108232374976710317278715495295660141702151571596569055", + "30": "11538985237996048437856555123431754598334681850862992672846414529606314266722", + "31": "30452492680584036611884799638558477586232445724533220827796413838743585021305", + "32": "10738371907775639766377402684062060893726283997071754458567283588906748285425", + "33": "42249561372145875564584798327160785961939181991103025819325731623408043502846", + "34": "17384460043942341460753370117147480611077456175890768866882184555085093185196", + "35": "7324475402400776752613422030297234561498002095837482724161990369315988202836", + "36": "14871871983284849586898314185895862721722540673412961437338782242046066203720", + "37": "8791752674186288337434719118017720160276642641087529536728799257142194019788", + "38": "25863809413522720318490550545243958988225776745373671280593540276989282981518", + "39": "35685300507826852096121812557700271526493381219144479637112669279809775634248", + "40": "17960006980736475815000058245874904596782169554537034715563879238696961989605", + "41": "15147995969583918611422482441824641725306720470228930566133362853229743868656", + "42": "37939574642141313900644464917258647561262068854008519949337337794397706450390", + "43": "24472467249941534687992611259859372933036087014776849400815946180270625819405", + "44": "34795645894334562558341714221686236743790934315646650188430670601999528951212", + "45": "38767101515793527839724033728231422891446012493820979522040624599261645637887", + "46": "51842944408328664131488103675314170545079642533026534611369105342485959007095", + "47": "26467268014976196626683570195589840758388162413314253062706483680791632384255", + "48": "36184737938426586089667113896921975582648766381854376917666556710832395679768", + "49": "22274491065043784835874413348941313529531557064357999466399937653111349248361", + "50": "19181509388264500023489727959063259557029217617589168959461022249029388383641", + "51": "46335338763635641898985867217132651878286217593127042861085708065485767667048", + "52": "19417656836045927120748987511559080650879372396173767406745654045758414567495", + "53": "16371970590349766009874643690622166771091797777676607265789270580527510135606", + "54": "32461066818222490038688311538299905988991813620133592752338220509248469684698", + "55": "35545969304008272171542829103829330482452203789770741905697711244411776816308", + "56": "3585214683093891494729552695583340390838793369189982744620754034343267965683", + "57": "5717250460095572680081036252697272856749341439526325479554925055633393920012", + "58": "45088810464445420970598504738085820976478745955450740198720035851613285424806", + "59": "22889678906707205465882207002697731324433984931875973764116893412533852353562", + "60": "20246726150842890101123626292770561959755012050100455971819281434059733660399", + "61": "37308293285466307167049349220612089335089218718450562346102192007264820097303", + "62": "11526891281939313199283915366936608788576466278315840466850096701862306953345", + "63": "19329167694872896057870546841567444325193072978814365109208504264676308420872", + "64": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "64": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "64": "1" + }, + { + "199": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "199": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "199": "1" + }, + { + "200": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "200": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "64": "1" + }, + { + "0": "6090669736471884927589246515939581624927624112611999595504716515722644260809", + "8": "18105251099585817569835043999385430215806563651193888127073386558902396596344", + "9": "41526291405968308678221194608828183005211853992667515271879265890974408750226", + "17": "49219509368077229192942071442807422097839945222055444899081529892516169321458", + "18": "11334560377258205833144348273135474091373431022959076454854066258193704327890", + "19": "2506508100877849499651303207301636670026230837692870274229885413361621870185", + "20": "40246447128506644978850804572358196374832247163743673671469340334972570231358", + "21": "45222439883624862587946396030080444588624721024093310773966604333822400945002", + "22": "23479663061856897000062310324514637771716867367139061550699779575420501026181", + "23": "23338022178919762668066885868754666854455717253264977457455256521992460756170", + "24": "2814596005228444192350999725740468647017485705068745797397179203863814478623", + "25": "32442123377203054038834281710321840020860763228199753516852116146595162114037", + "26": "22687386648875819875585015987517622435020679537314158956442276325533979531821", + "27": "42607835634976770906793119482717689012209402340391075236842715291294189368510", + "28": "36047107014043816788456772264444918742940686969403091181804639631605816343675", + "29": "22969419565233898168994871240159902827951596689703514828432608694723116107203", + "30": "19924728791436406491714484631782892851789178531173809577475349495899031819818", + "31": "7335824083778420543976623335391766319255872057519501385585542331257382709970", + "32": "14494490028954701737605930677483499025021395479613479506863034869705024032280", + "33": "3112583029899138538660285395956980830348094096912762028808367745082961581141", + "34": "35291127916319902928033830274267769857513523206153555626135063764014496603616", + "35": "4400714566440374574744561101193006149424032925832886003025102748254307346989", + "36": "36469376918303233933766274358971415066132066433752538835540242385238637431516", + "37": "47024657524237091558130579012841298812529206391204800189813171179474302353016", + "38": "28487291842040381413744735037427728615151302117837067425702500383621279598662", + "39": "29561222909992054111416571039982623683374336269353761486042174929834579869735", + "40": "50508781043589651771011556653927758176062057933242227547157410243315868497283", + "41": "17146615808929550296773456530763421355236587048146265440186773271443776958466", + "42": "23831093463760166157409078240763132662730977225061749719269163834674590937102", + "43": "9104073966198879983757819132314587834146985487258225551145142651317073690951", + "44": "37421392875808188007537851763884460124426196384618642693564751819575990531588", + "45": "12413895683646046925942597159696063185715352142515623481609090218549742921064", + "46": "22696357473199461416570771076555296991426639967632882877973822166407886576276", + "47": "44352580154064927153763751358768744093128095445229789832138430581527101309215", + "48": "48517453146321583484203670059007142342037697323539465805659974474904809507251", + "49": "21958683350938132268140867475785616243873969149206206814383773314047212966971", + "50": "1173836269856856295028964019110711116960994767738047215334016502772772047504", + "51": "23771401865152851318715410824609768029118131372140592123498772566769121634204", + "52": "31186850478596835615755162198441498862549854163207382962064308273977816309120", + "53": "825844607743784307945347104527361817104784350321657886580894118679002291572", + "54": "51134953916632441060462847180166796025218433023741590593889493636977505417173", + "55": "35619145164174505356266704107412060808684011660269423044995482227874707825377", + "56": "38006681173682221167228564483182169105601655732033660936879138556643675660209", + "57": "20160096619046027285451124384487669973338585183637016507512971648785247355962", + "58": "39339024394244310857002919951215253370549967835254042446049442860469731544899", + "59": "25412228166228200904079093833840955100111534127125963016657062390305530944197", + "60": "26139634550891915320553656446148719429708727411997914181042225639970370428498", + "61": "22720938231177202001939796125063120366308497298844865491888693096075225403213", + "62": "2137921758406683954443404933020497542127313276607299321099632492248859975302", + "63": "44525510071135339933687851559324847511100413984904835875185688339499873225170", + "64": "12441252914149718702295129466443083148043622311789141603181901700485078285379", + "65": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "65": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "65": "1" + }, + { + "201": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "201": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "201": "1" + }, + { + "202": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "202": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "65": "1" + }, + { + "0": "5818256914990297609452278687275570020517086210519703828397962481130049333349", + "8": "16886079687541724562690581328344298917364793110879854895831399777116893637240", + "9": "48120063633031812035166768434439480639318970907693851558904662831111112572919", + "17": "11549473686999029992645724506487348379462282945872767737452958571673863440187", + "18": "39497379618000149296711855719469117254948881653652385085599228212306691176761", + "19": "37626527554054003640119820408171354262180845137269474728630411854620460636604", + "20": "44176145540096700676915226978695765623228912160013981356498432208717092862842", + "21": "20172138230818294496585292994197552446414738915200862331716424599255839772622", + "22": "3539763778150435811442849303703688861172949084256459494751327464542589249373", + "23": "5302853349950207638849857393260799479358798568039238517212315122442580998843", + "24": "51395342537742067628806524007746481375506598953772175556135273664459639749332", + "25": "46351734528949099020871844310701449434921999874202492674249947563040312692035", + "26": "37156572147558103991677908746740193329131617612478837467906922459217526430096", + "27": "26541857214625046890505606346464772162956284166089401764860866768125413560399", + "28": "49272565304209497471309843271642650670664477617740860126201160730526378524153", + "29": "44641233901811704474926795588119527505940031447103674055906826303067924172063", + "30": "28928119520625370614448507762698367735494676561915670084893760419469006658444", + "31": "9476171922760572905935739764332931346265314610313639961960034605297840304651", + "32": "16625567146320184745768815198749953598851527559448099631478480473468954425474", + "33": "28329392871781854888581019046861902447981492336476457427733271269769529906676", + "34": "1369661764262020529469445937917483207891748653198732779280365052042746176564", + "35": "5483583649041200701150335130100661262616965605597784004779741143891263402163", + "36": "21951495011660570322796526825334043519803200448462712324197994917016906180456", + "37": "21398636118643343201390659672066247311875318621993092564779843538570692735008", + "38": "13307876292837631461539961906040696053480825242606323465448584389064203081183", + "39": "6236991249635313076879767685753337320622240980129205013195900938545317467253", + "40": "27835397807967762240261088384156775751784649430355373484614647602637774534671", + "41": "31790069572885742795717808500100960455111161536268504809957780615304573694908", + "42": "20071865382219335471577788449738322920232578359084575210043654623954973932390", + "43": "7535528675038112428031242515022606349587975693734031438879292876905951865144", + "44": "24115460360816387445486595341638181040754598857512413453005479045949963684894", + "45": "48865535761889611418824055480388360015872134554790443375518319438802297547250", + "46": "40456865076202821997418028814632984105252177423838328529121856187471207760025", + "47": "16943061436318094287561257477872730952359684242562932773702873251838744337353", + "48": "31207628300866901298463342096415156137057489675842168463213931480649376071490", + "49": "37829864701184972740812235598093157528232987956785507447008623045734747424867", + "50": "20737210560007762890923805944473968159483894557805546906694965050661342446736", + "51": "44725602815927210898029025256526434834414763708454075680766616021284482042493", + "52": "23822670638298706943959556384153359137573323565974344864429928793545362373032", + "53": "23490647444586733977238678750275615435881433066126286406681597357542937199166", + "54": "4442368127083219467359858382639898829367068849341350637593491732272100353862", + "55": "30002259305586097863990530495065626559773373913960658802953486745450099759553", + "56": "8801453602701519111052530988408105862276180928197579354183531401224304573101", + "57": "12532869501606963398797723910612090230718937099261431263334640622293692290665", + "58": "22317619582477753815482091271128515364228446601650063371190563728683969728070", + "59": "51551507597405477301911508867764058885057517166346227055341170599660695333090", + "60": "12487389287258251428934795629306210046122136011424889557054482782731930839930", + "61": "50049286197091948785630681053055790564422412751107260739903691917452633628501", + "62": "13097122013095355616930354035744060399033782903029472199660181880283766937835", + "63": "15281855757331157959533326633520498980204938317757711805812320117113995302056", + "64": "7785813985806907566232330210379162160750217947757546496340799009824587830275", + "65": "16275755461783187583809512826957500092486877567197714174133477045457407719651", + "66": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "66": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "66": "1" + }, + { + "203": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "203": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "203": "1" + }, + { + "204": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "204": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "66": "1" + }, + { + "0": "21665668991006174860786913595488512200171275130423190085616080866607498513357", + "8": "30507404025381522269600131880367962444871567514246386809469375298884173043110", + "9": "8875539339103436460218999392495639490304489488901678588388085548698629290375", + "17": "31204636303324709434999301738982489604338652711355462544530211397885986877711", + "18": "51846145419202947923327749015372367419306272995524625817328537421320430442239", + "19": "1111718517356132532386590672129414904199161187422505169286434521433370608479", + "20": "14544241264016276951029946978958111569079385799757550086488106899444827457842", + "21": "4267787217702637664101856010688561941421084834277670936342248046379441389167", + "22": "44899608136002230894196449081929888490051554629422855436858915883604068466546", + "23": "52330272032963331145889624003938742272270289693598161106128351449541450753763", + "24": "22572195481986825892758038478573625010204260601764183633754280744995582703762", + "25": "35794334857998514323903583605094999232820689675686940869136423897134931675488", + "26": "38785414255245004492635961001004501653408126959239598918419982980859822274054", + "27": "50191488472862114610701949559547755110863200324993249084218765421223986993350", + "28": "199242690165686288073913244503430578113264484790644664780849154755014186792", + "29": "46383900825122832006482745001285028074169464092873540455868614874656314567126", + "30": "850983914612468364627065902686152028620080509323729024544645589854110617387", + "31": "5836497826779138043522959714413400435809938416927786929179703963888146228859", + "32": "1784393604819848437454000489646311656328319520328328583736364716606488345507", + "33": "4146278025383699246168139850447714143023267822452214392560565435738887876599", + "34": "23431500533368174412390803946628180151063938913480568111285430064921914692158", + "35": "35888234271154605161351721061806105557630325284349245823055538970225020471026", + "36": "4469363946371184696492043002684100839918548381996842877990046449209210002638", + "37": "38071831341898010261465071397541893469847318059491195957229791252292399356917", + "38": "39567776739556138363273968517160372369626996500353570946604384895739839584059", + "39": "40917172085802706071657971434472012495079766543834967122796678595363781360904", + "40": "49389974474944355249948888394445555273223933347564691577485627516521874006781", + "41": "1932404071083105703701524852002897608493085449532510425826262742997783288221", + "42": "399534921351879543424711924539329248284479211244687002564025160460570901805", + "43": "26425394299857290643386038211766540784307009640320527060942463427276745301379", + "44": "21859962362666448427681422373195733201404130832094422848590978814638696650587", + "45": "8526435779607488789490052945552966754318815158341604630915538292938845526498", + "46": "44576254071620971100146600001786112291291380389478450630028412618411598248620", + "47": "17106549514958316430045624567551382874469495708991882176345867756050584090460", + "48": "32404030672645571745776353209772645610996757728421467654913069647807270673015", + "49": "25372360495812822398972241094506552408326261090071227231284863564308763830455", + "50": "30046288344231147739273279154052856278368214827110836559539783191839250091743", + "51": "45084861332213492865636229857128093772131937665846776582036980131414987663493", + "52": "45765275839105241652834088562886647103655014791876098579044387490654984850556", + "53": "3124055724428637395135659647837257059523349642196739624095905473716900902599", + "54": "25004876446586064813934950007146289962807962920369542094480609911962504794042", + "55": "47627965322087120269019873344546673114991648862075255773883849924879527522125", + "56": "23132172113907149861532396473924934847100690812932747379469146711379912405042", + "57": "42629253066145047719028230487301821654265759428883944266596267612570718789348", + "58": "5943001090118508162539351810387751400551993261793535136057052569165765825830", + "59": "12460475920522930922004415615623509166787837909275476044607188615432040726225", + "60": "46843820541314873774898523881983574521088091530972191296511045440327015033072", + "61": "14067123983844959682538161310095965964167648712957484795009820026164582381074", + "62": "14119055534806965132731330532400309559074028456071264674781592874812544450141", + "63": "49050943537647976300239469521371615224390921443321014892080731068069501025948", + "64": "36562725080363385624164461347437875870902427394549599270213519318021459865031", + "65": "49337876944525854017704900047138067109843203981615246324454897016961714568737", + "66": "7633106466419211795855349573109400483930333323377713263919614912900007318455", + "67": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "67": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "67": "1" + }, + { + "205": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "205": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "205": "1" + }, + { + "206": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "206": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "67": "1" + }, + { + "0": "2268297495968854614780848291068505574765456615293615512346180903730018964697", + "8": "35877990414132628773605193313470305323317814794935389655621199110738954837930", + "9": "47508263265065616565570489821155015752960484475610334461200710438181333320611", + "17": "34993532542453944782979069798391451723163362083392903233557958548457185664461", + "18": "13946790474995103029760579402879948960490746331685120471338455859016735048311", + "19": "5901599305185159007975560094616575851505988538342891876110343594489658570608", + "20": "29928404026726806152943356875525932448637626674882100757214354576984966884468", + "21": "49920664144093215447123878523612335841597358292738938595431798228135683243263", + "22": "29183082832215219415919710524036159512602704549163381090393255614084206512487", + "23": "3098312088003111151651874596986880311682801092261129304427154548059658543501", + "24": "52355399735396209126434734733906557274349910395682880401590612141527747011267", + "25": "20311895988813568086604447001343791076437636703294720569920436354588084488412", + "26": "11317097308005776684955185499374537793813088950866298750942236326874829776010", + "27": "18181996769109491533831183038613760199412477790365964460880177327246591485895", + "28": "16565696322261620813963399706583313549678131517253913742133618117724633126384", + "29": "44178028625176747457397681326359683868666696971148465888162563174035251275565", + "30": "38966834234439017273064047550249941995200699743111551759739450629829303505192", + "31": "39710776913835611279773173882878998455404467744588108206406048176458944163414", + "32": "26307267385156089604749558269874327914501651529986548980701524025540511606704", + "33": "9770225215092028816593376862101366977309661521800335443692058949454680095983", + "34": "35261394279360843085455004570849171890873533654631950487518419775167834053794", + "35": "17032654095748550186921526559790477729405407243044450010473191183935220095626", + "36": "47267290706759194779749403039573114633535476855059484854433648428364969127846", + "37": "49521191618268604122833499491546422926314297069208628898242672088079247257546", + "38": "36488870844486706860274103279503297345323916209771043884753231642539946511567", + "39": "23661630248342976796394953001897902025975495504377549453605686753250476342768", + "40": "2442309207508135740580060584660569878787082124636639469460095405504941546415", + "41": "32433039857633585405348572521286352753051022553763587133322973179785228004702", + "42": "23373430325134341564374600231059458367357804740037904695429377573404458598329", + "43": "42126889597291198397251298863497822342481205374510784432119973740468648212136", + "44": "15859486764029342941273439325843903606406770011573061562310801627352889111151", + "45": "45087109542147330325668865737995461133456581823315464974325553553704382801784", + "46": "14452179250861604040765499785175408800203224749862047924816304318262621594956", + "47": "17144917191806268086959561125255161779452614799253146195852421894573871720932", + "48": "10377364284453390405152984373158716609162878046888675265631266476888733118630", + "49": "7358894747676596288502669068422147377112035379280138905658048225146999120370", + "50": "27104349451124518266527554031794280080077406188302534178981859553938710405172", + "51": "13548117566822831253753893830960538144353363808076203114265716335983139660913", + "52": "5813665685938423371174187948977505230669545995930835790709433610904873891158", + "53": "35010200153801518012357001201569280228032473364221572970546426171016514727260", + "54": "8785914674829638682485428870526287117110406229548059834565682842442278791520", + "55": "33886343070008821587037508535012919043970555361603486500896135983365045881841", + "56": "40471542637260246260337945970835116683190556911775665131481846516348337210818", + "57": "50772393795118986662637878085089223691951270244637696147762773051405511599347", + "58": "50753684863262172033541609577795092927309370385750442004030999087359509178024", + "59": "41682731753085550046420817738828916289699410156228435898840882883631225679282", + "60": "42131816690084251573065091413248422804960032593693648819011413706622920230327", + "61": "49097085622213271749682042666943527374252071464076995078188797361569829418449", + "62": "10610863780848317008455595187171729990515669742149544234074900074746732993427", + "63": "29781002550204903658383932783882304271542732656029231451387470735822187075338", + "64": "51776527002339441103956894491367914103406030116412254049590845879491484759220", + "65": "32736693839639572947835522920629067561896969430884632639799539126874894890057", + "66": "32771828863095421310334648684039980848345628200719161861599593264420944609532", + "67": "11837011406228020095853680681968268735481893787424034497353581492517584470585", + "68": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "68": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "68": "1" + }, + { + "207": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "207": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "207": "1" + }, + { + "208": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "208": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "68": "1" + }, + { + "0": "13973211016421000871032597822807506910708863418864348758128380360422656258892", + "8": "41118576002653327499770609016905077860087172937406361336819233815720214462936", + "9": "11517314634182668778771923197452888350046553913028069763707252617830626027291", + "17": "46587966413583243472263752481180461965826054643500807161411831304366826918546", + "18": "39436213021122964038014245952841684080810261617186442986621542783795249860062", + "19": "10018932179513029553888257484959005143128826038685423381503216025190052086095", + "20": "46460985945321966592464567466362026442234216503146633196537877181564391083476", + "21": "5908883549086915351765209385369358621971094877303381421917924256599819056410", + "22": "47960967091060216008075176276692203902003057182173975056120234521311565439593", + "23": "49883038427772347064611367186764889233875975879611438271784458452096273618434", + "24": "40993746929720535562602719169864240408884758852996005295971689780806548680134", + "25": "35688053528774992662759004656975229975934343876058043844830810857648560015072", + "26": "44028534546221291488523454446789123620353471121272351679708253761199035390732", + "27": "20346104874714566637789752714312695131443184600416931555253511747454845249125", + "28": "15812839473998102219043608654885406364356613079752581678150131820915664665163", + "29": "46286554907408251919609236558891349821694038099582976464342711939836906152887", + "30": "31702649422986590810892657089742984286878491272823648297179723179481267741197", + "31": "44780221370017494066854628494754555526078528612759659270267812530788072156742", + "32": "48619117205137954149057858905660464806810241495253957117013513237262764634930", + "33": "38560325351523745974420206197086782236927412873373082012481006118556803825594", + "34": "19740160354550333981745868986277470578854391505450441041161324441829111815779", + "35": "50931635444526673034687009335803999897525768626455469728589872661682795986450", + "36": "45439521820153132828424846573450275866573360061787681356223254678804194735919", + "37": "13271244582374382551016842801156570419421681090068697938089697133288725563519", + "38": "14752503463130422563759796120682237281392968535271599546430110081533286343064", + "39": "6911092654582091827842824292020762604327519934363302553266764620429918730636", + "40": "14340036000420207043348163927383816914746220288770559736021681161648993922410", + "41": "40083516194373381922512640448412979416663195485914765860317920452914894137528", + "42": "52344664480053029839987054306285306390036343318460932681161781276576860269724", + "43": "40578040612578296951712727693847954128466356338067225008030144085494953494740", + "44": "7648018416564067493763428363704200774754966109444175367096507168335520864212", + "45": "21680403839205765914026199590281113186237655529026051577642916763972951484963", + "46": "29828865668769799544354542262967935361939111516793405358539406238619305184889", + "47": "26572034157615763740316582558341821743972964157027373462938375555888956297754", + "48": "29735951033867555626301148938281567725499380253026544707851743576969595221161", + "49": "37525459778110246792534870473864244146624364672574355088530612450474543472408", + "50": "805462877325465322522426328091680911339128260564495972276581418717261478452", + "51": "25486437027630641623716268653384580237387229341488144306664661553146846157871", + "52": "13985216014824674207436227744683187903200441927312966213037656845990622275732", + "53": "37181615508203272185119848305681855482311707276789788769018606670808903478486", + "54": "8518023537973289982243295684343710770775440879699134108415153768499953370401", + "55": "10058459074016898471452840172912664549765220738943102031231816162822299966275", + "56": "22917775133588387535647206655930531757782137657005273743589892010467331324730", + "57": "11961339413556332976088673229764685070633315809136005504541134060474735253358", + "58": "47218599654066214746513620730589797681782218986557446034580471365233969709866", + "59": "5589922617318229733440721291139666829941324114830458247390575227895077000996", + "60": "20058535264368568287169176021088436914579925121615582694002098364429021007324", + "61": "8465883864765429819610880788915776714870297415231000066513177018199257137978", + "62": "23699955268385785740204419017620104605659712114837548974541208370921358568742", + "63": "44265759655466264888409474845867917501364819735158580748689773146308403884072", + "64": "9779152584303729929638748541358088257552442603356569841424553548910411460961", + "65": "39520775488934540054907132289078015595467767018120758223570587099591342304980", + "66": "45846561339321469409997990214872591231331282129670948960544001629672878200483", + "67": "9425348310700156528585241699227789683580378754416749705070669108621520025009", + "68": "36884896577898408680381200313233480677158898830630579614146907563189332449201", + "69": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "69": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "69": "1" + }, + { + "209": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "209": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "209": "1" + }, + { + "210": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "210": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "69": "1" + }, + { + "0": "11877184595954796005081407550764117823731241224470762866371883626576306508793", + "8": "21077572762623317419569220287919719709976640199312587691191332146075002902469", + "9": "47949632535208881392940201692077097151432614187331735396014917149206176691857", + "17": "38368477391238281893446748243478931109162269572982511754265021508646667481923", + "18": "25010413504798967911155724953359844704156939603246355564059432326851066180613", + "19": "49156343244768099675507263330427440646916355002618236878522293867646082309965", + "20": "47398467239961958234466795312751095872158937550036197115446880202038492448125", + "21": "14129873784233010472773499602376510597095087957746542793734434604295373938675", + "22": "29645669308682900740034715715100948145589549169030371988537832513804587806863", + "23": "26916306213900631366930900630691008901047983616874092235502421882352927377047", + "24": "39648316014469838046546777585395244407900626971317480765008940921476609101544", + "25": "1075805810326825888038456416810460180459853549169321212979680442629714834774", + "26": "26742611581046357919373890278067256831153690674060993158535463378878746430898", + "27": "30600176628266458666269452096167292830369044471722493024576650779825622135273", + "28": "23159865426933824627394912105045390189837788685453318812972678308193378695975", + "29": "33569207124589688449356319675784204004766931668865931971563994396529906403187", + "30": "34389668036370475501299119755998547058607688303732622516542000160673745284178", + "31": "1201798707829091660443727337089362654847125778464792356989113770070872288364", + "32": "29845572639165180741694798393928453145630079926987904517665346038212264126028", + "33": "14631160877490948079244942474541244801119854032928433756504111740729163437383", + "34": "40080609753519506809463229070890236419441886724017000051197473396542219151180", + "35": "8361138371948448311285813469916607579830825766161994386963750786396662232908", + "36": "12650985342504995539624849254867256949345148623701600985535203429051574018632", + "37": "7576169417291040709717076728774831320541040624447298181739202248122313602171", + "38": "18087080399845775229095049378903056573173506668471196548912476771635857414001", + "39": "50946534756837223531540116488572134938982654402735777739074427414259230825084", + "40": "36152430850120088633186488364406493550709113103942086102379778957087739335638", + "41": "993276771261256858857042169222506230402365302699752273013455852746280656405", + "42": "48568789680343666247707229903211391584965211102334428224951392271516929758637", + "43": "40636188859159557363665675749214558759494650452686193026013807368515210439665", + "44": "46029772444293865102396247527894365699964101588507493497848467960320314917280", + "45": "26249266637970821250701791146259620460777979049839894716272063798452506263392", + "46": "3588323013854012084629250665015774914417947451028956050559283871784121755564", + "47": "27109590105706386751911368719399129408868932064117313119612544754388330338756", + "48": "22842822545771342020646655049319906953380200972650402611554077235462209818744", + "49": "4481701207614816479212884529522984229788773295017285833734949187833907248712", + "50": "10213800354335574509890090444126910081412655199462394453887866032412554538590", + "51": "12911943786842739437184473431475581999292974959447410640796233279857677718817", + "52": "9953473847777408282039697356162319099764007545595606707817786873433355552161", + "53": "675850546279934170761900219528949739849162557392919195060995017481269405765", + "54": "37630393373926502771973655787529943576221548029162459755560034000722212554220", + "55": "12764348908927968630335282140605320883671604457737073667542217034924708893770", + "56": "50706245930980412763274865723812969485072355822647075620217603803995672106738", + "57": "1170569840686578571593783892921588945640564395618550102898663714722873711940", + "58": "29844653650692950920043964778460482972720627374742711739308279164116089505999", + "59": "18464885054601324998317635257092757153354585078611883357060516344786915729621", + "60": "51034031034174421579001461851074144295242117129458604025079465337815247802023", + "61": "24778955697552677253359729766728952442064159772063529404597405190760506153776", + "62": "35206763652405859372781596551484094937589677394707273006733342175552221105667", + "63": "31863332156332650826523486148821675507937894505329655680428907528825075192970", + "64": "14038018066923710868945460054543651344949412340612251004206451240197946620657", + "65": "23525190361144736246461695112605588687199766313886609569060779022129805130977", + "66": "17484638440332673076423669239950516695781461642246077937558618388168006796953", + "67": "189980255182371897597600816168632001776805331922811265704365136911656262124", + "68": "24043117171463576857503106808380901670448450454427930556859617127529380363547", + "69": "34149607076551728407708052728215864049135220529716137798707999116075456387995", + "70": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "70": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "70": "1" + }, + { + "211": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "211": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "211": "1" + }, + { + "212": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "212": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "70": "1" + }, + { + "0": "2986065710695845701959971763474802354333410127136499986005712979427956719303", + "8": "35928033466469113915043399639659388115595663327283483801836439615479370360451", + "9": "40455696369433843077729463423522566799126738105096803929288622280384348928712", + "17": "2070377821046805236887511169366792863565516199982155060750665611222443841229", + "18": "730266693970874542560968442839009003247188377557906130365397968370691750417", + "19": "21138048534877331069986216811680624563608361852946363167193856132642350499660", + "20": "47164546506419339267836876747949063093737113469719759935655345354175695026251", + "21": "30689185748703448234262132041340737297191063057911488291207396644118837270761", + "22": "18508814609533103129334687336852918949450800547802509687407995851128967364963", + "23": "5852588888356612910346079734468419350005206662329154334202689194112205727300", + "24": "3555047135542761739892507541791743801945794749751857066182727427049933710893", + "25": "6639181535566491953974324401044743150841192993343491074436125450940227135055", + "26": "5851444073600198297694472813949071919006059063818543724416081827962504504455", + "27": "46983190224538329950814556464139887068003818146049485849434972826866168614374", + "28": "8697110141815640923900358979950681479129278715519856719055192743061215189617", + "29": "42530858223969591383395652764346595577610068291560698348594871574243031887285", + "30": "28860976429283117875296951042629926267242349167693703055283898782129110848792", + "31": "39222892625571798302193951119855653828010755144089781462171043545173093187352", + "32": "25623920506484621652151013395132601662109142971090867154192510091472183782594", + "33": "6391294981766980758283359864598595564697710719915010115264829367667854611192", + "34": "46451619290714364797693593642112763687588469131175214823103449147068414914034", + "35": "17240676919560983407327951682391068430770222764862316748636651866053990698555", + "36": "33366828914434098972007358155103089980169384334739186333007962645150352073419", + "37": "10632265051260395101050517032159416883846080570056035198885104064652185608820", + "38": "14416105698668853344640206915482771885878288795304414277409458389310797881391", + "39": "38088285821811880332554533768367566906014274035598876032707127345197671837489", + "40": "46551418669439584200367247624531157159271564636676819172694701775220490399194", + "41": "24069389258381007174795235175796955597203591201567527460663172487081987433085", + "42": "31753491251047646634605532864497859067427711586357734480288798149316140483124", + "43": "35178258159430024200242830781396645242844466975304637025752813321412734099007", + "44": "8369759564623907108809020485256827974567250367000339427158839312625933946525", + "45": "47411799307031349211535248121832800944589222307800413519516151428178838010107", + "46": "17328197013774692120227851924722557076123775194668734088611376596866252307296", + "47": "3760127204406038742193762424839913221251768002357627140397901595701522492263", + "48": "17985365196672519940580341363958816473242798899364389661910095578528202341893", + "49": "17693147066671922323115166114044719695751648431858680522524038525195464472332", + "50": "5489310968146209531357143264968113861759434868091837256787531634478361489244", + "51": "35375607401499149611482639914370819011725504562403119428726316554210791710004", + "52": "51351628495562155149497698508457115177297831960488961711778767913139690999193", + "53": "24957314171194706081102671073644796793995739859511589051864181183579592270868", + "54": "12105214646230891131780055672970355755166280383461428072606712071701107820279", + "55": "13179785471006693208604028153235715933529590066614188792204748586533559343592", + "56": "29893964794106339042552443210878469249605406390493565693907590145799849581043", + "57": "13596248850589751633857848518076689125697626157787175263485056558458033483842", + "58": "8582371658824332645706752589609387815429932737009768296224831719122569432762", + "59": "32562867404828714525984124243971410561791224667243626040633861820690208762364", + "60": "4453816334057594981764115291155509081507978851175408950488981839489846059036", + "61": "36861558607422300624556589326824847427492533044157555614976027764147427571011", + "62": "3455617056076236170652612209496300062617326735995286278209221884554029737307", + "63": "49921233129480260768874187309792633646731332813540716331743011743937278080127", + "64": "28268135617786064985980604001406691848047249873260611671862767944965542978866", + "65": "38263875450537017129854351492513619516118371271445500512663148301365220256408", + "66": "23367921261126045456779665113846185824412816840217202773358575734522557992141", + "67": "31572013062006945038546150522672886613753816005900237824931889114428318884439", + "68": "33586798388780967328587204551546640863662079613148093423751107344313410784776", + "69": "2243339108379557042512080931962882760520111113917229879273364571107655112334", + "70": "40388393748571163542126751569869832775620735909491689280521974161775256552780", + "71": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ], + [ + { + "71": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "71": "1" + }, + { + "213": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "213": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "213": "1" + }, + { + "214": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "214": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "71": "1" + }, + { + "0": "12649794127562509279197585900369868076945168057811626745015439261348449322516", + "8": "18460568301597491007878900164052362248927462612777587403745087254932995669265", + "9": "10691064190862303452862603750199024193361775633701698219738043331397052322546", + "17": "50537756005483669615362774033579150435007325241201758409523155475539598923852", + "18": "44151662351522130204771062960801610572369635275211081750592416116600686257816", + "19": "44612985953893012963177362368347100205547474056889298641137417191180618350823", + "20": "46418612556749627983869955597143431904575741384127508709314192592764927221051", + "21": "46792430355948421686541864746937514997785791612605035230581794650060166440164", + "22": "10372014107294763511359448987347871729024609617665964681852057762277632024668", + "23": "15746914484703176943512617861662741217218839026709246646219030771298623339390", + "24": "949837953556186423580297077566238417367075194047097605831825235696240068504", + "25": "15936180135839524274618445341411624509848805467084480095563639515175327863019", + "26": "35661399052929284108306355547044524619400966780651402243253505975861253383056", + "27": "24303633886164997277195266046450010738147861602550592940768478514120593265339", + "28": "40770339283421435760717228293893053420022897746389072894172136686544980088755", + "29": "33631671877045108448110442153973608669336179496669197300149420913676619854288", + "30": "9735435212281313786054816818889380009732606741754008415341978388282611227769", + "31": "51356374076127903498371554796174649537256039802839729838833628877209893874730", + "32": "28603229448651344033544366114133355562345596220279885038057779594832037566804", + "33": "23932726774945329407028948443366546176932844943954767819203057641876144392801", + "34": "38048486477770062168235160169293363458518451096350594627783892339613045725906", + "35": "36667819662104189201565795928529578367737674212176196308756611302364276026301", + "36": "50312369276709306482447794879275303865858679848556909637163630977683758889073", + "37": "40640974594601385122998575282605604993372302971083166882961772980998039680049", + "38": "46573152329527245401147543333094999402550228387130577499113770084243033958320", + "39": "4923275582039348818678448104674287994231344646794752274649248326309595068437", + "40": "12470069672650358918724179454112997355528814449425359438655565554900493437091", + "41": "22518837206951281316923614032592840442877457370143896669898972215304804784639", + "42": "32786387939491905527679653399783341165477604395489634875885725964058062164833", + "43": "26802895997331561650984867742399229411641120218293853043084773960577450868179", + "44": "24838662905607941363605394876572784693539918934144065118606577461309780211108", + "45": "31216193637639764020618021860660659250283820023138966889135307674873264929725", + "46": "11911191095174083352687969707419195808840974547678014728491981206268612459777", + "47": "2362080850717757194188202462187416733947181980738241126975915103449537095882", + "48": "25745662595065700561191293220788139662001942770437723891000012600653461719208", + "49": "28140245600139348990629268116527996643000598625891819270010751243053721747648", + "50": "51751436096363252081363858113432111194503598836372712351332122404701061867817", + "51": "42108778529760768577798404187086628077490577913866117385024205732960377183078", + "52": "30813992311307374443071098934374584071612224649436358113020328600892876683139", + "53": "23492712686485208764902374462231435151209281258529959599300917398612926412966", + "54": "21519074573923031735018942202953742465795451099115310478204881198120764443717", + "55": "13279171940868488849400911348327262210848933822776793527584881528283026293779", + "56": "12065508657954377182012442695846643668233069476721162280958082114700635570417", + "57": "33809005349166058723728123142633200741310625521089992988520343036834657925652", + "58": "8168672220202151212224263402279952306120357211675188061793483598915640145790", + "59": "15840669771013121078993052531823132314230810375787734921546473546120793141259", + "60": "18811932207167141283135007664707227029592461883819414932716707079663507029494", + "61": "21370791779943868955072368082811193781258619493887306245699009542099935401902", + "62": "49030337676146277014704635145026496918996124255134633124406378833861771875818", + "63": "51515549193781248407019642817274561265310256393252259112547694057575168432224", + "64": "50706129836639190576468860988978635963401544111522556439056991219437760065548", + "65": "13819020399578701866935680572677911254391251122844270501318808538845470781335", + "66": "34071492461230958221148022014425493214874680643170300895570809304852071684454", + "67": "4262010540554351033770919624358198470659271395352575610869803763404444267802", + "68": "22508706532220565134086795478143129387737417566374055363406924625643630876217", + "69": "33785686673947073827057590402236732655718193466954214811102353404447372117226", + "70": "12113636918360017528534055150675411418158770816781946695031665943694998962669", + "71": "24250644043370111356525371269458070014942797652829008403143883916486475614791", + "72": "43286615009455031784719797295956349308039236872337887241869415538128324649873" + } + ] + ], + "map": [ + 0, + 1, + 2, + 13, + 16, + 17, + 20, + 21, + 24, + 25, + 28, + 29, + 32, + 33, + 36, + 37, + 69, + 71, + 75, + 79, + 83, + 87, + 91, + 95, + 99, + 103, + 107, + 111, + 115, + 119, + 123, + 127, + 131, + 135, + 139, + 143, + 147, + 151, + 155, + 159, + 163, + 167, + 171, + 175, + 179, + 183, + 187, + 191, + 195, + 199, + 203, + 207, + 211, + 215, + 219, + 223, + 227, + 231, + 235, + 239, + 243, + 247, + 251, + 255, + 259, + 263, + 267, + 271, + 275, + 279, + 283, + 287, + 291, + 301, + 302, + 305, + 306, + 309, + 310, + 313, + 314, + 317, + 318, + 321, + 322, + 325, + 326, + 329, + 330, + 333, + 334, + 337, + 338, + 341, + 342, + 345, + 346, + 349, + 350, + 353, + 354, + 357, + 358, + 361, + 362, + 365, + 366, + 369, + 370, + 373, + 374, + 377, + 378, + 381, + 382, + 385, + 386, + 389, + 390, + 393, + 394, + 397, + 398, + 401, + 402, + 405, + 406, + 409, + 410, + 413, + 414, + 417, + 418, + 421, + 422, + 425, + 426, + 429, + 430, + 433, + 434, + 437, + 438, + 441, + 442, + 445, + 446, + 449, + 450, + 453, + 454, + 457, + 458, + 461, + 462, + 465, + 466, + 469, + 470, + 473, + 474, + 477, + 478, + 481, + 482, + 485, + 486, + 489, + 490, + 493, + 494, + 497, + 498, + 501, + 502, + 505, + 506, + 509, + 510, + 513, + 514, + 517, + 518, + 521, + 522, + 525, + 526, + 529, + 530, + 533, + 534, + 537, + 538, + 541, + 542, + 545, + 546, + 549, + 550, + 553, + 554, + 557, + 558, + 561, + 562, + 565, + 566, + 569, + 570, + 573, + 574, + 577, + 578, + 581, + 582 + ], + "customGates": [], + "customGatesUses": [] +} diff --git a/provers/groth16/circom-adapter/test_files/poseidon/witness.json b/provers/groth16/bls12_381/circom-adapter/test_files/poseidon/witness.json similarity index 99% rename from provers/groth16/circom-adapter/test_files/poseidon/witness.json rename to provers/groth16/bls12_381/circom-adapter/test_files/poseidon/witness.json index f1f04e5e6..a145cad04 100644 --- a/provers/groth16/circom-adapter/test_files/poseidon/witness.json +++ b/provers/groth16/bls12_381/circom-adapter/test_files/poseidon/witness.json @@ -214,4 +214,4 @@ "29482350774506460834911775434289284636076790873529229986358190562715553147296", "7355713467418524104551097122274915015585762546353840079921844566090937499189", "8673129290913470474150926554000534596184420371100078985496163687555927065286" - ] \ No newline at end of file +] diff --git a/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/test.r1cs.json b/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/test.r1cs.json new file mode 100644 index 000000000..35cfe3d1b --- /dev/null +++ b/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/test.r1cs.json @@ -0,0 +1,45 @@ +{ + "n8": 32, + "prime": "52435875175126190479447740508185965837690552500527637822603658699938581184513", + "nVars": 4, + "nOutputs": 1, + "nPubInputs": 0, + "nPrvInputs": 1, + "nLabels": 6, + "nConstraints": 2, + "useCustomGates": false, + "constraints": [ + [ + { + "2": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "2": "1" + }, + { + "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + } + ], + [ + { + "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" + }, + { + "2": "1" + }, + { + "0": "5", + "1": "52435875175126190479447740508185965837690552500527637822603658699938581184512", + "2": "1" + } + ] + ], + "map": [ + 0, + 1, + 2, + 3 + ], + "customGates": [], + "customGatesUses": [] +} diff --git a/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/witness.json b/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/witness.json new file mode 100644 index 000000000..8b47c9ec8 --- /dev/null +++ b/provers/groth16/bls12_381/circom-adapter/test_files/vitalik_example/witness.json @@ -0,0 +1,6 @@ +[ + "1", + "35", + "3", + "9" +] diff --git a/provers/groth16/src/common.rs b/provers/groth16/bls12_381/src/common.rs similarity index 100% rename from provers/groth16/src/common.rs rename to provers/groth16/bls12_381/src/common.rs diff --git a/provers/groth16/src/lib.rs b/provers/groth16/bls12_381/src/lib.rs similarity index 100% rename from provers/groth16/src/lib.rs rename to provers/groth16/bls12_381/src/lib.rs diff --git a/provers/groth16/src/prover.rs b/provers/groth16/bls12_381/src/prover.rs similarity index 100% rename from provers/groth16/src/prover.rs rename to provers/groth16/bls12_381/src/prover.rs diff --git a/provers/groth16/src/qap.rs b/provers/groth16/bls12_381/src/qap.rs similarity index 100% rename from provers/groth16/src/qap.rs rename to provers/groth16/bls12_381/src/qap.rs diff --git a/provers/groth16/src/r1cs.rs b/provers/groth16/bls12_381/src/r1cs.rs similarity index 100% rename from provers/groth16/src/r1cs.rs rename to provers/groth16/bls12_381/src/r1cs.rs diff --git a/provers/groth16/src/setup.rs b/provers/groth16/bls12_381/src/setup.rs similarity index 100% rename from provers/groth16/src/setup.rs rename to provers/groth16/bls12_381/src/setup.rs diff --git a/provers/groth16/src/verifier.rs b/provers/groth16/bls12_381/src/verifier.rs similarity index 100% rename from provers/groth16/src/verifier.rs rename to provers/groth16/bls12_381/src/verifier.rs diff --git a/provers/groth16/bls12_381/tests/groth16.rs b/provers/groth16/bls12_381/tests/groth16.rs new file mode 100644 index 000000000..95b920bf9 --- /dev/null +++ b/provers/groth16/bls12_381/tests/groth16.rs @@ -0,0 +1,43 @@ +use lambdaworks_groth16_bls12_381::{common::*, setup, verify, Proof, Prover}; + +mod test_circuits; +use test_circuits::*; + +#[test] +fn vitalik() { + let qap = test_circuits::vitalik_qap(); // x^3 + x + 5 = 35 + + let (pk, vk) = setup(&qap); + + for w in [ + ["0x1", "0x3", "0x23", "0x9", "0x1b", "0x1e"], + ["0x1", "0x1", "0x7", "0x1", "0x1", "0x2"], + ] { + let w = w // x = 3 + .map(FrElement::from_hex_unchecked) + .to_vec(); + + let serialized_proof = Prover::prove(&w, &qap, &pk).serialize(); + let deserialized_proof = Proof::deserialize(&serialized_proof).unwrap(); + + let accept = verify(&vk, &deserialized_proof, &w[..qap.num_of_public_inputs]); + assert!(accept); + } +} + +#[test] +fn example() { + let qap = test_qap_2(); + let (pk, vk) = setup(&qap); + + // 1, x, y, ~out, sym_1, sym_2, sym_3, sym_4 + let w = ["0x1", "0x5", "0x3", "0x0", "0x19", "0x9", "0x0", "0x0"] // x = 3 + .map(FrElement::from_hex_unchecked) + .to_vec(); + + let serialized_proof = Prover::prove(&w, &qap, &pk).serialize(); + let deserialized_proof = Proof::deserialize(&serialized_proof).unwrap(); + + let accept = verify(&vk, &deserialized_proof, &w[..qap.num_of_public_inputs]); + assert!(accept); +} diff --git a/provers/groth16/bls12_381/tests/test_circuits/mod.rs b/provers/groth16/bls12_381/tests/test_circuits/mod.rs new file mode 100644 index 000000000..28650c194 --- /dev/null +++ b/provers/groth16/bls12_381/tests/test_circuits/mod.rs @@ -0,0 +1,103 @@ +use lambdaworks_groth16_bls12_381::{common::*, QuadraticArithmeticProgram as QAP}; + +/* +Represents x^3 + x + 5 = 35, based on https://vitalik.ca/general/2016/12/10/qap.html + x * x = sym_1; + sym_1 * x = y; + (y + x) * 1 = sym_2 + (sym_2 + 5) * 1 = ~out +*/ +#[cfg(test)] +pub fn vitalik_qap() -> QAP { + let num_of_public_inputs = 1; + let [l, r, o] = [ + [ + ["0", "0", "0", "5"], // 1 + ["1", "0", "1", "0"], // x + ["0", "0", "0", "0"], // ~out + ["0", "1", "0", "0"], // sym_1 + ["0", "0", "1", "0"], // y + ["0", "0", "0", "1"], // sym_2 + ], + [ + ["0", "0", "1", "1"], + ["1", "1", "0", "0"], + ["0", "0", "0", "0"], + ["0", "0", "0", "0"], + ["0", "0", "0", "0"], + ["0", "0", "0", "0"], + ], + [ + ["0", "0", "0", "0"], + ["0", "0", "0", "0"], + ["0", "0", "0", "1"], + ["1", "0", "0", "0"], + ["0", "1", "0", "0"], + ["0", "0", "1", "0"], + ], + ] + .map(|matrix| matrix.map(|row| row.map(FrElement::from_hex_unchecked).to_vec())); + QAP::from_variable_matrices(num_of_public_inputs, &l, &r, &o) +} + +/* +Represents x^2 = 25 or y^2 = 9 + input signal x, y + + sym_1 = x * x -> 25 + sym_2 = y * y -> 9 + + sym_3 = sym_1 - 25 + sym_4 = sym_2 - 9 + + ~out = sym_3 * sym_4 -> needs to be zero +*/ +#[cfg(test)] +pub fn test_qap_2() -> QAP { + let num_of_public_inputs = 2; + let [l, r, o] = [ + [ + ["0", "0", "-19", "-9", "0"], //1 + ["1", "0", "0", "0", "0"], //x + ["0", "1", "0", "0", "0"], //y + ["0", "0", "0", "0", "1"], //~out + ["0", "0", "1", "0", "0"], //sym_1 + ["0", "0", "0", "1", "0"], //sym_2 + ["0", "0", "0", "0", "1"], //sym_3 + ["0", "0", "0", "0", "0"], //sym_4 + ], + [ + ["0", "0", "1", "1", "0"], //1 + ["1", "0", "0", "0", "0"], //x + ["0", "1", "0", "0", "0"], //y + ["0", "0", "0", "0", "0"], //~out + ["0", "0", "0", "0", "0"], //sym_1 + ["0", "0", "0", "0", "0"], //sym_2 + ["0", "0", "0", "0", "0"], //sym_3 + ["0", "0", "0", "0", "1"], //sym_4 + ], + [ + ["0", "0", "0", "0", "0"], //1 + ["0", "0", "0", "0", "0"], //x + ["0", "0", "0", "0", "0"], //y + ["0", "0", "0", "0", "1"], //~out + ["1", "0", "0", "0", "0"], //sym_1 + ["0", "1", "0", "0", "0"], //sym_2 + ["0", "0", "1", "0", "0"], //sym_3 + ["0", "0", "0", "1", "0"], //sym_4 + ], + ] + .map(|matrix| { + matrix.map(|row| { + row.map(|elem| { + if elem.starts_with('-') { + -FrElement::from_hex_unchecked(&elem.chars().skip(1).collect::()) + } else { + FrElement::from_hex_unchecked(elem) + } + }) + .to_vec() + }) + }); + QAP::from_variable_matrices(num_of_public_inputs, &l, &r, &o) +} diff --git a/provers/groth16/Cargo.toml b/provers/groth16/bn_254/Cargo.toml similarity index 91% rename from provers/groth16/Cargo.toml rename to provers/groth16/bn_254/Cargo.toml index 557dc4fe1..b8c16fe43 100644 --- a/provers/groth16/Cargo.toml +++ b/provers/groth16/bn_254/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "lambdaworks-groth16" +name = "lambdaworks-groth16-bn-254" version.workspace = true edition.workspace = true license.workspace = true diff --git a/provers/groth16/circom-adapter/Cargo.toml b/provers/groth16/bn_254/circom-adapter/Cargo.toml similarity index 66% rename from provers/groth16/circom-adapter/Cargo.toml rename to provers/groth16/bn_254/circom-adapter/Cargo.toml index aa7ff88b0..5dcad127e 100644 --- a/provers/groth16/circom-adapter/Cargo.toml +++ b/provers/groth16/bn_254/circom-adapter/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "lambdaworks-circom-adapter" +name = "lambdaworks-circom-adapter-bn-254" version.workspace = true edition.workspace = true license.workspace = true @@ -8,7 +8,7 @@ repository.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -lambdaworks-math = { path = "../../../math" } -lambdaworks-groth16 = { path = "../" } +lambdaworks-math = { path = "../../../../math" } +lambdaworks-groth16-bn-254 = { path = "../" } serde = { version = "1.0" } serde_json = "1" diff --git a/provers/groth16/bn_254/circom-adapter/src/README.md b/provers/groth16/bn_254/circom-adapter/src/README.md new file mode 100644 index 000000000..0e0e1caac --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/src/README.md @@ -0,0 +1,83 @@ +# Circom - LambdaWorks Groth16 Adapter + +This package allows one to perform trusted setup, prove, and verify constraints generated by [SnarkJS](https://github.com/iden3/snarkjs) from a [Circom](https://github.com/iden3/circom) circuit. + +## Retrieving required files + +0. Have Circom and SnarkJS installed, + +1. Have a "\*.circom" file and an "input.json" file. Let's say circom file has name **test.circom**. +2. ```bash + circom test.circom --r1cs --wasm -p bn128 + ``` + + This will create a **test_js** directory, and a **test.r1cs** file. + +3. ```bash + node test_js/generate_witness.js test_js/test.wasm input.json witness.wtns + ``` + + This will generate a **witness.wtns** file. + +4. ```bash + snarkjs wtns export json witness.wtns + ``` + + This will generate a **witness.json** file. + +5. ```bash + snarkjs r1cs export json test.r1cs test.r1cs.json + ``` + This will generate an **test.r1cs.json** file. + +
+ +All at once, you can copy-paste the following to the terminal in the same directory as your circuit. Please do remember changing 'test' with your .circom file name. + +```bash +circom test.circom --r1cs --wasm -p bls12381; +node test_js/generate_witness.js test_js/test.wasm input.json witness.wtns; +snarkjs wtns export json witness.wtns; +snarkjs r1cs export json test.r1cs test.r1cs.json; +rm -rf test_js test.r1cs witness.wtns; # Delete unnecessary artifacts +``` + +Now we need **test.r1cs.json** and **witness.json** files. + +## Using with LambdaWorks Circom Adapter + +This package exposes a **circom_to_lambda** function that accepts two parameters: + +1. Stringified content of the .r1cs.json file +2. Stringified content of the .witness.json file + +Relative path to a file named **test** will be just **"test"** if it's placed in the same level as Cargo.toml of this package. In this case, this method can be invoked as follows: + +```rust +// ... +let (qap, w) = circom_to_lambda( + &fs::read_to_string("test.r1cs.json").expect("Error reading file"), + &fs::read_to_string("witness.json").expect("Error reading file"), +); +``` + +As seen, this function returns a Lambdaworks-compatible QAP and the witness assignments. Then one should perform setup, prove, and verify. Here's the complete procedure: + +```rust +fn poseidon_parse_prove_verify() { + let (qap, w) = circom_to_lambda( + &fs::read_to_string("test.r1cs.json").expect("Error reading file"), + &fs::read_to_string("witness.json").expect("Error reading file"), + ); + + let (pk, vk) = setup(&qap); + let accept = verify( + &vk, + &Prover::prove(&w, &qap, &pk), + &w[..qap.num_of_public_inputs], + ); + assert!(accept); +} +``` + +For convenience, one can look up to [integration_tests.rs](integration_tests.rs) file and see an example where the Poseidon hash of "100" is proven and verified. The **vitalik_w_and_qap** example issues an example one can investigate with pen and paper, giving a clearer idea what the adapter does. diff --git a/provers/groth16/bn_254/circom-adapter/src/integration_tests.rs b/provers/groth16/bn_254/circom-adapter/src/integration_tests.rs new file mode 100644 index 000000000..0caed251a --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/src/integration_tests.rs @@ -0,0 +1,134 @@ +use std::fs; + +use crate::*; +use lambdaworks_groth16_bn_254::*; + +const TEST_DIR: &str = "test_files"; + +// Proves & verifies a Poseidon circuit with 1 input and 2 outputs. The input is decimal 100. +// Converts the following circuit: https://github.com/iden3/circomlib/blob/master/circuits/poseidon.circom +// Poseidon constants: https://github.com/iden3/circomlib/blob/master/circuits/poseidon_constants.circom +#[test] +fn poseidon_parse_prove_verify() { + let test_dir = format!("{TEST_DIR}/poseidon"); + + let (qap, w) = circom_to_lambda( + &fs::read_to_string(format!("{test_dir}/test.r1cs.json")).expect("Error reading the file"), + &fs::read_to_string(format!("{test_dir}/witness.json")).expect("Error reading the file"), + ); + + let (pk, vk) = setup(&qap); + + let accept = verify( + &vk, + &Prover::prove(&w, &qap, &pk), + &w[..qap.num_of_public_inputs], + ); + assert!(accept); +} + +// Converts following Circom circuit and inputs into Lambdaworks-compatible QAP and witness assignments +// +// template Test() { +// signal input x; +// signal output out; +// +// signal sym_1; +// signal y; +// +// sym_1 <== x * x; +// out <== (sym_1 * x) + (x + 5); +// } +// +// { "x": 3 } +#[test] +fn vitalik_w_and_qap() { + let test_dir = format!("{TEST_DIR}/vitalik_example"); + + let (qap, w) = circom_to_lambda( + &fs::read_to_string(format!("{test_dir}/test.r1cs.json")).expect("Error reading the file"), + &fs::read_to_string(format!("{test_dir}/witness.json")).expect("Error reading the file"), + ); + + // Circom witness contains outputs before circuit inputs where Lambdaworks puts inputs before the output. Freshly generated + // witness assignment "w" must be in form ["1", "x", "~out", "sym_1"] + assert_eq!( + w, + ["1", "3", "23", "9"] + .map(FrElement::from_hex_unchecked) + .to_vec() + ); + + // Regarding QAP, we expect 2 constraints in following form + // -sym_1 = -x * x + // x + 5 - ~out = -sym_1 * x + // + // Same ordering difference exists for variable matrices, too. Circom adapter changes the + // order of the rows in the same way it rearranges the witness ordering. + + const R_MINUS_ONE_STR: &str = + "30644E72E131A029B85045B68181585D2833E84879B9709143E1F593F0000000"; + const ZERO_STR: &str = "0x0"; + const ONE_STR: &str = "0x1"; + + let expected_num_of_public_inputs = 1; + let [temp_l, temp_r, temp_o] = [ + [ + [ZERO_STR, ZERO_STR], // 1 + [R_MINUS_ONE_STR, ZERO_STR], // x + [ZERO_STR, ZERO_STR], // ~out + [ZERO_STR, R_MINUS_ONE_STR], // sym_1 + ], + [ + [ZERO_STR, ZERO_STR], // 1 + [ONE_STR, ONE_STR], // x + [ZERO_STR, ZERO_STR], // ~out + [ZERO_STR, ZERO_STR], // sym_1 + ], + [ + [ZERO_STR, "5"], // 1 + [ZERO_STR, ONE_STR], // x + [ZERO_STR, R_MINUS_ONE_STR], // ~out + [R_MINUS_ONE_STR, ZERO_STR], // sym_1 + ], + ] + .map(|matrix| matrix.map(|row| row.map(FrElement::from_hex_unchecked).to_vec())); + let expected_qap = + QAP::from_variable_matrices(expected_num_of_public_inputs, &temp_l, &temp_r, &temp_o); + + let expected_l = expected_qap.l; + let expected_r = expected_qap.r; + let expected_o = expected_qap.o; + + assert_eq!(qap.l, expected_l); + assert_eq!(qap.r, expected_r); + assert_eq!(qap.o, expected_o); +} + +#[test] +fn fibonacci_verify() { + // Define the directory containing the R1CS and witness files + let test_dir = format!("{TEST_DIR}/fibonacci"); + + // Step 1: Parse R1CS and witness from JSON files + let (qap, w) = circom_to_lambda( + &fs::read_to_string(format!("{test_dir}/fibonacci.r1cs.json")) + .expect("Error reading the R1CS file"), + &fs::read_to_string(format!("{test_dir}/witness.json")) + .expect("Error reading the witness file"), + ); + + // Step 2: Generate the proving and verifying keys using the QAP + let (pk, vk) = setup(&qap); + + // Step 3: Generate the proof using the proving key and witness + let proof = Prover::prove(&w, &qap, &pk); + + // Step 4: Verify the proof using the verifying key and public inputs + let accept = verify(&vk, &proof, &w[..qap.num_of_public_inputs]); + + // Step 5: Assert that the verification is successful + assert!(accept, "Proof verification failed."); + + println!("Proof verification succeeded. All steps completed."); +} diff --git a/provers/groth16/circom-adapter/src/lib.rs b/provers/groth16/bn_254/circom-adapter/src/lib.rs similarity index 98% rename from provers/groth16/circom-adapter/src/lib.rs rename to provers/groth16/bn_254/circom-adapter/src/lib.rs index 33732ea85..90a8806f8 100644 --- a/provers/groth16/circom-adapter/src/lib.rs +++ b/provers/groth16/bn_254/circom-adapter/src/lib.rs @@ -1,7 +1,7 @@ #[cfg(test)] mod integration_tests; -use lambdaworks_groth16::{common::FrElement, QuadraticArithmeticProgram as QAP}; +use lambdaworks_groth16_bn_254::{common::FrElement, QuadraticArithmeticProgram as QAP}; use lambdaworks_math::unsigned_integer::element::UnsignedInteger; use serde_json::Value; diff --git a/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/fibonacci.r1cs.json b/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/fibonacci.r1cs.json new file mode 100644 index 000000000..de66e0e39 --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/fibonacci.r1cs.json @@ -0,0 +1,110 @@ +{ + "n8": 32, + "prime": "21888242871839275222246405745257275088548364400416034343698204186575808495617", + "nVars": 12, + "nOutputs": 1, + "nPubInputs": 0, + "nPrvInputs": 2, + "nLabels": 15, + "nConstraints": 9, + "useCustomGates": false, + "constraints": [ + [ + {}, + {}, + { + "2": "1", + "3": "1", + "4": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "3": "1", + "4": "1", + "5": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "4": "1", + "5": "1", + "6": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "5": "1", + "6": "1", + "7": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "6": "1", + "7": "1", + "8": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "7": "1", + "8": "1", + "9": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "8": "1", + "9": "1", + "10": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "9": "1", + "10": "1", + "11": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "1": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "10": "1", + "11": "1" + } + ] + ], + "map": [ + 0, + 1, + 2, + 3, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ], + "customGates": [], + "customGatesUses": [] +} diff --git a/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/witness.json b/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/witness.json new file mode 100644 index 000000000..f6395af4c --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/fibonacci/witness.json @@ -0,0 +1,14 @@ +[ + "1", + "89", + "1", + "1", + "2", + "3", + "5", + "8", + "13", + "21", + "34", + "55" +] diff --git a/provers/groth16/bn_254/circom-adapter/test_files/poseidon/test.r1cs.json b/provers/groth16/bn_254/circom-adapter/test_files/poseidon/test.r1cs.json new file mode 100644 index 000000000..1ea3eebae --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/poseidon/test.r1cs.json @@ -0,0 +1,4600 @@ +{ + "n8": 32, + "prime": "21888242871839275222246405745257275088548364400416034343698204186575808495617", + "nVars": 417, + "nOutputs": 1, + "nPubInputs": 0, + "nPrvInputs": 1, + "nLabels": 581, + "nConstraints": 415, + "useCustomGates": false, + "constraints": [ + [ + { + "3": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "3": "1" + }, + { + "217": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "217": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "217": "1" + }, + { + "218": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "218": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "3": "1" + }, + { + "7": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "4": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "4": "1" + }, + { + "219": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "219": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "219": "1" + }, + { + "220": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "220": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "4": "1" + }, + { + "8": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "33": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "33": "1" + }, + { + "221": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "221": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "221": "1" + }, + { + "222": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "222": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "33": "1" + }, + { + "11": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "34": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "34": "1" + }, + { + "223": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "223": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "223": "1" + }, + { + "224": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "224": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "34": "1" + }, + { + "12": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "35": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "35": "1" + }, + { + "225": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "225": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "225": "1" + }, + { + "226": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "226": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "35": "1" + }, + { + "15": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "36": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "36": "1" + }, + { + "227": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "227": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "227": "1" + }, + { + "228": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "228": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "36": "1" + }, + { + "16": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "37": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "37": "1" + }, + { + "229": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "229": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "229": "1" + }, + { + "230": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "230": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "37": "1" + }, + { + "19": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "38": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "38": "1" + }, + { + "231": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "231": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "231": "1" + }, + { + "232": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "232": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "38": "1" + }, + { + "20": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "214": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "214": "1" + }, + { + "233": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "233": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "233": "1" + }, + { + "234": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "234": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "214": "1" + }, + { + "23": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "215": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "215": "1" + }, + { + "235": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "235": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "235": "1" + }, + { + "236": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "236": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "215": "1" + }, + { + "24": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "41": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "41": "1" + }, + { + "237": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "237": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "237": "1" + }, + { + "238": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "238": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "41": "1" + }, + { + "27": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "42": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "42": "1" + }, + { + "239": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "239": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "239": "1" + }, + { + "240": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "240": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "42": "1" + }, + { + "28": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "43": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "43": "1" + }, + { + "241": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "241": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "241": "1" + }, + { + "242": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "242": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "43": "1" + }, + { + "31": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "44": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "44": "1" + }, + { + "243": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "243": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "243": "1" + }, + { + "244": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "244": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "44": "1" + }, + { + "32": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "45": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "45": "1" + }, + { + "245": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "245": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "245": "1" + }, + { + "246": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "246": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "45": "1" + }, + { + "47": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "46": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "46": "1" + }, + { + "247": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "247": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "247": "1" + }, + { + "248": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "248": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "46": "1" + }, + { + "48": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "39": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "39": "1" + }, + { + "250": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "250": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "250": "1" + }, + { + "251": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "251": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "39": "1" + }, + { + "249": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "49": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "49": "1" + }, + { + "253": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "253": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "253": "1" + }, + { + "254": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "254": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "49": "1" + }, + { + "252": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "52": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "52": "1" + }, + { + "256": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "256": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "256": "1" + }, + { + "257": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "257": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "52": "1" + }, + { + "255": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "55": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "55": "1" + }, + { + "259": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "259": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "259": "1" + }, + { + "260": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "260": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "55": "1" + }, + { + "258": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "58": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "58": "1" + }, + { + "262": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "262": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "262": "1" + }, + { + "263": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "263": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "58": "1" + }, + { + "261": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "61": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "61": "1" + }, + { + "265": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "265": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "265": "1" + }, + { + "266": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "266": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "61": "1" + }, + { + "264": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "64": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "64": "1" + }, + { + "268": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "268": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "268": "1" + }, + { + "269": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "269": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "64": "1" + }, + { + "267": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "67": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "67": "1" + }, + { + "271": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "271": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "271": "1" + }, + { + "272": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "272": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "67": "1" + }, + { + "270": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "70": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "70": "1" + }, + { + "274": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "274": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "274": "1" + }, + { + "275": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "275": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "70": "1" + }, + { + "273": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "73": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "73": "1" + }, + { + "277": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "277": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "277": "1" + }, + { + "278": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "278": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "73": "1" + }, + { + "276": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "76": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "76": "1" + }, + { + "280": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "280": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "280": "1" + }, + { + "281": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "281": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "76": "1" + }, + { + "279": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "79": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "79": "1" + }, + { + "283": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "283": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "283": "1" + }, + { + "284": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "284": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "79": "1" + }, + { + "282": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "82": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "82": "1" + }, + { + "286": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "286": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "286": "1" + }, + { + "287": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "287": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "82": "1" + }, + { + "285": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "85": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "85": "1" + }, + { + "289": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "289": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "289": "1" + }, + { + "290": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "290": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "85": "1" + }, + { + "288": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "88": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "88": "1" + }, + { + "292": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "292": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "292": "1" + }, + { + "293": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "293": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "88": "1" + }, + { + "291": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "91": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "91": "1" + }, + { + "295": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "295": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "295": "1" + }, + { + "296": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "296": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "91": "1" + }, + { + "294": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "94": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "94": "1" + }, + { + "298": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "298": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "298": "1" + }, + { + "299": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "299": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "94": "1" + }, + { + "297": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "97": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "97": "1" + }, + { + "301": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "301": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "301": "1" + }, + { + "302": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "302": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "97": "1" + }, + { + "300": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "100": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "100": "1" + }, + { + "304": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "304": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "304": "1" + }, + { + "305": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "305": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "100": "1" + }, + { + "303": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "103": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "103": "1" + }, + { + "307": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "307": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "307": "1" + }, + { + "308": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "308": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "103": "1" + }, + { + "306": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "106": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "106": "1" + }, + { + "310": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "310": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "310": "1" + }, + { + "311": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "311": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "106": "1" + }, + { + "309": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "109": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "109": "1" + }, + { + "313": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "313": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "313": "1" + }, + { + "314": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "314": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "109": "1" + }, + { + "312": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "112": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "112": "1" + }, + { + "316": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "316": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "316": "1" + }, + { + "317": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "317": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "112": "1" + }, + { + "315": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "115": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "115": "1" + }, + { + "319": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "319": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "319": "1" + }, + { + "320": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "320": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "115": "1" + }, + { + "318": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "118": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "118": "1" + }, + { + "322": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "322": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "322": "1" + }, + { + "323": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "323": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "118": "1" + }, + { + "321": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "121": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "121": "1" + }, + { + "325": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "325": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "325": "1" + }, + { + "326": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "326": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "121": "1" + }, + { + "324": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "124": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "124": "1" + }, + { + "328": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "328": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "328": "1" + }, + { + "329": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "329": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "124": "1" + }, + { + "327": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "127": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "127": "1" + }, + { + "331": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "331": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "331": "1" + }, + { + "332": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "332": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "127": "1" + }, + { + "330": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "130": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "130": "1" + }, + { + "334": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "334": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "334": "1" + }, + { + "335": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "335": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "130": "1" + }, + { + "333": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "133": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "133": "1" + }, + { + "337": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "337": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "337": "1" + }, + { + "338": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "338": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "133": "1" + }, + { + "336": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "136": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "136": "1" + }, + { + "340": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "340": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "340": "1" + }, + { + "341": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "341": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "136": "1" + }, + { + "339": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "139": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "139": "1" + }, + { + "343": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "343": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "343": "1" + }, + { + "344": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "344": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "139": "1" + }, + { + "342": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "142": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "142": "1" + }, + { + "346": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "346": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "346": "1" + }, + { + "347": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "347": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "142": "1" + }, + { + "345": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "145": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "145": "1" + }, + { + "349": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "349": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "349": "1" + }, + { + "350": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "350": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "145": "1" + }, + { + "348": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "148": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "148": "1" + }, + { + "352": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "352": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "352": "1" + }, + { + "353": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "353": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "148": "1" + }, + { + "351": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "151": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "151": "1" + }, + { + "355": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "355": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "355": "1" + }, + { + "356": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "356": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "151": "1" + }, + { + "354": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "154": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "154": "1" + }, + { + "358": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "358": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "358": "1" + }, + { + "359": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "359": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "154": "1" + }, + { + "357": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "157": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "157": "1" + }, + { + "361": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "361": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "361": "1" + }, + { + "362": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "362": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "157": "1" + }, + { + "360": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "160": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "160": "1" + }, + { + "364": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "364": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "364": "1" + }, + { + "365": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "365": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "160": "1" + }, + { + "363": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "163": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "163": "1" + }, + { + "367": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "367": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "367": "1" + }, + { + "368": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "368": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "163": "1" + }, + { + "366": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "166": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "166": "1" + }, + { + "370": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "370": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "370": "1" + }, + { + "371": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "371": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "166": "1" + }, + { + "369": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "169": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "169": "1" + }, + { + "373": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "373": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "373": "1" + }, + { + "374": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "374": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "169": "1" + }, + { + "372": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "172": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "172": "1" + }, + { + "376": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "376": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "376": "1" + }, + { + "377": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "377": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "172": "1" + }, + { + "375": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "175": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "175": "1" + }, + { + "379": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "379": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "379": "1" + }, + { + "380": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "380": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "175": "1" + }, + { + "378": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "178": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "178": "1" + }, + { + "382": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "382": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "382": "1" + }, + { + "383": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "383": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "178": "1" + }, + { + "381": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "181": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "181": "1" + }, + { + "385": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "385": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "385": "1" + }, + { + "386": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "386": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "181": "1" + }, + { + "384": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "184": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "184": "1" + }, + { + "388": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "388": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "388": "1" + }, + { + "389": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "389": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "184": "1" + }, + { + "387": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "187": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "187": "1" + }, + { + "391": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "391": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "391": "1" + }, + { + "392": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "392": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "187": "1" + }, + { + "390": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "190": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "190": "1" + }, + { + "394": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "394": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "394": "1" + }, + { + "395": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "395": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "190": "1" + }, + { + "393": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "193": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "193": "1" + }, + { + "397": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "397": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "397": "1" + }, + { + "398": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "398": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "193": "1" + }, + { + "396": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "196": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "196": "1" + }, + { + "400": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "400": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "400": "1" + }, + { + "401": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "401": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "196": "1" + }, + { + "399": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "199": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "199": "1" + }, + { + "403": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "403": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "403": "1" + }, + { + "404": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "404": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "199": "1" + }, + { + "402": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "202": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "202": "1" + }, + { + "406": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "406": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "406": "1" + }, + { + "407": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "407": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "202": "1" + }, + { + "405": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "205": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "205": "1" + }, + { + "409": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "409": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "409": "1" + }, + { + "410": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "410": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "205": "1" + }, + { + "408": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "208": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "208": "1" + }, + { + "412": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "412": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "412": "1" + }, + { + "413": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "413": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "208": "1" + }, + { + "411": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "211": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "211": "1" + }, + { + "415": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "415": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "415": "1" + }, + { + "416": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "416": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "211": "1" + }, + { + "414": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "0": "12274216425815286338344348482336276117995066724093487299512262174649563976186", + "51": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "249": "1" + } + ], + [ + {}, + {}, + { + "0": "1050758930252644049914605206403427631313247657935800041327915318465466974783", + "54": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "252": "1" + } + ], + [ + {}, + {}, + { + "0": "10607585076226348745183629788245008577438579576330359487986117688517235408881", + "57": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "255": "1" + } + ], + [ + {}, + {}, + { + "0": "20509009694313778489858884111978287368685508463213168251197030962719682409205", + "60": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "258": "1" + } + ], + [ + {}, + {}, + { + "0": "4563680725198793251172562411623420668869330885202539013185566348548255071635", + "63": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "261": "1" + } + ], + [ + {}, + {}, + { + "0": "10132793020925051358967312895903080509340240497490871556356344077873835967889", + "66": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "264": "1" + } + ], + [ + {}, + {}, + { + "0": "2647212931513679432767054030363504863222540192567519779190979594289737202550", + "69": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "267": "1" + } + ], + [ + {}, + {}, + { + "0": "4359886051856780224292971980741406425492649906224296730054335077893394909530", + "72": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "270": "1" + } + ], + [ + {}, + {}, + { + "0": "3054847578866604975257033821021111653343035155943751913629683293137065347688", + "75": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "273": "1" + } + ], + [ + {}, + {}, + { + "0": "1596959724864208462318973909411993812742702283705404297188991879075781032285", + "78": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "276": "1" + } + ], + [ + {}, + {}, + { + "0": "9261998448432672939016143689737142959950360294646800435636112732010430895748", + "81": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "279": "1" + } + ], + [ + {}, + {}, + { + "0": "21811458719499960186771214587366397959723618323848154217660010569954685810715", + "84": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "282": "1" + } + ], + [ + {}, + {}, + { + "0": "3239076967784329489572444293576130919094218653342995300018245457598795548917", + "87": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "285": "1" + } + ], + [ + {}, + {}, + { + "0": "20462520400712402627709344205131902699657125916001693532154815488581362749475", + "90": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "288": "1" + } + ], + [ + {}, + {}, + { + "0": "15540512546148021086829191867945740637058588949955294856096961322685397103557", + "93": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "291": "1" + } + ], + [ + {}, + {}, + { + "0": "13865340336144010740428645313739899438060242120535852433410522037321843803156", + "96": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "294": "1" + } + ], + [ + {}, + {}, + { + "0": "4030925228209360989389332579897661669475428247758360576989046703985980534507", + "99": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "297": "1" + } + ], + [ + {}, + {}, + { + "0": "2580022244547148022781785697172503311467595214847728559144402326933969076319", + "102": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "300": "1" + } + ], + [ + {}, + {}, + { + "0": "337091914144357888262743136529662076143869414926179844835581507288841653842", + "105": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "303": "1" + } + ], + [ + {}, + {}, + { + "0": "21128818615001540137263856211467089199630793116539340697922423416110745118506", + "108": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "306": "1" + } + ], + [ + {}, + {}, + { + "0": "7314289664170998780822250984795805793842874757314808790503348444042779760074", + "111": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "309": "1" + } + ], + [ + {}, + {}, + { + "0": "17774049587694351616089815110956846453850106707275621110789201687277957820281", + "114": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "312": "1" + } + ], + [ + {}, + {}, + { + "0": "11019693257420674975398059669532837767980992812803956883547482631461450651960", + "117": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "315": "1" + } + ], + [ + {}, + {}, + { + "0": "8945986251101329707360666524341408357502651307257925367450947820355368214535", + "120": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "318": "1" + } + ], + [ + {}, + {}, + { + "0": "16600645183477638722007904287733521074791737381945794958827103590279914462576", + "123": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "321": "1" + } + ], + [ + {}, + {}, + { + "0": "11176512602209691417636272193861235132071391793840565562361651389294061042059", + "126": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "324": "1" + } + ], + [ + {}, + {}, + { + "0": "14889617408341048364135563212181036206522304313837983213620424531022449761460", + "129": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "327": "1" + } + ], + [ + {}, + {}, + { + "0": "13725846858893036951158965143583678272726150787955443316044240114688865768260", + "132": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "330": "1" + } + ], + [ + {}, + {}, + { + "0": "7031966701933394996335226463904734684231938370740242159297465282149711323302", + "135": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "333": "1" + } + ], + [ + {}, + {}, + { + "0": "1598623817079294552053879422210947472173483306271647853752616124799192256195", + "138": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "336": "1" + } + ], + [ + {}, + {}, + { + "0": "19774466718056564032734488707833648551011540998602523750214654491716642104404", + "141": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "339": "1" + } + ], + [ + {}, + {}, + { + "0": "10833489778171075947445720806211760058004501131759886332251918804308190690081", + "144": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "342": "1" + } + ], + [ + {}, + {}, + { + "0": "1643230281589922929913461313269721677840560726699527243824368999070606462076", + "147": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "345": "1" + } + ], + [ + {}, + {}, + { + "0": "5529383825244679302765929967407905660423153508826597450732592666784449667225", + "150": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "348": "1" + } + ], + [ + {}, + {}, + { + "0": "3182718166498008812418586185198779390426386793456672324496083987133297273028", + "153": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "351": "1" + } + ], + [ + {}, + {}, + { + "0": "14599400764263231688213618032482449522109778447311452342990557992771279312515", + "156": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "354": "1" + } + ], + [ + {}, + {}, + { + "0": "19971122460007657859508211404523175040055308424338161607196356611508685672711", + "159": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "357": "1" + } + ], + [ + {}, + {}, + { + "0": "12801369279155577131760037436686619341421686678830792595575775840669776442563", + "162": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "360": "1" + } + ], + [ + {}, + {}, + { + "0": "2874800145470695258580041840911551878272283565060591475417515522159069870291", + "165": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "363": "1" + } + ], + [ + {}, + {}, + { + "0": "15558578381003392888309173936039806021949114680855373870727168432126175091041", + "168": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "366": "1" + } + ], + [ + {}, + {}, + { + "0": "9811599964264530187304305794911397412166832842489170888364387877850235210426", + "171": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "369": "1" + } + ], + [ + {}, + {}, + { + "0": "11797479380255190086030457967941350172480879235135372778366002137304980472711", + "174": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "372": "1" + } + ], + [ + {}, + {}, + { + "0": "15812276861397201227532067085271584728094218111982315967331671382133625425702", + "177": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "375": "1" + } + ], + [ + {}, + {}, + { + "0": "14555033526911765831054005951477598685743695466168667850533171876658643729676", + "180": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "378": "1" + } + ], + [ + {}, + {}, + { + "0": "8453370176619636688730899865196838058367647719211769227158095525122045566926", + "183": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "381": "1" + } + ], + [ + {}, + {}, + { + "0": "13746050345785052659407845574049356403121452981555493239274450074369130425982", + "186": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "384": "1" + } + ], + [ + {}, + {}, + { + "0": "14759221361221742392877550517283338785302973165056606116918148040408389214809", + "189": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "387": "1" + } + ], + [ + {}, + {}, + { + "0": "12918384943133505870596332126482017188382093626741625148832869110825500058603", + "192": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "390": "1" + } + ], + [ + {}, + {}, + { + "0": "6090669736471884927589246515939581624927624112611999595504716515722644260809", + "195": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "393": "1" + } + ], + [ + {}, + {}, + { + "0": "5818256914990297609452278687275570020517086210519703828397962481130049333349", + "198": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "396": "1" + } + ], + [ + {}, + {}, + { + "0": "21665668991006174860786913595488512200171275130423190085616080866607498513357", + "201": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "399": "1" + } + ], + [ + {}, + {}, + { + "0": "2268297495968854614780848291068505574765456615293615512346180903730018964697", + "204": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "402": "1" + } + ], + [ + {}, + {}, + { + "0": "13973211016421000871032597822807506910708863418864348758128380360422656258892", + "207": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "405": "1" + } + ], + [ + {}, + {}, + { + "0": "11877184595954796005081407550764117823731241224470762866371883626576306508793", + "210": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "408": "1" + } + ], + [ + {}, + {}, + { + "0": "2986065710695845701959971763474802354333410127136499986005712979427956719303", + "213": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "411": "1" + } + ], + [ + {}, + {}, + { + "0": "12649794127562509279197585900369868076945168057811626745015439261348449322516", + "216": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "414": "1" + } + ], + [ + {}, + {}, + { + "0": "4417881134626180770308697923359573201005643519861877412381846989312604493735", + "3": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "0": "5433650512959517612316327474713065966758808864213826738576266661723522780033", + "2": "1", + "4": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "0": "16762637755406472493812601151014278118641635553391913542964880219707263322052", + "5": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "7": "1" + } + ], + [ + {}, + {}, + { + "0": "17301668213014761646596552653015591039760461391617952799153519234591864034463", + "6": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "8": "1" + } + ], + [ + {}, + {}, + { + "0": "19776162473771124504636460540005465934623588388516917789964545078054814040751", + "9": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "11": "1" + } + ], + [ + {}, + {}, + { + "0": "11316768622745143833150712249439306411966930091146927416794626237074092972974", + "10": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "12": "1" + } + ], + [ + {}, + {}, + { + "0": "16445483823163065295596987123801926703922762982696126295152762759513382273866", + "13": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "15": "1" + } + ], + [ + {}, + {}, + { + "0": "4514474156763384993737907502541146539969481658202448264361041161669007485071", + "14": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "16": "1" + } + ], + [ + {}, + {}, + { + "0": "15962945726901666037200703277090943625692830090147479512076829448913210994056", + "17": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "19": "1" + } + ], + [ + {}, + {}, + { + "0": "887718591790650017281197227986729839639624303500401204697133087008458682956", + "18": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "20": "1" + } + ], + [ + {}, + {}, + { + "0": "12275810531539430738053742281045622394839331044128025660443842052759513336728", + "21": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "23": "1" + } + ], + [ + {}, + {}, + { + "0": "21143091624051898429049779202777783090616631078773674742631481136382890245166", + "22": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "24": "1" + } + ], + [ + {}, + {}, + { + "0": "10171452642243387955781526332645193123346266850900972162093561209595357586423", + "25": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "27": "1" + } + ], + [ + {}, + {}, + { + "0": "3855895713134056811998624598511873826580243324673003091901619068671473231435", + "26": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "28": "1" + } + ], + [ + {}, + {}, + { + "0": "13528768565745931233460851026527843568952293200662922221190432010518079703355", + "29": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "31": "1" + } + ], + [ + {}, + {}, + { + "0": "6443318563434187156482979037576690662213493094314678699384407936675395356263", + "30": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "32": "1" + } + ], + [ + {}, + {}, + { + "5": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "6": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "33": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "5": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "6": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "34": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "9": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "10": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "35": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "9": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "10": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "36": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "13": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "14": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "37": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "13": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "14": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "38": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "17": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "18": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "39": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "17": "14876694094903316616163091687595355836267453073383265044550370713659048938454", + "18": "7527312705817953459920138003796377030820958175883853967715612380516078993222", + "40": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "21": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "22": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "41": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "21": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "22": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "42": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "25": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "26": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "43": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "25": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "26": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "44": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "29": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "30": "19727366863391167538122140361473584127147630672623100827934084310230022599144", + "45": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "29": "5776684794125549462448597414050232243778680302179439492664047328281728356345", + "30": "8348174920934122550483593999453880006756108121341067172388445916328941978568", + "46": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + {}, + {}, + { + "1": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "47": "2910766817845651019878574839501801340070030115151021261302834310722729507541", + "48": "19727366863391167538122140361473584127147630672623100827934084310230022599144" + } + ], + [ + {}, + {}, + { + "40": "14392831394556883151981305211846637368219175236435029476710156182825234647903", + "49": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "51": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "40": "1", + "50": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "51": "3972157705848560553225735225624846054214663941061073198460328492610322308859" + } + ], + [ + {}, + {}, + { + "50": "16440390658055422679423689139559182411435556269094721507939827735857031845941", + "52": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "54": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "50": "1", + "53": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "54": "11198648714251142428058726882013539847504262008973766589079741687056423490297" + } + ], + [ + {}, + {}, + { + "53": "11040813526441169518500734422521060447982883219244845048102593255893561156996", + "55": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "57": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "53": "1", + "56": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "57": "20497865727088597598080943572498902593882858842109587509968463528339660458642" + } + ], + [ + {}, + {}, + { + "56": "1500089846899596715974320910031668931285734517895867873260500036847322991504", + "58": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "60": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "56": "1", + "59": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "60": "4358644212889321953854825150676666638302618158801791795222421069155850412400" + } + ], + [ + {}, + {}, + { + "59": "8984867899727903806270502850610949791728028091344606436356794482660239432128", + "61": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "63": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "59": "1", + "62": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "63": "13196988957644680853657010454825816766255261641090969872415940079324324517200" + } + ], + [ + {}, + {}, + { + "62": "15426814260470757299305914584666551083338300404662495749902213200367864215525", + "64": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "66": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "62": "1", + "65": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "66": "10274907822029773752599364682846594220333819264221790819729461989526841644772" + } + ], + [ + {}, + {}, + { + "65": "19026669700330333266441996665221118772970072473312832352798344963191816505645", + "67": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "69": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "65": "1", + "68": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "69": "20679714503042931132684279446055536449154645644493018261941282871993624898540" + } + ], + [ + {}, + {}, + { + "68": "12964654075685058093719499158609612785968163923770489034904472803205989694304", + "70": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "72": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "68": "1", + "71": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "72": "18200677960239373637649539108876024241588634435991197442062713614540220543190" + } + ], + [ + {}, + {}, + { + "71": "1485956159282120184145706275511156919936626022277424284457409303862685325664", + "73": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "75": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "71": "1", + "74": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "75": "12189269810846168525570955704880797987828224028357330527749390553118187515842" + } + ], + [ + {}, + {}, + { + "74": "2586207584926778203417237662225218511791525092035011763237709611248045934201", + "76": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "78": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "74": "1", + "77": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "78": "14387303199695390816203090482727337652038500693872210859670388378998101201473" + } + ], + [ + {}, + {}, + { + "77": "21344633194789444146436100273283079508710852342953476239695095631792372868968", + "79": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "81": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "77": "1", + "80": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "81": "11910468224409800239435584195555706876832023133453009084113016769318014668423" + } + ], + [ + {}, + {}, + { + "80": "11658422394501172961021840088870641583506527880323141046958377567012468098078", + "82": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "84": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "80": "1", + "83": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "84": "11990725169474361073247471880995563289709946893926378225865319042037239805982" + } + ], + [ + {}, + {}, + { + "83": "6926794121522657775135934726935958968808821452641449725179055387173135922053", + "85": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "87": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "83": "1", + "86": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "87": "12969461585708436520061060093527234630745148571054629461542821869611310096259" + } + ], + [ + {}, + {}, + { + "86": "16557390904729648969688218936369896015291829116857797017319655543878543769936", + "88": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "90": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "86": "1", + "89": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "90": "8964420836568218664066858204835584634020973193582095787662357894138760847281" + } + ], + [ + {}, + {}, + { + "89": "5231573215829413600046548137812118551885869704577525718147399841503199194611", + "91": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "93": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "89": "1", + "92": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "93": "1071071200992230681894953246456234077369899941216486618211597725800928546617" + } + ], + [ + {}, + {}, + { + "92": "17272722596134695758553935805972290550265223542727587658143866403271745235106", + "94": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "96": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "92": "1", + "95": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "96": "20613690274524853975134092387124765882540065887226065151171374641692288412375" + } + ], + [ + {}, + {}, + { + "95": "21123398086181123350404325066328947451198325999856475547763737130781214074497", + "97": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "99": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "95": "1", + "98": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "99": "13697891473983636529397725280805987427717683070952955028418464031927847367904" + } + ], + [ + {}, + {}, + { + "98": "6540157478504651098599446818261488990274945658555720784107007035234949010986", + "100": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "102": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "98": "1", + "101": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "102": "13692854806651392920659362021445678559054720498825135113051920510471694493019" + } + ], + [ + {}, + {}, + { + "101": "18447136363438645728208320728801902193236554945410027784124179735770398965427", + "103": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "105": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "101": "1", + "104": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "105": "16896643171942414108408247185225396501926477869502244248519140071367230697494" + } + ], + [ + {}, + {}, + { + "104": "13430180537774007604987769461853224912338934750348255841707029554728095007998", + "106": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "108": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "104": "1", + "107": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "108": "5819273568013735755493463088783314163212784642531952901940984326646179149006" + } + ], + [ + {}, + {}, + { + "107": "6468967241082043547855791346352823938882485950928439365930846015655744046793", + "109": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "111": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "107": "1", + "110": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "111": "15042336475589748801915271899536103771699602522329597483005804495133816339190" + } + ], + [ + {}, + {}, + { + "110": "4060171086557274058343612891340790233148839011372025052284736924822074085735", + "112": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "114": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "110": "1", + "113": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "114": "3023820908854989750384256836857521819025897297312606568795781474223039623734" + } + ], + [ + {}, + {}, + { + "113": "3936953456204187982773175206918708282706186102950905916950678236153422510545", + "115": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "117": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "113": "1", + "116": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "117": "8086679776961569665514914577770208433948463364260438801133495005504637834663" + } + ], + [ + {}, + {}, + { + "116": "20735612809138096619077879032867017136084697780858662353126718233909458374054", + "118": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "120": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "116": "1", + "119": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "120": "7458741940459798223346846417548139368376690304967620067487874719179712159144" + } + ], + [ + {}, + {}, + { + "119": "7540230737941909534931899907184979267065804077618755592631128043406851183715", + "121": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "123": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "119": "1", + "122": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "123": "21712477849654469842998332219679981332842222819768421669737377611110184803505" + } + ], + [ + {}, + {}, + { + "122": "10574602811609933386922394329670035542165408167800267536609409027399220883133", + "124": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "126": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "122": "1", + "125": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "126": "19449109868018009024035308550535496206885978497472365074471465516237852004024" + } + ], + [ + {}, + {}, + { + "125": "20473559466453541542743757731380228020042572837694623717511539612054623907337", + "127": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "129": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "125": "1", + "128": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "129": "5119965038090516455331824871869551046717310200821925697177541075595498699449" + } + ], + [ + {}, + {}, + { + "128": "9231625164484624725202909636382137114605489328335506092061160621063299478087", + "130": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "132": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "128": "1", + "131": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "132": "18695404165336135862226806077152390729208311221843925968341263967481688988565" + } + ], + [ + {}, + {}, + { + "131": "6147750791551333396338403098136527542493494959699182427908230628698995571450", + "133": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "135": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "131": "1", + "134": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "135": "14944058336757781671702739469686868591118420822954803379604679687848897327901" + } + ], + [ + {}, + {}, + { + "134": "13084937281458400529670212324062190870439298170684666100848564079874253303169", + "136": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "138": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "134": "1", + "137": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "138": "15579388996035822512031957992925353820792555476125104021115212813037017427459" + } + ], + [ + {}, + {}, + { + "137": "4920329416493485228222917333368311272906190983568384331696240309492443515874", + "139": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "141": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "137": "1", + "140": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "141": "10610585188871001058193874472688147873822746474774927087630695922296578311975" + } + ], + [ + {}, + {}, + { + "140": "14066990365446240171264590286131189706913594228678489222182718356359357753920", + "142": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "144": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "140": "1", + "143": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "144": "13412997897307085374937251875519157299458442519459404138362903359030994968369" + } + ], + [ + {}, + {}, + { + "143": "1275452933719514459755406278026260224234718080171423650799047950880018995112", + "145": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "147": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "143": "1", + "146": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "147": "5525666237417176285332109866632866482159739651769161010768589313396251467026" + } + ], + [ + {}, + {}, + { + "146": "331320929213473674659683340489936265012073924885618517684099808377593924217", + "148": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "150": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "146": "1", + "149": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "150": "13345883030642517348526158689265360922100673835778077405969678435148649382298" + } + ], + [ + {}, + {}, + { + "149": "9903473932310023389092593730447398748148168563821574505790961875190484229474", + "151": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "153": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "149": "1", + "152": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "153": "19285108207368178349486322131055123429097649700952049458826662800394937187028" + } + ], + [ + {}, + {}, + { + "152": "7547844205956657353719318592545601778971414066433205769160345846396205216448", + "154": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "156": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "152": "1", + "155": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "156": "13159650965092821821049509972996470974724780282232110173097382450494203266442" + } + ], + [ + {}, + {}, + { + "155": "1329940786763930840855165653045416639726820372831875538983652587303188188982", + "157": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "159": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "155": "1", + "158": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "159": "6224771944627459423481012804661332648378458233679029267154280919006640730107" + } + ], + [ + {}, + {}, + { + "158": "911315530688044672029285781278328521936277726206277487008961836349380769061", + "160": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "162": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "158": "1", + "161": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "162": "19660660677661728905348337922741649556947664821947183537064012928627004917791" + } + ], + [ + {}, + {}, + { + "161": "20145614140115000256982152403889411099557574950296569878820902392860244563410", + "163": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "165": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "161": "1", + "164": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "165": "21706842883572015081161394799827658661167090535515156295190515961870085048184" + } + ], + [ + {}, + {}, + { + "164": "1400552940479299851014102879927394966857183445405527605909684166458398230596", + "166": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "168": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "164": "1", + "167": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "168": "5944732631177226208223021176951748275976534914098761357845821362866379425484" + } + ], + [ + {}, + {}, + { + "167": "866154631101658107973176167493889697868303584431687787081874014019085575768", + "169": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "171": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "167": "1", + "170": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "171": "9902957556516789922255690107255362320309463820719161270922092794349102363391" + } + ], + [ + {}, + {}, + { + "170": "21233124412580416243653143329453254964637397955655229998228862809897939414173", + "172": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "174": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "170": "1", + "173": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "174": "9864062428577829522020090391213542871894670504187224830118337159335722047746" + } + ], + [ + {}, + {}, + { + "173": "6217676708689576975478917254093777588701125555591671650672932859785402217626", + "175": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "177": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "173": "1", + "176": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "177": "18210811974801653477473985577275752568328719661099508199696102451244085578411" + } + ], + [ + {}, + {}, + { + "176": "12043702663840910199304591311786238821317874731758240168746697238705956499244", + "178": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "180": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "176": "1", + "179": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "180": "13728696687121317515586146614428357288980785883404986775474796827079135616306" + } + ], + [ + {}, + {}, + { + "179": "4889270879114883369967301481542766407046173838599698916340454418283925918383", + "181": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "183": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "179": "1", + "182": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "183": "12515079354287291818450297171016809161352276701839755200273103149224182856489" + } + ], + [ + {}, + {}, + { + "182": "741047074752645107215150300270199736808887851112472136717263242753407972124", + "184": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "186": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "182": "1", + "185": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "186": "8307815031735000326149520446964706184178576595356305076128069843390394587346" + } + ], + [ + {}, + {}, + { + "185": "3780889029497540191387166920897950350640448777834552049496614608101825301459", + "187": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "189": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "185": "1", + "188": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "189": "17792710441034557220497866783158329786230479002470247459199885494563866613731" + } + ], + [ + {}, + {}, + { + "188": "7008545839415003673417409600248354185791431456081927514934439919684830792303", + "190": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "192": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "188": "1", + "191": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "192": "15421721873912692366594902352749997776192587254503958550154395108662429176988" + } + ], + [ + {}, + {}, + { + "191": "12589595435283157053084718937999123329697329486902786827800155253058107270050", + "193": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "195": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "191": "1", + "194": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "195": "9239044082798401984635454346302146468280143565576310941219363126988451890929" + } + ], + [ + {}, + {}, + { + "194": "961487511272532695918565876171806928181070584332539011526449222050650574138", + "196": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "198": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "194": "1", + "197": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "198": "793142828451887046412221404377949946590270616440808685184599974957471437857" + } + ], + [ + {}, + {}, + { + "197": "19558163290469234857367464115070060181059156807877210421879995941268362392032", + "199": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "201": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "197": "1", + "200": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "201": "11019953962774865014231719338582570778635390362563255121211455473100668888078" + } + ], + [ + {}, + {}, + { + "200": "12313613766205176725088436557810879752761132299197518891952366825529253688897", + "202": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "204": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "200": "1", + "203": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "204": "9812736158335477055588158142520482323040292599247513676460746438010789324263" + } + ], + [ + {}, + {}, + { + "203": "5332751193642382397028255617900470134079425867172910540275968625998341913528", + "205": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "207": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "203": "1", + "206": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "207": "2334047396459446283638491037365540318602523833738275731623984819151526291146" + } + ], + [ + {}, + {}, + { + "206": "1352777438493320028219014760983211439847918655021091285358084287849511645024", + "208": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "210": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "206": "1", + "209": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "210": "14439295634941823716304713039076043803610042078708444589757658192409135010255" + } + ], + [ + {}, + {}, + { + "209": "20593426838609769428650678230140825565556910531961836087447959096735625556411", + "211": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "213": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "209": "1", + "212": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "213": "5946284205099759175618134422286671175817995358660274650755229990352236707609" + } + ], + [ + {}, + {}, + { + "212": "4323548108738063145890883850430354883892087996233033890710612394881641262820", + "214": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "216": "2910766817845651019878574839501801340070030115151021261302834310722729507541" + } + ], + [ + {}, + {}, + { + "212": "1", + "215": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "216": "5776684794125549462448597414050232243778680302179439492664047328281728356345" + } + ] + ], + "map": [ + 0, + 1, + 2, + 6, + 7, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 42, + 43, + 46, + 47, + 50, + 51, + 54, + 55, + 58, + 59, + 62, + 63, + 67, + 68, + 69, + 70, + 71, + 73, + 74, + 75, + 77, + 78, + 79, + 81, + 82, + 83, + 85, + 86, + 87, + 89, + 90, + 91, + 93, + 94, + 95, + 97, + 98, + 99, + 101, + 102, + 103, + 105, + 106, + 107, + 109, + 110, + 111, + 113, + 114, + 115, + 117, + 118, + 119, + 121, + 122, + 123, + 125, + 126, + 127, + 129, + 130, + 131, + 133, + 134, + 135, + 137, + 138, + 139, + 141, + 142, + 143, + 145, + 146, + 147, + 149, + 150, + 151, + 153, + 154, + 155, + 157, + 158, + 159, + 161, + 162, + 163, + 165, + 166, + 167, + 169, + 170, + 171, + 173, + 174, + 175, + 177, + 178, + 179, + 181, + 182, + 183, + 185, + 186, + 187, + 189, + 190, + 191, + 193, + 194, + 195, + 197, + 198, + 199, + 201, + 202, + 203, + 205, + 206, + 207, + 209, + 210, + 211, + 213, + 214, + 215, + 217, + 218, + 219, + 221, + 222, + 223, + 225, + 226, + 227, + 229, + 230, + 231, + 233, + 234, + 235, + 237, + 238, + 239, + 241, + 242, + 243, + 245, + 246, + 247, + 249, + 250, + 251, + 253, + 254, + 255, + 257, + 258, + 259, + 261, + 262, + 263, + 265, + 266, + 267, + 269, + 270, + 271, + 273, + 274, + 275, + 277, + 278, + 279, + 281, + 282, + 283, + 285, + 286, + 287, + 289, + 290, + 291, + 295, + 296, + 299, + 300, + 303, + 304, + 307, + 308, + 311, + 312, + 315, + 316, + 319, + 320, + 323, + 324, + 327, + 328, + 331, + 332, + 335, + 336, + 339, + 340, + 343, + 344, + 347, + 348, + 351, + 352, + 355, + 356, + 357, + 359, + 360, + 361, + 363, + 364, + 365, + 367, + 368, + 369, + 371, + 372, + 373, + 375, + 376, + 377, + 379, + 380, + 381, + 383, + 384, + 385, + 387, + 388, + 389, + 391, + 392, + 393, + 395, + 396, + 397, + 399, + 400, + 401, + 403, + 404, + 405, + 407, + 408, + 409, + 411, + 412, + 413, + 415, + 416, + 417, + 419, + 420, + 421, + 423, + 424, + 425, + 427, + 428, + 429, + 431, + 432, + 433, + 435, + 436, + 437, + 439, + 440, + 441, + 443, + 444, + 445, + 447, + 448, + 449, + 451, + 452, + 453, + 455, + 456, + 457, + 459, + 460, + 461, + 463, + 464, + 465, + 467, + 468, + 469, + 471, + 472, + 473, + 475, + 476, + 477, + 479, + 480, + 481, + 483, + 484, + 485, + 487, + 488, + 489, + 491, + 492, + 493, + 495, + 496, + 497, + 499, + 500, + 501, + 503, + 504, + 505, + 507, + 508, + 509, + 511, + 512, + 513, + 515, + 516, + 517, + 519, + 520, + 521, + 523, + 524, + 525, + 527, + 528, + 529, + 531, + 532, + 533, + 535, + 536, + 537, + 539, + 540, + 541, + 543, + 544, + 545, + 547, + 548, + 549, + 551, + 552, + 553, + 555, + 556, + 557, + 559, + 560, + 561, + 563, + 564, + 565, + 567, + 568, + 569, + 571, + 572, + 573, + 575, + 576, + 577, + 579, + 580 + ], + "customGates": [], + "customGatesUses": [] +} diff --git a/provers/groth16/bn_254/circom-adapter/test_files/poseidon/witness.json b/provers/groth16/bn_254/circom-adapter/test_files/poseidon/witness.json new file mode 100644 index 000000000..0f3d6ff81 --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/poseidon/witness.json @@ -0,0 +1,419 @@ +[ + "1", + "8540862089960479027598468084103001504332093299703848384261193335348282518119", + "100", + "4417881134626180770308697923359573201005643519861877412381846989312604493735", + "5433650512959517612316327474713065966758808864213826738576266661723522780133", + "11176776821689580392011188511397375235714238678973276124341625599846342244417", + "20374752620943007033991506233524531495799594046798310100017416819264708644699", + "16302381938122383120444993105640372205620967525997396925074949566714887417982", + "3073084407928245387394953580508940456039132655180357300863897584672844610236", + "7237214751759351725503833478406319278261888540350035055092867006347535070835", + "1693869854054147747768747128017536568058788733131882252628995124456743322276", + "9349295149827502443113778683658128432186664552249151608826526114868529525701", + "12265344103148279136864440623835505244640223042400989179532573073958458844919", + "19412052056078922144203647066824392219800936465017545645808173292279798784720", + "1430015353981336328699725483356414921978309375226996723669393946096438268945", + "2966568232915856848606659943022465515878173482321419350655410532766416510854", + "18803784069057226557208223726072543470557192117440582803006556971003239279491", + "6772429541689814937536610711986456520944084828291031039322027554116280879849", + "3621510821508280346189529049508669189831278465331425730363095998923967861974", + "12697726686627424122582313180152787983799619138559585870943402291778878381410", + "2733792229717630328908331821521939350191654161831024525665962911915509179018", + "10585718671082132561166246975528176556577529893961288086860059587376201578958", + "15975834596299221789120096889772423725179499160907762978364375193676470949483", + "20198151011381977045358910439739829250286563250249296770114421721192496737847", + "16720985844086598582316723432251915723111232482550122579431098243869389199934", + "5102789085546242147771735343716696718110421394874404120865571218127983230618", + "6197632075564576590387148577396525062078401841718466250352370928321124895622", + "16819579315142129414236614756328778683312518944389466302470214195108434139812", + "2341736362430519778388523978884651235498158517045463158450751859649651664187", + "58423400389363886606842637487979185368384936135691054601330677151398983030", + "4595846298150194351439874787291926913175268492939862611058904989294956409358", + "8417897706482707875392397356217410704964456135888803177109102853209127775292", + "20040770606555282417203301494972511339510139799041218255372701239195369548712", + "1639908165019988775303464888429469178374957355572409367920153572009559817314", + "5386538041240978640736581923460349591979466900810034419643519406832230472701", + "12479252994000509607856408342513230986845474252348955387671178998105427036877", + "16520163845552716896725192215565263478626102599162081270743709131254183978257", + "1775987278575310171197236350646629603900086374978832178488555443741573430907", + "17181929208241631960755257722609906869735144007239285451969641620953347437750", + "7679261110538084775980695402785605269346631163957234556511890647660817359", + "12287932642788852540810211022082643380215193679287257028616488345012830839592", + "11976646372125633132833821038179992443939427838322067080947733755000071381888", + "16838862352444843707402974985667729348906542714398807416920954894336025624602", + "20564350636033727339670747474180410388608743464179742675175803037418824182432", + "4622288277776522001711812717509453775600534635971142256597797338615068912795", + "2667985553326584592825159425588668626704650749803763671039255828901224847599", + "12291129989189678479759557798975502390971748056514434521348711736845038589403", + "11172096550726595752934136008643805861136095248421714773826632108838049092243", + "15209865792652421613909865572940034560534398638536197937845227425378598666332", + "14195932763274414494352934293895963935222077491251643173628259401770561309544", + "5760239859793702081417134494263073415413706718425978600804686637823212658535", + "1050985325370294904051766022072216930291911188587445166136587404611171967745", + "10844338899689948517229719042499173180690585854209968339402604841468295146299", + "14222733451216729182531982091159716822811866012239510131994257793107351614009", + "13410500024042216062148106336336949472017941311467475265390108804352268574822", + "18307100663625337233058805985306077603879394283671911525957162129896108889600", + "9733386696471567856121247470896194598912037326820879981118414965328052112784", + "18339790308816150492457657699525198735757705698932786900257116472503230548374", + "2889930489564835567684828377645105744534794905287114333111320959000383622807", + "6768740631747879460074541483630610096422783526814752423334558801752667021145", + "11503221056858454318313578952645388912042147265786776678897005549667838168987", + "12995012675973642486094490873425535787719632257852642357117227658579648483263", + "7487666822102140019349446187296064194676062741774094800255318765525427764164", + "15554697846965276165762027877906172623922410346460225576913683813309664250799", + "15714842818759290504296796428247916395366409499646979297952726767111096026533", + "13176808557064971017907125584162570441850168141214090071341154234026823556353", + "13750852441250785240734897679386697920179987814245301003932748126484669142848", + "1614190437180304312570961189952574302112637974211001478261177510548597996112", + "10623772558191421735484648328554968603024479838471335763923026959332139862143", + "2888391986452844628017698165990255295378739658503346433029305150915157587192", + "5903168600431422130577840363550524802188448655748011463327761446760500935275", + "16802690266407082061790996230145776042264891733744297832918697647141341498455", + "1570349405933569909281412377564633610849241530461066311267678372434988443674", + "15975011002321221053348442885167698919594306542781287358504684488143840810328", + "17326183779142763917643191077782662670136412055148775081366240771115424376206", + "5711129248319446418720645510220050783956261887642994113432133263748352061609", + "10019982255836876655357696457781226435287787592083764374798691117731758376784", + "10208047260196127359461909561946977900625922903539523129463156373811225548572", + "968708495148378334053638693423799284521770704362630997244364131461866765770", + "3525911083818480000219232257553102375149800848008713199467676205139089782025", + "19096328937112981435438829102626916489968981159288119170444334730065594547178", + "18087454461125017045391102823026356052804128470220426944393787018355496993740", + "16872645212423109553951237207239522295887782877008931911403913796160734539564", + "5953623788863134205642217827347974697100252968647316649501525869537342918176", + "12657276268460648597765138073707265646144796066027823868119380605403842617648", + "19804809357271755735172449057743528330357761684088906663585234838550883862293", + "2657820749374613081568763156993960397844141232734556718012468035825764789696", + "21742874916623579138051408818259157719264548482753875265287411180480194967820", + "21563083861295299849376828588802994288543585049872788689244648923164018748400", + "12748074863894166831670276060125870872083392709852449325687728603847524317806", + "6363405500825528710098553026184454458482014138515395399246041983321654605719", + "11446223020847752989171665509455560948278565116008135795547104832884822116925", + "4253256400189363394599984348874354723708378388555259081811112022740542753017", + "7811326860260938472841633391745990927033020247229806736211564954100136444910", + "20150069150568107862853581378476981769379183049607340366903872058411337526025", + "14999119312792472107668099941721087073325892521233237995342528779676960596175", + "16051168642186996787795443196005123387006482197999631691497782690413538472876", + "10147714577378581100673390054424059170578708416174469542450608917813835678756", + "11665105238332988627683257580060534397475288452858089434439740070002102901055", + "4824377027939376762081360611777229978851634842090006355804711093898126347304", + "16403902824949078669884707464365407405838790961769793736732859333357791992604", + "10031545941483749841034931262577952072958031527396386814788092875325688346427", + "21071788521686144120577014885176752448959713130880268179432694488583046402638", + "3732270558021471660077741833519448750377212314253118922948308240206608496938", + "7091124393167219703273107812125738126498075261542494136180486445684444952372", + "17307417471244382323128884043489259119514147761285148914815225178467636088638", + "19258098267060921524413400573093888282111070535465792423668205031021236873300", + "7570474715705262028794677075639310081900413832395939536610430892228488527366", + "4230557435904366429688246141158824694422625272480490278630543181027107692353", + "10195047514382044633201274513924814832912479319050246030454954089574219218517", + "16524111861620127992310656243353674116929436822061691252018634312177119174216", + "15338211705907070527704212761367633378533746165761312816496228929441063978361", + "18283770346238745751575962562969113769682208734591707371112871607676248738768", + "18367372442281778161760837705475095912825783364516051262499039019402052255272", + "17953880849857315519644420756351242730402111427693140137943345933336639766319", + "20126815300773922192203056826443815632774471150339265521271220954466781417689", + "4238660756115396007608973967391439065612713026649051993842121744745158319057", + "10450140945599290794857887955679633287390480474980471249462479698225202737147", + "3393528396164142848501108132125588126525434648932133862562967998721465548130", + "14075403568133642887775269441195662410296339313727872267882161219826530361333", + "5082091794257081321443841963544562763029575003816788247284006385592072797254", + "15286053497987156528789853606709112519196273672431039998651663928093009680459", + "18643006459992420834022655262143222007140363659467472233332577285150636054758", + "6299529167580506625226925888842211654482954915808686631650630980291668844967", + "3582498451850099891063506755464792244661567293455673680491479567856714561736", + "9316047485958462458338277010266003994033487241981001486230667785048053860317", + "12030220577312179953155202567727194135934570501847751505027463607374285186159", + "15241368136625579152913709507508822865673865058875050047122679525882828782771", + "899871664609500043339058414123645577090948947641926681558834571743344875176", + "16158583477938062708576640614865371317375611617898477480704753697191040295309", + "20060036014915296132269925931229489306741342921122516221355364428093377122740", + "10912605110042706468400364273364116579290999633464774026744266488909967162073", + "1601266120830301488537666309947502103138775046511952167991928150583437265448", + "451428830989203935279229154860637394815900080394605312046647027612571209589", + "13118804398936658619196518876509832529373154966193039632301687123125658768551", + "5423290262554094171853114786260081354714109173111987673923048304948965607435", + "6166556969265883197204894301087593268166543262168874714221963073135112288240", + "632888863804046014308147119501504264699143064936905054221181820950408207226", + "15228680606915639402849298025218747114596993090123757985115901883431860203723", + "16294244343097437295713659378600147116827441162608646788510177922162404382888", + "18803864307488802021131889936119958361453985429014682305613987390732880099097", + "19687910689860363525497032399851181240595073427915455263632752754479601921618", + "21546045177607853373021047734172516290587746850330007628388596317035631875968", + "14168388695777040133214502798194772878978958689556074095147494685504859840546", + "17673661928656044694682875446162047067596928104552215920517156518816788892833", + "1927251823384346183201718803836614433918794625033255378103324080219669271254", + "9266696175500114884126814202589454988191694420725931678896615527778367587458", + "12816078196214978157816546629955868258550809897026936918252899049462790786973", + "7973893926886544449188441540354438300779873424180777793577465028132716657576", + "1059862805130406973319005679735603861973148133501293830186655722928073852388", + "5144578112961099708902299482141524052289019584571032819000011548108195118785", + "11037080919361166598731287521114693570749966492252750123623512315318461401320", + "5711054822970199437272901246502921921708526910576684293176481472297815373316", + "697093162876925846782599154357663335894999871854631810848405784675831882571", + "3438733108598552729815684450306311237095599355402701935832836947965835293421", + "17338620435714191764328084271898967241319835649913204554114140092846636087137", + "11144301252583262586635781085509689556459415904550724313814366592784821102248", + "20577277698202536807987937490230584891038946737734325516636676370038801276093", + "12651656754108600153920657257370438758053259566692300625305743896277333397709", + "12239417115188679866260210348591016166934339175220602618461404660389423967230", + "14821566315683946325173070210008257632107650602914822259138524478821224007384", + "12207972499626071576450534247650847427138743356783140945881627523713261901", + "12023396479116668128717543037606736348027089161284592460038675008288634134114", + "4116516666577029489507233516411474324946580281303372970766246995146713991639", + "1873823505686957674715480771514322429554443990919870198785879186636123273831", + "9146936471788834736123658717396917691868290894430417109928960646505716712603", + "5377187957898579614745581913162398913618851640673196545109810109131142374409", + "12421103143900131811370496085504345872640025671299179492661102986828130959331", + "5486228561498540483993087955787146604709498788541698976442716192024925868989", + "21589628962671675363810876266215834320745155699037747749614275312207955617723", + "9367090718003122939561748513832379416834757919134888171399424089436781039530", + "16689708696367230823995819193034884490264901107102946335016246323945851067807", + "9379284863040610184964208467552723369691911204776510693110152220340534198665", + "16640347056135940338176552838370459811542785187223079614541223505397320748307", + "13342369251463443535884197425956708338891651574079862357339862816444329549046", + "10203619936231546002803426407992402725774758756886593706039376256928109678226", + "19477803062961360106556992513567154770868199498072647567259010654497076786742", + "6864912696234396265353985009946672885333862601026323631626906980737488376007", + "3238524549384839538711417490471697512163262357437033894782447097922329635278", + "12576589265994542269125168683184193262158136428428713861774610501115746683948", + "147751589112811888693560915341259010877852575263356383792334389080227165352", + "16349659523074164323978188377631083950905443732334800512308435588067903177615", + "21132906389010315068833605109535384677358647122532319594283277527858446713119", + "3384135004391896602116118811181027746095092840840816026347952253869882067074", + "9181076279406156015081538154107080028524383538569079211871220791977539291639", + "14291685025663428841286079110594634511884456801996510566576175374734639096740", + "2352038388540163131196718717782965970116203332599504608562719185480244581658", + "6744444675287462734186121758633935049518780334653593116436076249511171126139", + "7056985870060256249233614843219371867774261404906758714578507478287845314200", + "12566590563845559291162557174358173935992188283949931191273601153535650458029", + "13241458789133212073036326952982141557991532083766512244126563652725645157501", + "1710755696805678339351431794125272274845192194707930699155830976528700146141", + "11506819810702661628829035168421179879267557047064486734332441792185348349227", + "10768084678522854068281395245646934391439115614404850091585880691197302216114", + "7101152140046365909742350629542905944039039131465570011479296540876362285071", + "2873086756332254502288071402906802526723819029242794938957188331856125359912", + "18508473832189397660592758915689829088564745143961508923724979574140892426468", + "10586166436631089779496373375084622048805661134841366291008612065670122905938", + "10566600094420572489128583991453064736445091845654964297347793894992546899898", + "21299881236013874100405190603331365424441470860227215052344625314229828309885", + "12419957567400574167061717546170791666568805798582047474699209511572555406162", + "16529001730959168335039404125599706520783037332326269235604603111638969290049", + "21595540606765997706552851586388914306609294204386739969395689017372106565938", + "2700322918933815613234245427061822683142521606316199838416497705866773830474", + "10042400388831096924127010613990694797016443995615890316329498461392034977817", + "10221945909610777695902343494570115222370745894631839727248709492413840929181", + "15936265385306413769883937187967200502292448545058007753375094556318747203732", + "7392556575963149451748487047563749606364260340040745098441198907895217862476", + "12942047376437326745164858647314222703181729652454871854298567070760063073793", + "18775786520023760084421112017535895340604150274954744907046049831251988094434", + "15687728292409602377352153323693184062277235052136872840978144598851331835936", + "1502321967984271692311569297719873359948386214004924735182151783960696827378", + "9037632653006897424080878727033573115141750268001303924168742316859087375370", + "10275218991616386735087747911376379888912840566246721352505741646340676912088", + "17281649250940839246126984503421221048324502017398040274543830125829616032937", + "2596250068635455332874484807169156160198560441896867025172952776772168836675", + "12898812163539573299996722116805163154241973375603351561013484305314592259011", + "18095002659502332951814988219893563853932196358999139319758251855860676894117", + "19735546015558771641436124560533085131254796000634531399588434624417155700088", + "15070724210267033199549978112853905548999806066067370700712622087620990497601", + "18580540746863560264797042107758375685695553785987942295404155311596170393074", + "20584817711606430791108631008071360305961692675458288053639212843017158742556", + "9541599029468079251631032016082711976536539696866583475449440012249460241476", + "2749775188932421944196765806231435540563079542986748114777961118329681068709", + "14106090246032318133653079862365026465865945007339083649420191109375411714994", + "5531542344601617061247722634237992445459396860394633025492861055178647573144", + "1591980706263645702362986879446240331680063117259738761504793138843180649941", + "18642818129251352979737226226845751335163900724219465405596942707602853185134", + "8002354759717651807667440542594516720256623407206746623275352912816543547375", + "13403495472071887912306213996779104070481319016015258448319691157112937463478", + "10363329463820409051535975002852804960463885605709780643161349972011160816051", + "3980554127630243761455367610110256608432938996972706601175093418480010125250", + "20681953597689104763865244542516839907264276338713406327565343561354270900461", + "21062235848362130781588749779403700610009061133016271027047407427813248942597", + "374922957935316173636637270932142451204590160997298362247610008681185684774", + "1820978246628295529413181856392374458771025498066139427962319536632272976614", + "4278204948187169636453050777198682519005502702496935524622988144837459572507", + "7426801858956915789270238608552734685285025493607882292220173936039990601368", + "14774488288306226978623948224196351978897883585085349328108359000209988160145", + "16448657333763531790290820644319505148150458446879095849920990132388493563462", + "16800213993154408505911938606339815241136745877483863221745058914734522495904", + "17930642115767852976065184907614534000976810484747963049299277596925346962319", + "1632740101242272275555588459776486326773267388554752681881652274106095422416", + "10117157668325738518208082524013160305012455913542793055389393173343870658550", + "6507520023849345195968357998216540080509167924541226132294283139510813029987", + "5614620660046986091895423165120235652808799610563227490862850346057396099456", + "16325443484612035151673902424533834729713630625391805004707344690586035590638", + "21335417385732114153564992666393478354094614896206298182576463566593123241692", + "13667988981471493180166260321232753161833716132786041500363387041945098251867", + "10665011771394283787953823284993215900845208864909992210322529416537416487176", + "14931194994015491138841621368591161246252798077477318242510726299523073039632", + "10363974665860344871742754492733351591365278904219893184080246649507527661259", + "12359741093789572012233501129933521840704693653531675224062193485886801600039", + "18114006861798936324738920976038455660024045004032791866716082635611410334644", + "7700403600465410173030849814093322463174379774747690353370845269616908258927", + "7732205232589801747274027911280190158319126122602427412270998783985995139493", + "11007572433977595751576250400260286646372711963884444087448610130098317171169", + "1413829386528458278908763520393939236062368963816945059517517494443069572281", + "12882454234383951050701100585924376631905003202989642771398178773523964255399", + "13251792988920885948843023598375274583879378491480853089561339571992833311670", + "6347439230225806104617331223033492386538631141822209845053383085509633361215", + "10991017121766482914589465466282751955053079461257686563728117464761409179164", + "2481344589988989578426903265611650135719364238290537601284530312351753496277", + "11780798772325665337664401111714550438244620955173748280262673020751844341231", + "3618059420325733881767584783483617410839747316754429447576404048610833174959", + "20570159492986363053086031852063766237277802237507274079404528059605112509719", + "1074725533904471976644582628793779735016470973506281012421662127546605667138", + "241179054939165195250644135626750432156199465935826653838325556625420384642", + "17394213154065510549222091197440289692963842982069579967202278640257513954912", + "11573095303460987563892543267857047094549575334177529981080391752252170524621", + "19098706225916064907234846142080502273904956024652803924911547481117402029761", + "9085843510186067008100003120981734137581672672414223742509034711708770032583", + "2889722320104948091319129821708093537316418827028484263597289464122225095545", + "2656281669452841443463611689198939130613226731699242199802449970611286713921", + "17643339774567246016323069753396908277330668506650939836128718835996128781490", + "17624766601260410139237583056834278234097282660065240369125976518410827094669", + "21259991642123445093981070529269080560327432821073261043753576438961894229102", + "17194737774256128949477514071070307903451827945785751167560679946192275451477", + "3594947159748221911917886006060814691520071347997318074247224653181217093206", + "8825456012692344106374959133289213092853768175573626508757674286345066097992", + "4490329163496682797795659826974607822491025259798669906309318696595951239875", + "9758400674178764195058054785760181843223638879074875896229170944941778737363", + "12734060420799963633240329231598142774969542142595703994157574222024965302550", + "17030319672953598953307913644821250278841874022860846757264590415327637611501", + "12906807631776986471504353643634034392907300972745359231901263386973127277081", + "18503797948839249648478964524683026800170329829410879965269165722881399418903", + "6350690439822314568169460950766626581904575254974773373912471261118381244781", + "5789970032256255852011096054167253877433573293850490397107148548365709237117", + "7789127971952401304635614566309826847373252622929736210789430681316100351861", + "3535464628377524410617121353952653063197528426291299364801482908850042829957", + "12560367180091822888611002515655596796209815494895937181572447960006266494109", + "14159057185952192608258847269057525378522795697690546223812807817990547836970", + "12398847570340216141440019503043789518610143022296371297722781737784374472367", + "5335580553719027558261221867859960694887220531542980976227309015807947950218", + "2185828306042986047366797882265223948946240077463779258087260653091694669720", + "7070376668384323226852598196339425497439961895244007571632339929541264012605", + "18824355280581136829220892675653061865070477832984155657782387514703402502790", + "793451799730015772692028031879568309376206594331645778815664389912145812797", + "8830539150348388539731588224104041075698006559958326091596045275012714988453", + "8574905616994899043154733290732521121487183284432693219682879180681677613792", + "18491766277138996097795229188004249137492117916032539620288292161649077326319", + "18845092442534179427238141136960880150221188602719755133918696791283854337822", + "5198331377720168115427171424801950993513345808615951992109415037186405097746", + "16970325557100024434866140906959597043370278346358969069979643671178794434796", + "11850694087753347086192609621982718763600168940620453484035016902014274941804", + "9352878006292444922624736560451062361160132479556642447880766484999906037339", + "4989981692742101514670795674949010583340196556357183924406323951492171069464", + "12034123305928994548717967750572814819311289136765545670382644017715684142969", + "7198318761239181803555355056553459791445260799030064160875523268377450110369", + "8023922041736071746881961776571827584690871408446504025992880485398284218287", + "3129314037095221304556327622788454728229875772053963301465904162886652436436", + "12200474721439372647224577623912451394209878823959889283008691728205927964742", + "179831262162963903554605645394396276552004720417519027154144246058681946038", + "18591514587404757756603939246499610645082661499664731432846972945238863811216", + "21837115579664308254568342836022373161289406028049067732024440923523693442163", + "21318690560017891041706234031404070607957852062592548709613201253339560580804", + "3097410876469387445342955969649199894689012339408208673635337632444400048414", + "16769707458728297556521208288609048803783087038453917651165555590097958061765", + "18024348414995026836329581184460429494075288096974897223531262751812513078336", + "12425169325145891516750647490938922225567378407870873331355436759158384233281", + "14899943975027390560753951440495101655998471303063642269393856438495835991264", + "11587126855942143125465427346365965668239581934278926016521731576587562878008", + "4821813119253923569808641542141206940814648913742073893565450808632881723041", + "810622637252684944814628490168717660429054112284345116931161264284456191132", + "853707975102488535518930373865959003863178708007185942665812218080224144100", + "12102931131922775478677656115264448807621932928608780636197078498373897824442", + "2230867614842553360785064010175093562020643409796747745728873086164275052256", + "1268966069597014344441077402684335110853307304060494267084329166168590533849", + "11438908958680773616662453812700782643509052221096503866034401483770218918740", + "7389230924121163066094388327238385996562683340569580986966145927397658678218", + "9763662133776539759625106911621098918960988658972543195645892222470379992805", + "10231974826601637295130729716817701809564589893479570305948823015580440344748", + "18593294777028372512053711465752640539735520134506968392175930955843884473484", + "20279566432459974397764294067612621759030535202787779858323787209375062779750", + "2328746262545275643299636549086993980999630264940005308018687137231887679483", + "8472288451341165643258886635109187774544297571678554082903137578722485902865", + "13630056789836344850795418603007799642423509783852110131363285758632667947528", + "18308414967363301508296225463006869492355435254686062899392486733218903930928", + "15266576327700968601625215105950443444487235681909023922392063236819264560717", + "21801686843643074715008949437274807778131896829728965857116302449338768312831", + "6633331160189357969609254928157383248572995315848093605176448805366749128700", + "14406564777813431599449057142552864242310070091962924217322473407005750582419", + "6840172150484968747237154639950287009592426972792329588265237714508598202752", + "3177759507791839862656584519094094171099056843647892292830123471958486657472", + "10900365395062473886790720823950924087448601560396563670172156895336622262521", + "11172847914625055227903085316686146580710249170327409674428530050392184324897", + "10426646192792026567970973404343657616479783850334724070624494727187900254051", + "13676094780174017431900533415749013066387698378134784481078980249738827455982", + "21503437159555695628382775259990893480414230476160469711965623067899553947177", + "15781895680608087756192406887835140396088461937190740947854329483192779028078", + "15217235762484546133571114000509435198504724739014360616519365690580210162532", + "19402617868218192256610418714416159034016977478813993830050525984118343105160", + "305077594535617693830054437503573985299956392224180321270139983409048179091", + "17747496059537252495155713350451656726796449725941621128653673590363703098054", + "18433143360159306120668568798284515122898001857655306314522012786589350285350", + "7735849979988848991884298488109325241961750225124593141677132055220422390749", + "4881934092034836157744481781810877459428296560235627113146579643203042714993", + "14156537527020297228998404689325116215427395151298475354963252235456546790136", + "4712799662946634908004369834923937066989339373102304079146655911936184112073", + "918907865562218445875400925277801025313827317877643424291436655586759712754", + "21110270071800366219203911346177392095153766882869834208161103354194666187168", + "3043759180544840545530378574094687714273542997320469981399727836882128237746", + "3232486182229652780645762770901727937554178283698783521273599527002396495366", + "6272136326318139477543616876485365813596007329369825634511445124346646842312", + "11323611102163978306407270941328240224004070371248662415889556946386684823940", + "17871222936800589927304726977101070437562994615629006936900688972554091342271", + "11815893052334422817930319765004615671308748508102359449413751946474559273565", + "14196547717430292459557334947703350920005128227088296799456592687262620283320", + "16154243127284957673448127789286874805336458751699495921117143954556189656369", + "6878108732102700636691513398123487078098068264613775446651858446095615857381", + "301580803190845211513973639361968865063160314625707187282549035595119931193", + "21064578972916374512769971044515055053321850312687983623849062701833376692069", + "1544889871208253449853739458015358166410772338944489578973860679139349076335", + "19868661198812833114712797590664698019955156634310293811552081933953663271411", + "12500696874268537352135154321316827369985055339299987185613941501831140968408", + "12940878706676470260068323669932363245788008889460042007993439785179671445922", + "2507069382413367786687835669144783459861126043583520988816386055722129961656", + "7825179411693337187981179452087115107674900839712308549005451652460806459056", + "7480960934040321279885960709120935413682521509510722876957366698997391931293", + "3165038102842050792320629231801610285455153404774173591603890957692519230769", + "19077769266664194574532461019434086161485650094926274178742223354832275197291", + "16819007699611535135631624691241464776275809522045081142888060915323644995765", + "5036711164835021588853908888022612648463435649494240700952875633655978913407", + "10163556564515934076688092179860906206584670352845791597209077906109561090836", + "10494230914594385694035278888990884655543114751460045712986473297686922651293", + "7794653067805417586190447355880556898398167998433850010189302227665635672119", + "3719677921744681261142700399779449990810203650081724186074037157073652578320", + "19695612074463092120531412402332110239237579519309359418053657299703069738837", + "7903560124421308882021763893731579917078268750879440953952478202134733656206", + "5337445353192015764979933676820269884463307223125141151781252527409100224248", + "20476677739408430980479108787196437779433827820738895929197776867935656786241", + "9354525994617556498618625415175826177721840804612457818058111002447313513620", + "19418592410699257362563597313005603088481787928687670570809099754335327924729", + "18670659891699644796945230632224495990344559317046829687150676002709289594720", + "5274803731733753523835736831759551720298471172481218454671313338337670297657", + "8899272535902968727851041888438096855303956106803310863624030194418295685571", + "4748343179430274879676305304177494715928005635135260468949831413862497566549", + "21489945177070238827223233828122947651376701962667791247755304097937883304204", + "19544456221280410937121832152684858190860835233962500648494302300143143702659", + "16751575611792268696498896275368469409160126602319113493686726431607279272309", + "4357697950879987606697726949075674234245427650513197797494015865303240848163", + "17902087451540771457321032054979783453642485612988711718314762421142918094414", + "7774102892862242309346162322922189222250987380322274803983317557662016013120", + "3748171812646724482678031627815090020138190069595815028485847540563120796889", + "9122198302682844032872971927672436340197957196290706173905154425240322601338", + "15307588431381423802962294970013517784203761321592430684011022734048370099201", + "285153180952573658919553599749689386942510010798225342424927592873853958829", + "14091239521014956309189525137585163901731065426224068831322189187367150080301", + "3810543696454806372270745772929066238545993827666109974606260972275025327143", + "11837674392821841849439183940769383385173525600988685294705307399441309773672", + "16347433309792709254963563188522132959252276552529942306559800075683529794751", + "7289153280920541033127776147901577534579430439110221366500028666912720192785", + "6390455205958884164204084833999380199814432398639379451118600163362845802711", + "16873179979709070075469904582990565696857178691956549823037646542361176822586", + "249018035977064020799136216435295077296805317791724815998045043966142936495", + "16485159493775869831755730853572487674390324864387658779076441229004530525111", + "2276366943612626215627963117864972329509500475787334592109295226567557217158" +] diff --git a/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/test.r1cs.json b/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/test.r1cs.json new file mode 100644 index 000000000..e315deecb --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/test.r1cs.json @@ -0,0 +1,45 @@ +{ + "n8": 32, + "prime": "21888242871839275222246405745257275088548364400416034343698204186575808495617", + "nVars": 4, + "nOutputs": 1, + "nPubInputs": 0, + "nPrvInputs": 1, + "nLabels": 4, + "nConstraints": 2, + "useCustomGates": false, + "constraints": [ + [ + { + "2": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "2": "1" + }, + { + "3": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + } + ], + [ + { + "3": "21888242871839275222246405745257275088548364400416034343698204186575808495616" + }, + { + "2": "1" + }, + { + "0": "5", + "1": "21888242871839275222246405745257275088548364400416034343698204186575808495616", + "2": "1" + } + ] + ], + "map": [ + 0, + 1, + 2, + 3 + ], + "customGates": [], + "customGatesUses": [] +} diff --git a/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/witness.json b/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/witness.json new file mode 100644 index 000000000..8b47c9ec8 --- /dev/null +++ b/provers/groth16/bn_254/circom-adapter/test_files/vitalik_example/witness.json @@ -0,0 +1,6 @@ +[ + "1", + "35", + "3", + "9" +] diff --git a/provers/groth16/bn_254/src/common.rs b/provers/groth16/bn_254/src/common.rs new file mode 100644 index 000000000..a0de95125 --- /dev/null +++ b/provers/groth16/bn_254/src/common.rs @@ -0,0 +1,46 @@ +use lambdaworks_math::{ + elliptic_curve::{ + short_weierstrass::curves::bn_254::{ + curve::BN254Curve, default_types::FrElement as FE, default_types::FrField as FrF, + pairing::BN254AtePairing, twist::BN254TwistCurve, + }, + traits::{IsEllipticCurve, IsPairing}, + }, + field::element::FieldElement, + unsigned_integer::element::U256, +}; +use rand::{Rng, SeedableRng}; + +pub type Curve = BN254Curve; +pub type TwistedCurve = BN254TwistCurve; + +pub type FrElement = FE; +pub type FrField = FrF; + +pub type Pairing = BN254AtePairing; + +pub type G1Point = ::PointRepresentation; +pub type G2Point = ::PointRepresentation; +pub type PairingOutput = FieldElement<::OutputField>; + +/// g = ORDER_R_MINUS_1_ROOT_UNITY is a primitive unity root of order r - 1. +/// I.e. g^{r-1} mod r = 1 and g^i != 1 for i < r-1. +/// We calculated g in Sage: +/// +/// r = 21888242871839275222246405745257275088548364400416034343698204186575808495617 +/// F = GF(r) +/// g = F.primitive_element() +/// print("Primitive generator:", g) +pub const ORDER_R_MINUS_1_ROOT_UNITY: FrElement = FrElement::from_hex_unchecked("5"); + +pub fn sample_fr_elem() -> FrElement { + let mut rng = rand_chacha::ChaCha20Rng::seed_from_u64(9001); + FrElement::new(U256 { + limbs: [ + rng.gen::(), + rng.gen::(), + rng.gen::(), + rng.gen::(), + ], + }) +} diff --git a/provers/groth16/bn_254/src/lib.rs b/provers/groth16/bn_254/src/lib.rs new file mode 100644 index 000000000..1dbdfddfe --- /dev/null +++ b/provers/groth16/bn_254/src/lib.rs @@ -0,0 +1,13 @@ +pub mod common; +pub mod qap; +pub mod r1cs; + +mod prover; +mod setup; +mod verifier; + +pub use prover::{Proof, Prover}; +pub use qap::QuadraticArithmeticProgram; +pub use r1cs::*; +pub use setup::*; +pub use verifier::verify; diff --git a/provers/groth16/bn_254/src/prover.rs b/provers/groth16/bn_254/src/prover.rs new file mode 100644 index 000000000..b0dbeb579 --- /dev/null +++ b/provers/groth16/bn_254/src/prover.rs @@ -0,0 +1,149 @@ +use crate::{common::*, ProvingKey, QuadraticArithmeticProgram}; +use lambdaworks_math::errors::DeserializationError; +use lambdaworks_math::traits::{AsBytes, Deserializable}; +use lambdaworks_math::{cyclic_group::IsGroup, msm::pippenger::msm}; +use std::mem::size_of; + +pub struct Proof { + pub pi1: G1Point, + pub pi2: G2Point, + pub pi3: G1Point, +} + +impl Proof { + pub fn serialize(&self) -> Vec { + let mut bytes: Vec = Vec::new(); + [ + Self::serialize_commitment(&self.pi1), + Self::serialize_commitment(&self.pi2), + Self::serialize_commitment(&self.pi3), + ] + .iter() + .for_each(|serialized| { + bytes.extend_from_slice(&(serialized.len() as u32).to_be_bytes()); + bytes.extend_from_slice(serialized); + }); + bytes + } + + pub fn deserialize(bytes: &[u8]) -> Result + where + Self: Sized, + { + let (offset, pi1) = Self::deserialize_commitment::(bytes, 0)?; + let (offset, pi2) = Self::deserialize_commitment::(bytes, offset)?; + let (_, pi3) = Self::deserialize_commitment::(bytes, offset)?; + Ok(Self { pi1, pi2, pi3 }) + } + + fn serialize_commitment(cm: &Commitment) -> Vec { + cm.as_bytes() + } + + // Repetitive. Same as in plonk/src/prover.rs + fn deserialize_commitment( + bytes: &[u8], + offset: usize, + ) -> Result<(usize, Commitment), DeserializationError> { + let mut offset = offset; + let element_size_bytes: [u8; size_of::()] = bytes + .get(offset..offset + size_of::()) + .ok_or(DeserializationError::InvalidAmountOfBytes)? + .try_into() + .map_err(|_| DeserializationError::InvalidAmountOfBytes)?; + let element_size = u32::from_be_bytes(element_size_bytes) as usize; + offset += size_of::(); + let commitment = Commitment::deserialize( + bytes + .get(offset..offset + element_size) + .ok_or(DeserializationError::InvalidAmountOfBytes)?, + )?; + offset += element_size; + Ok((offset, commitment)) + } +} + +pub struct Prover; +impl Prover { + pub fn prove(w: &[FrElement], qap: &QuadraticArithmeticProgram, pk: &ProvingKey) -> Proof { + let h_coefficients = qap + .calculate_h_coefficients(w) + .iter() + .map(|elem| elem.representative()) + .collect::>(); + + let w = w + .iter() + .map(|elem| elem.representative()) + .collect::>(); + + // Sample randomness for hiding + let r = sample_fr_elem(); + let s = sample_fr_elem(); + + // [π_1]_1 + let pi1 = msm(&w, &pk.l_tau_g1) + .unwrap() + .operate_with(&pk.alpha_g1) + .operate_with(&pk.delta_g1.operate_with_self(r.representative())); + + // [π_2]_2 + let pi2 = msm(&w, &pk.r_tau_g2) + .unwrap() + .operate_with(&pk.beta_g2) + .operate_with(&pk.delta_g2.operate_with_self(s.representative())); + + // [ƍ^{-1} * t(τ)*h(τ)]_1 + let t_tau_h_tau_assigned_g1 = msm( + &h_coefficients, + &pk.z_powers_of_tau_g1[..h_coefficients.len()], + ) + .unwrap(); + + // [ƍ^{-1} * (β*l(τ) + α*r(τ) + o(τ))]_1 + let k_tau_assigned_prover_g1 = msm( + &w[qap.num_of_public_inputs..], + &pk.prover_k_tau_g1[..qap.num_of_private_inputs()], + ) + .unwrap(); + + // [π_2]_1 + let pi2_g1 = msm(&w, &pk.r_tau_g1) + .unwrap() + .operate_with(&pk.beta_g1) + .operate_with(&pk.delta_g1.operate_with_self(s.representative())); + + // [π_3]_1 + let pi3 = k_tau_assigned_prover_g1 + .operate_with(&t_tau_h_tau_assigned_g1) + // s[π_1]_1 + .operate_with(&pi1.operate_with_self(s.representative())) + // r[π_2]_1 + .operate_with(&pi2_g1.operate_with_self(r.representative())) + // -rs[ƍ]_1 + .operate_with(&pk.delta_g1.operate_with_self((-(&r * &s)).representative())); + + Proof { pi1, pi2, pi3 } + } +} + +#[cfg(test)] +mod tests { + use lambdaworks_math::elliptic_curve::traits::IsEllipticCurve; + + use super::*; + + #[test] + fn serde() { + let proof = Proof { + pi1: Curve::generator().operate_with_self(sample_fr_elem().representative()), + pi2: TwistedCurve::generator().operate_with_self(sample_fr_elem().representative()), + pi3: Curve::generator().operate_with_self(sample_fr_elem().representative()), + }; + let deserialized_proof = Proof::deserialize(&proof.serialize()).unwrap(); + + assert_eq!(proof.pi1, deserialized_proof.pi1); + assert_eq!(proof.pi2, deserialized_proof.pi2); + assert_eq!(proof.pi3, deserialized_proof.pi3); + } +} diff --git a/provers/groth16/bn_254/src/qap.rs b/provers/groth16/bn_254/src/qap.rs new file mode 100644 index 000000000..43f4d543a --- /dev/null +++ b/provers/groth16/bn_254/src/qap.rs @@ -0,0 +1,162 @@ +use lambdaworks_math::polynomial::Polynomial; + +use crate::{common::*, r1cs::R1CS}; + +#[derive(Debug)] +pub struct QuadraticArithmeticProgram { + pub num_of_public_inputs: usize, + pub num_of_gates: usize, + pub l: Vec>, + pub r: Vec>, + pub o: Vec>, +} + +impl QuadraticArithmeticProgram { + pub fn calculate_h_coefficients(&self, w: &[FrElement]) -> Vec { + let offset = &ORDER_R_MINUS_1_ROOT_UNITY; + let degree = self.num_of_gates * 2; + + let [l, r, o] = self.scale_and_accumulate_variable_polynomials(w, degree, offset); + + // TODO: Change to a vector of offsetted evaluations of x^N-1 + let t_poly = + Polynomial::new_monomial(FrElement::one(), self.num_of_gates) - FrElement::one(); + let mut t = Polynomial::evaluate_offset_fft(&t_poly, 1, Some(degree), offset).unwrap(); + FrElement::inplace_batch_inverse(&mut t).unwrap(); + + let h_evaluated = l + .iter() + .zip(&r) + .zip(&o) + .zip(&t) + .map(|(((l, r), o), t)| (l * r - o) * t) + .collect::>(); + + Polynomial::interpolate_offset_fft(&h_evaluated, offset) + .unwrap() + .coefficients() + .to_vec() + } + + // Compute A.s by summing up polynomials A[0].s, A[1].s, ..., A[n].s + // In other words, assign the witness coefficients / execution values + // Similarly for B.s and C.s + fn scale_and_accumulate_variable_polynomials( + &self, + w: &[FrElement], + degree: usize, + offset: &FrElement, + ) -> [Vec; 3] { + [&self.l, &self.r, &self.o].map(|var_polynomials| { + Polynomial::evaluate_offset_fft( + &(var_polynomials + .iter() + .zip(w) + .map(|(poly, coeff)| { + poly.mul_with_ref(&Polynomial::new_monomial(coeff.clone(), 0)) + }) + .reduce(|poly1, poly2| poly1 + poly2) + .unwrap()), + 1, + Some(degree), + offset, + ) + .unwrap() + }) + } + + pub fn num_of_private_inputs(&self) -> usize { + self.l.len() - self.num_of_public_inputs + } + + pub fn from_r1cs(r1cs: R1CS) -> QuadraticArithmeticProgram { + let num_gates = r1cs.number_of_constraints(); + let next_power_of_two = num_gates.next_power_of_two(); + let pad_zeroes = next_power_of_two - num_gates; + + let mut l: Vec> = vec![]; + let mut r: Vec> = vec![]; + let mut o: Vec> = vec![]; + for i in 0..r1cs.witness_size() { + let [l_poly, r_poly, o_poly] = + get_variable_lro_polynomials_from_r1cs(&r1cs, i, pad_zeroes); + l.push(l_poly); + r.push(r_poly); + o.push(o_poly); + } + + QuadraticArithmeticProgram { + l, + r, + o, + num_of_gates: next_power_of_two, + num_of_public_inputs: r1cs.number_of_inputs, + } + } + + pub fn from_variable_matrices( + num_of_public_inputs: usize, + l: &[Vec], + r: &[Vec], + o: &[Vec], + ) -> QuadraticArithmeticProgram { + let num_of_vars = l.len(); + assert!(num_of_vars > 0); + assert_eq!(num_of_vars, r.len()); + assert_eq!(num_of_vars, o.len()); + assert!(num_of_public_inputs <= num_of_vars); + + let num_of_gates = l[0].len(); + let next_power_of_two = num_of_gates.next_power_of_two(); + let pad_zeroes = next_power_of_two - num_of_gates; + + QuadraticArithmeticProgram { + num_of_public_inputs, + num_of_gates: next_power_of_two, + l: build_variable_polynomials(&apply_padding(l, pad_zeroes)), + r: build_variable_polynomials(&apply_padding(r, pad_zeroes)), + o: build_variable_polynomials(&apply_padding(o, pad_zeroes)), + } + } +} + +#[inline] +fn get_variable_lro_polynomials_from_r1cs( + r1cs: &R1CS, + var_idx: usize, + pad_zeroes: usize, +) -> [Polynomial; 3] { + let cap = r1cs.number_of_constraints() + pad_zeroes; + let mut current_var_l = vec![FrElement::zero(); cap]; + let mut current_var_r = vec![FrElement::zero(); cap]; + let mut current_var_o = vec![FrElement::zero(); cap]; + + for (i, c) in r1cs.constraints.iter().enumerate() { + current_var_l[i] = c.a[var_idx].clone(); + current_var_r[i] = c.b[var_idx].clone(); + current_var_o[i] = c.c[var_idx].clone(); + } + + [current_var_l, current_var_r, current_var_o] + .map(|e| Polynomial::interpolate_fft::(&e).unwrap()) +} + +#[inline] +fn build_variable_polynomials(from_matrix: &[Vec]) -> Vec> { + from_matrix + .iter() + .map(|row| Polynomial::interpolate_fft::(row).unwrap()) + .collect() +} + +#[inline] +fn apply_padding(columns: &[Vec], pad_zeroes: usize) -> Vec> { + columns + .iter() + .map(|column| { + let mut new_column = column.clone(); + new_column.extend(vec![FrElement::zero(); pad_zeroes]); + new_column + }) + .collect() +} diff --git a/provers/groth16/bn_254/src/r1cs.rs b/provers/groth16/bn_254/src/r1cs.rs new file mode 100644 index 000000000..c1a96d1bf --- /dev/null +++ b/provers/groth16/bn_254/src/r1cs.rs @@ -0,0 +1,50 @@ +use crate::common::FrElement; +use lambdaworks_math::field::{element::FieldElement, traits::IsField}; + +// To be improved with a front-end implementation +// TODO: Use CS in Groth16 tests instead of a plain QAP +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct ConstraintSystem { + pub constraints: R1CS, + pub witness: Vec>, +} + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Constraint { + pub a: Vec, + pub b: Vec, + pub c: Vec, +} +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct R1CS { + pub constraints: Vec, + pub number_of_inputs: usize, +} + +impl R1CS { + pub fn from_matrices( + a: Vec>, + b: Vec>, + c: Vec>, + number_of_inputs: usize, + ) -> Self { + Self { + constraints: (0..a.len()) + .map(|i| Constraint { + a: a[i].clone(), + b: b[i].clone(), + c: c[i].clone(), + }) + .collect(), + number_of_inputs, + } + } + + pub fn number_of_constraints(&self) -> usize { + self.constraints.len() + } + + pub fn witness_size(&self) -> usize { + self.constraints[0].a.len() + } +} diff --git a/provers/groth16/bn_254/src/setup.rs b/provers/groth16/bn_254/src/setup.rs new file mode 100644 index 000000000..4e941d68b --- /dev/null +++ b/provers/groth16/bn_254/src/setup.rs @@ -0,0 +1,135 @@ +use crate::{common::*, QuadraticArithmeticProgram}; +use lambdaworks_math::{ + cyclic_group::IsGroup, + elliptic_curve::{ + short_weierstrass::{point::ShortWeierstrassProjectivePoint, traits::IsShortWeierstrass}, + traits::{IsEllipticCurve, IsPairing}, + }, +}; + +pub struct VerifyingKey { + // e([alpha]_1, [beta]_2) computed during setup as it's a constant + pub alpha_g1_times_beta_g2: PairingOutput, + pub delta_g2: G2Point, + pub gamma_g2: G2Point, + // [K_0(τ)]_1, [K_1(τ)]_1, ..., [K_k(τ)]_1 + // where K_i(τ) = γ^{-1} * (β*l(τ) + α*r(τ) + o(τ)) + // and "k" is the number of public inputs + pub verifier_k_tau_g1: Vec, +} + +pub struct ProvingKey { + pub alpha_g1: G1Point, + pub beta_g1: G1Point, + pub beta_g2: G2Point, + pub delta_g1: G1Point, + pub delta_g2: G2Point, + // [A_0(τ)]_1, [A_1(τ)]_1, ..., [A_n(τ)]_1 + pub l_tau_g1: Vec, + // [B_0(τ)]_1, [B_1(τ)]_1, ..., [B_n(τ)]_1 + pub r_tau_g1: Vec, + // [B_0(τ)]_2, [B_1(τ)]_2, ..., [B_n(τ)]_2 + pub r_tau_g2: Vec, + // [K_{k+1}(τ)]_1, [K_{k+2}(τ)]_1, ..., [K_n(τ)]_1 + // where K_i(τ) = ƍ^{-1} * (β*l(τ) + α*r(τ) + o(τ)) + // and "k" is the number of public inputs + pub prover_k_tau_g1: Vec, + // [delta^{-1} * t(τ) * tau^0]_1, [delta^{-1} * t(τ) * τ^1]_1, ..., [delta^{-1} * t(τ) * τ^m]_1 + pub z_powers_of_tau_g1: Vec, +} + +struct ToxicWaste { + tau: FrElement, + alpha: FrElement, + beta: FrElement, + gamma: FrElement, + delta: FrElement, +} + +impl ToxicWaste { + pub fn new() -> Self { + Self { + tau: sample_fr_elem(), + alpha: sample_fr_elem(), + beta: sample_fr_elem(), + gamma: sample_fr_elem(), + delta: sample_fr_elem(), + } + } +} + +pub fn setup(qap: &QuadraticArithmeticProgram) -> (ProvingKey, VerifyingKey) { + let g1: G1Point = Curve::generator(); + let g2: G2Point = TwistedCurve::generator(); + + let tw = ToxicWaste::new(); + + let l_tau: Vec<_> = qap.l.iter().map(|p| p.evaluate(&tw.tau)).collect(); + let r_tau: Vec<_> = qap.r.iter().map(|p| p.evaluate(&tw.tau)).collect(); + + let mut to_be_inversed = [tw.delta.clone(), tw.gamma.clone()]; + FrElement::inplace_batch_inverse(&mut to_be_inversed).unwrap(); + let [delta_inv, gamma_inv] = to_be_inversed; + + let k_tau: Vec<_> = l_tau + .iter() + .zip(&r_tau) + .enumerate() + .map(|(i, (l, r))| { + let unshifted = &tw.beta * l + &tw.alpha * r + &qap.o[i].evaluate(&tw.tau); + if i < qap.num_of_public_inputs { + &gamma_inv * &unshifted + } else { + &delta_inv * &unshifted + } + }) + .collect(); + + let alpha_g1 = g1.operate_with_self(tw.alpha.representative()); + let beta_g2 = g2.operate_with_self(tw.beta.representative()); + + let alpha_g1_times_beta_g2 = Pairing::compute(&alpha_g1, &beta_g2).unwrap(); + + let delta_g2 = g2.operate_with_self(tw.delta.representative()); + + ( + ProvingKey { + alpha_g1, + beta_g1: g1.operate_with_self(tw.beta.representative()), + beta_g2, + delta_g1: g1.operate_with_self(tw.delta.representative()), + delta_g2: delta_g2.clone(), + l_tau_g1: batch_operate(&l_tau, &g1), + r_tau_g1: batch_operate(&r_tau, &g1), + r_tau_g2: batch_operate(&r_tau, &g2), + prover_k_tau_g1: batch_operate(&k_tau[qap.num_of_public_inputs..], &g1), + z_powers_of_tau_g1: batch_operate( + &core::iter::successors( + // Start from delta^{-1} * t(τ) + // Note that t(τ) = (τ^N - 1) because our domain is roots of unity + Some(&delta_inv * (&tw.tau.pow(qap.num_of_gates) - FrElement::one())), + |prev| Some(prev * &tw.tau), + ) + .take(qap.num_of_gates * 2) + .collect::>(), + &g1, + ), + }, + VerifyingKey { + alpha_g1_times_beta_g2, + delta_g2, + gamma_g2: g2.operate_with_self(tw.gamma.representative()), + verifier_k_tau_g1: batch_operate(&k_tau[..qap.num_of_public_inputs], &g1), + }, + ) +} + +fn batch_operate( + elems: &[FrElement], + point: &ShortWeierstrassProjectivePoint, +) -> Vec> { + elems + .iter() + .map(|elem| point.operate_with_self(elem.representative())) + .collect() +} diff --git a/provers/groth16/bn_254/src/verifier.rs b/provers/groth16/bn_254/src/verifier.rs new file mode 100644 index 000000000..b83c4b215 --- /dev/null +++ b/provers/groth16/bn_254/src/verifier.rs @@ -0,0 +1,22 @@ +use lambdaworks_math::{elliptic_curve::traits::IsPairing, msm::pippenger::msm}; + +use crate::common::{FrElement, Pairing}; +use crate::prover::Proof; +use crate::setup::VerifyingKey; + +pub fn verify(vk: &VerifyingKey, proof: &Proof, pub_inputs: &[FrElement]) -> bool { + // [γ^{-1} * (β*l(τ) + α*r(τ) + o(τ))]_1 + let k_tau_assigned_verifier_g1 = msm( + &pub_inputs + .iter() + .map(|elem| elem.representative()) + .collect::>(), + &vk.verifier_k_tau_g1, + ) + .unwrap(); + + Pairing::compute(&proof.pi3, &vk.delta_g2).unwrap() + * vk.alpha_g1_times_beta_g2.clone() + * Pairing::compute(&k_tau_assigned_verifier_g1, &vk.gamma_g2).unwrap() + == Pairing::compute(&proof.pi1, &proof.pi2).unwrap() +} diff --git a/provers/groth16/tests/groth16.rs b/provers/groth16/bn_254/tests/groth16.rs similarity index 94% rename from provers/groth16/tests/groth16.rs rename to provers/groth16/bn_254/tests/groth16.rs index 4df7d1f93..5df99ad6e 100644 --- a/provers/groth16/tests/groth16.rs +++ b/provers/groth16/bn_254/tests/groth16.rs @@ -1,4 +1,4 @@ -use lambdaworks_groth16::{common::*, setup, verify, Proof, Prover}; +use lambdaworks_groth16_bn_254::{common::*, setup, verify, Proof, Prover}; mod test_circuits; use test_circuits::*; diff --git a/provers/groth16/tests/test_circuits/mod.rs b/provers/groth16/bn_254/tests/test_circuits/mod.rs similarity index 97% rename from provers/groth16/tests/test_circuits/mod.rs rename to provers/groth16/bn_254/tests/test_circuits/mod.rs index faaf450eb..cdb41236f 100644 --- a/provers/groth16/tests/test_circuits/mod.rs +++ b/provers/groth16/bn_254/tests/test_circuits/mod.rs @@ -1,4 +1,4 @@ -use lambdaworks_groth16::{common::*, QuadraticArithmeticProgram as QAP}; +use lambdaworks_groth16_bn_254::{common::*, QuadraticArithmeticProgram as QAP}; /* Represents x^3 + x + 5 = 35, based on https://vitalik.ca/general/2016/12/10/qap.html diff --git a/provers/groth16/circom-adapter/test_files/poseidon/test.r1cs.json b/provers/groth16/circom-adapter/test_files/poseidon/test.r1cs.json deleted file mode 100644 index 693a6d2e1..000000000 --- a/provers/groth16/circom-adapter/test_files/poseidon/test.r1cs.json +++ /dev/null @@ -1,4512 +0,0 @@ -{ - "n8": 32, - "prime": "52435875175126190479447740508185965837690552500527637822603658699938581184513", - "nVars": 215, - "nOutputs": 1, - "nPubInputs": 0, - "nPrvInputs": 1, - "nLabels": 583, - "nConstraints": 213, - "useCustomGates": false, - "constraints": [ - [ - { - "0": "47002224662166672867131413033472899870931743636313811084027392038215058404480", - "2": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "0": "5433650512959517612316327474713065966758808864213826738576266661723522780033", - "2": "1" - }, - { - "73": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "73": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "73": "1" - }, - { - "74": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "74": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "0": "5433650512959517612316327474713065966758808864213826738576266661723522780033", - "2": "1" - }, - { - "0": "17301668213014761646596552653015591039760461391617952799153519234591864034463", - "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "0": "18121914352619992825529298674955760274687060138678729211531310305112441479676", - "3": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "0": "34313960822506197653918441833230205563003492361848908611072348394826139704837", - "3": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "75": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "75": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "75": "1" - }, - { - "76": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "76": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "0": "34313960822506197653918441833230205563003492361848908611072348394826139704837", - "3": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "19776162473771124504636460540005465934623588388516917789964545078054814040751", - "4": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "0": "39641237770587972878319552685981320289244633020922775863749204380887651483675", - "3": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "0": "12794637404538217601128187822204645548445919479604861958854454319050929700838", - "3": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "77": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "77": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "77": "1" - }, - { - "78": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "78": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "0": "12794637404538217601128187822204645548445919479604861958854454319050929700838", - "3": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "0": "11316768622745143833150712249439306411966930091146927416794626237074092972974", - "5": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "4": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "5": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "4": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "5": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "79": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "79": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "79": "1" - }, - { - "80": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "80": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "4": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "5": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "16445483823163065295596987123801926703922762982696126295152762759513382273866", - "6": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "4": "46659190381000641016999143094135733593911872198348198329939611371656852828168", - "5": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "4": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "5": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "81": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "81": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "81": "1" - }, - { - "82": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "82": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "4": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "5": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "0": "4514474156763384993737907502541146539969481658202448264361041161669007485071", - "7": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "6": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "7": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "6": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "7": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "83": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "83": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "83": "1" - }, - { - "84": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "84": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "6": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "7": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "15962945726901666037200703277090943625692830090147479512076829448913210994056", - "8": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "6": "46659190381000641016999143094135733593911872198348198329939611371656852828168", - "7": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "6": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "7": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "85": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "85": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "85": "1" - }, - { - "86": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "86": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "6": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "7": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "0": "887718591790650017281197227986729839639624303500401204697133087008458682956", - "9": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "72": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "72": "1" - }, - { - "87": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "87": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "87": "1" - }, - { - "88": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "88": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "72": "1" - }, - { - "0": "12275810531539430738053742281045622394839331044128025660443842052759513336728", - "10": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "8": "5192654897427357008432485609548618383439366938048738267512357806175323156466", - "9": "44191900748914651603154436884985405802624310922043415177054320835582811318799", - "17": "16682593524536877201531712829085670433517609722011452244873718259799228348094", - "18": "43176292574239827709965913132349833968585313120748753931461671119571506050120", - "19": "22454277736302330539981016565441139619576134744538169566477933175530787940739", - "20": "30123729579747296778679082467374526570498598882963001935435199420320161942256", - "21": "46568232823494654032688015031064077399377245709898471396748713760514442211391", - "22": "25337516245609128609822543248097808410082403769697789578791662343706028102192", - "23": "35601550524008744029282673352847160429101650733862130894197735477082149245871", - "24": "35137801412648608602082879801594064027148126627191773745053156849660147041891", - "25": "40398626151690458309263530700753346533191711706310534404013923450891362313020", - "26": "49254854458955331381907192669226021831064520795257317826598691575112032093544", - "27": "34654188339918270879861929787619795508384021635481876666056120963255152633433", - "28": "494391027058814481580993061254426732497840799120447570371498432602819883101", - "29": "44946201903288700296658382468835869814262726797502836774418588029043176260447", - "30": "48528295336382606069489647204400489577673347693131220253265802156768701700347", - "31": "31360798183006332565597117389323951060666556605711330882110548035101473192155", - "32": "14199984020335272086112293703616407891113291629004800921837716240396770592817", - "33": "22499065136731618754150770882412842216746313195882824776123236056140771071854", - "34": "52217880981612453390038597745102175942273063793798860889994274578587614827152", - "35": "11537655746854260565095799304447329691170321378827272307394507431534802009593", - "36": "4976638099565858473647778905610272835781322907363722016885461315219100861322", - "37": "4108392090303695195493660099979157995992377166454976378640241409951861734299", - "38": "15653641529872622376681823131135518307232703072159041211329697102310448663115", - "39": "14800899020251847241232019228031646644613998640250076359556728567450119111044", - "40": "44463855465583845034168653476990587477897453789614831858855295629714808931485", - "41": "10017085478120126963175632015936019718784225748796618639521456603694580582439", - "42": "5964435497664887447234757603860015773037854172250406422904388839641102056810", - "43": "5437229115590008548073876339184123793065964842700306165967098364197229809109", - "44": "31761090498660381152590868148703047507119657770368107945038318332745129332080", - "45": "52164753007942648654126677065408014405462714011956435929334483881356324845985", - "46": "8491974724559101596776574308942970972383695354753462027230993760828778482293", - "47": "46151185706456268294809352088665486118335041496311606337323937958920678053636", - "48": "26163285151599097458896485665061693812858393921677914525792777641618531124982", - "49": "20680354245047335378058215136376195768406919946856627631309921694439969779746", - "50": "17670284351817699338614554067914420616735028118279118466474981361397453000395", - "51": "48726527588140482709743231003634452131141550449721745648864847320882060170540", - "52": "1855745755075703151059428086310382931309105627860435429284103108472625282784", - "53": "27754302890119318476717015603950964862285802702681699302181928196592129086473", - "54": "49105981729716423446324504208277584360266771134924957425516715062055227989458", - "55": "2431220470210283703128932870876730811953054921751866995952505982901254332105", - "56": "17241810903661829527159007203551354915356058054897363299778832770398291954875", - "57": "5506609965393505601379869526086751832292859950316561376217538900402655037296", - "58": "35055291447473077149257142781429556079981892410110587627461981785180960067866", - "59": "27099544121785566071163804026757738834751009441787367088902224089246104816217", - "60": "21168488962979702344414435570748821232449040113325022888730742258043507028405", - "61": "47670895780436930537707698149600870156430827387591564803827756947402825569930", - "62": "2796943212009229214673244125547912349110865240615935726835249132294761701941", - "63": "7918403660682730431927324352637792984964501341438814631906703645998903792014", - "64": "32683555564922264902143485015196964126056753474964765939073261049223026516501", - "65": "13416403507941528912250512177702720074184965506688177765950834406754453210568", - "66": "38787375715048970217010351389657525454533757158251583363414573878811191758526", - "67": "46406132564233381384920233542963075657760887680299224559198572377706144536577", - "68": "30201327076396983193347672435573825141534190996210192641635524573209002434330", - "69": "38470913765980546510790377478989823683444782719827572704647142504929737797128", - "70": "8710830633971736968251063972026569291314211937138214596925867734113744983382", - "71": "51635308733343782767757203821132158717542520956470118440081593984226660505683", - "72": "35111823997307573390460048516833474775712674889514381017874831449584379582888" - }, - { - "8": "47243220277698833471015254898637347454251185562478899555091300893763258028047", - "9": "8243974426211538876293303623200560035066241578484222645549337864355769865714", - "17": "35753281650589313277916027679100295404172942778516185577729940440139352836419", - "18": "9259582600886362769481827375836131869105239379778883891141987580367075134393", - "19": "29981597438823859939466723942744826218114417755989468256125725524407793243774", - "20": "22312145595378893700768658040811439267191953617564635887168459279618419242257", - "21": "5867642351631536446759725477121888438313306790629166425854944939424138973122", - "22": "27098358929517061869625197260088157427608148730829848243811996356232553082321", - "23": "16834324651117446450165067155338805408588901766665506928405923222856431938642", - "24": "17298073762477581877364860706591901810542425873335864077550501850278434142622", - "25": "12037249023435732170184209807432619304498840794217103418589735249047218871493", - "26": "3181020716170859097540547838959944006626031705270319996004967124826549090969", - "27": "17781686835207919599585810720566170329306530865045761156547537736683428551080", - "28": "51941484148067375997866747446931539105192711701407190252232160267335761301412", - "29": "7489673271837490182789358039350096023427825703024801048185070670895404924066", - "30": "3907579838743584409958093303785476260017204807396417569337856543169879484166", - "31": "21075076992119857913850623118862014777023995894816306940493110664837107992358", - "32": "38235891154790918393335446804569557946577260871522836900765942459541810591696", - "33": "29936810038394571725296969625773123620944239304644813046480422643797810112659", - "34": "217994193513737089409142763083789895417488706728776932609384121350966357361", - "35": "40898219428271929914351941203738636146520231121700365515209151268403779174920", - "36": "47459237075560332005799961602575693001909229593163915805718197384719480323191", - "37": "48327483084822495283954080408206807841698175334072661443963417289986719450214", - "38": "36782233645253568102765917377050447530457849428368596611273961597628132521398", - "39": "37634976154874343238215721280154319193076553860277561463046930132488462073469", - "40": "7972019709542345445279087031195378359793098710912805963748363070223772253028", - "41": "42418789697006063516272108492249946118906326751731019183082202096244000602074", - "42": "46471439677461303032212982904325950064652698328277231399699269860297479127703", - "43": "46998646059536181931373864169001842044624587657827331656636560335741351375404", - "44": "20674784676465809326856872359482918330570894730159529877565340367193451852433", - "45": "271122167183541825321063442777951432227838488571201893269174818582256338528", - "46": "43943900450567088882671166199242994865306857145774175795372664939109802702220", - "47": "6284689468669922184638388419520479719355511004216031485279720741017903130877", - "48": "26272590023527093020551254843124272024832158578849723296810881058320050059531", - "49": "31755520930078855101389525371809770069283632553671010191293737005498611404767", - "50": "34765590823308491140833186440271545220955524382248519356128677338541128184118", - "51": "3709347586985707769704509504551513706549002050805892173738811379056521013973", - "52": "50580129420050487328388312421875582906381446872667202393319555591465955901729", - "53": "24681572285006872002730724904235000975404749797845938520421730503346452098040", - "54": "3329893445409767033123236299908381477423781365602680397086943637883353195055", - "55": "50004654704915906776318807637309235025737497578775770826651152717037326852408", - "56": "35194064271464360952288733304634610922334494445630274522824825929540289229638", - "57": "46929265209732684878067870982099214005397692550211076446386119799535926147217", - "58": "17380583727653113330190597726756409757708660090417050195141676914757621116647", - "59": "25336331053340624408283936481428227002939543058740270733701434610692476368296", - "60": "31267386212146488135033304937437144605241512387202614933872916441895074156108", - "61": "4764979394689259941740042358585095681259725112936073018775901752535755614583", - "62": "49638931963116961264774496382638053488579687259911702095768409567643819482572", - "63": "44517471514443460047520416155548172852726051159088823190696955053939677392499", - "64": "19752319610203925577304255492989001711633799025562871883530397650715554668012", - "65": "39019471667184661567197228330483245763505586993839460056652824293184127973945", - "66": "13648499460077220262437389118528440383156795342276054459189084821127389425987", - "67": "6029742610892809094527506965222890179929664820228413263405086322232436647936", - "68": "22234548098729207286100068072612140696156361504317445180968134126729578750183", - "69": "13964961409145643968657363029196142154245769780700065117956516195008843387385", - "70": "43725044541154453511196676536159396546376340563389423225677790965824836201131", - "71": "800566441782407711690536687053807120148031544057519382522064715711920678830", - "72": "17324051177818617088987691991352491061977877611013256804728827250354201601625" - }, - { - "89": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "89": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "89": "1" - }, - { - "90": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "90": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "8": "47243220277698833471015254898637347454251185562478899555091300893763258028047", - "9": "8243974426211538876293303623200560035066241578484222645549337864355769865714", - "17": "35753281650589313277916027679100295404172942778516185577729940440139352836419", - "18": "9259582600886362769481827375836131869105239379778883891141987580367075134393", - "19": "29981597438823859939466723942744826218114417755989468256125725524407793243774", - "20": "22312145595378893700768658040811439267191953617564635887168459279618419242257", - "21": "5867642351631536446759725477121888438313306790629166425854944939424138973122", - "22": "27098358929517061869625197260088157427608148730829848243811996356232553082321", - "23": "16834324651117446450165067155338805408588901766665506928405923222856431938642", - "24": "17298073762477581877364860706591901810542425873335864077550501850278434142622", - "25": "12037249023435732170184209807432619304498840794217103418589735249047218871493", - "26": "3181020716170859097540547838959944006626031705270319996004967124826549090969", - "27": "17781686835207919599585810720566170329306530865045761156547537736683428551080", - "28": "51941484148067375997866747446931539105192711701407190252232160267335761301412", - "29": "7489673271837490182789358039350096023427825703024801048185070670895404924066", - "30": "3907579838743584409958093303785476260017204807396417569337856543169879484166", - "31": "21075076992119857913850623118862014777023995894816306940493110664837107992358", - "32": "38235891154790918393335446804569557946577260871522836900765942459541810591696", - "33": "29936810038394571725296969625773123620944239304644813046480422643797810112659", - "34": "217994193513737089409142763083789895417488706728776932609384121350966357361", - "35": "40898219428271929914351941203738636146520231121700365515209151268403779174920", - "36": "47459237075560332005799961602575693001909229593163915805718197384719480323191", - "37": "48327483084822495283954080408206807841698175334072661443963417289986719450214", - "38": "36782233645253568102765917377050447530457849428368596611273961597628132521398", - "39": "37634976154874343238215721280154319193076553860277561463046930132488462073469", - "40": "7972019709542345445279087031195378359793098710912805963748363070223772253028", - "41": "42418789697006063516272108492249946118906326751731019183082202096244000602074", - "42": "46471439677461303032212982904325950064652698328277231399699269860297479127703", - "43": "46998646059536181931373864169001842044624587657827331656636560335741351375404", - "44": "20674784676465809326856872359482918330570894730159529877565340367193451852433", - "45": "271122167183541825321063442777951432227838488571201893269174818582256338528", - "46": "43943900450567088882671166199242994865306857145774175795372664939109802702220", - "47": "6284689468669922184638388419520479719355511004216031485279720741017903130877", - "48": "26272590023527093020551254843124272024832158578849723296810881058320050059531", - "49": "31755520930078855101389525371809770069283632553671010191293737005498611404767", - "50": "34765590823308491140833186440271545220955524382248519356128677338541128184118", - "51": "3709347586985707769704509504551513706549002050805892173738811379056521013973", - "52": "50580129420050487328388312421875582906381446872667202393319555591465955901729", - "53": "24681572285006872002730724904235000975404749797845938520421730503346452098040", - "54": "3329893445409767033123236299908381477423781365602680397086943637883353195055", - "55": "50004654704915906776318807637309235025737497578775770826651152717037326852408", - "56": "35194064271464360952288733304634610922334494445630274522824825929540289229638", - "57": "46929265209732684878067870982099214005397692550211076446386119799535926147217", - "58": "17380583727653113330190597726756409757708660090417050195141676914757621116647", - "59": "25336331053340624408283936481428227002939543058740270733701434610692476368296", - "60": "31267386212146488135033304937437144605241512387202614933872916441895074156108", - "61": "4764979394689259941740042358585095681259725112936073018775901752535755614583", - "62": "49638931963116961264774496382638053488579687259911702095768409567643819482572", - "63": "44517471514443460047520416155548172852726051159088823190696955053939677392499", - "64": "19752319610203925577304255492989001711633799025562871883530397650715554668012", - "65": "39019471667184661567197228330483245763505586993839460056652824293184127973945", - "66": "13648499460077220262437389118528440383156795342276054459189084821127389425987", - "67": "6029742610892809094527506965222890179929664820228413263405086322232436647936", - "68": "22234548098729207286100068072612140696156361504317445180968134126729578750183", - "69": "13964961409145643968657363029196142154245769780700065117956516195008843387385", - "70": "43725044541154453511196676536159396546376340563389423225677790965824836201131", - "71": "800566441782407711690536687053807120148031544057519382522064715711920678830", - "72": "17324051177818617088987691991352491061977877611013256804728827250354201601625" - }, - { - "0": "21143091624051898429049779202777783090616631078773674742631481136382890245166", - "11": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "10": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "11": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "10": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "11": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "91": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "91": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "91": "1" - }, - { - "92": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "92": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "10": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "11": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "10171452642243387955781526332645193123346266850900972162093561209595357586423", - "12": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "10": "46659190381000641016999143094135733593911872198348198329939611371656852828168", - "11": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "10": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "11": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "93": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "93": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "93": "1" - }, - { - "94": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "94": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "10": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "11": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "0": "3855895713134056811998624598511873826580243324673003091901619068671473231435", - "13": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "12": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "13": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "12": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "13": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "95": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "95": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "95": "1" - }, - { - "96": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "96": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "12": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "13": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "13528768565745931233460851026527843568952293200662922221190432010518079703355", - "14": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "12": "46659190381000641016999143094135733593911872198348198329939611371656852828168", - "13": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "12": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "13": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "97": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "97": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "97": "1" - }, - { - "98": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "98": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "12": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "13": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "0": "6443318563434187156482979037576690662213493094314678699384407936675395356263", - "15": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "14": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "15": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "14": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "15": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "99": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "99": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "99": "1" - }, - { - "100": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "100": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "14": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "15": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "16": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "14": "46659190381000641016999143094135733593911872198348198329939611371656852828168", - "15": "44087700254192067928964146508732085830934444379186570650215212783609639205945" - }, - { - "14": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "15": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "101": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "101": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "101": "1" - }, - { - "102": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "102": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "14": "5776684794125549462448597414050232243778680302179439492664047328281728356345", - "15": "8348174920934122550483593999453880006756108121341067172388445916328941978568" - }, - { - "1": "18391027390011658052434319788313832985258800726793609915693141529846616218392", - "16": "39976218779278093542861309592985538942815568401541314690583304734527154574303" - } - ], - [ - { - "8": "49525108357280539459569165668684164497620522385376616561300824389215851676972", - "9": "32708508311735022941325600146712381710542921827904536994669574389708558585369" - }, - { - "8": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "9": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "103": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "103": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "103": "1" - }, - { - "104": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "104": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "8": "2910766817845651019878574839501801340070030115151021261302834310722729507541", - "9": "19727366863391167538122140361473584127147630672623100827934084310230022599144" - }, - { - "0": "12274216425815286338344348482336276117995066724093487299512262174649563976186", - "8": "523275527750387873590246815039557098366775355168517172710947678319526243896", - "9": "29863921153103613859282946949144467702712859644865163165806334700261602539917", - "17": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "17": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "17": "1" - }, - { - "105": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "105": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "105": "1" - }, - { - "106": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "106": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "17": "1" - }, - { - "0": "1050758930252644049914605206403427631313247657935800041327915318465466974783", - "8": "14647793870698006663788078479891969955203674662705784514362579274748145255342", - "9": "44013170922976527852837802860940497245253994239591664654910384441309179470950", - "17": "44618527102236044714623041959177328003816642867354995233005889480954713736162", - "18": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "18": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "18": "1" - }, - { - "107": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "107": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "107": "1" - }, - { - "108": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "108": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "18": "1" - }, - { - "0": "10607585076226348745183629788245008577438579576330359487986117688517235408881", - "8": "44086260898869827729461696793073698695171266839028803560440724451968694562878", - "9": "45609318636240826618104404231943273075745914428284787965153199837375146018682", - "17": "34689122506791715776071270321964384164520116559785394498199709612928793950519", - "18": "20500302356120126646304935893371217543220209172169789961563086856428115597248", - "19": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "19": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "19": "1" - }, - { - "109": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "109": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "109": "1" - }, - { - "110": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "110": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "19": "1" - }, - { - "0": "20509009694313778489858884111978287368685508463213168251197030962719682409205", - "8": "12607992335172491240600546551739327470767846536047868017918750947802282287335", - "9": "31066938295670410723054688528383889966878843405893792865037517011432310377109", - "17": "28444766044878297851939071031958436774401690490685803415980417810351285288175", - "18": "46992068175337004244612270242884504024052307296766029016148008260534360879369", - "19": "30998169063668865873788972002963240699852520757570395930308332452580097054007", - "20": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "20": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "20": "1" - }, - { - "111": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "111": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "111": "1" - }, - { - "112": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "112": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "20": "1" - }, - { - "0": "4563680725198793251172562411623420668869330885202539013185566348548255071635", - "8": "23438669612988967744394891095824517659633044895292482524073888033526829516987", - "9": "27332645648899331453309944209892012570458875279051683414008536707518527791934", - "17": "12756820937250441106229187825805449016933357428518379195050618891473007065071", - "18": "13558789015118527713957930658666130417146533292655698478770748946628830945170", - "19": "133745349276713264300556318422135592110994373519420655612344503638515360841", - "20": "37362060064797730184705915714627896388964928616834195472855686100461021030130", - "21": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "21": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "21": "1" - }, - { - "113": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "113": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "113": "1" - }, - { - "114": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "114": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "21": "1" - }, - { - "0": "10132793020925051358967312895903080509340240497490871556356344077873835967889", - "8": "52054038910215594550350530851443290570393185222311899738807668115885166480748", - "9": "21931046423993759091296806349383041916752643429514287099782135231963611419871", - "17": "38509896658554346735701809271368460008849036093648740709803418559671241746918", - "18": "10404084851932792103272289385895210754252900162091158424484943133514023472134", - "19": "44197672073455331141053970220012513759520245384805484238044711836794287013028", - "20": "19111610154350099526360715550060897883235808614222370357672419532172792868954", - "21": "49197749829697731916730220414012305162239148718896561097266732704587314877562", - "22": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "22": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "22": "1" - }, - { - "115": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "115": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "115": "1" - }, - { - "116": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "116": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "22": "1" - }, - { - "0": "2647212931513679432767054030363504863222540192567519779190979594289737202550", - "8": "38265739260659547545823878167336804938380457069528607389540990840187913625048", - "9": "10977316254521966142079585524801037072517021878534582944038349171363363010424", - "17": "24670164380422293972563714110452662424227945793854522951291921694212727913657", - "18": "13428317419311691864066108855224782671524209281113452406120194086612645933003", - "19": "1306729606245615638105902628288325102878471788441872534753886762054758749285", - "20": "42459919049932035097624789991134573942266120535137515909226761181108272964659", - "21": "25996860871921503911544082043813396243054833166873924304909577117740333819085", - "22": "47042174649050522390501748178762639544653448991838551088262477161887058505704", - "23": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "23": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "23": "1" - }, - { - "117": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "117": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "117": "1" - }, - { - "118": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "118": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "23": "1" - }, - { - "0": "4359886051856780224292971980741406425492649906224296730054335077893394909530", - "8": "25049770149452949374467751744953832674825149247215267735945993077948422051037", - "9": "38513659637705165414771786174460269397288080548044442743384172534373206325937", - "17": "52122341676622476698989697463907931856383406157792658408512797620781224506873", - "18": "9839492682569537610819765512504521947628538257548325302727677139273265827420", - "19": "18655316350694565641464950746239354029108944720339362036628705957794260437160", - "20": "13600593241380128370270779462252518827942753136846635056083174406395864726952", - "21": "46866975249348385204996497054439891787355641311250052516740548639217601140643", - "22": "18300223650325421706116599425722186640066050378465269788761004957205339296481", - "23": "1108292025407625726051905408276804397965195841607222412643343962994880725416", - "24": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "24": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "24": "1" - }, - { - "119": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "119": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "119": "1" - }, - { - "120": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "120": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "24": "1" - }, - { - "0": "3054847578866604975257033821021111653343035155943751913629683293137065347688", - "8": "1571814154268717365911099353068294390185480398602746730473175244831011913749", - "9": "40944618482791468333288891986527612484118332155090636872070947106473911680823", - "17": "26544098650097602827530483799155511251841273545311750035204314985181742249889", - "18": "47789569197925979394558652231068257823414656437532033330332972750615121224973", - "19": "11766554378928597063804608229791574923485243610554158815715421873522134958138", - "20": "32488380112214489255202140173040041641682802662141975501481890469994212878140", - "21": "43944567479141735733084647695553977221103054591511189509433824240395745824912", - "22": "32142445010587398401940223855151394061997208110235665894288758048966534773810", - "23": "19708456662923868506331135265189148400623717017138247198937389688645833119818", - "24": "8710199628819774376887170190660500058809235533705819821767327029930309306060", - "25": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "25": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "25": "1" - }, - { - "121": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "121": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "121": "1" - }, - { - "122": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "122": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "25": "1" - }, - { - "0": "1596959724864208462318973909411993812742702283705404297188991879075781032285", - "8": "597586323079623342021154412625898051176897679340023864083676874051668511934", - "9": "7856192806994717731873545182397730487544363372736958983631501652418019505935", - "17": "50264507679943839576798439730596962159743072300230863395483751916788544964520", - "18": "34744287446837256340485864020734126794481742487713181744756072870918865035221", - "19": "31536751286981380314003196150422144896562966034030808672985938732266457747648", - "20": "7011128262576212572413596762500166619168819400050749490847811724813985822562", - "21": "34393510166785394575647698404563761511600361745324455861299096957522581151882", - "22": "2539820945593229936033516859775882239362549663900519549445893129215823354926", - "23": "31830160268950011988415843485889916909435506750195255746749797547385071335706", - "24": "26163545989402538687163581171383833840715572972843592035966208808229216185106", - "25": "28655945309801649476497566762368779734248351654321856351044823474760502562791", - "26": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "26": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "26": "1" - }, - { - "123": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "123": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "123": "1" - }, - { - "124": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "124": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "26": "1" - }, - { - "0": "9261998448432672939016143689737142959950360294646800435636112732010430895748", - "8": "29187660716279070466787210448535577009279255682815140908027674703152603353097", - "9": "34127721494573460562626390511713334078644561604752937144809917178660613681772", - "17": "35579634117589868096465119861802472339972768591256890404363690519067366418412", - "18": "11775947800468834411936124909313979868489795258570487214954130629687446250427", - "19": "26757645007250378196609692159012133165990312145599643459296878881105757930181", - "20": "27665572361398849436113159412832395956213860747776629163045867949595935146953", - "21": "8605886056650093142247183627154593698747475493192517229640802595075646339512", - "22": "11827601560949004328045691063904382330623155862780950862428796047012317979804", - "23": "17140429297242487508373023503976741370501964850620935389018442218477773274633", - "24": "19197190215986596441799021031587930506996378487446902302730638321380074945023", - "25": "40294901855215798913817067541369435026574706677301803503482667829096473569933", - "26": "4428148813778707766160807786538068971023325871880931422496658130186965151085", - "27": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "27": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "27": "1" - }, - { - "125": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "125": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "125": "1" - }, - { - "126": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "126": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "27": "1" - }, - { - "0": "21811458719499960186771214587366397959723618323848154217660010569954685810715", - "8": "34401610499586966881619461335030210072479838401278499810788565707787185255455", - "9": "51165492728394242983663379841727284624200596842151612659217220816743963203538", - "17": "7957160447300388165441996578337445694734798230657804121629037002580485804588", - "18": "3112296533843222836687174985460829512830498821936912945097238271636899007951", - "19": "29763270315477331916450274239517016674168147839226194069123460836065020823172", - "20": "24045372628603965531640755160668422831271597757979033486858224704815861441342", - "21": "32656267590793163554518363289836788062436883137510286552200807360270842252201", - "22": "43240951980381493526299749711619611481213013101865296211337817937016731143926", - "23": "24343674894502055927091066748288339464015196069594062903545488680302215556884", - "24": "27993811030819184317552970940800960241497363672173730398321464726334293958097", - "25": "22152655807744473877336354872503231583082965085782926063629967178853133089546", - "26": "21983049277506886158038474252140360350322964821609907598656506573318739437848", - "27": "21453047890104560453118921752650875921831568987001062676099051267369559909495", - "28": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "28": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "28": "1" - }, - { - "127": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "127": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "127": "1" - }, - { - "128": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "128": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "28": "1" - }, - { - "0": "3239076967784329489572444293576130919094218653342995300018245457598795548917", - "8": "21029159653293094852701089505851760414211005952802290736984732909843171386992", - "9": "6099653689013781554444846056378306891303416933883925215025255810832583578247", - "17": "14966059711859970165987342015410695006396269680549529458279318356656676092078", - "18": "11669683921054668546877318202199638349464737070388825019929787329418089991121", - "19": "22936347808378387795366137433807865747318828653532980672336704756330391161390", - "20": "28520175517985735849599910603135742858821364584281742893610499563740602141349", - "21": "1972317795414592831264440063142528198019547091539219716133346020110636874516", - "22": "44725062420632732927700594162692920449497607746903752529035447992870531990083", - "23": "18245339776025151066698543282567574090818306067639678467857056028416982921995", - "24": "33666071778868081577534013820928639052489491575650584804439875006850755630775", - "25": "29006803614327437572794885934940680170158140010867839314591082355351172926441", - "26": "26664354854209176428562622367752563855213297208751125047536148861356830877014", - "27": "46540170169284300712416130581131496192458354284627871312157958099560592800520", - "28": "37552166768553729842078435667515655279661905811024726972391043179629665575773", - "29": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "29": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "29": "1" - }, - { - "129": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "129": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "129": "1" - }, - { - "130": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "130": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "29": "1" - }, - { - "0": "20462520400712402627709344205131902699657125916001693532154815488581362749475", - "8": "3286079220927218273323471015859387401808211963700847942237991184532915331062", - "9": "2343353509527431221332805874580459769477254227005869364491719637404275393556", - "17": "15835679397455681978852345178921585571770478820469628643245691677831111209106", - "18": "25968359525593086699828741390841462213842557620921661117888781513811006682992", - "19": "39997221789469405004859238830109971808117973193471679882930960070408268917550", - "20": "31156624005995695462950647443564568709839806438278546285750322523829652149710", - "21": "48034682423002979598595735627082470964414057999025019120237307914909210515445", - "22": "25682390162004926648126512596702300684563123040119082981667172060065342954604", - "23": "44102610159658350122248945998262639117012424368083906748594985507669525398290", - "24": "32726117160370677784865534342031335354951857703739264647854242975769839117872", - "25": "42972349808106017539874972881902782760034769830822810182078396041017049664207", - "26": "20250495254710141779242865554672450483083674839617623855788372037336087569162", - "27": "24649455789456834061394228559949696511291535147962937233602998410882693391013", - "28": "5273471053396930295336690560480093058729058663067686078914810556193817947632", - "29": "20828928976331033411088404076326953775690739983590058821574144317057361316145", - "30": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "30": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "30": "1" - }, - { - "131": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "131": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "131": "1" - }, - { - "132": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "132": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "30": "1" - }, - { - "0": "15540512546148021086829191867945740637058588949955294856096961322685397103557", - "8": "10594000682191512671561842596850404768915215951390201064000301330876956225481", - "9": "24273899499008308828010116107035952946652360552962421411901755620677425559520", - "17": "21652127980743386179775703988143498909493671094413131441765583886616678127316", - "18": "7618365555867366171095384948441447746830408002681924780236233228087176595746", - "19": "16755497111647544518527337728294241483321161788841150515946266621678200849447", - "20": "25703243218349343715292199910244143742862242078796621739382563676444918929261", - "21": "23660236320146546117199432747642895528957581325887281208357215695199920019617", - "22": "2357711090522289546598897234729386613974028245803311836473732510536217990527", - "23": "28733109390173555215828644728966016814697501232510340716340765521737962277261", - "24": "44996841128396863114245258798635116637325455782740466297389023640723938426165", - "25": "6599789027858686808158438761231663258872408335820355159742928007712988636038", - "26": "28875710406631775034784952874367371890072865222379164063203700341303660516619", - "27": "50284829871210718242517076663473729011651558626688537645367329442091428271822", - "28": "1762353919069896882843960674301272407929198385872696572475666081553308159800", - "29": "10472686281706988856343297719402448851837898306731319072661790133137287988625", - "30": "24651292315699772044621115381931231967266843563921217358063230858396457193949", - "31": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "31": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "31": "1" - }, - { - "133": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "133": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "133": "1" - }, - { - "134": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "134": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "31": "1" - }, - { - "0": "13865340336144010740428645313739899438060242120535852433410522037321843803156", - "8": "14528663677549217700800129164589240270333099357676222217378864147671364079489", - "9": "11838001831142887965161049711255116731008938006723415752393105875928823923846", - "17": "37732396118242725888244754173643394832944788121742165982809199686401861287085", - "18": "23530732678750065385307338533592755450395924605310386851176582649096474639407", - "19": "50550572544129774267342194539641465324961602768578697715406753079042513781561", - "20": "15681255641087045917754868438779202436188948959404981614827002801118140285897", - "21": "14475111171075784286728374505417106731551073148221576213378864831472932847906", - "22": "21892317478647426493537220403009064189435814866706096421969697051020450471478", - "23": "49689139596570110748553740997039927421991030434841221960385634510364249022485", - "24": "24478737364037223335741847998307333115695913847075173158738694618639327321585", - "25": "23620509942094221335144955812663113871607773353773706235850667951902394330342", - "26": "1107509655449675373141801514668550306082947757353068871276916185101043394203", - "27": "21672129563678408258542791106266827495094250942223150056012336225035897917964", - "28": "40747714802267667523974000545189899228541863833165007357953802391444328469473", - "29": "34248378101069309979817762929920866414732447870225799199323440508751612246222", - "30": "35737277879488434066315981735687763550656392649338564392724059919984168272314", - "31": "47600411446882452507164335670385039071272755848488217750798424417826323267472", - "32": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "32": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "32": "1" - }, - { - "135": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "135": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "135": "1" - }, - { - "136": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "136": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "32": "1" - }, - { - "0": "4030925228209360989389332579897661669475428247758360576989046703985980534507", - "8": "14858100306733543830524509776306521753986490895213794511117380368819770756599", - "9": "44671304073227997346166121088379726371809129767681143691985426306899658342", - "17": "17765016743291917293348217143848029152268927397297485711988339683993251565304", - "18": "12964095691769142343773882903970457860146509467297206130486623695415961710194", - "19": "32583882997290336890435533681419785790048166306686416329629090622958600343611", - "20": "49880726576714371518407866641215833961753359214898505221320997746121053278085", - "21": "37279684032623107713129904363178895751371645527786470363426886665677707859510", - "22": "8079583818299097245587658691508156392962956495276449575816587971727797972240", - "23": "35071035289962475935149929989628309574094420629916270880243266104415759539645", - "24": "42412176687250432268065419865405620074868093565660661895808364766176954784949", - "25": "1304424358085773743635032637550606677479958615291705462427564388111328643902", - "26": "18123863706460350717772224518948997136960189165692162918421068438515605331180", - "27": "15247387742143107700869638004684331078239062417893832300017981275653423992029", - "28": "40795696217902147849441066156704542391211206690054538600804155824232978810725", - "29": "11710849920167296168107062606282981359033447704029463211736528472494482512845", - "30": "44932719700262148428290218524399144765364648952886442361660894793170415079845", - "31": "18553267487594477155394598359202706283204821239882196657466733946723748123074", - "32": "31873539077738869484715001286646541797062663060098859143133736285480854825686", - "33": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "33": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "33": "1" - }, - { - "137": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "137": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "137": "1" - }, - { - "138": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "138": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "33": "1" - }, - { - "0": "2580022244547148022781785697172503311467595214847728559144402326933969076319", - "8": "27181109173473107186592951733888426823570839381186649897096332580930062940328", - "9": "46873524491435198200626502287228048075211204246868986503104136165641791091000", - "17": "16379919815991409619844626114342202540154347571398347276443860490806914645879", - "18": "11215928921155056297718210586372702721892685907533235168022562517029343843882", - "19": "1330974974779279136429085649456844951070467436753555818629827501355776171085", - "20": "32238479736710015534064993383806271116202583408359114092914087949533985207602", - "21": "41437026133774595801694975208558376439021336104883292767726661373231785547566", - "22": "39025745105875015827336770743473543127798310955808271568591940634510927401951", - "23": "18721971601977855606709983187995720067291812077544760484198819854632075982187", - "24": "48004104043746425951168520121815459983414955463778911459915037961735580717718", - "25": "28972033817708454024422908480199183522160189472616183084578941864288748112462", - "26": "21345098043036376894019519366487490654696740986373323407488281376162220863865", - "27": "26246535916519084883477629318090541703747049200756286242386224261745288927184", - "28": "25179221006167358111653074356355845330978933642545584176962297005149820651640", - "29": "31629172517777438013855581661549792417351427250750916176635759848538075124917", - "30": "36614856766820819896890097301420229891251179730422633418135500946732781252415", - "31": "49079342121772723457703921427965310366784818866056592450274390639804540556053", - "32": "41479607759050823926556936572770111002182672160916287369425357901766050133984", - "33": "31077921017487499812944246263959659803791987246355972434453375524498987390104", - "34": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "34": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "34": "1" - }, - { - "139": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "139": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "139": "1" - }, - { - "140": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "140": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "34": "1" - }, - { - "0": "337091914144357888262743136529662076143869414926179844835581507288841653842", - "8": "50723568755110666799389577571665792632962662873358369901279293864384186561143", - "9": "27381029524956830770342921432213488541773610786265562701437276274030509756474", - "17": "25157163025006675813840556669981528186049170754748173478938770434777396816988", - "18": "28220291531884295875085884990996904875205766936954026921709458393824277943310", - "19": "44224780248686618407322042303949308702686705189457533519373292643528805622645", - "20": "34788159059940347861135457423000269516445375584087753308537484728309055205449", - "21": "36660474990137303773157128866616209618111858267312087687536945007857245393990", - "22": "50291588391624888429074352082114698989490083229359406152520519227161145955752", - "23": "21842326528100635611925738545930902265606859755888367305503773667640452131595", - "24": "37760017257082409198026431670079351419967799140801543277979178371853586471369", - "25": "19711495222248109494758541085854341796257284924339506972066620427354960872585", - "26": "22749383682185903339974801655701739973700060135585844052178901866256719745285", - "27": "34789994377602427233110181307437542598456534172351365146979293543752814588779", - "28": "13094345979130343631637511943758586092439973481034244383319185982296702999440", - "29": "15337830510875330083847337164522713022265707297957458492661512584103490730001", - "30": "43396174188327815553236876768678164070817193476535712490535348655096541012031", - "31": "41879290867236239830078484326818488917092697577902934320004706674829159970527", - "32": "43709028298909923903233945287688330015343407681282869080265270326641824875177", - "33": "51861947707730949692802647980976865874872943600377291169311749144625240692366", - "34": "8949707910887086829156187647044449922875040275018614353774963009243352703273", - "35": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "35": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "35": "1" - }, - { - "141": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "141": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "141": "1" - }, - { - "142": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "142": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "35": "1" - }, - { - "0": "21128818615001540137263856211467089199630793116539340697922423416110745118506", - "8": "13845169169543960551325081618817383129322270258184351988862082266238056066234", - "9": "8226205125048119476598120382361959897256221918431931751979010784270410275891", - "17": "38906599262480486164096033254986152016544272824787712454349266670064444981418", - "18": "49524041899556842462282581562545444136513978713907354951476349361407804036311", - "19": "48901194030454629608041684006494516246491574008936092961415478070453381489887", - "20": "47017488196543169375853198988631926012157609120078177171042041709223045158498", - "21": "24704598254494170906978985158025975987627976205595592823858779473094965603342", - "22": "9235527723173510533028272015275429216226938838313413125926991336173069828382", - "23": "25694322235152318296973156623042105963668059641399971137993098938512850741569", - "24": "6430150625281502499263367545623485637542997100772161154937808907917540064794", - "25": "36818399479123338381126843754845473358867253932349754618057690777012487995222", - "26": "12026308592203002671755915770366143632281549246146936315633345713513495626039", - "27": "15027531273239294548135408743811046336953236319381205820053392255603275101761", - "28": "32209254178022292255523713989810816367286658061472011291723236143902874517341", - "29": "32631081872689453428850131044174664754415433374321656372630646887155927531161", - "30": "1687826072397159240028492639840412160099394262930722026586109382335944438145", - "31": "13644809454034025291462669073548153801222969383556126452124682748451034061288", - "32": "28378004937887085466224964764108652218018754514582192794350310994650993308245", - "33": "38336552971616893359511591087441539361256363627353678656085081581112517358916", - "34": "10616810266955583517128484139187353572132153666289449673663128542986554461416", - "35": "42178141075323017166567164113145783395347919199890554609075192669801121474907", - "36": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "36": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "36": "1" - }, - { - "143": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "143": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "143": "1" - }, - { - "144": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "144": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "36": "1" - }, - { - "0": "7314289664170998780822250984795805793842874757314808790503348444042779760074", - "8": "30662043156597574790057014846962168542122497721087294491438631696378782227484", - "9": "6488437480145820551431940315431694795565037465649971588553196450940297368277", - "17": "49813802759714230353405816804126837960809128426019442477297038364407471055193", - "18": "12517256310096590504853274600996957800188381529902527165118665831865424884325", - "19": "3079999161275035619855647255162768679151481673673206924605948290605869361282", - "20": "38160797019872468074970542291721311411185147474986686063412484101066367780996", - "21": "5277882749044928939030434407454708831407032006908971901866230098567169953986", - "22": "28697072126854734145391363710624207203902114564006887954633261484935914582650", - "23": "48579635183661323089798871550932517842869241978799981633144406563073340407994", - "24": "13552388601447211119872664938077459954366466316771215357085573378346771750855", - "25": "7544676925590293827155319499305944595115166818563932432061837869160142749267", - "26": "39701097489896980160555820140090032405804153322133866493612527491494076257191", - "27": "8832563016222880454812569305019351221709735174922622662818671036750521782780", - "28": "42750630213196396943917030570936433911208787315609504067186228862973230444057", - "29": "23497096521892953939825819131151357197272352397104394152594762199795198551054", - "30": "20758017408834418991609862867846704076072430843743186943621596868377820425651", - "31": "50536232266277788037039807491929537164213431138401466625614258399941441016136", - "32": "31218313643500738727668245785981366209495259120102650649284720166935247643929", - "33": "7139785482164772453235574425501179796160507201334608607359135451510956619769", - "34": "21426037128104978208428634291788170441480970374740082327269389698221829766951", - "35": "49826112753746887747948778170207209208712717450784818887368578292560647786861", - "36": "45239551344620027413844232442148888764664155410237779046456427596526516401713", - "37": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "37": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "37": "1" - }, - { - "145": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "145": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "145": "1" - }, - { - "146": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "146": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "37": "1" - }, - { - "0": "17774049587694351616089815110956846453850106707275621110789201687277957820281", - "8": "11850879631656382017697575928125109153224599045215266929537827948998316762935", - "9": "30232256179014136090139975203662404632649090238744268830894121143745141062215", - "17": "29242549176650905843987268756578212698779552564954022595678629296459076816962", - "18": "37306561170878606140625331462011722616894127953732802260861353333403823943119", - "19": "22146354924546398933803212205358772400522488608603479059166957231321700290340", - "20": "21056352391025112863656294310438454807175015260686937517359604598039224334392", - "21": "13704796627622720731527881330357435065100578401998242636187743389482523710985", - "22": "5664689534756509992878435762488602169039148765158857723195653635520482094697", - "23": "6322948406265495834170924118212099318935348969238839867732296789678826291431", - "24": "4419712412905029863629157295207997565622761346624656165912705778637331410931", - "25": "41879071297502907542631800868601571246202948262922140738202733956669232495729", - "26": "5539920222027131258347851840485044060148951658459501473708228553401494090271", - "27": "6034211861305683142766877367290777028665117612565775600623624258474909659493", - "28": "38566821641000356042175751663373312299611234373543418708190468954267686638449", - "29": "12484257238020764278248486244494647925813814307196031258457529180134522717520", - "30": "12088770739118911904854912539240099012516172519206902495787529669677212134533", - "31": "7575995152049874141648958945076998534958559475728407379234922619731221024203", - "32": "48745628520490379445538824630341209839229824311092126125927789112873273510064", - "33": "14653310810396563398291495591422972601807358119590621831471857245357386800611", - "34": "22776226952437673635196492706144875987471929525928842515109504733197962000397", - "35": "40224303441185971055810341996542504167102054070463552370880570999456706479148", - "36": "10295064350542447578898388503786417973681429914299410609181650632091658646327", - "37": "18858277053094609957166923567570958423513516228825289463735088131328490411616", - "38": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "38": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "38": "1" - }, - { - "147": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "147": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "147": "1" - }, - { - "148": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "148": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "38": "1" - }, - { - "0": "11019693257420674975398059669532837767980992812803956883547482631461450651960", - "8": "16928277678457539924493636008939749436959266355469745961219654360226967844472", - "9": "31272499369987139069488356498241864545917741852811322857225556083384913250240", - "17": "26157339263080822056836925159177176817282458167818256859411195220746299363768", - "18": "37739682229216337513312114384872743771114286347750114321577922031861638568423", - "19": "28706667408894407595930033405124374686594522481996221525610673305918807929027", - "20": "9686910624990245879390164764173842737690126858792111117231271949615157241094", - "21": "21275802581959010754878487450494975466564908081680224992245190540696983218537", - "22": "1541638644456041256239739688853664780387002832732752635059619008643085956727", - "23": "21352225176308708369972004089606744818312330440918733898737346445626543253648", - "24": "10920606669198589431243693740300420744709350994791405626257801971811240909858", - "25": "14101170012663090398234447491860091445224108024064538147352028951872354341574", - "26": "42149286697789005626888552551469332441104296265015971110906263835316730464965", - "27": "43265524969980899902328903531277380451722695171875703865404860244414634947895", - "28": "23539510236848902708905675777211808654773168756145962429198126822344226311292", - "29": "36566296967485201076823316234644921892676701998290561546349475040193815853768", - "30": "7074490561651379315451189268597430431955983028423277252088214593382360289302", - "31": "27553902952833260856639181376624219269377712692931136828431127737552995267295", - "32": "17985626034133801121789741334690470221178497155863162704401703190061599938282", - "33": "32632206181409287963727907342521328247863471041335478524341221560497273911934", - "34": "42867432770536947951309983303740179308274109337679318841065170445443110439995", - "35": "19279362180509195546034568039438280697103471368061754165548486469339481548199", - "36": "35952703204886281564593944085704058268385563155210117348953529202575188173181", - "37": "2865156237875579677226096900280071780422451880687485768734854411802841039962", - "38": "36770014299349415561677255349936090831255773519943501154753537073496539244575", - "39": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "39": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "39": "1" - }, - { - "149": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "149": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "149": "1" - }, - { - "150": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "150": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "39": "1" - }, - { - "0": "8945986251101329707360666524341408357502651307257925367450947820355368214535", - "8": "19621957599858283039228942414831234334418543669744174167780883956126851745264", - "9": "11782529295182019304153434378211039374798107207551458210521069024226098915337", - "17": "49278758536456266448250434641644395437445817130976722165653129757070794680478", - "18": "43633802059756764926680859109607038522312580612087153378466366499937250039429", - "19": "32835346063310279740662961962148439418498078693684289598954528231161153602154", - "20": "26811596446196172505626896366057669134451858814980164707356948392719202417005", - "21": "18875579163824385203072996097698536623049403899538511519101453842279441195842", - "22": "12842036419072882223015619555077392569923678687719068677619340623146866809352", - "23": "20088418219834287471426140997943921812891137929012273574990725293301492007625", - "24": "31288287700170681476885182152424994678424833044313794480042136427974213500292", - "25": "36698767274083859448273317493988168946131111089883483865166818417722883061644", - "26": "46038392220063806307879075425263041079377330486123603950198620212776389942258", - "27": "23032405341825757775578463429128633955891923289454007280640185908198749001912", - "28": "2186688854759609604361452016300647084218833634450843622824488202522142264895", - "29": "45727295000394372337156038973578866544817779387166483606226723031940532856463", - "30": "20341199797792943554641051033521515418250074811232164043118791622765364537145", - "31": "35782365127887941991118638082089445024557233685616522140596732819867487273316", - "32": "48565143725360679749285030214373807703870519138359664475372562200498890597725", - "33": "10866552960921177324838233872013586107530388890430387178835984713886548409635", - "34": "30243336147172932871675464029427792437425092184946484793249386344719415489953", - "35": "16808846921184437640264982516275108527068129185823665379139680240363584732029", - "36": "47662546468052363058224483835014419669361605046434986215334456201714459787860", - "37": "310352617817380162711792202336770411324252279493429063578066374551155484999", - "38": "11935013315395360329901434478257972609774780647305602986025372919628917585160", - "39": "14755321404618334499811932496197107494510782350478032457581071181404951210635", - "40": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "40": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "40": "1" - }, - { - "151": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "151": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "151": "1" - }, - { - "152": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "152": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "40": "1" - }, - { - "0": "16600645183477638722007904287733521074791737381945794958827103590279914462576", - "8": "42314825667221233237103551252644362643241169551710964499188403709980641444856", - "9": "28227699328129887719001794074043836722927747605197280790703598355096308450470", - "17": "1770400685919935114818401647108303603064747177990157725979935477782847071625", - "18": "21840627590191711326340995799848952233700153485768138726013208940285812715794", - "19": "37154751456668767436688129068272332702690893803770635598821410155289651649357", - "20": "27671215364757217206860459697877057574591132801612199789856265575418820268136", - "21": "22629003087615824156742308679714307643960186523753129308462402343490024260161", - "22": "15756634907567765620811405116637788161196758865320028919380129821726602851434", - "23": "7695495109244326469524587084883257683119941243876328534898678676461121070251", - "24": "28765174347382233218157963896294260934321968382359379351961967530079420939430", - "25": "3390844913631200580785296647074137597117328556753398565746952446078751450437", - "26": "29594491183238071861591287655584547894683749568167079241274595681372336956266", - "27": "28913142760178868502173166118136685339224790086189785111346811232621189532728", - "28": "45832861973683163004894948677391515171904179441823510781756805122947314442567", - "29": "31558004927815607533973532986675246387525448767302920227379319447169914134083", - "30": "28028681106952368280944961917656853287140708870462904602587487006160033513546", - "31": "28907508224624220904701568806509798149998887253368752586648220390082805265286", - "32": "11610919656117098898729531747702941813925211479421781261973856161589172667729", - "33": "3231369469534854164266393753610546350768491779350919640154553933009579696683", - "34": "47169630653861250814855656637100662267446690330862589731663803506456155773321", - "35": "1452247855224159301983841270820901528408784252971929590282721646087721441821", - "36": "34677618128559183808305500928931160410323459304586421065054364094808869251292", - "37": "50493826240639096618686945080317734960716061154872562135852866956741813571169", - "38": "8817074993573976128477339618065802477287398014200413035703159730211889016320", - "39": "21978630713134704531716360243096572055955824692889309463025467261314860112262", - "40": "33725811018185567734055535291884000512942208143309228910982194679963823389667", - "41": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "41": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "41": "1" - }, - { - "153": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "153": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "153": "1" - }, - { - "154": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "154": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "41": "1" - }, - { - "0": "11176512602209691417636272193861235132071391793840565562361651389294061042059", - "8": "32926019421241766115886759857390645421406956354213986673502257002928118703355", - "9": "49322693414070112361358512281698665879647459215440267595469827738584492496854", - "17": "23885849599750960614195676552190104781624167550702792930135278782551959680912", - "18": "52027993194289789878721235717901002159062426489631176312815162515892383178934", - "19": "20662874286277103781593972467614217896771610380042762792042189495340567497488", - "20": "11024082539078060250302434570254659466759872833700654022273959674816033156069", - "21": "47900169680356514769473251177281839038424597295070992696786332498725144115126", - "22": "43128414037998903280225286555100738166628908168028202345158002838473899035005", - "23": "21873737877315362585111871031542075627401623925590880962326448593844173256594", - "24": "45827880819010052859682398093934267495546231911068322924583720842333110096830", - "25": "24708341089878163845604900673376650077518903274152284425587869564432263833901", - "26": "38249719634626947028774516518377519238907029494092586227875997773569916494095", - "27": "38868657591738799754450976530845541053781177916338697072279523785882116264122", - "28": "24666967491863823872268894608464430357570174118224274426374241769221722189445", - "29": "20948467994356262746790204439320110128618944925073494537213964454790641088716", - "30": "38488727835666536472587626179631781040410387452477608884818993755045121332319", - "31": "30599267710866281727840624159446152374249752767773192547878239672562131840684", - "32": "15807707260705186026934442682639374891852306650080608713250092557433280318851", - "33": "36757500844957109817886920806721144962967018390345783625309683336805947217031", - "34": "16195063003814745206853764524105132153073190480596855335367388375459538763071", - "35": "49955515121534659574626278012551066333081933898174102697619904729893950800521", - "36": "16770123621612585525700151395012787120342672139714596759240361110446120457487", - "37": "38732057274905822561165004373199701615249935934342560547372833408650701030003", - "38": "42037880624657949431082276650057149517219633097126345695858606280354618584649", - "39": "25523153092056605796472789240196574098233133459144651411703225514191886783058", - "40": "13208626618338019841673304812021246827423373161375018886007460504304112417024", - "41": "34799616780256086016754470315050336574258377279361730937204119314378252243228", - "42": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "42": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "42": "1" - }, - { - "155": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "155": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "155": "1" - }, - { - "156": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "156": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "42": "1" - }, - { - "0": "14889617408341048364135563212181036206522304313837983213620424531022449761460", - "8": "9821978372370396565607801129981669222334664256788905950789229827664602932480", - "9": "44862232445783687748726242704207292341327785797356376593676494830800916057931", - "17": "8001707016140060525533368639759466050815245287169753349367248364608803361893", - "18": "19434270661729297800095840105966764422631322265254599438375963928012041689370", - "19": "31037746839541599637614789781208480394244415226575855916289025913966388902435", - "20": "38086421464767233228206031579834479573435705416833136798931821388239851989438", - "21": "24515471995485056967766024106378888453007265452167891603007338553757952287356", - "22": "44335491948290344772488376733372694528692413586275385475595292284760762478234", - "23": "16105744552339749408775181532270654053409499087931502174638318673614801557613", - "24": "27062978657722122306789121226197958510515451476845272398605686330265121100929", - "25": "5520923236345478641996786741370818820503973997372831479955196634617592721773", - "26": "40372254748615791326162736375394137416565170834115680593886351983307326680263", - "27": "3313230171378708344916878929359553603690478115731810973246369027418791684592", - "28": "25168768161733154384401824521470485165397728927771272393402763957272848436196", - "29": "7254257427238599687012675713692488682283170336131220142956080989373488208915", - "30": "46529158845605654480670634214474125910620651936182760464285801117685844940226", - "31": "40165790948437272557581734132036130141153118107590583938048574754391390752399", - "32": "13766184923483059424872988105181982574114466203261560587617546353967345033685", - "33": "41314350190765687995272185097953747686249237407949200695918953887204610127421", - "34": "27436818555742363029176064996584252941471030296862535710006175920585573493096", - "35": "47817333641969328854732962986196346305893730082899700901100616340685751184060", - "36": "14655556891179325738020446357323826975238866008126384323263343552314900265044", - "37": "29841105892017310032127252269542861436562066344755093514110688347137715362628", - "38": "17301699307353836037259823782188805909487958290808515729827120876865150598413", - "39": "12218919189459031534444047442125277423180155681078368028325283640039624669329", - "40": "32273155224374158801770363506480180554531983962048253716369171577946453015556", - "41": "19189352981675128447190344166435719843207892852012150882908045445221584611614", - "42": "22639478768968659661961089202534664418483898785848419662908078854285901317920", - "43": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "43": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "43": "1" - }, - { - "157": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "157": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "157": "1" - }, - { - "158": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "158": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "43": "1" - }, - { - "0": "13725846858893036951158965143583678272726150787955443316044240114688865768260", - "8": "36711147995975920595872917053759219718988643029692576312671462774480141174686", - "9": "27172094241862832421672996325553855005375442296725922842350599103927202236425", - "17": "50539431486023871778126791939737628041642579364406999647288020791451610107862", - "18": "48015925587210585502497747531311096565745330244328620974852467179372687363617", - "19": "12694811585244082672882319007797720760771830847145535184152402024864247304120", - "20": "44433479935271094509501806160762352061113545734692252336335228153800612643096", - "21": "37386656397900222485002324306707781812485208262771064720704260799052224672522", - "22": "31206282322712029119630700061865260856303456354616137846427295407279117548273", - "23": "43763258151721165051273034133497210148902677599769646893855705295584896019849", - "24": "176577944156624346035173047433732315625625583936739762280238588418515483318", - "25": "40096303191267207628032101582573559356008900308432736858384083963295127729427", - "26": "32426050228559810017376986417514827877603720450503828415146126617938123435633", - "27": "7983822328991665313700416344046138157339466452182712542571151094949742362394", - "28": "656962417534521476066849282500450979079944508788912020618878626450111853800", - "29": "51458752810552025572996496677206893011249949517129489406190705102025798619139", - "30": "44370342490930171370758565971532021877479785502771011230219648034171740049220", - "31": "30212829044460511741571511887257717278125615814334995886433062816531420087166", - "32": "51462551491324820088567192406299811177339527385124975612463745473417906344511", - "33": "18202574542611783737362937477361408124277147541915626784961912224105659198445", - "34": "16506763906557014790524743957685465050643297150420689535701328289711220966002", - "35": "22538466767702464908481839631359603636701979452058713396181692050522590708232", - "36": "2889737371787126059259758513601934129969758783239892532255711969094005311856", - "37": "50387068289250485498381075697928834591329919392790185570508879491333962703881", - "38": "34607726097378365187641414136907165409176372467005504221209584056799351224853", - "39": "31286936081466490687047104501942782791001960334578372043308625198999889395140", - "40": "12646589838472978096138338501122514906520852391060195608825005144490511415274", - "41": "15608735804665700466643300779646889978518192296080682377287443381139223335371", - "42": "49993459431056528522590237504686568710210356597254656865859431600683266684920", - "43": "17161225510441542669896798530158788679153679836317295003128575350675787351907", - "44": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "44": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "44": "1" - }, - { - "159": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "159": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "159": "1" - }, - { - "160": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "160": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "44": "1" - }, - { - "0": "7031966701933394996335226463904734684231938370740242159297465282149711323302", - "8": "142012157162732790476712995405203508236839755439096208359662992891357920076", - "9": "45512549781131894787852726095630356935102934880792575620757067129369241134465", - "17": "5262593509101086771419549406334548268667695077124764692098655571429760875613", - "18": "4962143974369544789461484771893115416145749735198985940119059033798638683565", - "19": "26489941391968162577700795132149135904666886136198429518668309055258539820571", - "20": "5631286445105881041551469083518029532985232239958802797853191393969982129189", - "21": "16933341551246723932075808548395826172521797403020301719416223335719271499776", - "22": "15047808481617831302684792227077542378281757186745790146735777283855485797715", - "23": "47406587404723779473212568051089605220106692098616671654508754167495564631815", - "24": "24841980625906827075911289162239918083684419155029097953141657744254274520929", - "25": "5691167378968777327238142672202348693664591089695149053054740888775836413668", - "26": "20602960291808973971745409950139760614584745447700843206081823707441531906318", - "27": "26056642317876551124932757267109182497254717756225955270427164091195222966678", - "28": "7282735191207013916587502141658990009093363787239802764138135976059195221469", - "29": "46677591209305463328428007775592826718062206778083989246446546439705255971652", - "30": "38378418323519475723770544359600973357768683300447638132540759524233742520169", - "31": "42642949952483049707453255595597615279424296789275207664507626499734816035190", - "32": "47218652939016341317425777778014400780436768771128722468616430386170557150218", - "33": "13624129633543806012332981695804056963000035956067201901626310027831375170020", - "34": "35930755608853632707003306945556513160629865385051788381691419775567527806354", - "35": "45138358027759727736114240842907199493686963710834064817571156309429114137551", - "36": "5782365809987060486144015037645983854378634345782370676036420827593408852153", - "37": "2667579255481456752762628214670847533038342860232427263641149401076611056726", - "38": "28459610922089974098541159827694267186070956041726450257767444965924612436292", - "39": "39125557997459914703736221925330539592561246508548203277041418738859583645077", - "40": "3738880590785599133153406905368577425751147523729218981253385839886755679796", - "41": "3100785493698492171850829896449248633539415655759176279293995796633568408735", - "42": "11052236898562956832925465497615751865853367445834666626093853800894272646616", - "43": "28293801064931662160623436755904130864413208165510843867734909083982942429050", - "44": "11969561556661521394075796469760243514765960948235377349874003978124234398371", - "45": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "45": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "45": "1" - }, - { - "161": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "161": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "161": "1" - }, - { - "162": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "162": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "45": "1" - }, - { - "0": "1598623817079294552053879422210947472173483306271647853752616124799192256195", - "8": "19357375764928658486125492312903159240962516177547653766639560342970447513609", - "9": "17118701616051148895425563017719752116688081282488191314593730879998997672528", - "17": "23903302725285530814764911488019660980310125807704778650028442951921783028799", - "18": "9897263044193607155627162695017667381801834624220133564131928889622082388385", - "19": "47490516596625040873684685722291707875685916662882003823468373379942203943244", - "20": "35650378556195341492829421851580373180514703389856223209693179747710610666342", - "21": "6442299495546724762090119607188928448279286781673837336592301342828742402887", - "22": "51671889287264351694348042003912808712722331694462281256678512026240380035362", - "23": "37366119584409138370974470095618562237665824326794809311160782371088705795442", - "24": "32791788447625478084986353216057490565370704028609400145698666511146163062616", - "25": "31075851774814637707598884955930591295308633473932978116698622475944127812357", - "26": "36546464339158916041350011351352576231065070984191552828215525031671446135349", - "27": "23936470630097230164450049645278622502326699395308969546378797604571614370544", - "28": "12863019227041163679357132342403072833493994330243086370189741032121951009865", - "29": "46396999292767829232413635208160980612505988303487669327281747452575151087801", - "30": "51774417703689346175269622718539474352936079983151706333491620927359022446243", - "31": "31138846263665044144447764956866331329116971856785098041226111389415994111666", - "32": "7385118339516078424348639584862546644726644641358359613155622493151278694598", - "33": "32772595414665738987529295269541840911904817580202721890676403815428992374992", - "34": "48609450298102975410878002947010993415780901701734494293424138640093185264497", - "35": "33065909175909175231243458130698368815121775338564547511889315722304937955810", - "36": "51476353437800693676898582629048518729381383092760728912765830528570010191884", - "37": "47332120333366057171632318477468055992141535858476641095121598375949582189052", - "38": "28379018099761924258193916621470498057810366514738305328467687876634890535045", - "39": "20442923051403164779568983221233112502659333458720967483565560818617854662021", - "40": "16778439902420796923288572157417285152644655501314307730105153774655178486465", - "41": "29590561817755464173884206077046656028869621477687420126651906676567779047550", - "42": "50778979844974474744310943616990541216931214758741462071249181328648059247853", - "43": "48327756960186655700029610093525378413444717435369524613947391343393464331474", - "44": "51806651970964959124394335285633687623390235447738246814070188395444571343012", - "45": "18602332275634592716672086837920674817730217379007489248168742572627279248304", - "46": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "46": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "46": "1" - }, - { - "163": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "163": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "163": "1" - }, - { - "164": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "164": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "46": "1" - }, - { - "0": "19774466718056564032734488707833648551011540998602523750214654491716642104404", - "8": "16227282192285380784239586845831622786641088857048607816373423540961705833178", - "9": "50622252848272042658715088266286380788452842744620902788927155637878454849679", - "17": "17258180871075628593496773525563950820511982198732771812968569892157559106177", - "18": "45389738865430948844944923011329608447316758171755954381791240884705086941337", - "19": "4546374487117493137600343529585842613046040850218517029809310558948665479612", - "20": "43693730665788888221316550144101092797505262253722201038781041771484946266477", - "21": "47395612810614895046124839754368317666814348510703666653329484040637490338740", - "22": "32613789337377137132593303034618216811062156327266179921959981653424153731504", - "23": "20961534624814738790940043886091546454983536368386801913924874812306470719575", - "24": "34980387216430823971905122251032436335341226455311383589064003849459268442873", - "25": "38093528760732579390346070830415951623496227298591897320095481005009929098157", - "26": "48993565115964824721977709313166617227423679784757921262652161152997201094311", - "27": "27290507081691080659755915833677151289006857969790653544104965201856832774627", - "28": "42080594259869551656213236912377675437208312885996812520150816981125551904468", - "29": "34319759628681464785281049185675829809846555283831650736307510954127411094187", - "30": "36715072233611125792468802308617692745150472758285162905942150811274903666221", - "31": "38692397173361669864504675882326418916578246304109065414701919708958344628017", - "32": "29326103779314365483244268789582955730433686983794469383867867523696389840625", - "33": "32695501838507157153826566959370390879471215395376616760000428287943710088071", - "34": "21078426719703939258054705017567310573521158020826307557557811024396181708359", - "35": "19256272795231341010002747488580365875520880544875197343295417395234076942720", - "36": "51105112782644593471995659170752563254787355732144879955449614778392594359142", - "37": "16672157567103979778465856123393972043004245839972237888512432209886157335352", - "38": "5132718335644465242765393801105473255944018728137391526391882331617876955591", - "39": "44702633937131440423951237378783041350021520379895635577392201297345105096513", - "40": "12253910526746071346700304786036386012889485879232095534046298822351619499842", - "41": "604272257488378493608435388821877965592309006351284850634467177233314107681", - "42": "14579891564640186122012802035449470722979846868490443252818087990401335565873", - "43": "2528555589907304480567543995740873254269943236110359458607521578313185483455", - "44": "39932222907452663354169180873737483411772733705167487385372693194233755169387", - "45": "8878563326952107781211530709200446220236926168591198151805735789344752724931", - "46": "23148774627323638096156968892438537428059434414982163460401389722540031123577", - "47": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "47": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "47": "1" - }, - { - "165": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "165": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "165": "1" - }, - { - "166": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "166": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "47": "1" - }, - { - "0": "10833489778171075947445720806211760058004501131759886332251918804308190690081", - "8": "12485065852966330612667926249192926404519223821600031601817032788228891751173", - "9": "10168653637090274400132323743446697752243041907275221524744554284791341285420", - "17": "41453060575518500136728336976042780403730184505616890546207211019509276838010", - "18": "3938423710941079636991353088832759036727715661432461483499029976398365656156", - "19": "491541280244853203172834507238880271894148136506540124692605895905014660155", - "20": "48497205504597853575818979888835119588852486763460700459357191803627976763716", - "21": "7219600033858943759042100507882608202841692249864595510049142695040104225571", - "22": "4688629064620755656645374566897785120106912499694128358988120826552278586445", - "23": "39201623907570466488796080979309584010081500074188715075395158757700542180316", - "24": "49074992071532227596043579046673235209644648959565117235007669356528394990476", - "25": "48716948409848034998049900660312197575769034220903857168894035433554003012425", - "26": "2177743461631360281223354428537531257077701806775378570805194061184599829447", - "27": "31675794719237103210178779411581622881574978706409981297741504044072856807432", - "28": "811579569821149950334432326133607288840384635575885264253518708717387072503", - "29": "14435231682989099908668465716963816605318278372862317981160513302516754947791", - "30": "43886947675217745271113944732849795357387235755374611934564453691327951246100", - "31": "37318079882616467187103745378659794006255299213551432520229535613827126805107", - "32": "26705613097504594196241984922218932755879842131529070424378182775736488838823", - "33": "44381509634746186727509445274744396626696995163947224142541586586947775674057", - "34": "8921157924943686401802427551025836126174391280714568357295779209147616560889", - "35": "37489743120529567389970634350129533772311765733328362538523960919047450838569", - "36": "34023203323877654128747935165011354052658439645515440557742072195157993727030", - "37": "48937644247515191079345779508999693422914276623222677706840909167356884726099", - "38": "7980942975810932378585036412845287768191052967369455151308522889980260340748", - "39": "19597085003381045547978930945751050195838083299295792405300527537583188453008", - "40": "6489354869503383462041844038090974303720501359012215067361568777452575487416", - "41": "6838561344113985155114368695325331235965571993011010125873393223676748420593", - "42": "22928325978138128729394435268656540845199026426117189525905859542652758462571", - "43": "5389936583667132916324241186677008497789274957691366372006156196544340983353", - "44": "9173137713889742705446604445573410638315174421328481234661353292979240463503", - "45": "45868326017838507058834427152559482978484561776178826334391024375469665278025", - "46": "16832804545574783575930464465446066370068144932129311780865410396805403252955", - "47": "39339549402361046520356004604034987007221427095395601966119220299226094274826", - "48": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "48": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "48": "1" - }, - { - "167": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "167": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "167": "1" - }, - { - "168": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "168": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "48": "1" - }, - { - "0": "1643230281589922929913461313269721677840560726699527243824368999070606462076", - "8": "9150124100202883496359667368289649418858428348285828628727641093544362969306", - "9": "10374480017835766120640512168723903721981209848307028438552563020656473018860", - "17": "31315773388575221903098703113779066631655938513490713759459613250454585798324", - "18": "43936062048912166867549848842467200820501804318748178088898551696577170694204", - "19": "1828076773736506060829539308554111412837350780127459773619575726383250235271", - "20": "38920045238477788386630376348159850463740461860153994897137085336989816809733", - "21": "386467343220786862253800105704189636532522647485797147798326502661554856122", - "22": "47165177610393849397585382068993459802984220782267731789977278902028059960177", - "23": "47596726018418239838624119297346790990431090841872748084682226400752169518755", - "24": "47079066136437787747726217152500800014350215339610046526487385750721400723808", - "25": "6944423624350972837810059700762218699492055009462260502998172451910189178411", - "26": "48329751551891319440395668063617981799707909857591627421763975978828656201472", - "27": "4547274341935321648683725053485757619433819657294875366334675861170620115302", - "28": "1204461565236492774643423119226833922149069210357752482563346534582979999916", - "29": "51637481141688044174696233988938619965098833844124525570587758719212515268855", - "30": "48781594189550063345783163596186923401920942089227292649931543057294164251676", - "31": "23407735082211443838806599823221247441634437474246751656435588997042112949012", - "32": "36446872433866869878113284078987975458112078466781651601463757078376679305151", - "33": "50823574225017882450332143233678616897569768344547463819008641869165329356627", - "34": "51791322192639338826528454043887610610124124954033768691588198292856285006349", - "35": "50302977761241343969938129534033638902350425994906136627925824358240485055781", - "36": "34383150358904224955813498808455586505136229354308635565211456463999684991449", - "37": "28919085422878005286860466514092737090752013910694849285993469115132210944886", - "38": "43370767523315502286746526799047213374006413514885574666559342516023412844324", - "39": "27916942360791600208390409813772600806996114342820568405459090556866802697695", - "40": "42968812092627766453438027113874087026410138469580999821765729666522832886667", - "41": "42286969470473001982885681062468171248082670978244270234393936681378890733893", - "42": "7436595962763155960284980707299893121113475361001948563296637185978678135853", - "43": "34442102657158387979474935955287866375576048980995352221233310611484081512290", - "44": "48965567413064480415468552016520697916069754987910033805778587584149805830527", - "45": "10110748048509874446200626286757642340521009132908729511776740165593480869200", - "46": "23821455589710264137993374241564663787329505123082215823798122849687775323818", - "47": "8836922678029898678801888127383665769778240981576043425283136509491716796228", - "48": "22848952150216221657278322388055055127341707464964944907439556694761909917829", - "49": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "49": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "49": "1" - }, - { - "169": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "169": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "169": "1" - }, - { - "170": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "170": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "49": "1" - }, - { - "0": "5529383825244679302765929967407905660423153508826597450732592666784449667225", - "8": "37055462750066689003461043268482093768255524330162480752380091744775301088625", - "9": "2868687757480077334032362986069262808410660948463783084539963536058220231809", - "17": "18061100468992391736440440646368959899497826542215191389141247863370658943938", - "18": "47420493926202178152648909058166454197033548962877870937301621307515594009886", - "19": "42620731115860326370608481394974037636684117222339165479158928550882646647179", - "20": "3039478907074962470472079110870376186260520791501699381050807827362409154969", - "21": "25473289429482678472777713523788213153751319977754872366595368764257157193750", - "22": "46422562909458209494273308239913451970949078380982272138128658581220235122272", - "23": "9128765778263001237008255350280402035217861414456145324508896638993613012460", - "24": "7455669787603810821627829188526725058592097054309104291564175921036624334455", - "25": "14353798396702170852569961524848286586466831194733411090981745429416157700095", - "26": "5424141662401179925871596514666228109669050911728604012809610457734604459333", - "27": "17167460947612164759578153328942490216249175115796801124253018286563859905743", - "28": "18468904687752525748882063428017842286224731148767165756090751574467136647711", - "29": "36430364577432022342495838191696718843117338372877184232481871587699764210386", - "30": "10422876835121098669596605121475209716844737372362721502163187847904988517432", - "31": "6849549442861257735207428637094791593981959650991526519412015270561430668532", - "32": "32383336136694996847732898211450163182940030011613106346867600164489195536246", - "33": "29463020886287809181977004269040535691584942691717167339556975597839484274571", - "34": "7064777828360925765798085877300103558247219785867199374290137175795956586748", - "35": "39804699850084118816746474891691207549708458259880821034002552028448868090155", - "36": "35622346333162668044567745298489894606904047119572809148689811878521960796057", - "37": "12002751929148267900185461127103679795788513307375770233480590674844237734319", - "38": "6238610245645407134238174062018982427556465933498326530100267938116756389765", - "39": "38223334768324367500451957568928771935518287699975570445422841288143576825204", - "40": "17569859554436091520522306831116608885764842349847700892479876557069302161074", - "41": "10984176370297423938620763651899444110304955439092386135700506339663632930191", - "42": "19781856117837581188239633563253835326814048142930359419504123948510918332513", - "43": "11493673264049883921135845884001518168836515531075901068950172865812266759915", - "44": "9857065403299824442261916026741552823607819106464157480898257584216083359060", - "45": "25219542011495972260220822665248381963923395508188510715436078085710606476784", - "46": "45467884437327280531791482804876063238991302892630751555933243104593120753680", - "47": "5396042962590938500697767758869095412354374487351525793103253040485277911785", - "48": "30284619413030338066398106943902740082968037974727604058918565599755308417687", - "49": "37974042889562811290521989283153743935601079177541358157166481519370768542906", - "50": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "50": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "50": "1" - }, - { - "171": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "171": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "171": "1" - }, - { - "172": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "172": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "50": "1" - }, - { - "0": "3182718166498008812418586185198779390426386793456672324496083987133297273028", - "8": "32926915752434043089867058169666297752313776372016219331728563277690241534083", - "9": "47976875954232073336554205585086358567803613462315826321029621315345058443524", - "17": "5013767729997012319537535223742671376847216036883396905593755311750771851124", - "18": "4042102599875199704360227070290810262077356882668493057202162483802847551247", - "19": "7523167637422404073837718433613161800922502611402235838506500718978337278060", - "20": "29363760583617431835031510144827098016649152662807776793457114327749053170730", - "21": "51793675347194196027107483187723312731029262058165743625042792930272256346227", - "22": "28784486182402121939677102428494458446056217346449876112534872083729197737179", - "23": "33196842299770698094777836345369062044376762594603668793910295530004395860817", - "24": "22208414789330235684212724304396966782410301945268989554076441457783721016667", - "25": "28580447473241086180594740858448882001369133488186246055180461214635205909561", - "26": "34278135444415729840826722645351753769427628300194311781939262098964143660674", - "27": "48193225826157385232782694370852811173938937474981025814999570481072944081411", - "28": "52201237824720083752363860060076587793378140971033785093924679406652381363175", - "29": "47552906929785624091452435551737721455988804786883975584992420475007699810773", - "30": "27132472653502616956966642728126699195788400198103973948993023516431572589362", - "31": "10389811231893989052934357579831789017638868489307187783157199748358721415287", - "32": "36549607029688752653370605148221026360249830237184887264419022181287783306400", - "33": "42532666236031626673360246982240202331291830693927235736901700185198836760783", - "34": "46494840385138930761416763459839914858861862032292579750712123959140575486927", - "35": "34371304866850425822747943494500712401006566930164300319197998496807185126343", - "36": "42908265370426739389831127013082888253076642651088871623458013388879086873986", - "37": "11266282299598410997189206084139697517390930788939438234281336855974629584778", - "38": "13805468254465408450402625430120689646754186366290144302725820351252434866880", - "39": "43434726263656988720248000007749398516863399008523143018931161020271912800792", - "40": "647731032233422217558127532773373463300504203189397392298264292595875487383", - "41": "2905659771028298817004550722430838979198457315870623726262319644807624942985", - "42": "25698046083270312750636259327184550058421111519323309647198223674899960287011", - "43": "7855947208728139557226339259540416057017531347482278615209160307519622148288", - "44": "47708852949726384190581221945733806953051097619938074628876833805174210141435", - "45": "39479565339885969083033734435984479668373915952688061804811835305230118135333", - "46": "7842387998943086825378298185293619679502215847273077668397997731014939121008", - "47": "40306784563250300758131954226384334558258162701206642695140064284918287330673", - "48": "9197092075254020697128929074555292623565702505297022739167122481872051270291", - "49": "27546004459242409128714464151873563221532990014603680095750652265227049128976", - "50": "42458762056737171250789835374827842987755060473775593241102738142319044877826", - "51": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "51": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "51": "1" - }, - { - "173": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "173": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "173": "1" - }, - { - "174": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "174": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "51": "1" - }, - { - "0": "14599400764263231688213618032482449522109778447311452342990557992771279312515", - "8": "18912742569144191770162346423650482057014722093013146591972376900150909929530", - "9": "38548250175464665192127540856411534634963604105490431104492468719569689398231", - "17": "44348538671285686934884133685986338744527348022344885164891332779321400366538", - "18": "1317035426462381896031095674260522491638297528453635216908139118977061741406", - "19": "46539207139660021075588674954360581639176307945744542063239224977085836649648", - "20": "19948988903310505461818670726332844174056822953145061275074663474023611784203", - "21": "32799341221863613713315633976844686242513156056573436764399772292078998002902", - "22": "47882070842801306810625066651456545217207722143553240827563066436616476338717", - "23": "37288456982982674791710885911199410879115779381419600020643092129816688345351", - "24": "24590071506477008281171416896588602430040047086534166442574329507096343702194", - "25": "21426534331298303745051173870539947668741631378123539841613483736269106030915", - "26": "21500915328820030333608864248737705227390853190525669612567282458918537468989", - "27": "2308445996127659243095771873055937834746528951850901014580599297683329698668", - "28": "37436558193041549499094419234762480296256637673958654680499876580003225945988", - "29": "5876951665448425737513934386595289755669601152481593379720880778812976650347", - "30": "2931207815460508121850433958866787318687555432772051964500636556873218580423", - "31": "39297787268304865366875080259169708651282955033008844315219223063622811132742", - "32": "3815516441516166661642172869930941161203900213418247385063959232984890767063", - "33": "28286489692742642209328005839749003580767201527597857886363299992740921956273", - "34": "30362392711822458116774494325638110400060105826693561155539104482639338528376", - "35": "10080174423788243550547718097463919226130273089939311600243914136125286667950", - "36": "27091549112553130991767524660764913489766818069077890225413351581320027788468", - "37": "18826009612321450242655041363080133503507468988795699511697464020993344212329", - "38": "15953098987300962448626455676063143253197121142297994297124625590770153630274", - "39": "52226479997039263893288195155905971351959680139821013658974470901311902455741", - "40": "26919088194009920442887843339979507927310781225351493408216270427103744817440", - "41": "15958228281395294969968506938836163432356122968174445529633184099557083551354", - "42": "24026242102138439782480649244306880158304466217867285135586377535978229645528", - "43": "8372630119721329513598071506313643611486345273849051306859636519105003283484", - "44": "45222015296981788493755017514116328636458841196562673595761093374086989985476", - "45": "44577972078797192698174046205333304946212575340719842707581790406040507255641", - "46": "40272514905000928736293458265218941340231225508985571798376485411066362977764", - "47": "6709837189341035330553101939098937948377238343260378126852853557079310516844", - "48": "47807295039052943200192045607452430857512347687674434292683582960089519079597", - "49": "17586268334218852322280026530709274916427397519665142185944639475824175461129", - "50": "19493625175981631156698363301813094890232951876979700015593327200705609103261", - "51": "25683586717985565161948594091827604418697644794370484562766993783686395908239", - "52": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "52": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "52": "1" - }, - { - "175": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "175": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "175": "1" - }, - { - "176": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "176": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "52": "1" - }, - { - "0": "19971122460007657859508211404523175040055308424338161607196356611508685672711", - "8": "45800820128173391792185096204771604566910744248498168395979465763434726200074", - "9": "3296593061958405454222623767042377492294151640890709792162681729282441860959", - "17": "47577554868383470173772963558858336929033862232427644487064158734754936268283", - "18": "18477055984664591791168426741989663816098043141357366638520053497338079402575", - "19": "25220082235435097624027415701773571462515511010670278999287335449451268531191", - "20": "626711679103864410439713004447866840839704333952923655574744443194054128520", - "21": "46168177344309306601260358932398362664384532320511350508189345939910842708899", - "22": "12210542597760506638588020455529460573339586738742651768549690640596356472824", - "23": "4382854497241020342368818720791628600373586432302204096445971852065242242109", - "24": "45682661849071321924503119515687782731623959437074118200276414169882856637949", - "25": "49399949275619986302265977830833405944277499222523470864100997833855183769335", - "26": "18450413655447460334878199409335636421323547099473359223820431819470746119311", - "27": "1837028932618437220297077170968059055290689679994891484332187122910651899938", - "28": "39622122628997086779775300897944353896275898579263552469736968131323183682930", - "29": "10948723487912278740535296997019334230669113019607642499202210519535806030867", - "30": "15697358055270789222913660525066260537271159134069000173252065709498065979446", - "31": "27857821019300782343485018756105818966357710298942387798577048806298503028817", - "32": "17356086639314663282692549189543132986148130847434722818463421244817259728223", - "33": "891327086656865113381281477779838422670221314500243227129808492328666628854", - "34": "15143558804250167271859225448771729546438234112652322237017579473405520284811", - "35": "16390615825144014250159192152580361697013774158644572682547086120575102613470", - "36": "24884018759847835638638532005804645087825510580402991836802423535026848890402", - "37": "27884325742779882949054032106561462868317711852477810554036909137384089655002", - "38": "45774013456159699697037248566545754692356300584177254754477820182750814439767", - "39": "12456232222288471227144367158891184160679107279386793729713014786582782323815", - "40": "21622819518092347312784241151526807226685736830852547810228089884173491716460", - "41": "26701937558854188229061367392442715915411165328623636113257176896654406684794", - "42": "42033658794673269440783147627697273078428793909581651885129093452456370823044", - "43": "32601587741740562494877757669929289782841268464357082837787932579766868623872", - "44": "28991960260567965231978744956343826810629279953958189256198349905624048560904", - "45": "51737555115584236985075043616985711544105687714282862501121480196841248355425", - "46": "34201144676260319605708261812656239403953964667988043477108767974993143184197", - "47": "9906106918365321017105677790435123615339082526894244822796091051050072605410", - "48": "31260639885130878794843351623708476260309342082607367020952318208258443597815", - "49": "6977163481927963691187158449685853311426752776578931518685822891256410250137", - "50": "3514454668016928522178975669382735701277456742852963606568745948886411661948", - "51": "26964653365035093099079233300737906096765913771649525232456926040546945369028", - "52": "12497266611968540567111644893085223797720357073685312991428428732122834393648", - "53": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "53": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "53": "1" - }, - { - "177": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "177": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "177": "1" - }, - { - "178": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "178": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "53": "1" - }, - { - "0": "12801369279155577131760037436686619341421686678830792595575775840669776442563", - "8": "48314670915362627199752432936376680501039827958805748846625888559233657950802", - "9": "36193325099956969212371624565796622990386626924369046066585654744916067956227", - "17": "50173205642135171924920681355846645523717857709157089501646638240843254608466", - "18": "48667477437227384968606401517801433351367041061184844460733929214411245515153", - "19": "29468633431938254341174210027244178345528760649133603172754558558924141821880", - "20": "14345993343623488938290976856477841428797757620812366906795990921674695156417", - "21": "35366090867308845531673767619698229594652729166029855327366968050336069683389", - "22": "35511542731973774503017775596344705542250731048918915430508219562259364736626", - "23": "31663516183477238231908557668110710303588643107783599067195586215579342442991", - "24": "36294237593843045602877574052408930235865392795896448996051948224974258999816", - "25": "37264147634278328055643958769928693472117849154812706124555185877271734880109", - "26": "6405794658226361651932970226715465952688138048776789154099691258582864265581", - "27": "16644667594192474495283244120292911558085205029420622892260221298971905554587", - "28": "38134538098278005702493298765434409251270322704749634056448927576445009842737", - "29": "45826906271895256079093037232020869649557982877749626792408970774493043871574", - "30": "1593256909260181279006918088898070339693815483577656139152349725128201040543", - "31": "42991136075009807934268348038867327634824416770002788686976655950875250823473", - "32": "37708865735284819187879728055988359746024244646477934111398423647452361709216", - "33": "47164384664177555697846017933874747451603461484031012137458439862459381805074", - "34": "965897963308505670259252396349758849490684199114512397124646286838592010104", - "35": "30527006209889105742014547584929936775107102185333973362772965349019086644642", - "36": "29229608477861642923912423043441599810674586380622648291982756970402380291271", - "37": "1953211450577961224325433364858897622999560620157734175054307880950069477946", - "38": "9353519980616867754753210515127525477911643995317359005875530721518736307544", - "39": "16185706506967175686265770066846559450323124283797699141451776739272925401570", - "40": "38022062023407203818525259102611229069856916794072976458543714108368590343694", - "41": "46465208811556690916176364326908979382487747551315561629727874724669460928081", - "42": "18561524374418425025293682348210367189154475189225886149014162833411012225454", - "43": "32475787033882626937186047914679707543688806472804855206596574310071848468173", - "44": "27777254178959933148238688998877629299620445205960491876664172162600227405703", - "45": "42281456474174918556176940606933783615885059091629897872382333450022464607768", - "46": "30220411442471558101331871257374116184578780630167048780559754194684624191702", - "47": "5903825956785405493059608031611842077972649879646080175587220918915621220574", - "48": "17260187455220800157500219115622945881734720793662323569058006167767093361336", - "49": "52128968513794320763886436531635675169094572810123717503985686939701742113750", - "50": "27688659169175867744387350098721751851726897990151039928118164768438867661644", - "51": "29060634690866525617320518365559890485375658123513445532987097910753124707637", - "52": "12674183554060579328168137719987416387732764071784921154729503956463272509612", - "53": "49032264524367070039979300981022405674483090528243494919276139725840577629803", - "54": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "54": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "54": "1" - }, - { - "179": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "179": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "179": "1" - }, - { - "180": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "180": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "54": "1" - }, - { - "0": "2874800145470695258580041840911551878272283565060591475417515522159069870291", - "8": "20856609100865185787751612448733162360224271878987395766388433936362043695461", - "9": "12194183133497856466174688191209059807219766320629463385834794408249963412301", - "17": "31120003419260810433513376907978875667641771785924900128059201650129025002917", - "18": "49075744729252835999324841051845888451029339824366977433296527179178796120204", - "19": "26649798772914118313774692572897728972996138081192524682225116227379955805723", - "20": "41481613659966279609324734461745490978016031957504218984109857404997551581190", - "21": "30946854478876974127030466698546304482867161543226115801559905435036618512713", - "22": "20306023826684576400012600130891657535312452106355231428727797969977899524386", - "23": "42234672811986758149547693373931303325722717544933127080177051976441786012261", - "24": "9968736060683541482096459058594514828048520841619612563543546965290819049926", - "25": "419159326803355504179044755466687201380679803539890028835597793036028148670", - "26": "7396879683204645534515863273956505889287928485285985265001562544458108372264", - "27": "33107708437166453066711746978644129600215459638571298655909606369328774708558", - "28": "1732395166632007906540260951336623548518684916962654086166318956454494582612", - "29": "38038727361781312909939564755112728410225794225274293695641011853692913942887", - "30": "47064636956155159711372043655525582593330987748710505959772210793150844427629", - "31": "21094028601983788282466965388694059964657012242126432762809912658058837513025", - "32": "41693947444146048268900275157088917679898621087439750905288151198471636691825", - "33": "21395561571199733448175766131346558181089532251915490406827735912339060481275", - "34": "38344438168145259744035490010153258028894823122889981318274790921047311177021", - "35": "36258256020328210054225953915467393970280126992885092782600759336076807906414", - "36": "5148818709280297982538149421466868438634363587044453389440824490919438380476", - "37": "10278869912806823810196303006899201166586662306567305858617877001030314127551", - "38": "523562038924235281409734882151422465950556227071179417612305001927314831554", - "39": "44169929119578255992801129855518330082719838779908561108568163718866855441244", - "40": "16123470698057306807401503360854890044980663506556273137399859491248793076711", - "41": "41377980663559068169285432194800492798724863252183212831370642716258744672546", - "42": "26474215360742893662054977905863824919387896215596411102532934134275961495347", - "43": "49964246569323779981619465035875384729064815705712628415579200513034193278638", - "44": "35208116100267599078440655715509657194269847386778597064885133844425211587329", - "45": "31060781036617704279363296484561798037376197962341776875664819457925942107822", - "46": "3187565374732278756401028773377528675775290133292385761572821738691963201647", - "47": "50370578993513916347001504316826660523542037902909360494292428417978980967529", - "48": "49609829308379409108571524386113107966178825462271389944901570747423379187910", - "49": "32837244640867386656635274474487603222200973394948633305679410931669689931245", - "50": "20093098078022279649854787717657644175357059710060694480824121550302320328051", - "51": "43628106233154507498986159342755166333941765449497175563291834244511737379217", - "52": "19934393442660559057401067523764892965923164220007314439356829698670167778640", - "53": "28954700295118130234512355849317298799232179094852566623421541652106186276562", - "54": "15958782681044120532233862649699354067562059482538815462686088366110135452008", - "55": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "55": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "55": "1" - }, - { - "181": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "181": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "181": "1" - }, - { - "182": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "182": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "55": "1" - }, - { - "0": "15558578381003392888309173936039806021949114680855373870727168432126175091041", - "8": "36958213691714857769216413913717418756278650557262436863112402114560266322453", - "9": "45014442397094611256700146330680183783333287366446722041429690667721733015947", - "17": "36699347915436590119012342223007322693871385423905777984001272614601809060469", - "18": "4182050713175943474869699871949603240467902844541127021822081383262698883227", - "19": "1273529694669713607728232233990315371713710688403897798989378639884378802626", - "20": "8672800637664026646743353507843702204571133196091624193841028239432876612002", - "21": "27480134299646099452152758729175766347604505303723655843813415817155731692605", - "22": "30500110147764869241663641725809932131980022349733875173938526399578630402695", - "23": "37030819562059733930764362059115754276660327317281064767897494458549206154039", - "24": "3660739564462922177054254887881893920831064401602616405594399048113866124360", - "25": "49831051361945158893120755370319693358884714166399824350805931828231122758907", - "26": "24567375305900541593389151988598983318358988428396664010009286087762387169287", - "27": "40754943758301933511617295805822605115493844891518129662616663106045623085079", - "28": "5626873820042429608006775761281872331410675450527484263670837735872600436437", - "29": "34863835242065454762537466692915586106813265652827290812350232547736812461308", - "30": "28828205476385997846779928983272003862852760906233275569602803301408742183403", - "31": "22404421863587080361386335251285610425901872423967912438723918768609701754090", - "32": "49742800412465320613190097571905223754246690598046716044092048951594495144283", - "33": "43303826440986422772306777141453898681091336743660802199226193716736468111732", - "34": "6887733418436517002533875615346854133651070936202786825206750583634416865435", - "35": "49928646512630617197668763320934773675279798078327894506637275425144811858980", - "36": "31195925800150561447903998324756407744939544137813193398111834438159029670629", - "37": "50728333294076698795328593499497941485753817730764946846097348332971820028089", - "38": "47431846741560944119759707044268607324491358823045671830112338234018569771208", - "39": "11768075163522120199872609279918140574977309412921216959940230218079930033864", - "40": "41473359991692454826320644045116445959346115572840334171707672586867253916594", - "41": "34193163133561962307658969863144337775495246144895307564894490707896028980959", - "42": "35867805232289326499030564831339998043659154145919031292301374748120022854211", - "43": "14993180337074960720200686515994140668145164628921675157751616402398509521981", - "44": "44064398282333257020730328421876041904474323246572881596558050018032899535332", - "45": "19948524166797692818960016080188213484029547942940502496106522580431568460692", - "46": "25789203347610016219245228643172820780131628919673031699868379621320034965224", - "47": "23778934183651653875855073897696630838083898449618010562925986432739163562010", - "48": "42873329740499792269864769078473886692959327353108742535862616780175502798850", - "49": "38446814079139810910457761664258995461481738309202125910212759757408039109745", - "50": "15169960863969117799681893272465749807243108331232990797941252799802904789983", - "51": "38622443651082277770338516920718920222092540374828892382687036544580326399635", - "52": "39012125427428523625270049677804413638281221676939693649555247230928602879857", - "53": "11009779126651618604805444760109344004521652798024360065291954761372826045508", - "54": "10333640033246829710459890372538173174968500552565000956697270018521681136132", - "55": "33085109261284620782260186134834786881330708467426846946188432828680927670741", - "56": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "56": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "56": "1" - }, - { - "183": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "183": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "183": "1" - }, - { - "184": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "184": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "56": "1" - }, - { - "0": "9811599964264530187304305794911397412166832842489170888364387877850235210426", - "8": "35257600960717538875671174989277404503928084911858834487979693639941982630379", - "9": "3511536225223262604609683995454835423729933191908823349529006198749754827458", - "17": "11140552643295538623324758330780884994169601899807457822393096174630573504170", - "18": "46499105656219891570679669047008880047550492622686403885395088124165904580949", - "19": "13199005296328705942742673700739398316276900099170163010895756592340180569845", - "20": "38964461774913690861526712655704437143704150074595460975020257188853694562186", - "21": "46887995575115075192085668564705929400665308797905212794851598240413114450963", - "22": "43882743115731196202414273703052922012595016859296339769740332206157263189122", - "23": "20397062127725501361465306241040596120458947829181053355790739032074705276821", - "24": "23160115496829174048084493986276064970641698048212834450299759532374273843073", - "25": "4268056679769359643937094304142320277221752714811575715839175071336588346582", - "26": "38249448006087871870414075597249197962305563763288948092987171768225606048056", - "27": "33596237573662860295450833846931282978098516966413400438078941425910835629498", - "28": "23630434733803689743605699222542434625025001933784843468220959267528142872101", - "29": "33575464307243128981723379154379172357079406922008987267817849443623380855631", - "30": "30626007667114502838585126358916475666886034246231519650495792272912006029020", - "31": "13633205442678024490116374717532131352359980411562278664318957818815276920767", - "32": "12161045078858759438780510398498849284840447054488718213829402694006262441613", - "33": "50030805989570793011632246156070787126245014493357494630801666217569732219304", - "34": "16967256452093040311257114695634358181533509810798447616355511972126811938368", - "35": "37159904135829956970090166621705162746922718418428587224171612039491511282234", - "36": "27082508832330131584428263875403436892556356800227622939998462667466888078376", - "37": "8621624402418440223444480777677121828796697294554054054921746855244960962871", - "38": "13850968289508252572346818654663049160399799234068973515041336808130117998136", - "39": "48348378963979534612553729623784696025942387346766985612264001588619022509895", - "40": "20465842086964107698124849734843009969170881610962290987835753743429296723691", - "41": "8670623148692012434609961242682871457964873164561845443717617228286906566132", - "42": "16145238248104054550143407880643729479505295189450933988102913064388173330271", - "43": "10145441268572590579208613134932101955700079461488272082330201550579502389725", - "44": "25679027856520546825358322768399413062788017707148561415116457406931508103195", - "45": "32193319629788271552211183220519976653532663919955926627209228839062721385556", - "46": "13345002706260255504834651581939602387199150714457171852797771708361543609008", - "47": "47061450638514375826215811908744866879258526610731896947900612310952630500848", - "48": "6972801335038734140453678068767945491926699338337421365533088755153382412709", - "49": "45826496760241964327805018861710011778187306958856979803130891325927228280974", - "50": "37232668388052912044859799313792650240045356124449905327667091406656129739611", - "51": "1532679147724594765474517925527692031171670435697271341619284126367634189102", - "52": "13155359903310327012531704167967345564423841690627110816735525415741074577023", - "53": "2643346701398652130190188285932478236786842320402775663801174175616386099833", - "54": "8450242745402834923810032977394242745150947624276083478110833191908818570550", - "55": "22650864147209266095665093661522062646273819273669143119794073301199367811327", - "56": "38444507686116491782456252560622280787395517083096505398020732946145982829252", - "57": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "57": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "57": "1" - }, - { - "185": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "185": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "185": "1" - }, - { - "186": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "186": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "57": "1" - }, - { - "0": "11797479380255190086030457967941350172480879235135372778366002137304980472711", - "8": "15903879427501232694255638422894771343347562435171741841900994323840681792831", - "9": "50933137116934872809912330682256821781357990795311511926646529443934874684866", - "17": "35996553932923897415086385224589569272575176623262682197040707185932980608310", - "18": "15673980864813038456649688853613609271108903784258878253725217485084375952374", - "19": "24174431504151113175261776274814121376130441284859089138757876354435937799758", - "20": "51771580265810105335926249893197814447984473552914220937219071265403434683058", - "21": "11290676623867776344114482395303171169781518793948295324309426128608604849031", - "22": "8409495521111008620436530099469680340946687554032749058284685581311015911667", - "23": "40277766370322337046224132367735432681011902480335046503085989917085258671141", - "24": "32351579748207146295947573665198897103936797798774700208149653140337275101629", - "25": "26808655080887219095537193056365166400344791460751387396265567694499495682557", - "26": "43939295993427639264523982908312155952270428904976951179149363619349171568699", - "27": "2615928250125534253983662023398397482642537775194048496353954712112464381585", - "28": "24665117811273098571791268405924882650770009640818441195485571661529124368653", - "29": "23310083990793389709278189173553809917938459280773029801578963832080194662847", - "30": "38897903662727474762999506260664058810863249897094730433494501194313760658978", - "31": "22152896730736334549888318638692287204513515214316028404603478706319246406821", - "32": "40841491001727582810923937974220948519414818120996801118165557378803379209065", - "33": "45804241428533841200143162657819328022465976214145860566982147891478535457215", - "34": "38247945248539047400507866706601033492064308564388986885894572889109560162144", - "35": "47940123283699016257558947182409062548466132367938684643112467714426120763777", - "36": "12092623607389999641850228730930499684025853387799891848171999001242156520113", - "37": "49612578069481060603003816627697197677305941822287909347803282058610057851646", - "38": "20808330026913643960790880775016541975386323877332274178447810961387653739530", - "39": "12509250239645937872135956832140815144675242147625726684019380216316765581796", - "40": "13282348156818073297501589837760392749731423097724829433731087807561077290345", - "41": "8635613494893295811108084342410205802605449093122787212547598535283126066382", - "42": "32921001631426041445676343899570583143896202738541110737370163455053198523276", - "43": "15072150072951460790252803724636999781589895337377831063611633819852290167493", - "44": "47738287137100779085704833103435594777837426768554691154123749531090265614528", - "45": "7445854682870371420431653252737133712854292373432054892095511395705085407679", - "46": "21419594226096369102011540768316311221996509834983414160253966398167483277798", - "47": "41412475794020893132046501869760288631274866268483141282007604116478522130215", - "48": "29438264997412425909247180540071295742601686211397643346247079268958911123793", - "49": "45548144845518422625308249397535081611763184016229732029888668317030817383283", - "50": "41927051337616883142943994926384936534125160827462461617823879167958338420243", - "51": "43871397036862176880455740854832172473688538889696440670583829898652011761449", - "52": "35207008718646426805720704075193183187236956162781027008678627115192383928486", - "53": "29994332457423934758231668689495943901058791066006355079939621091191349632753", - "54": "38772336053192597942783585627048220283047009949910621214754172288582954650815", - "55": "23258426506563365742480079527437241168385234319706845454083583771341346157344", - "56": "21925302142198178264630423325182135754836599254707043729183366482558865259361", - "57": "19658305843685569169430362365353837930373042553254857801602254381749376221871", - "58": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "58": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "58": "1" - }, - { - "187": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "187": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "187": "1" - }, - { - "188": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "188": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "58": "1" - }, - { - "0": "15812276861397201227532067085271584728094218111982315967331671382133625425702", - "8": "18535644248950183777137251290930303361902992375131844745869851531133871101591", - "9": "51279430787531082701705987084781412833104680004081069854155329187001349341305", - "17": "4620280059807225859841498832568948712166192733167194648593693014954508365885", - "18": "32279062726889456243515576789074612857448705807164488364752217196476984385336", - "19": "44184272794121612856301067916009731591444999632122835020008743833827814863552", - "20": "29330345497656289885337341599199864997103599202957467011994075379964143536392", - "21": "5810129635340722855995660842622571514496893097535104267342213526806885038139", - "22": "22093601765509068412097730208250625216888878428029620474620624391082030724566", - "23": "33823292390456074445857176711494284388031659375969059374615101024483851681562", - "24": "15072443219894216835360983777898383891557547579089367459205122866145685995272", - "25": "11626606821172032584621965350821246286763970077350448014993294448335424093939", - "26": "25180933374455752788679644005606966820561921667480756716673289054562010226309", - "27": "1293692419630817662246021156447890909935006109796007300336215233157165802530", - "28": "40038366087558648585659130172915749952856978749469196738924528961463907971374", - "29": "47485661197731712229971694659034918012631606979817871191437440272676288502187", - "30": "2266783342230428215697200199668626694995414935224528224332416477665003813608", - "31": "38938621350782041225841985605041242562204765227075428144303567109368785432651", - "32": "11750757641454844391624222022215998328321386209820668812170311710921023483959", - "33": "4991232372153516775627384368557315643226357632901061310999707044873437432007", - "34": "39792158166938465032391835383243783697520243744886894060261989761329089919021", - "35": "49219084037788441430833002157865002740643066075395238743097679890017637651197", - "36": "24290370875537977927341659948899202892675773969715971504272559801894997624230", - "37": "821568644471580341005322773319808354960034337318505717800240692934651502145", - "38": "48762614452492834136469422970576561937183920526135495771505488136430876876113", - "39": "42134329839847921670579319483404900443425581513469279384164672676108050967277", - "40": "895129569681074695138752992405210404493215552983063837481217347568002758337", - "41": "7127544495965029401646717773079951414444422596100117426315918732427731834503", - "42": "23561203008659710736424481520837744068715071337987497033620756364166920628005", - "43": "8765990301331921992840574586282673763273298928042305630462451059175060999866", - "44": "36967831456732430915449372990747641804529407171981008266600435052906003828059", - "45": "14011901445376071324335811805745684445627094483111232940105054388150045797253", - "46": "50374876510000627886928660363770266275324035283249568246117252443100228691096", - "47": "8752478880339119208975018249995394197518781758545556932041583769657207755366", - "48": "37462509494912456254133476550641732048029849031342304242982998805380001516880", - "49": "28066082151029757310758300027320057333871698171350795423585946842186060828127", - "50": "29266447935243209577950456344099974544965022864956546295908626823688007890951", - "51": "15663062836082338776813337146561950964713663215969728180399468063126031180017", - "52": "22152069226694884890791439616391555314316473853628051925772872910546792004939", - "53": "45342217178073138250295208119690541363360396224002497690104428892154216307304", - "54": "5140994251500456411231211828824151820179055227524877764851708249117356248925", - "55": "45650138088064769636030235114597838277767315488933920125305256055766941545400", - "56": "9406552773588238504368824519032723679370593795249549746547590939424200942174", - "57": "34304589006885983711696510309541293412660869701243945658506473451337462560973", - "58": "44906303812554767121099823723834814371787058510416082935177272166347207070672", - "59": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "59": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "59": "1" - }, - { - "189": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "189": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "189": "1" - }, - { - "190": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "190": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "59": "1" - }, - { - "0": "14555033526911765831054005951477598685743695466168667850533171876658643729676", - "8": "34863523424364231614938921732466296539096491121427033596608711213460107724357", - "9": "27207535934594294618567784126810315469019735075077155894544655864054151572902", - "17": "5750256653513464772270728240767106259049960238754078985236533960553573217603", - "18": "27966986139375070816317855599335811167712069543547616545463636483849903171319", - "19": "48996383137165744560061674561699476843486153794209246017313888406269221666270", - "20": "2476119499950347117965077281283419172976844485414883598019890992416300049927", - "21": "19605519810492726935429407060044067856903606542149496202792719949332025169386", - "22": "8613512556546439080890935591940424299608376457901416051960964138272274942071", - "23": "11436359065316862937883286899732082402214811066474061966990279097030365329070", - "24": "39554166495063583479815671404631836465055498965504028848471474929024611216042", - "25": "19523470983586898988240630454875779055340295958702401903231329869131873961057", - "26": "26348171561658105438770458063226156174491270173373023323901210992687510469166", - "27": "39000576329217846269267382972726852667891052881859239144898377686097306720074", - "28": "1759539451344592922231121524951202200686716472285931383985167368459252745243", - "29": "44215007384708812547026515417691940988308520425821705337635516823963224312320", - "30": "3862928018832750321923891854067134902921544629899703616314984218766964942138", - "31": "21901636045985803764716269921651167505902593405337357105978024841479321558088", - "32": "15277032463621263351820813264538405039452211480260088892733451046931132793815", - "33": "47980315532056274693469074541315585470204512827658914626207874233482560262938", - "34": "13928209294676374986354534054581251377364148962389063419717048253436134839604", - "35": "46507853233669737936947896284949410488000541732414151172042936403069736895843", - "36": "5975339878438961254510761711737913220057327327920429634635847855679974385968", - "37": "46008417865678207009465851644805333939374068341600672204260151528384657420229", - "38": "32503514419112369135379707976457969627621664842193727041696160656391827897762", - "39": "29769885641142348996066484628958347559121673431399592937816912426690987936086", - "40": "28529485287992002327998886451815402427854447912805386641154547997477587424000", - "41": "10966056069092924465755325624999776666254573866314064813816398376495429392400", - "42": "23532024143992470589447289005983263662372741992402502112047294085724646358400", - "43": "6235066832243651718711793764111718577564538023035110780311297583819589637393", - "44": "37661601410810942143169047226518599079836676761701770864494875029400923702229", - "45": "51812320359747782931547711187698452386999889004542292053699082845002721608565", - "46": "46176950838959732318853419882362989611918701877381595807619426338789099528392", - "47": "46089031264899263959080610837239385297077066650560830826453176977157677727376", - "48": "35263622527179513804135349218413880394118823203804729405259008337527426821440", - "49": "23095995603625684421889036204755221630019576810534568201102507181887473131855", - "50": "8386585992550556921137720806880337531315050013800179766616859101176600258161", - "51": "45286850868675883216907245060188269722019657115235649596763286723407492330126", - "52": "29999732457492875872545122490568514877382586569195772952675283928339147878608", - "53": "15482532462112043627191388992155886864269024630544596242863184665227394845065", - "54": "25634082300307938257694021266206682661095479777731268539621430425145306759008", - "55": "40809550935485141086337434497663859640055401701049869955361322997962814204623", - "56": "42599837123830750380711027863755497897308646321548115070195289612716615924754", - "57": "21977168978137609776256406509083264783855133110410345478252231994821428414661", - "58": "36545003017022304986596970369089955362889935421785592657720103615656385746601", - "59": "11264203372774413051457764167603997729900179027056370285563478883438007644364", - "60": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "60": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "60": "1" - }, - { - "191": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "191": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "191": "1" - }, - { - "192": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "192": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "60": "1" - }, - { - "0": "8453370176619636688730899865196838058367647719211769227158095525122045566926", - "8": "14700273049248148503004145417342472819489376223376523850579514678795192227081", - "9": "29499326547663415118039654483404228825085905754372888154597331620186324201400", - "17": "16900751352067322471321849692971462399854556457660170971998689894833900813331", - "18": "16689479123960579558525350640076788009266299858209821170307162127601213020682", - "19": "14386894150226514038993853486320555463526577351517015808534222973907504459731", - "20": "14281827511074562696250851356442184389645138997631056247147800856186302003365", - "21": "7601252818192062195187621691597227288571904750280742359906535937941906367017", - "22": "4950822731455444783467234639504457829374996503506837168099325001874615550183", - "23": "51837903246315225107713370053074430254423132769542085893706060555586792897700", - "24": "16546152870877373244122296708221062426096626308631253855930455402080796562574", - "25": "4267865283645358193406033116664140612846132199837271175626375136847081417872", - "26": "31454641283437352122887508382533251804031425393665228594397434200271283770360", - "27": "652351439019401607116973282173938477922922008986176658355519764498125477040", - "28": "18594303503105103590816782598057378876343333312365732299430823372586744082303", - "29": "20533746798332961527887867601021334314023977450240156997756134802307938010802", - "30": "31730678564668931612365424731140004183405310786489510937867001188362404418596", - "31": "48479350898178129790326533098191184443453539697488280147441712352960713016015", - "32": "3701397702704437653048502268996115699107880672985127178774683611658752663787", - "33": "43460925668457066802977853258916243668192492196292654929076745569308999855359", - "34": "27733837539902012247848527574232219638074401231105290178750803799129180705787", - "35": "30083372598883073357569659985884766847092469428102463974683224520788843750263", - "36": "13416139037409930437710452642455058429395604708926529298923428519360184552116", - "37": "27623352308908286682197442773696828064780759541825113166920190830465760115310", - "38": "24467178523527661412490840403895102707219693834308197483111012821849214625368", - "39": "23728113528246855478500232569870948003639556873931983873702722387224671507274", - "40": "40129666380656807062809606434513663321184682779877056834215304787161622530992", - "41": "23196600856704274435727136372434040707394830440542391821430543031726044902028", - "42": "8215865162361209177076800640667002682904703694618158726144936914506095863437", - "43": "3321432016766039564500829840965935044807999892231160713467534524496739885083", - "44": "28396606736882264536595363707806916216399321241793162972947130804700644375984", - "45": "11194814843932421015565967864086907107533146380253464829460895377752980992085", - "46": "10247629864320245984498290366880059792803521307928493823642220920516164182974", - "47": "45540947434270323589980283215503197959394615493726851605142801290557895945522", - "48": "6351410723033070278915663444147684783159571748995149346685113381367496940470", - "49": "16646450007547282223758767567849289455552591191901648461491104448301851645160", - "50": "24889229155976855852906874602243636161245617243340644213538531529932171805657", - "51": "16505800654202230305733090602177678389553495759416075701766877632336332944277", - "52": "7675925178062114939817324806065476013942155510710362786272913586341990387463", - "53": "4359946372430343557819891012909070894466214109202481725255824345350007819348", - "54": "45310328951976216802832977340955247700000185785697448432973364509588835227620", - "55": "1384466495725852204781033898726991475424675908064122876245360290035272122590", - "56": "20546022705070598934171404288007102076165295582340576848525332838925487625279", - "57": "31529351690707589786177302613748003542923394436330434021084483472278799068151", - "58": "36579664282908550417057810780214348432407464125259718233915609127479074532371", - "59": "21731188521940091435304189115941138939077038176310508314733831383137706473253", - "60": "31242499920666589644175623123420152488672982280975416311907961288030179258970", - "61": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "61": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "61": "1" - }, - { - "193": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "193": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "193": "1" - }, - { - "194": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "194": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "61": "1" - }, - { - "0": "13746050345785052659407845574049356403121452981555493239274450074369130425982", - "8": "12160298752630338254530407945916766563834922532629505948426056026762355688759", - "9": "24489210578788599746303010662424713680859298825664124500851658126460028611472", - "17": "2416282630496950895368468643656141052319363876716233763023393100414280100706", - "18": "42981599081066594574328294535999978881017233028753835538536441541950646694255", - "19": "15212058715196543168691534562115742556260998059165932940223155050835392905871", - "20": "7202642958849074041149709775648076784468091348519822681347269528720073196143", - "21": "6522432676358732147478141817940573321601463188148893724131345313299366277943", - "22": "30767391711383501088521957411965231355303322859244512663417573036486769560650", - "23": "25746217630755160409444044629613582263482418055996449213633577488700523972799", - "24": "21021489915403929056022381202339071137483935615957803312647510804006503608618", - "25": "25542488973179203547537575381757126623160646063126252149260646642491985455010", - "26": "39202783094033560367251586850007418595231762966762456877083689422103114302873", - "27": "42659979988686870538834442012951157000488835088586275318454859917364636180137", - "28": "22430322677324130181763040670691241668786011709052687276545407961918692563488", - "29": "48406987307229118673240050520579202466569377333779345715053781378573549122625", - "30": "32512762645259969846085846374668170239637901875870563058345044054829768690833", - "31": "12964332751459612423825674278436953024702343697445272589499909315219193614844", - "32": "17674929204239727197236875816434856294782854402608690167877003244499062707806", - "33": "35996901399392717462862132250727787257166816817003415696247648759044238397277", - "34": "28325316069932751182520989939110557399260474921579709781574209643558465758695", - "35": "21833357143948235033591121406164464285108953595523603678956916489804539718072", - "36": "38331690060583629680685237980166619778480849178533510350226140209194952416669", - "37": "1910008285596138509433156975888508301958334203765702016398433769673831959592", - "38": "20529999853741449522757630250231340974686162798879163149077571373915494358582", - "39": "47621487574637106182778429441529768269093324718613739643526908500865444681430", - "40": "7640467605139465408312247914559549873127370928782720115148094253764904080185", - "41": "35573711437974105808858853822651224195828755279535917162598043903770539612809", - "42": "35715418186459305889507607119939666907048938427469427022964475999452421772838", - "43": "22336959598789106495327873836901651981071934364977905040499914092266492901141", - "44": "34511547816643469568866276318926640155368224942611919472019254390342347425444", - "45": "48824917938452478622888631878667621239852169635968133501076368017563996390439", - "46": "20853660078940660344920339985103970034680290671611986933111153861490558697822", - "47": "10571432867175603940150031107922561124766978468619575879683648289217524381660", - "48": "49493276046799327428140895006466786215873772846362310379203146808983456575065", - "49": "36713702121150926082432966348187867976049574274749083575831213287992908318467", - "50": "26713043222935439313168338297667161549663121998436625146885077388937336772475", - "51": "36921874834948147602387153908118301866871622664597884998360102167718472222034", - "52": "21171928867526122304893463972788477735084019247057030465089017334283634744053", - "53": "102857812645606371641637208241588513525948993002616265152481194966021407713", - "54": "11157164996773026209481356607883839838979228741589344866739125352400725182348", - "55": "23717811700099572458850518496200474317486991557110676129799763478332773039046", - "56": "39414262539969457155290717359724715561792308742773407579245220001788434864973", - "57": "14340877577137189560256276309492674267175395555397058879478961925444677924606", - "58": "31915161442890750462810947067448112034018865009430288942708990316341338025344", - "59": "15874618092216782249393338768265106006925014950905031167874131481528276254681", - "60": "44678910721548955339712967126788169304877529192714225642695406925806633973101", - "61": "47156379770217313095519756335734358221876217483869599784859342147494897869852", - "62": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "62": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "62": "1" - }, - { - "195": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "195": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "195": "1" - }, - { - "196": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "196": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "62": "1" - }, - { - "0": "14759221361221742392877550517283338785302973165056606116918148040408389214809", - "8": "202407840431875867766643426059833405749180713740029168212121726829111456034", - "9": "4389625065657449317030702350118528836723412888175923456795303622692603348461", - "17": "22124547763030614956723956856326261205118864432496713670905557893356629288740", - "18": "45015563437869612030875693329426287865677755054832015531433903251609211909263", - "19": "30132039976894230991911643394121154959353962970395263040064521052303401753375", - "20": "33261906612104730940158418188127527192912654771923390369884450357809733512018", - "21": "26075012561174944464659081211721167856622575581389757714824703074162184755500", - "22": "34422329714935664530650383509330601829983540590145237423922650433433290306244", - "23": "22826653351476414916129886030807788398849717147480080565816228954869033149809", - "24": "17143881673837099860443000027845204658537360143875256170701468782769380870994", - "25": "1155594379190122261495268389870511496052391222425417245436215318946864734397", - "26": "27994354284010570886378705670130542222881562968881762784737961665295328109152", - "27": "45231133596052197635441293735131396095159983596261768316187212236318546544039", - "28": "16262625025122187759545307417174368345931365220187530099940772777713941503773", - "29": "17744349920858472243804562537874098925427018001413294470494809327274841825536", - "30": "39349295918782787440679267240707908956600518497269391393014839001610583708951", - "31": "32757745102683417706190882994574011250024626837577371684864966374698366374416", - "32": "10378422045359168268143655276949180380523554526659479511729656315605983861813", - "33": "20295155718568791125722514790729739347910862321393260313425396612833381792986", - "34": "23673313318641707960531293961064692186143094921293655158657384119991662470445", - "35": "8785396070667577989992666411528897019609520717717293376504614371173471548867", - "36": "4105435180062589839415042674755865976958947375050106721326799093268850695917", - "37": "45202079445709425613495500848516752301308963291977529462377843726961768403108", - "38": "44583613145060041115161155641231271374067442119672941778587718531269742487124", - "39": "41082691868835919128935860287122418783595901946872388164274532321275156677148", - "40": "29046324304980759156362827555335638076628152980071794850825882786495925128687", - "41": "18667535964814177829900659772648241778938686873519814281138220943998997612903", - "42": "40387146549309737497467663883891468396539144007385755558789294261647364013939", - "43": "13979902850909523934126392020966080066041119739795649557053411463088861758217", - "44": "17527637028087741448032923941231911813916383117712210814057933375044595533521", - "45": "8093583585228186186026281210884812121230182868152944202457872179246298741037", - "46": "26476544518972331283253815016259224039059162169809722353651089996545464056047", - "47": "16930513270556706168816870780416023598389664126082227060736388156415338467046", - "48": "26378167911658665390128023595423353673806432673057019895828190214510813544676", - "49": "36438971143067186466459211641069632178659359451497133561777853824712959150707", - "50": "31219984588343227847567592575943601250271080362604322004882881874762994202476", - "51": "21531408845797380042597696391618043923815122995271396214228758000829838292801", - "52": "45005119603522978749818109516984003357286054479567303857884173247462067307659", - "53": "52158206475962808364205342072108229411532691697245532292168363626638390530973", - "54": "22972056838090000140748294757470531319524401910776998371572311009586332693783", - "55": "43229442928392347842299135599657644251105686012690357203224589867278468699484", - "56": "5880835793078016588051561462709350330896161665659458373952555687144518761911", - "57": "24568610925075405039864661949450358667168673161553757339074381162686686643210", - "58": "12539646897245244286054609727668992110829914176219447921630768207798677120345", - "59": "22877905117837514250317404440252599030960777959680398572233601350668547841979", - "60": "7143486405429330723189502435109301316884002952786063678248225165035176463854", - "61": "27419536701911088779893332686301237261792647785541455115979948637938215988950", - "62": "22724626402939750092672426482330819282956047222097810847261056122387673907003", - "63": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "63": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "63": "1" - }, - { - "197": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "197": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "197": "1" - }, - { - "198": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "198": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "63": "1" - }, - { - "0": "12918384943133505870596332126482017188382093626741625148832869110825500058603", - "8": "37884471416135629084723192987622969071086230264500793597466006263030137077950", - "9": "40997719029526128938822562421152492865154216291293700642781556044594017130687", - "17": "28422544056114001658103762492539660648378977517899528721398186317915948612359", - "18": "3777851713579777371958374617881770761271960394744080397007051823789849641816", - "19": "20827762194490943506410781321651756764545592934544937415436559374710741109737", - "20": "8539356410893075195659365992316188968031657384439031113700177936830697517126", - "21": "46557132888501387188241359432113836916710605499313174639000457027283747484879", - "22": "34978267062325686259874599292218175361180457311333429302345318509877047033559", - "23": "35219361896831725206042534504188001395081288968945915824641456462653969075853", - "24": "35596816375591274151942729752532234635679149886114395569813380802867966213102", - "25": "47148162502421090881221294300417151695945096449423734460024056913379613668879", - "26": "29651522042631797561422500254422319203910570148836217744653014334164403772943", - "27": "1847631130218946164597098437158686334545365640077428838105219075711049634604", - "28": "29307134038554350007637632447404944007917016757747002014845600111364985803941", - "29": "51348434721896323438054108232374976710317278715495295660141702151571596569055", - "30": "11538985237996048437856555123431754598334681850862992672846414529606314266722", - "31": "30452492680584036611884799638558477586232445724533220827796413838743585021305", - "32": "10738371907775639766377402684062060893726283997071754458567283588906748285425", - "33": "42249561372145875564584798327160785961939181991103025819325731623408043502846", - "34": "17384460043942341460753370117147480611077456175890768866882184555085093185196", - "35": "7324475402400776752613422030297234561498002095837482724161990369315988202836", - "36": "14871871983284849586898314185895862721722540673412961437338782242046066203720", - "37": "8791752674186288337434719118017720160276642641087529536728799257142194019788", - "38": "25863809413522720318490550545243958988225776745373671280593540276989282981518", - "39": "35685300507826852096121812557700271526493381219144479637112669279809775634248", - "40": "17960006980736475815000058245874904596782169554537034715563879238696961989605", - "41": "15147995969583918611422482441824641725306720470228930566133362853229743868656", - "42": "37939574642141313900644464917258647561262068854008519949337337794397706450390", - "43": "24472467249941534687992611259859372933036087014776849400815946180270625819405", - "44": "34795645894334562558341714221686236743790934315646650188430670601999528951212", - "45": "38767101515793527839724033728231422891446012493820979522040624599261645637887", - "46": "51842944408328664131488103675314170545079642533026534611369105342485959007095", - "47": "26467268014976196626683570195589840758388162413314253062706483680791632384255", - "48": "36184737938426586089667113896921975582648766381854376917666556710832395679768", - "49": "22274491065043784835874413348941313529531557064357999466399937653111349248361", - "50": "19181509388264500023489727959063259557029217617589168959461022249029388383641", - "51": "46335338763635641898985867217132651878286217593127042861085708065485767667048", - "52": "19417656836045927120748987511559080650879372396173767406745654045758414567495", - "53": "16371970590349766009874643690622166771091797777676607265789270580527510135606", - "54": "32461066818222490038688311538299905988991813620133592752338220509248469684698", - "55": "35545969304008272171542829103829330482452203789770741905697711244411776816308", - "56": "3585214683093891494729552695583340390838793369189982744620754034343267965683", - "57": "5717250460095572680081036252697272856749341439526325479554925055633393920012", - "58": "45088810464445420970598504738085820976478745955450740198720035851613285424806", - "59": "22889678906707205465882207002697731324433984931875973764116893412533852353562", - "60": "20246726150842890101123626292770561959755012050100455971819281434059733660399", - "61": "37308293285466307167049349220612089335089218718450562346102192007264820097303", - "62": "11526891281939313199283915366936608788576466278315840466850096701862306953345", - "63": "19329167694872896057870546841567444325193072978814365109208504264676308420872", - "64": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "64": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "64": "1" - }, - { - "199": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "199": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "199": "1" - }, - { - "200": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "200": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "64": "1" - }, - { - "0": "6090669736471884927589246515939581624927624112611999595504716515722644260809", - "8": "18105251099585817569835043999385430215806563651193888127073386558902396596344", - "9": "41526291405968308678221194608828183005211853992667515271879265890974408750226", - "17": "49219509368077229192942071442807422097839945222055444899081529892516169321458", - "18": "11334560377258205833144348273135474091373431022959076454854066258193704327890", - "19": "2506508100877849499651303207301636670026230837692870274229885413361621870185", - "20": "40246447128506644978850804572358196374832247163743673671469340334972570231358", - "21": "45222439883624862587946396030080444588624721024093310773966604333822400945002", - "22": "23479663061856897000062310324514637771716867367139061550699779575420501026181", - "23": "23338022178919762668066885868754666854455717253264977457455256521992460756170", - "24": "2814596005228444192350999725740468647017485705068745797397179203863814478623", - "25": "32442123377203054038834281710321840020860763228199753516852116146595162114037", - "26": "22687386648875819875585015987517622435020679537314158956442276325533979531821", - "27": "42607835634976770906793119482717689012209402340391075236842715291294189368510", - "28": "36047107014043816788456772264444918742940686969403091181804639631605816343675", - "29": "22969419565233898168994871240159902827951596689703514828432608694723116107203", - "30": "19924728791436406491714484631782892851789178531173809577475349495899031819818", - "31": "7335824083778420543976623335391766319255872057519501385585542331257382709970", - "32": "14494490028954701737605930677483499025021395479613479506863034869705024032280", - "33": "3112583029899138538660285395956980830348094096912762028808367745082961581141", - "34": "35291127916319902928033830274267769857513523206153555626135063764014496603616", - "35": "4400714566440374574744561101193006149424032925832886003025102748254307346989", - "36": "36469376918303233933766274358971415066132066433752538835540242385238637431516", - "37": "47024657524237091558130579012841298812529206391204800189813171179474302353016", - "38": "28487291842040381413744735037427728615151302117837067425702500383621279598662", - "39": "29561222909992054111416571039982623683374336269353761486042174929834579869735", - "40": "50508781043589651771011556653927758176062057933242227547157410243315868497283", - "41": "17146615808929550296773456530763421355236587048146265440186773271443776958466", - "42": "23831093463760166157409078240763132662730977225061749719269163834674590937102", - "43": "9104073966198879983757819132314587834146985487258225551145142651317073690951", - "44": "37421392875808188007537851763884460124426196384618642693564751819575990531588", - "45": "12413895683646046925942597159696063185715352142515623481609090218549742921064", - "46": "22696357473199461416570771076555296991426639967632882877973822166407886576276", - "47": "44352580154064927153763751358768744093128095445229789832138430581527101309215", - "48": "48517453146321583484203670059007142342037697323539465805659974474904809507251", - "49": "21958683350938132268140867475785616243873969149206206814383773314047212966971", - "50": "1173836269856856295028964019110711116960994767738047215334016502772772047504", - "51": "23771401865152851318715410824609768029118131372140592123498772566769121634204", - "52": "31186850478596835615755162198441498862549854163207382962064308273977816309120", - "53": "825844607743784307945347104527361817104784350321657886580894118679002291572", - "54": "51134953916632441060462847180166796025218433023741590593889493636977505417173", - "55": "35619145164174505356266704107412060808684011660269423044995482227874707825377", - "56": "38006681173682221167228564483182169105601655732033660936879138556643675660209", - "57": "20160096619046027285451124384487669973338585183637016507512971648785247355962", - "58": "39339024394244310857002919951215253370549967835254042446049442860469731544899", - "59": "25412228166228200904079093833840955100111534127125963016657062390305530944197", - "60": "26139634550891915320553656446148719429708727411997914181042225639970370428498", - "61": "22720938231177202001939796125063120366308497298844865491888693096075225403213", - "62": "2137921758406683954443404933020497542127313276607299321099632492248859975302", - "63": "44525510071135339933687851559324847511100413984904835875185688339499873225170", - "64": "12441252914149718702295129466443083148043622311789141603181901700485078285379", - "65": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "65": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "65": "1" - }, - { - "201": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "201": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "201": "1" - }, - { - "202": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "202": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "65": "1" - }, - { - "0": "5818256914990297609452278687275570020517086210519703828397962481130049333349", - "8": "16886079687541724562690581328344298917364793110879854895831399777116893637240", - "9": "48120063633031812035166768434439480639318970907693851558904662831111112572919", - "17": "11549473686999029992645724506487348379462282945872767737452958571673863440187", - "18": "39497379618000149296711855719469117254948881653652385085599228212306691176761", - "19": "37626527554054003640119820408171354262180845137269474728630411854620460636604", - "20": "44176145540096700676915226978695765623228912160013981356498432208717092862842", - "21": "20172138230818294496585292994197552446414738915200862331716424599255839772622", - "22": "3539763778150435811442849303703688861172949084256459494751327464542589249373", - "23": "5302853349950207638849857393260799479358798568039238517212315122442580998843", - "24": "51395342537742067628806524007746481375506598953772175556135273664459639749332", - "25": "46351734528949099020871844310701449434921999874202492674249947563040312692035", - "26": "37156572147558103991677908746740193329131617612478837467906922459217526430096", - "27": "26541857214625046890505606346464772162956284166089401764860866768125413560399", - "28": "49272565304209497471309843271642650670664477617740860126201160730526378524153", - "29": "44641233901811704474926795588119527505940031447103674055906826303067924172063", - "30": "28928119520625370614448507762698367735494676561915670084893760419469006658444", - "31": "9476171922760572905935739764332931346265314610313639961960034605297840304651", - "32": "16625567146320184745768815198749953598851527559448099631478480473468954425474", - "33": "28329392871781854888581019046861902447981492336476457427733271269769529906676", - "34": "1369661764262020529469445937917483207891748653198732779280365052042746176564", - "35": "5483583649041200701150335130100661262616965605597784004779741143891263402163", - "36": "21951495011660570322796526825334043519803200448462712324197994917016906180456", - "37": "21398636118643343201390659672066247311875318621993092564779843538570692735008", - "38": "13307876292837631461539961906040696053480825242606323465448584389064203081183", - "39": "6236991249635313076879767685753337320622240980129205013195900938545317467253", - "40": "27835397807967762240261088384156775751784649430355373484614647602637774534671", - "41": "31790069572885742795717808500100960455111161536268504809957780615304573694908", - "42": "20071865382219335471577788449738322920232578359084575210043654623954973932390", - "43": "7535528675038112428031242515022606349587975693734031438879292876905951865144", - "44": "24115460360816387445486595341638181040754598857512413453005479045949963684894", - "45": "48865535761889611418824055480388360015872134554790443375518319438802297547250", - "46": "40456865076202821997418028814632984105252177423838328529121856187471207760025", - "47": "16943061436318094287561257477872730952359684242562932773702873251838744337353", - "48": "31207628300866901298463342096415156137057489675842168463213931480649376071490", - "49": "37829864701184972740812235598093157528232987956785507447008623045734747424867", - "50": "20737210560007762890923805944473968159483894557805546906694965050661342446736", - "51": "44725602815927210898029025256526434834414763708454075680766616021284482042493", - "52": "23822670638298706943959556384153359137573323565974344864429928793545362373032", - "53": "23490647444586733977238678750275615435881433066126286406681597357542937199166", - "54": "4442368127083219467359858382639898829367068849341350637593491732272100353862", - "55": "30002259305586097863990530495065626559773373913960658802953486745450099759553", - "56": "8801453602701519111052530988408105862276180928197579354183531401224304573101", - "57": "12532869501606963398797723910612090230718937099261431263334640622293692290665", - "58": "22317619582477753815482091271128515364228446601650063371190563728683969728070", - "59": "51551507597405477301911508867764058885057517166346227055341170599660695333090", - "60": "12487389287258251428934795629306210046122136011424889557054482782731930839930", - "61": "50049286197091948785630681053055790564422412751107260739903691917452633628501", - "62": "13097122013095355616930354035744060399033782903029472199660181880283766937835", - "63": "15281855757331157959533326633520498980204938317757711805812320117113995302056", - "64": "7785813985806907566232330210379162160750217947757546496340799009824587830275", - "65": "16275755461783187583809512826957500092486877567197714174133477045457407719651", - "66": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "66": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "66": "1" - }, - { - "203": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "203": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "203": "1" - }, - { - "204": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "204": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "66": "1" - }, - { - "0": "21665668991006174860786913595488512200171275130423190085616080866607498513357", - "8": "30507404025381522269600131880367962444871567514246386809469375298884173043110", - "9": "8875539339103436460218999392495639490304489488901678588388085548698629290375", - "17": "31204636303324709434999301738982489604338652711355462544530211397885986877711", - "18": "51846145419202947923327749015372367419306272995524625817328537421320430442239", - "19": "1111718517356132532386590672129414904199161187422505169286434521433370608479", - "20": "14544241264016276951029946978958111569079385799757550086488106899444827457842", - "21": "4267787217702637664101856010688561941421084834277670936342248046379441389167", - "22": "44899608136002230894196449081929888490051554629422855436858915883604068466546", - "23": "52330272032963331145889624003938742272270289693598161106128351449541450753763", - "24": "22572195481986825892758038478573625010204260601764183633754280744995582703762", - "25": "35794334857998514323903583605094999232820689675686940869136423897134931675488", - "26": "38785414255245004492635961001004501653408126959239598918419982980859822274054", - "27": "50191488472862114610701949559547755110863200324993249084218765421223986993350", - "28": "199242690165686288073913244503430578113264484790644664780849154755014186792", - "29": "46383900825122832006482745001285028074169464092873540455868614874656314567126", - "30": "850983914612468364627065902686152028620080509323729024544645589854110617387", - "31": "5836497826779138043522959714413400435809938416927786929179703963888146228859", - "32": "1784393604819848437454000489646311656328319520328328583736364716606488345507", - "33": "4146278025383699246168139850447714143023267822452214392560565435738887876599", - "34": "23431500533368174412390803946628180151063938913480568111285430064921914692158", - "35": "35888234271154605161351721061806105557630325284349245823055538970225020471026", - "36": "4469363946371184696492043002684100839918548381996842877990046449209210002638", - "37": "38071831341898010261465071397541893469847318059491195957229791252292399356917", - "38": "39567776739556138363273968517160372369626996500353570946604384895739839584059", - "39": "40917172085802706071657971434472012495079766543834967122796678595363781360904", - "40": "49389974474944355249948888394445555273223933347564691577485627516521874006781", - "41": "1932404071083105703701524852002897608493085449532510425826262742997783288221", - "42": "399534921351879543424711924539329248284479211244687002564025160460570901805", - "43": "26425394299857290643386038211766540784307009640320527060942463427276745301379", - "44": "21859962362666448427681422373195733201404130832094422848590978814638696650587", - "45": "8526435779607488789490052945552966754318815158341604630915538292938845526498", - "46": "44576254071620971100146600001786112291291380389478450630028412618411598248620", - "47": "17106549514958316430045624567551382874469495708991882176345867756050584090460", - "48": "32404030672645571745776353209772645610996757728421467654913069647807270673015", - "49": "25372360495812822398972241094506552408326261090071227231284863564308763830455", - "50": "30046288344231147739273279154052856278368214827110836559539783191839250091743", - "51": "45084861332213492865636229857128093772131937665846776582036980131414987663493", - "52": "45765275839105241652834088562886647103655014791876098579044387490654984850556", - "53": "3124055724428637395135659647837257059523349642196739624095905473716900902599", - "54": "25004876446586064813934950007146289962807962920369542094480609911962504794042", - "55": "47627965322087120269019873344546673114991648862075255773883849924879527522125", - "56": "23132172113907149861532396473924934847100690812932747379469146711379912405042", - "57": "42629253066145047719028230487301821654265759428883944266596267612570718789348", - "58": "5943001090118508162539351810387751400551993261793535136057052569165765825830", - "59": "12460475920522930922004415615623509166787837909275476044607188615432040726225", - "60": "46843820541314873774898523881983574521088091530972191296511045440327015033072", - "61": "14067123983844959682538161310095965964167648712957484795009820026164582381074", - "62": "14119055534806965132731330532400309559074028456071264674781592874812544450141", - "63": "49050943537647976300239469521371615224390921443321014892080731068069501025948", - "64": "36562725080363385624164461347437875870902427394549599270213519318021459865031", - "65": "49337876944525854017704900047138067109843203981615246324454897016961714568737", - "66": "7633106466419211795855349573109400483930333323377713263919614912900007318455", - "67": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "67": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "67": "1" - }, - { - "205": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "205": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "205": "1" - }, - { - "206": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "206": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "67": "1" - }, - { - "0": "2268297495968854614780848291068505574765456615293615512346180903730018964697", - "8": "35877990414132628773605193313470305323317814794935389655621199110738954837930", - "9": "47508263265065616565570489821155015752960484475610334461200710438181333320611", - "17": "34993532542453944782979069798391451723163362083392903233557958548457185664461", - "18": "13946790474995103029760579402879948960490746331685120471338455859016735048311", - "19": "5901599305185159007975560094616575851505988538342891876110343594489658570608", - "20": "29928404026726806152943356875525932448637626674882100757214354576984966884468", - "21": "49920664144093215447123878523612335841597358292738938595431798228135683243263", - "22": "29183082832215219415919710524036159512602704549163381090393255614084206512487", - "23": "3098312088003111151651874596986880311682801092261129304427154548059658543501", - "24": "52355399735396209126434734733906557274349910395682880401590612141527747011267", - "25": "20311895988813568086604447001343791076437636703294720569920436354588084488412", - "26": "11317097308005776684955185499374537793813088950866298750942236326874829776010", - "27": "18181996769109491533831183038613760199412477790365964460880177327246591485895", - "28": "16565696322261620813963399706583313549678131517253913742133618117724633126384", - "29": "44178028625176747457397681326359683868666696971148465888162563174035251275565", - "30": "38966834234439017273064047550249941995200699743111551759739450629829303505192", - "31": "39710776913835611279773173882878998455404467744588108206406048176458944163414", - "32": "26307267385156089604749558269874327914501651529986548980701524025540511606704", - "33": "9770225215092028816593376862101366977309661521800335443692058949454680095983", - "34": "35261394279360843085455004570849171890873533654631950487518419775167834053794", - "35": "17032654095748550186921526559790477729405407243044450010473191183935220095626", - "36": "47267290706759194779749403039573114633535476855059484854433648428364969127846", - "37": "49521191618268604122833499491546422926314297069208628898242672088079247257546", - "38": "36488870844486706860274103279503297345323916209771043884753231642539946511567", - "39": "23661630248342976796394953001897902025975495504377549453605686753250476342768", - "40": "2442309207508135740580060584660569878787082124636639469460095405504941546415", - "41": "32433039857633585405348572521286352753051022553763587133322973179785228004702", - "42": "23373430325134341564374600231059458367357804740037904695429377573404458598329", - "43": "42126889597291198397251298863497822342481205374510784432119973740468648212136", - "44": "15859486764029342941273439325843903606406770011573061562310801627352889111151", - "45": "45087109542147330325668865737995461133456581823315464974325553553704382801784", - "46": "14452179250861604040765499785175408800203224749862047924816304318262621594956", - "47": "17144917191806268086959561125255161779452614799253146195852421894573871720932", - "48": "10377364284453390405152984373158716609162878046888675265631266476888733118630", - "49": "7358894747676596288502669068422147377112035379280138905658048225146999120370", - "50": "27104349451124518266527554031794280080077406188302534178981859553938710405172", - "51": "13548117566822831253753893830960538144353363808076203114265716335983139660913", - "52": "5813665685938423371174187948977505230669545995930835790709433610904873891158", - "53": "35010200153801518012357001201569280228032473364221572970546426171016514727260", - "54": "8785914674829638682485428870526287117110406229548059834565682842442278791520", - "55": "33886343070008821587037508535012919043970555361603486500896135983365045881841", - "56": "40471542637260246260337945970835116683190556911775665131481846516348337210818", - "57": "50772393795118986662637878085089223691951270244637696147762773051405511599347", - "58": "50753684863262172033541609577795092927309370385750442004030999087359509178024", - "59": "41682731753085550046420817738828916289699410156228435898840882883631225679282", - "60": "42131816690084251573065091413248422804960032593693648819011413706622920230327", - "61": "49097085622213271749682042666943527374252071464076995078188797361569829418449", - "62": "10610863780848317008455595187171729990515669742149544234074900074746732993427", - "63": "29781002550204903658383932783882304271542732656029231451387470735822187075338", - "64": "51776527002339441103956894491367914103406030116412254049590845879491484759220", - "65": "32736693839639572947835522920629067561896969430884632639799539126874894890057", - "66": "32771828863095421310334648684039980848345628200719161861599593264420944609532", - "67": "11837011406228020095853680681968268735481893787424034497353581492517584470585", - "68": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "68": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "68": "1" - }, - { - "207": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "207": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "207": "1" - }, - { - "208": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "208": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "68": "1" - }, - { - "0": "13973211016421000871032597822807506910708863418864348758128380360422656258892", - "8": "41118576002653327499770609016905077860087172937406361336819233815720214462936", - "9": "11517314634182668778771923197452888350046553913028069763707252617830626027291", - "17": "46587966413583243472263752481180461965826054643500807161411831304366826918546", - "18": "39436213021122964038014245952841684080810261617186442986621542783795249860062", - "19": "10018932179513029553888257484959005143128826038685423381503216025190052086095", - "20": "46460985945321966592464567466362026442234216503146633196537877181564391083476", - "21": "5908883549086915351765209385369358621971094877303381421917924256599819056410", - "22": "47960967091060216008075176276692203902003057182173975056120234521311565439593", - "23": "49883038427772347064611367186764889233875975879611438271784458452096273618434", - "24": "40993746929720535562602719169864240408884758852996005295971689780806548680134", - "25": "35688053528774992662759004656975229975934343876058043844830810857648560015072", - "26": "44028534546221291488523454446789123620353471121272351679708253761199035390732", - "27": "20346104874714566637789752714312695131443184600416931555253511747454845249125", - "28": "15812839473998102219043608654885406364356613079752581678150131820915664665163", - "29": "46286554907408251919609236558891349821694038099582976464342711939836906152887", - "30": "31702649422986590810892657089742984286878491272823648297179723179481267741197", - "31": "44780221370017494066854628494754555526078528612759659270267812530788072156742", - "32": "48619117205137954149057858905660464806810241495253957117013513237262764634930", - "33": "38560325351523745974420206197086782236927412873373082012481006118556803825594", - "34": "19740160354550333981745868986277470578854391505450441041161324441829111815779", - "35": "50931635444526673034687009335803999897525768626455469728589872661682795986450", - "36": "45439521820153132828424846573450275866573360061787681356223254678804194735919", - "37": "13271244582374382551016842801156570419421681090068697938089697133288725563519", - "38": "14752503463130422563759796120682237281392968535271599546430110081533286343064", - "39": "6911092654582091827842824292020762604327519934363302553266764620429918730636", - "40": "14340036000420207043348163927383816914746220288770559736021681161648993922410", - "41": "40083516194373381922512640448412979416663195485914765860317920452914894137528", - "42": "52344664480053029839987054306285306390036343318460932681161781276576860269724", - "43": "40578040612578296951712727693847954128466356338067225008030144085494953494740", - "44": "7648018416564067493763428363704200774754966109444175367096507168335520864212", - "45": "21680403839205765914026199590281113186237655529026051577642916763972951484963", - "46": "29828865668769799544354542262967935361939111516793405358539406238619305184889", - "47": "26572034157615763740316582558341821743972964157027373462938375555888956297754", - "48": "29735951033867555626301148938281567725499380253026544707851743576969595221161", - "49": "37525459778110246792534870473864244146624364672574355088530612450474543472408", - "50": "805462877325465322522426328091680911339128260564495972276581418717261478452", - "51": "25486437027630641623716268653384580237387229341488144306664661553146846157871", - "52": "13985216014824674207436227744683187903200441927312966213037656845990622275732", - "53": "37181615508203272185119848305681855482311707276789788769018606670808903478486", - "54": "8518023537973289982243295684343710770775440879699134108415153768499953370401", - "55": "10058459074016898471452840172912664549765220738943102031231816162822299966275", - "56": "22917775133588387535647206655930531757782137657005273743589892010467331324730", - "57": "11961339413556332976088673229764685070633315809136005504541134060474735253358", - "58": "47218599654066214746513620730589797681782218986557446034580471365233969709866", - "59": "5589922617318229733440721291139666829941324114830458247390575227895077000996", - "60": "20058535264368568287169176021088436914579925121615582694002098364429021007324", - "61": "8465883864765429819610880788915776714870297415231000066513177018199257137978", - "62": "23699955268385785740204419017620104605659712114837548974541208370921358568742", - "63": "44265759655466264888409474845867917501364819735158580748689773146308403884072", - "64": "9779152584303729929638748541358088257552442603356569841424553548910411460961", - "65": "39520775488934540054907132289078015595467767018120758223570587099591342304980", - "66": "45846561339321469409997990214872591231331282129670948960544001629672878200483", - "67": "9425348310700156528585241699227789683580378754416749705070669108621520025009", - "68": "36884896577898408680381200313233480677158898830630579614146907563189332449201", - "69": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "69": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "69": "1" - }, - { - "209": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "209": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "209": "1" - }, - { - "210": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "210": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "69": "1" - }, - { - "0": "11877184595954796005081407550764117823731241224470762866371883626576306508793", - "8": "21077572762623317419569220287919719709976640199312587691191332146075002902469", - "9": "47949632535208881392940201692077097151432614187331735396014917149206176691857", - "17": "38368477391238281893446748243478931109162269572982511754265021508646667481923", - "18": "25010413504798967911155724953359844704156939603246355564059432326851066180613", - "19": "49156343244768099675507263330427440646916355002618236878522293867646082309965", - "20": "47398467239961958234466795312751095872158937550036197115446880202038492448125", - "21": "14129873784233010472773499602376510597095087957746542793734434604295373938675", - "22": "29645669308682900740034715715100948145589549169030371988537832513804587806863", - "23": "26916306213900631366930900630691008901047983616874092235502421882352927377047", - "24": "39648316014469838046546777585395244407900626971317480765008940921476609101544", - "25": "1075805810326825888038456416810460180459853549169321212979680442629714834774", - "26": "26742611581046357919373890278067256831153690674060993158535463378878746430898", - "27": "30600176628266458666269452096167292830369044471722493024576650779825622135273", - "28": "23159865426933824627394912105045390189837788685453318812972678308193378695975", - "29": "33569207124589688449356319675784204004766931668865931971563994396529906403187", - "30": "34389668036370475501299119755998547058607688303732622516542000160673745284178", - "31": "1201798707829091660443727337089362654847125778464792356989113770070872288364", - "32": "29845572639165180741694798393928453145630079926987904517665346038212264126028", - "33": "14631160877490948079244942474541244801119854032928433756504111740729163437383", - "34": "40080609753519506809463229070890236419441886724017000051197473396542219151180", - "35": "8361138371948448311285813469916607579830825766161994386963750786396662232908", - "36": "12650985342504995539624849254867256949345148623701600985535203429051574018632", - "37": "7576169417291040709717076728774831320541040624447298181739202248122313602171", - "38": "18087080399845775229095049378903056573173506668471196548912476771635857414001", - "39": "50946534756837223531540116488572134938982654402735777739074427414259230825084", - "40": "36152430850120088633186488364406493550709113103942086102379778957087739335638", - "41": "993276771261256858857042169222506230402365302699752273013455852746280656405", - "42": "48568789680343666247707229903211391584965211102334428224951392271516929758637", - "43": "40636188859159557363665675749214558759494650452686193026013807368515210439665", - "44": "46029772444293865102396247527894365699964101588507493497848467960320314917280", - "45": "26249266637970821250701791146259620460777979049839894716272063798452506263392", - "46": "3588323013854012084629250665015774914417947451028956050559283871784121755564", - "47": "27109590105706386751911368719399129408868932064117313119612544754388330338756", - "48": "22842822545771342020646655049319906953380200972650402611554077235462209818744", - "49": "4481701207614816479212884529522984229788773295017285833734949187833907248712", - "50": "10213800354335574509890090444126910081412655199462394453887866032412554538590", - "51": "12911943786842739437184473431475581999292974959447410640796233279857677718817", - "52": "9953473847777408282039697356162319099764007545595606707817786873433355552161", - "53": "675850546279934170761900219528949739849162557392919195060995017481269405765", - "54": "37630393373926502771973655787529943576221548029162459755560034000722212554220", - "55": "12764348908927968630335282140605320883671604457737073667542217034924708893770", - "56": "50706245930980412763274865723812969485072355822647075620217603803995672106738", - "57": "1170569840686578571593783892921588945640564395618550102898663714722873711940", - "58": "29844653650692950920043964778460482972720627374742711739308279164116089505999", - "59": "18464885054601324998317635257092757153354585078611883357060516344786915729621", - "60": "51034031034174421579001461851074144295242117129458604025079465337815247802023", - "61": "24778955697552677253359729766728952442064159772063529404597405190760506153776", - "62": "35206763652405859372781596551484094937589677394707273006733342175552221105667", - "63": "31863332156332650826523486148821675507937894505329655680428907528825075192970", - "64": "14038018066923710868945460054543651344949412340612251004206451240197946620657", - "65": "23525190361144736246461695112605588687199766313886609569060779022129805130977", - "66": "17484638440332673076423669239950516695781461642246077937558618388168006796953", - "67": "189980255182371897597600816168632001776805331922811265704365136911656262124", - "68": "24043117171463576857503106808380901670448450454427930556859617127529380363547", - "69": "34149607076551728407708052728215864049135220529716137798707999116075456387995", - "70": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "70": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "70": "1" - }, - { - "211": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "211": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "211": "1" - }, - { - "212": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "212": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "70": "1" - }, - { - "0": "2986065710695845701959971763474802354333410127136499986005712979427956719303", - "8": "35928033466469113915043399639659388115595663327283483801836439615479370360451", - "9": "40455696369433843077729463423522566799126738105096803929288622280384348928712", - "17": "2070377821046805236887511169366792863565516199982155060750665611222443841229", - "18": "730266693970874542560968442839009003247188377557906130365397968370691750417", - "19": "21138048534877331069986216811680624563608361852946363167193856132642350499660", - "20": "47164546506419339267836876747949063093737113469719759935655345354175695026251", - "21": "30689185748703448234262132041340737297191063057911488291207396644118837270761", - "22": "18508814609533103129334687336852918949450800547802509687407995851128967364963", - "23": "5852588888356612910346079734468419350005206662329154334202689194112205727300", - "24": "3555047135542761739892507541791743801945794749751857066182727427049933710893", - "25": "6639181535566491953974324401044743150841192993343491074436125450940227135055", - "26": "5851444073600198297694472813949071919006059063818543724416081827962504504455", - "27": "46983190224538329950814556464139887068003818146049485849434972826866168614374", - "28": "8697110141815640923900358979950681479129278715519856719055192743061215189617", - "29": "42530858223969591383395652764346595577610068291560698348594871574243031887285", - "30": "28860976429283117875296951042629926267242349167693703055283898782129110848792", - "31": "39222892625571798302193951119855653828010755144089781462171043545173093187352", - "32": "25623920506484621652151013395132601662109142971090867154192510091472183782594", - "33": "6391294981766980758283359864598595564697710719915010115264829367667854611192", - "34": "46451619290714364797693593642112763687588469131175214823103449147068414914034", - "35": "17240676919560983407327951682391068430770222764862316748636651866053990698555", - "36": "33366828914434098972007358155103089980169384334739186333007962645150352073419", - "37": "10632265051260395101050517032159416883846080570056035198885104064652185608820", - "38": "14416105698668853344640206915482771885878288795304414277409458389310797881391", - "39": "38088285821811880332554533768367566906014274035598876032707127345197671837489", - "40": "46551418669439584200367247624531157159271564636676819172694701775220490399194", - "41": "24069389258381007174795235175796955597203591201567527460663172487081987433085", - "42": "31753491251047646634605532864497859067427711586357734480288798149316140483124", - "43": "35178258159430024200242830781396645242844466975304637025752813321412734099007", - "44": "8369759564623907108809020485256827974567250367000339427158839312625933946525", - "45": "47411799307031349211535248121832800944589222307800413519516151428178838010107", - "46": "17328197013774692120227851924722557076123775194668734088611376596866252307296", - "47": "3760127204406038742193762424839913221251768002357627140397901595701522492263", - "48": "17985365196672519940580341363958816473242798899364389661910095578528202341893", - "49": "17693147066671922323115166114044719695751648431858680522524038525195464472332", - "50": "5489310968146209531357143264968113861759434868091837256787531634478361489244", - "51": "35375607401499149611482639914370819011725504562403119428726316554210791710004", - "52": "51351628495562155149497698508457115177297831960488961711778767913139690999193", - "53": "24957314171194706081102671073644796793995739859511589051864181183579592270868", - "54": "12105214646230891131780055672970355755166280383461428072606712071701107820279", - "55": "13179785471006693208604028153235715933529590066614188792204748586533559343592", - "56": "29893964794106339042552443210878469249605406390493565693907590145799849581043", - "57": "13596248850589751633857848518076689125697626157787175263485056558458033483842", - "58": "8582371658824332645706752589609387815429932737009768296224831719122569432762", - "59": "32562867404828714525984124243971410561791224667243626040633861820690208762364", - "60": "4453816334057594981764115291155509081507978851175408950488981839489846059036", - "61": "36861558607422300624556589326824847427492533044157555614976027764147427571011", - "62": "3455617056076236170652612209496300062617326735995286278209221884554029737307", - "63": "49921233129480260768874187309792633646731332813540716331743011743937278080127", - "64": "28268135617786064985980604001406691848047249873260611671862767944965542978866", - "65": "38263875450537017129854351492513619516118371271445500512663148301365220256408", - "66": "23367921261126045456779665113846185824412816840217202773358575734522557992141", - "67": "31572013062006945038546150522672886613753816005900237824931889114428318884439", - "68": "33586798388780967328587204551546640863662079613148093423751107344313410784776", - "69": "2243339108379557042512080931962882760520111113917229879273364571107655112334", - "70": "40388393748571163542126751569869832775620735909491689280521974161775256552780", - "71": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ], - [ - { - "71": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "71": "1" - }, - { - "213": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "213": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "213": "1" - }, - { - "214": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "214": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "71": "1" - }, - { - "0": "12649794127562509279197585900369868076945168057811626745015439261348449322516", - "8": "18460568301597491007878900164052362248927462612777587403745087254932995669265", - "9": "10691064190862303452862603750199024193361775633701698219738043331397052322546", - "17": "50537756005483669615362774033579150435007325241201758409523155475539598923852", - "18": "44151662351522130204771062960801610572369635275211081750592416116600686257816", - "19": "44612985953893012963177362368347100205547474056889298641137417191180618350823", - "20": "46418612556749627983869955597143431904575741384127508709314192592764927221051", - "21": "46792430355948421686541864746937514997785791612605035230581794650060166440164", - "22": "10372014107294763511359448987347871729024609617665964681852057762277632024668", - "23": "15746914484703176943512617861662741217218839026709246646219030771298623339390", - "24": "949837953556186423580297077566238417367075194047097605831825235696240068504", - "25": "15936180135839524274618445341411624509848805467084480095563639515175327863019", - "26": "35661399052929284108306355547044524619400966780651402243253505975861253383056", - "27": "24303633886164997277195266046450010738147861602550592940768478514120593265339", - "28": "40770339283421435760717228293893053420022897746389072894172136686544980088755", - "29": "33631671877045108448110442153973608669336179496669197300149420913676619854288", - "30": "9735435212281313786054816818889380009732606741754008415341978388282611227769", - "31": "51356374076127903498371554796174649537256039802839729838833628877209893874730", - "32": "28603229448651344033544366114133355562345596220279885038057779594832037566804", - "33": "23932726774945329407028948443366546176932844943954767819203057641876144392801", - "34": "38048486477770062168235160169293363458518451096350594627783892339613045725906", - "35": "36667819662104189201565795928529578367737674212176196308756611302364276026301", - "36": "50312369276709306482447794879275303865858679848556909637163630977683758889073", - "37": "40640974594601385122998575282605604993372302971083166882961772980998039680049", - "38": "46573152329527245401147543333094999402550228387130577499113770084243033958320", - "39": "4923275582039348818678448104674287994231344646794752274649248326309595068437", - "40": "12470069672650358918724179454112997355528814449425359438655565554900493437091", - "41": "22518837206951281316923614032592840442877457370143896669898972215304804784639", - "42": "32786387939491905527679653399783341165477604395489634875885725964058062164833", - "43": "26802895997331561650984867742399229411641120218293853043084773960577450868179", - "44": "24838662905607941363605394876572784693539918934144065118606577461309780211108", - "45": "31216193637639764020618021860660659250283820023138966889135307674873264929725", - "46": "11911191095174083352687969707419195808840974547678014728491981206268612459777", - "47": "2362080850717757194188202462187416733947181980738241126975915103449537095882", - "48": "25745662595065700561191293220788139662001942770437723891000012600653461719208", - "49": "28140245600139348990629268116527996643000598625891819270010751243053721747648", - "50": "51751436096363252081363858113432111194503598836372712351332122404701061867817", - "51": "42108778529760768577798404187086628077490577913866117385024205732960377183078", - "52": "30813992311307374443071098934374584071612224649436358113020328600892876683139", - "53": "23492712686485208764902374462231435151209281258529959599300917398612926412966", - "54": "21519074573923031735018942202953742465795451099115310478204881198120764443717", - "55": "13279171940868488849400911348327262210848933822776793527584881528283026293779", - "56": "12065508657954377182012442695846643668233069476721162280958082114700635570417", - "57": "33809005349166058723728123142633200741310625521089992988520343036834657925652", - "58": "8168672220202151212224263402279952306120357211675188061793483598915640145790", - "59": "15840669771013121078993052531823132314230810375787734921546473546120793141259", - "60": "18811932207167141283135007664707227029592461883819414932716707079663507029494", - "61": "21370791779943868955072368082811193781258619493887306245699009542099935401902", - "62": "49030337676146277014704635145026496918996124255134633124406378833861771875818", - "63": "51515549193781248407019642817274561265310256393252259112547694057575168432224", - "64": "50706129836639190576468860988978635963401544111522556439056991219437760065548", - "65": "13819020399578701866935680572677911254391251122844270501318808538845470781335", - "66": "34071492461230958221148022014425493214874680643170300895570809304852071684454", - "67": "4262010540554351033770919624358198470659271395352575610869803763404444267802", - "68": "22508706532220565134086795478143129387737417566374055363406924625643630876217", - "69": "33785686673947073827057590402236732655718193466954214811102353404447372117226", - "70": "12113636918360017528534055150675411418158770816781946695031665943694998962669", - "71": "24250644043370111356525371269458070014942797652829008403143883916486475614791", - "72": "43286615009455031784719797295956349308039236872337887241869415538128324649873" - } - ] - ], - "map": [ - 0, - 1, - 2, - 13, - 16, - 17, - 20, - 21, - 24, - 25, - 28, - 29, - 32, - 33, - 36, - 37, - 69, - 71, - 75, - 79, - 83, - 87, - 91, - 95, - 99, - 103, - 107, - 111, - 115, - 119, - 123, - 127, - 131, - 135, - 139, - 143, - 147, - 151, - 155, - 159, - 163, - 167, - 171, - 175, - 179, - 183, - 187, - 191, - 195, - 199, - 203, - 207, - 211, - 215, - 219, - 223, - 227, - 231, - 235, - 239, - 243, - 247, - 251, - 255, - 259, - 263, - 267, - 271, - 275, - 279, - 283, - 287, - 291, - 301, - 302, - 305, - 306, - 309, - 310, - 313, - 314, - 317, - 318, - 321, - 322, - 325, - 326, - 329, - 330, - 333, - 334, - 337, - 338, - 341, - 342, - 345, - 346, - 349, - 350, - 353, - 354, - 357, - 358, - 361, - 362, - 365, - 366, - 369, - 370, - 373, - 374, - 377, - 378, - 381, - 382, - 385, - 386, - 389, - 390, - 393, - 394, - 397, - 398, - 401, - 402, - 405, - 406, - 409, - 410, - 413, - 414, - 417, - 418, - 421, - 422, - 425, - 426, - 429, - 430, - 433, - 434, - 437, - 438, - 441, - 442, - 445, - 446, - 449, - 450, - 453, - 454, - 457, - 458, - 461, - 462, - 465, - 466, - 469, - 470, - 473, - 474, - 477, - 478, - 481, - 482, - 485, - 486, - 489, - 490, - 493, - 494, - 497, - 498, - 501, - 502, - 505, - 506, - 509, - 510, - 513, - 514, - 517, - 518, - 521, - 522, - 525, - 526, - 529, - 530, - 533, - 534, - 537, - 538, - 541, - 542, - 545, - 546, - 549, - 550, - 553, - 554, - 557, - 558, - 561, - 562, - 565, - 566, - 569, - 570, - 573, - 574, - 577, - 578, - 581, - 582 - ], - "customGates": [ - ], - "customGatesUses": [ - ] - } \ No newline at end of file diff --git a/provers/groth16/circom-adapter/test_files/vitalik_example/test.r1cs.json b/provers/groth16/circom-adapter/test_files/vitalik_example/test.r1cs.json deleted file mode 100644 index c529cd242..000000000 --- a/provers/groth16/circom-adapter/test_files/vitalik_example/test.r1cs.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "n8": 32, - "prime": "52435875175126190479447740508185965837690552500527637822603658699938581184513", - "nVars": 4, - "nOutputs": 1, - "nPubInputs": 0, - "nPrvInputs": 1, - "nLabels": 6, - "nConstraints": 2, - "useCustomGates": false, - "constraints": [ - [ - { - "2": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "2": "1" - }, - { - "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - } - ], - [ - { - "3": "52435875175126190479447740508185965837690552500527637822603658699938581184512" - }, - { - "2": "1" - }, - { - "0": "5", - "1": "52435875175126190479447740508185965837690552500527637822603658699938581184512", - "2": "1" - } - ] - ], - "map": [ - 0, - 1, - 2, - 3 - ], - "customGates": [ - ], - "customGatesUses": [ - ] -} \ No newline at end of file diff --git a/provers/groth16/circom-adapter/test_files/vitalik_example/witness.json b/provers/groth16/circom-adapter/test_files/vitalik_example/witness.json deleted file mode 100644 index 14597dff6..000000000 --- a/provers/groth16/circom-adapter/test_files/vitalik_example/witness.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - "1", - "35", - "3", - "9" -] \ No newline at end of file