diff --git a/CHANGELOG.md b/CHANGELOG.md index d96c3a8ddb..f925ce5bce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Rejected non-syscall references to exported kernel procedures in the linker ([#2902](https://github.com/0xMiden/miden-vm/issues/2902)). - Reverted the `MainTrace` typed row storage change that caused a large `blake3_1to1` trace-building regression ([#2949](https://github.com/0xMiden/miden-vm/pull/2949)). - Fixed Falcon `mod_12289` remainder validation and `u64::rotr` overflow handling for rotations by `0` and `32` ([#2968](https://github.com/0xMiden/miden-vm/pull/2968)). +- Hardened SHA256 message word range checks and U32ADD/U32ADD3 carry constraints, updating recursive verifier relation digest artifacts ([#3021](https://github.com/0xMiden/miden-vm/pull/3021)). #### Bug Fixes diff --git a/air/src/config.rs b/air/src/config.rs index f8276a31d6..48124afcfc 100644 --- a/air/src/config.rs +++ b/air/src/config.rs @@ -85,10 +85,10 @@ pub fn pcs_params() -> PcsParams { /// Compile-time constant binding the Fiat-Shamir transcript to the Miden VM AIR. /// Must match the constants in `crates/lib/core/asm/sys/vm/mod.masm`. pub const RELATION_DIGEST: [Felt; 4] = [ - Felt::new_unchecked(3886624411320157031), - Felt::new_unchecked(5903371486919752653), - Felt::new_unchecked(170319297396068280), - Felt::new_unchecked(5221005507035467697), + Felt::new_unchecked(9959184209071024919), + Felt::new_unchecked(8083906424746801292), + Felt::new_unchecked(2491326376870921885), + Felt::new_unchecked(2800937775438555033), ]; /// Observes PCS protocol parameters into the challenger. diff --git a/air/src/constraints/stack/stack_arith/mod.rs b/air/src/constraints/stack/stack_arith/mod.rs index 19fab8e91c..d3b9ff65f6 100644 --- a/air/src/constraints/stack/stack_arith/mod.rs +++ b/air/src/constraints/stack/stack_arith/mod.rs @@ -194,7 +194,7 @@ pub fn enforce_main( let u32_v_lo = uop_h1 * TWO_POW_16 + uop_h0; let u32_v_hi = uop_h3.clone() * TWO_POW_16 + uop_h2.clone(); let u32_v48 = uop_h2 * TWO_POW_32 + u32_v_lo.clone(); - let u32_v64 = uop_h3 * TWO_POW_48 + u32_v48.clone(); + let u32_v64 = uop_h3.clone() * TWO_POW_48 + u32_v48.clone(); // Element validity check for u32split/u32mul/u32madd. // u32_v_hi_comp * u32_v_lo is intrinsic (symmetry test: setting either factor to 0 hides a @@ -218,10 +218,13 @@ pub fn enforce_main( } builder.when(is_u32split).assert_eq(s0.clone(), u32_v64.clone()); - builder.when(is_u32add).assert_eq(s0.clone() + s1.clone(), u32_v48.clone()); builder - .when(is_u32add3) + .when(is_u32add.clone()) + .assert_eq(s0.clone() + s1.clone(), u32_v48.clone()); + builder + .when(is_u32add3.clone()) .assert_eq(s0.clone() + s1.clone() + s2.clone(), u32_v48); + builder.when(is_u32add + is_u32add3).assert_zero(uop_h3); // U32SUB: s1 = s0 + s1' - s0' * 2^32, s0' is boolean (borrow), s1' = v_lo. { diff --git a/air/src/constraints/stack/stack_arith/tests.rs b/air/src/constraints/stack/stack_arith/tests.rs index 5d53263246..0334eea524 100644 --- a/air/src/constraints/stack/stack_arith/tests.rs +++ b/air/src/constraints/stack/stack_arith/tests.rs @@ -2,7 +2,7 @@ use alloc::vec::Vec; use miden_core::{ Felt, - field::{PrimeCharacteristicRing, PrimeField64, QuadFelt}, + field::{Field, PrimeCharacteristicRing, PrimeField64, QuadFelt}, operations::opcodes, }; use miden_crypto::stark::{ @@ -132,6 +132,16 @@ fn eval_stack_arith(local: &MainCols, next: &MainCols) -> Vec, next: &MainCols, message: &str) { + let evaluations = eval_stack_arith(local, next); + assert!(evaluations.iter().all(|value| *value == QuadFelt::ZERO), "{message}"); +} + +fn assert_constraints_reject(local: &MainCols, next: &MainCols, message: &str) { + let evaluations = eval_stack_arith(local, next); + assert!(evaluations.iter().any(|value| *value != QuadFelt::ZERO), "{message}"); +} + #[test] fn stack_arith_u32add_constraints_allow_non_u32_operands() { let non_u32 = Felt::new_unchecked(Felt::ORDER_U64 - 1); @@ -148,10 +158,89 @@ fn stack_arith_u32add_constraints_allow_non_u32_operands() { assert_eq!(op_flags.u32add(), Felt::ONE); assert_eq!(op_flags.u32sub(), Felt::ZERO); - let evaluations = eval_stack_arith(&local, &next); - assert!( - evaluations.iter().all(|value| *value == QuadFelt::ZERO), - "expected U32ADD constraints to accept a non-u32 operand with forged u32 outputs" + assert_constraints_accept( + &local, + &next, + "expected U32ADD constraints to accept a non-u32 operand with forged u32 outputs", + ); +} + +#[test] +fn stack_arith_u32add_constraints_reject_forged_high_carry_limb() { + let mut local = generate_test_row(opcodes::U32ADD as usize); + local.stack.top[0] = Felt::ZERO; + local.stack.top[1] = Felt::ZERO; + set_u32_helpers(&mut local, 0, 1 << 16); + + let mut next = generate_test_row(0); + next.stack.top[0] = Felt::ZERO; + next.stack.top[1] = Felt::new_unchecked(1 << 16); + + let op_flags: OpFlags = OpFlags::new(&local.decoder, &local.stack, &next.decoder); + assert_eq!(op_flags.u32add(), Felt::ONE); + + assert_constraints_reject( + &local, + &next, + "expected U32ADD constraints to reject carry values with a nonzero high limb", + ); +} + +#[test] +fn stack_arith_u32add3_constraints_reject_forged_high_carry_limb() { + let mut local = generate_test_row(opcodes::U32ADD3 as usize); + local.stack.top[0] = Felt::ZERO; + local.stack.top[1] = Felt::ZERO; + local.stack.top[2] = Felt::ZERO; + set_u32_helpers(&mut local, 0, 1 << 16); + + let mut next = generate_test_row(0); + next.stack.top[0] = Felt::ZERO; + next.stack.top[1] = Felt::new_unchecked(1 << 16); + + let op_flags: OpFlags = OpFlags::new(&local.decoder, &local.stack, &next.decoder); + assert_eq!(op_flags.u32add3(), Felt::ONE); + + assert_constraints_reject( + &local, + &next, + "expected U32ADD3 constraints to reject carry values with a nonzero high limb", + ); +} + +#[test] +fn stack_arith_u64_overflowing_add_rejects_forged_low_limb_carry() { + let mut add_local = generate_test_row(opcodes::U32ADD as usize); + add_local.stack.top[0] = Felt::ZERO; + add_local.stack.top[1] = Felt::ZERO; + set_u32_helpers(&mut add_local, 0, 1 << 16); + + let mut add_next = generate_test_row(opcodes::U32ADD3 as usize); + add_next.stack.top[0] = Felt::ZERO; + add_next.stack.top[1] = Felt::new_unchecked(1 << 16); + add_next.stack.top[2] = Felt::ZERO; + add_next.stack.top[3] = Felt::ZERO; + + let mut add3_local = generate_test_row(opcodes::U32ADD3 as usize); + add3_local.stack.top[0] = Felt::new_unchecked(1 << 16); + add3_local.stack.top[1] = Felt::ZERO; + add3_local.stack.top[2] = Felt::ZERO; + add3_local.stack.top[3] = Felt::ZERO; + set_u32_helpers(&mut add3_local, 1 << 16, 0); + + let mut add3_next = generate_test_row(0); + add3_next.stack.top[0] = Felt::new_unchecked(1 << 16); + add3_next.stack.top[1] = Felt::ZERO; + + assert_constraints_reject( + &add_local, + &add_next, + "expected the forged low-limb carry in u64::overflowing_add to be rejected at U32ADD", + ); + assert_constraints_accept( + &add3_local, + &add3_next, + "expected U32ADD3 to accept honest propagation of a 65536 carry once it is on the stack", ); } @@ -174,9 +263,69 @@ fn stack_arith_u32sub_constraints_allow_non_u32_operands() { assert_eq!(op_flags.u32sub(), Felt::ONE); assert_eq!(op_flags.u32add(), Felt::ZERO); - let evaluations = eval_stack_arith(&local, &next); - assert!( - evaluations.iter().all(|value| *value == QuadFelt::ZERO), - "expected U32SUB constraints to accept a non-u32 operand with forged u32 outputs" + assert_constraints_accept( + &local, + &next, + "expected U32SUB constraints to accept a non-u32 operand with forged u32 outputs", + ); +} + +#[test] +fn stack_arith_u32mul_constraints_allow_non_u32_sha256_rotr_operand() { + let non_u32 = Felt::new_unchecked((u32::MAX as u64) + 2); + let rotr_7_multiplier = Felt::new_unchecked(1 << 25); + let product = non_u32.as_canonical_u64() * rotr_7_multiplier.as_canonical_u64(); + let lo = product as u32; + let hi = (product >> 32) as u32; + + assert!(non_u32.as_canonical_u64() > u32::MAX as u64); + + let mut local = generate_test_row(opcodes::U32MUL as usize); + local.stack.top[0] = rotr_7_multiplier; + local.stack.top[1] = non_u32; + set_u32_helpers(&mut local, lo, hi); + local.decoder.hasher_state[6] = Felt::new_unchecked(u32::MAX as u64 - hi as u64).inverse(); + + let mut next = generate_test_row(0); + next.stack.top[0] = Felt::new_unchecked(lo as u64); + next.stack.top[1] = Felt::new_unchecked(hi as u64); + + let op_flags: OpFlags = OpFlags::new(&local.decoder, &local.stack, &next.decoder); + assert_eq!(op_flags.u32mul(), Felt::ONE); + + assert_constraints_accept( + &local, + &next, + "expected U32MUL constraints to accept a non-u32 operand with forged rotr outputs", + ); +} + +#[test] +fn stack_arith_u32div_constraints_allow_non_u32_sha256_shr_operand() { + let non_u32 = Felt::new_unchecked((u32::MAX as u64) + 2); + let divisor = Felt::new_unchecked(8); + let quotient = Felt::new_unchecked(non_u32.as_canonical_u64() / divisor.as_canonical_u64()); + let remainder = Felt::new_unchecked(non_u32.as_canonical_u64() % divisor.as_canonical_u64()); + let lo = (non_u32.as_canonical_u64() - quotient.as_canonical_u64()) as u32; + let hi = (divisor.as_canonical_u64() - remainder.as_canonical_u64() - 1) as u32; + + assert!(non_u32.as_canonical_u64() > u32::MAX as u64); + + let mut local = generate_test_row(opcodes::U32DIV as usize); + local.stack.top[0] = divisor; + local.stack.top[1] = non_u32; + set_u32_helpers(&mut local, lo, hi); + + let mut next = generate_test_row(0); + next.stack.top[0] = remainder; + next.stack.top[1] = quotient; + + let op_flags: OpFlags = OpFlags::new(&local.decoder, &local.stack, &next.decoder); + assert_eq!(op_flags.u32div(), Felt::ONE); + + assert_constraints_accept( + &local, + &next, + "expected U32DIV constraints to accept a non-u32 operand with forged shr outputs", ); } diff --git a/air/src/snapshots/miden_air__config__tests__relation_digest_matches_current_air.snap b/air/src/snapshots/miden_air__config__tests__relation_digest_matches_current_air.snap index 29767591a9..ffdbf885d6 100644 --- a/air/src/snapshots/miden_air__config__tests__relation_digest_matches_current_air.snap +++ b/air/src/snapshots/miden_air__config__tests__relation_digest_matches_current_air.snap @@ -3,5 +3,5 @@ source: air/src/config.rs expression: snapshot --- num_inputs: 568 -num_eval_gates: 5540 -relation_digest: [3886624411320157031, 5903371486919752653, 170319297396068280, 5221005507035467697] +num_eval_gates: 5548 +relation_digest: [9959184209071024919, 8083906424746801292, 2491326376870921885, 2800937775438555033] diff --git a/crates/lib/core/asm/crypto/hashes/sha256.masm b/crates/lib/core/asm/crypto/hashes/sha256.masm index 4687360087..8965e173d9 100644 --- a/crates/lib/core/asm/crypto/hashes/sha256.masm +++ b/crates/lib/core/asm/crypto/hashes/sha256.masm @@ -1508,6 +1508,27 @@ proc consume_padding_message_schedule movdn.7 end +#! Asserts that all words in a 512-bit SHA256 message block are valid u32 values. +#! +#! Input: [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, ...] +#! Output: [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, ...] +#! +#! Where: +#! - m0 through m15 are the 32-bit words of the SHA256 message block. +#! +#! Panics if: +#! - any message word is not a valid 32-bit unsigned integer. +proc assert_message_block_u32 + u32assertw.err="invalid sha256 message word" + movupw.3 + u32assertw.err="invalid sha256 message word" + movupw.3 + u32assertw.err="invalid sha256 message word" + movupw.3 + u32assertw.err="invalid sha256 message word" + movupw.3 +end + #! SHA256 2-to-1 hash (merge): Given 64 -bytes input, computes 32 -bytes SHA256 digest #! #! Input: [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, ...] @@ -1520,7 +1541,14 @@ end #! maintaining big endian byte order. #! #! SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ). +#! +#! Panics if: +#! - any input message word is not a valid 32-bit unsigned integer. +#! +#! Invocation: exec pub proc merge + exec.assert_message_block_u32 + push.0x5be0cd19.0x1f83d9ab.0x9b05688c.0x510e527f push.0xa54ff53a.0x3c6ef372.0xbb67ae85.0x6a09e667 @@ -1542,11 +1570,17 @@ end #! maintaining big endian byte order. #! #! SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ). +#! +#! Panics if: +#! - any input message word is not a valid 32-bit unsigned integer. +#! +#! Invocation: exec pub proc hash # apply padding, see padding rule in section 5.1.1 of # https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf push.256.0.0.0.0.0.0.2147483648 swapdw + exec.assert_message_block_u32 push.0x5be0cd19.0x1f83d9ab.0x9b05688c.0x510e527f push.0xa54ff53a.0x3c6ef372.0xbb67ae85.0x6a09e667 @@ -1561,6 +1595,12 @@ end #! #! Input: [addr, len, ...] #! Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...] +#! +#! Panics if: +#! - any loaded message word is not a valid 32-bit unsigned integer. +#! - padding range checks fail. +#! +#! Invocation: exec @locals(48) pub proc hash_bytes # loc.0 (input address) @@ -1611,10 +1651,10 @@ pub proc hash_bytes # Consume sha256 blocks loc_load.28 u32assert neq.0 while.true - padw loc_load.0 u32assert u32overflowing_add.12 assertz.err="range check failed: padding" mem_loadw_be movdnw.2 - padw loc_load.0 u32assert u32overflowing_add.8 assertz.err="range check failed: padding" mem_loadw_be movdnw.2 - padw loc_load.0 u32assert u32overflowing_add.4 assertz.err="range check failed: padding" mem_loadw_be movdnw.2 - padw loc_load.0 u32assert u32overflowing_add.0 assertz.err="range check failed: padding" mem_loadw_be movdnw.2 + padw loc_load.0 u32assert u32overflowing_add.12 assertz.err="range check failed: padding" mem_loadw_be u32assertw.err="invalid sha256 message word" movdnw.2 + padw loc_load.0 u32assert u32overflowing_add.8 assertz.err="range check failed: padding" mem_loadw_be u32assertw.err="invalid sha256 message word" movdnw.2 + padw loc_load.0 u32assert u32overflowing_add.4 assertz.err="range check failed: padding" mem_loadw_be u32assertw.err="invalid sha256 message word" movdnw.2 + padw loc_load.0 u32assert u32overflowing_add.0 assertz.err="range check failed: padding" mem_loadw_be u32assertw.err="invalid sha256 message word" movdnw.2 exec.prepare_message_schedule_and_consume loc_load.0 u32assert u32overflowing_add.16 assertz.err="range check failed: padding" loc_store.0 diff --git a/crates/lib/core/asm/sys/vm/constraints_eval.masm b/crates/lib/core/asm/sys/vm/constraints_eval.masm index 6726071450..ac44a84665 100644 --- a/crates/lib/core/asm/sys/vm/constraints_eval.masm +++ b/crates/lib/core/asm/sys/vm/constraints_eval.masm @@ -12,7 +12,7 @@ use miden::core::stark::utils const NUM_INPUTS_CIRCUIT = 568 # Number of evaluation gates in the constraint evaluation circuit -const NUM_EVAL_GATES_CIRCUIT = 5540 +const NUM_EVAL_GATES_CIRCUIT = 5548 # Max cycle length for periodic columns const MAX_CYCLE_LEN_LOG = 4 @@ -76,7 +76,7 @@ proc load_ace_circuit_description adv.push_mapval exec.constants::ace_circuit_stream_ptr padw padw padw - repeat.767 + repeat.768 adv_pipe exec.poseidon2::permute end @@ -164,697 +164,698 @@ adv_map CIRCUIT_COMMITMENT = [ 87,0,84,0,85,0,108,0, 4294967294,0,2147483648,0,88,0,92,0, 104,0,35,0,20,0,48,0, - 10,0,0,0,1152927772037879509,2305848956669662925,1152927450989074133,2305848954522179277, - 1152927448841590485,2305848952374695629,1152927446694106837,2305848950227211981,1152927444546623189,2305848948079728333,1152927442399139541,2305848945932244685, - 1152927440251655893,2305848943784761037,1152927438104172245,2305848941637277389,1152927435956688597,2305848939489793741,1152927433809204949,2305848937342310093, - 1152927431661721301,2305848935194826445,1152927429514237653,2305848933047342797,1152927427366754005,2305848930899859149,1152927425219270357,2305848928752375501, - 1152927423071786709,2305848926604891853,1152927754858010325,2305848924457408190,1152927418776819413,2305848922309924543,1152927416629335765,2305848920162440896, - 1152927414481852117,2305848918014957249,1152927412334368469,2305848915867473602,1152927410186884821,2305848913719989955,1152927408039401173,1152927406965659349, - 2305848910498764484,1152927404818175701,2305848908351280837,1152927402670692053,2305848906203797190,1152927400523208405,2305848904056313543,1152927398375724757, - 2305848901908829896,1152927396228241109,2305848899761346249,1152927394080757461,2305848897613862602,1152927391933273813,2305848895466378955,1152927738751882965, - 2305848893318895279,1152927387638306517,2305848891171411632,1152927385490822869,2305848889023927985,1152927383343339221,2305848886876444338,1152927381195855573, - 2305848884728960691,1152927379048371925,2305848882581477044,1152927376900888277,2305848880433993421,1152927374753404629,2305848878286509749,1152927372605920981, - 2305848876139026102,1152927370458437333,2305848873991542455,1152927368310953685,2305848871844058808,1152927366163470037,2305848869696575161,1152927364015986389, - 2305848867549091514,1152927361868502741,2305848865401607867,1152927359721019093,2305848863254124220,1152927729088206549,2305848861106640566,1152927355426051797, - 2305848858959156902,1152927353278568149,2305848856811673272,1152927351131084501,2305848854664189607,1152927348983600853,2305848852516705978,1152927346836117205, - 2305848850369222312,1152927344688633557,2305848848221738665,1152927342541149909,2305848846074255018,1152927340393666261,2305848843926771375,1152927338246182613, - 2305848841779287723,1152927336098698965,2305848839631804081,1152927333951215317,2305848837484320428,1152927331803731669,2305848835336836787,1152927329656248021, - 2305848833189353133,1152927327508764373,2305848831041869517,1152927711908337365,2305848828894385814,1152927323213797077,2305848826746902167,1152927321066313429, - 2305848824599418520,1152927318918829781,2305848822451934873,1152927316771346133,2305848820304451226,1152927314623862485,2305848818156967579,1152927312476378837, - 2305848816009483932,1152927310328895189,2305848813862000285,1152927308181411541,2305848811714516638,1152927306033927893,2305848809567032991,1152927303886444245, - 2305848807419549344,1152927301738960597,2305848805272065697,1152927299591476949,2305848803124582050,1152927297443993301,2305848800977098403,1152927295296509653, - 2305848798829614756,1152927694728468181,2305848796682131078,1152927291001542357,2305848794534647431,1152927288854058709,2305848792387163784,1152927286706575061, - 2305848790239680137,1152927284559091413,2305848788092196490,1152927282411607765,2305848785944712843,1152927280264124117,2305848783797229196,1152927278116640469, - 2305848781649745549,1152927275969156821,2305848779502261902,1152927273821673173,2305848777354778255,1152927271674189525,2305848775207294608,1152927269526705877, - 2305848773059810961,1152927267379222229,2305848770912327314,1152927265231738581,2305848768764843667,1152927263084254933,2305848766617360020,1152927677548598997, - 2305848764469876342,1152927258789287637,2305848762322392695,1152927256641803989,2305848760174909048,1152927254494320341,2305848758027425401,1152927252346836693, - 2305848755879941754,1152927250199353045,2305848753732458107,1152927248051869397,2305848751584974460,1152927245904385749,2305848749437490813,1152927243756902101, - 2305848747290007166,1152927241609418453,2305848745142523519,1152927239461934805,2305848742995039872,1152927237314451157,2305848740847556225,1152927235166967509, - 2305848738700072578,1152927233019483861,2305848736552588931,1152927230872000213,2305848734405105284,1152927660368729813,2305848732257621606,1152927226577032917, - 2305848730110137959,1152927224429549269,2305848727962654312,1152927222282065621,2305848725815170665,1152927220134581973,2305848723667687018,1152927217987098325, - 2305848721520203371,1152927215839614677,2305848719372719724,1152927213692131029,2305848717225236077,1152927211544647381,2305848715077752430,1152927209397163733, - 2305848712930268783,1152927207249680085,2305848710782785136,1152927205102196437,2305848708635301489,1152927202954712789,2305848706487817842,1152927200807229141, - 2305848704340334195,1152927198659745493,2305848702192850548,1152927643188860629,2305848700045366870,1152927194364778197,2305848697897883223,1152927192217294549, - 2305848695750399576,1152927190069810901,2305848693602915929,1152927187922327253,2305848691455432282,1152927185774843605,2305848689307948635,1152927183627359957, - 2305848687160464988,1152927181479876309,2305848685012981341,1152927179332392661,2305848682865497694,1152927177184909013,2305848680718014047,1152927175037425365, - 2305848678570530400,1152927172889941717,2305848676423046753,1152927170742458069,2305848674275563106,1152927168594974421,2305848672128079459,1152927166447490773, - 2305848669980595812,1152927626008991445,2305848667833112134,1152927162152523477,2305848665685628487,1152927160005039829,2305848663538144840,1152927157857556181, - 2305848661390661193,1152927155710072533,2305848659243177546,1152927153562588885,2305848657095693899,1152927151415105237,2305848654948210252,1152927149267621589, - 2305848652800726605,1152927147120137941,2305848650653242958,1152927144972654293,2305848648505759311,1152927142825170645,2305848646358275664,1152927140677686997, - 2305848644210792017,1152927138530203349,2305848642063308370,1152927136382719701,2305848639915824723,1152927134235236053,2305848637768341076,1152927608829122261, - 2305848635620857398,1152927129940268757,2305848633473373751,1152927127792785109,2305848631325890104,1152927125645301461,2305848629178406457,1152927123497817813, - 2305848627030922810,1152927121350334165,2305848624883439163,1152927119202850517,2305848622735955516,1152927117055366869,2305848620588471869,1152927114907883221, - 2305848618440988222,1152927112760399573,2305848616293504575,1152927110612915925,2305848614146020928,1152927108465432277,2305848611998537281,1152927106317948629, - 2305848609851053634,1152927104170464981,2305848607703569987,1152927102022981333,2305848605556086340,1152927591649253077,2305848603408602662,1152927097728014037, - 2305848601261119015,1152927095580530389,2305848599113635368,1152927093433046741,2305848596966151721,1152927091285563093,2305848594818668074,1152927089138079445, - 2305848592671184427,1152927086990595797,2305848590523700780,1152927084843112149,2305848588376217133,1152927082695628501,2305848586228733486,1152927080548144853, - 2305848584081249839,1152927078400661205,2305848581933766192,1152927076253177557,2305848579786282545,1152927074105693909,2305848577638798898,1152927071958210261, - 2305848575491315251,1152927069810726613,2305848573343831604,1152927574469383893,2305848571196347926,1152927065515759317,2305848569048864279,1152927063368275669, - 2305848566901380632,1152927061220792021,2305848564753896985,1152927059073308373,2305848562606413338,1152927056925824725,2305848560458929691,1152927054778341077, - 2305848558311446044,1152927052630857429,2305848556163962397,1152927050483373781,2305848554016478750,1152927048335890133,2305848551868995103,1152927046188406485, - 2305848549721511456,1152927044040922837,2305848547574027809,1152927041893439189,2305848545426544162,1152927039745955541,2305848543279060515,1152927037598471893, - 2305848541131576868,1152927557289514709,2305848538984093190,1152927033303504597,2305848536836609543,1152927031156020949,2305848534689125896,1152927029008537301, - 2305848532541642249,1152927026861053653,2305848530394158602,1152927024713570005,2305848528246674955,1152927022566086357,2305848526099191308,1152927020418602709, - 2305848523951707661,1152927018271119061,2305848521804224014,1152927016123635413,2305848519656740367,1152927013976151765,2305848517509256720,1152927011828668117, - 2305848515361773073,1152927009681184469,2305848513214289426,1152927007533700821,2305848511066805779,1152927005386217173,2305848508919322132,1152927540109645525, - 2305848506771838454,1152927001091249877,2305848504624354807,1152926998943766229,2305848502476871160,1152926996796282581,2305848500329387513,1152926994648798933, - 2305848498181903866,1152926992501315285,2305848496034420219,1152926990353831637,2305848493886936572,1152926988206347989,2305848491739452925,1152926986058864341, - 2305848489591969278,1152926983911380693,2305848487444485631,1152926981763897045,2305848485297001984,1152926979616413397,2305848483149518337,1152926977468929749, - 2305848481002034690,1152926975321446101,2305848478854551043,1152926973173962453,2305848476707067396,1152927522929776341,2305848474559583718,1152926968878995157, - 2305848472412100071,1152926966731511509,2305848470264616424,1152926964584027861,2305848468117132777,1152926962436544213,2305848465969649130,1152926960289060565, - 2305848463822165483,1152926958141576917,2305848461674681836,1152926955994093269,2305848459527198189,1152926953846609621,2305848457379714542,1152926951699125973, - 2305848455232230895,1152926949551642325,2305848453084747248,1152926947404158677,2305848450937263601,1152926945256675029,2305848448789779954,1152926943109191381, - 2305848446642296307,1152926940961707733,2305848444494812660,1152927780627814101,1152927521856033732,2305848441273587172,1152926935592997828,2305848439126103524, - 1152926933445514180,2305848436978619876,1152926931298030532,2305848434831136228,1152926929150546884,2305848432683652580,1152926927003063236,2305848430536168932, - 1152926924855579588,2305848428388685284,1152927514339840964,2305848426241201630,1152926920560612292,2305848424093717983,1152926918413128644,2305848421946234340, - 1152926916265644996,2305848419798750688,1152926914118161348,2305848417651267041,1152926911970677700,2305848415503783394,1152926909823194052,2305848413356299747, - 6008659253116,1152926906601969532,6008659253096,1152926904454485864,1152926905528227543,2305848406913848228,2305849443074709372,6008659252129, - 1152926899085775777,1152926901233260247,2305848401545139103,2305849331405559572,6008659252124,1152926893717067644,1152926892643325650,1152926895864551127, - 2305848395102688153,1152927848273549160,1152926888348358354,1152926889422100183,2305848390807720853,5395552671196,1152926884053391124,1152926882979649234, - 1152926885127132887,2305848385439011728,1152926884053391104,1152926878684681938,1152926879758423767,2305848381144044428,6008659253115,1152926874389714811, - 1152926873315971986,1152926875463456471,2305848375775335303,1152927958868956050,6008659253114,1152926867947263866,1152926866873521028,1152926870094747351, - 2305848369332884353,1152927957795214212,6008659253113,1152926861504812921,1152926860431070078,1152926863652296407,2305848362890433403,1152927956721472382, - 6008659253112,1152926855062361976,1152926853988619128,1152926857209845463,2305848356447982453,6454262109971,1152926849693651844,1152926848619910866, - 1152926850767394519,2305848351079273328,6453188368146,1152926844324942718,1152926843251201746,1152926845398685399,2305848345710564203,6452114626321, - 1152926838956233592,1152926837882492626,1152926840029976279,2305848340341855078,1152927955647730552,6451040884496,1152926832513782627,1152926831440041682, - 1152926834661267159,2305848333899404128,1152927778480330620,1152926828218816215,2305848330678178653,1152927778480330600,1152926824997590743,2305848327456953178, - 1152927778480329609,1152926821776365271,2305848324235727703,1152927778480329603,1152926818555139799,2305848321014502228,1152927778480329597,1152926815333914327, - 2305848317793276753,1152927778480329591,1152926812112688855,2305848314572051278,1152928014703531732,1152926808891463383,2305848311350825803,2305849519310378460, - 5299989649223,1152926803522754258,1152926805670237911,2305848305982116678,6498285524444,1152928005039855525,1152926798154044227,1152927983565017921, - 6501506749916,1152926794932818754,6502580491740,1152926792785335102,1152926791711594387,2305848295244698432,5299989649222,1152926788490367802, - 1152926787416626898,1152926800301528791,2305848289875989303,6500433008092,1152926783121659813,1152926782047916867,1152926780974176146,1152926779900434246, - 1152926778826692306,1152926784195401431,2305848281286054703,2305848284507280192,2305848279138571067,6499359266268,1152926772384240436,1152926771310499748, - 1152926770236757906,2305848273769861931,5263482426844,6509022943046,1152926765941789477,1152926764868048594,1152926775605466839,2305848267327410978, - 6495064299333,1152926760573080378,1152926759499339474,1152926761646823127,2305848261958701853,6493990557508,1152926755204371258,1152926754130630354, - 1152926756278114007,2305848256589992728,6492916815683,1152926749835662138,1152926748761921234,1152926750909404887,2305848251221283603,6491843073858, - 1152926744466953018,1152926743393212114,1152926745540695767,2305848245852574478,2305848273769861946,5234491397596,6507949201221,1152926736950760202, - 1152926735877019346,1152926740171986647,2305848238336381703,6506875459396,1152926731582051082,1152926730508310226,1152926732655793879,2305848232967672578, - 6505801717571,1152926726213341962,1152926725139601106,1152926727287084759,2305848227598963453,6504727975746,1152926720844632842,1152926719770891986, - 1152926721918375639,2305848222230254328,1152927961016440532,1152926716549666519,2305848219009028853,6007585511293,1152926712254699219,1152926713328441047, - 2305848214714061553,6456409593621,6008659251950,1152926706885989102,6006511768302,1152926704738505452,6005438026478,1152926702591021802, - 6004364284654,1152926700443538152,6003290542830,1152926698296054502,6002216801006,1152926696148570852,6001143059182,1152926694001087202, - 6000069317358,1152926691853603552,1152926690779862738,1152926709033473751,2305848193239225053,6497211782620,1152926686484894531,6496138040796, - 1152926684337410777,1152926771310498623,1152926682189927127,1152926681116185405,1152928000744887002,1152926678968701763,1152926782047917991,1152926676821218002, - 2305848180354323156,1152926682189928360,1152926673599993747,1152926772384241574,1152926671452510119,1152926670378767165,1152926669305026451,2305848172838130381, - 2305848171764388559,1152926670378768296,1152926665010059155,1152926686484895652,1152926662862574296,1152928006113596226,1152926660715090627,1152926659641350056, - 2305848163174453957,1152926782047917988,1152926656420124562,1152926798154045348,1152926654272640914,2305848157805744829,2305848156732003007,2305848155658261191, - 6489695589852,1152926648903930663,2305848152437035840,2305848151363293880,1152928001818628931,1152926644608963288,1152926643535221462,1152926642461479741, - 1152926676821218007,1152926683263669054,2305848143847101103,1152926661788832470,1152926771310499751,1152926636019028675,2305848139552133804,2305848138478391981, - 1152926671452508991,1152926631724061379,1152926661788832459,2305848134183424678,1152926661788832465,2305848132035941028,2305848130962199208,1152926625281611688, - 2305848128814715568,1152926782047916863,1152926622060384946,1152926620986644392,1152926643535221566,1152926618839160744,2305848122372264604,2305848121298522783, - 1152926643535221442,1152926614544192317,1152926614544193448,2305848117003555478,1152926631724061501,1152926610249226131,1152926631724062632,1152926608101742483, - 2305848111634846354,2305848110561104532,2305848109487362712,1152927994302436135,1152926622060385085,1152926601659291539,2305848105192395404,2305848104118653755, - 2305848103044911757,2305848101971169972,1152926596290582313,1152927982491275956,1152927981417534087,2305848097676202628,5087388766853,1152926590921873106, - 1152926687558637271,2305848093381235328,1152926681116186536,2305848091233751764,1152926636019028695,1152926584479421245,2305848088012526204,1152926584479422376, - 2305848085865042553,1152926631724061399,1152926579110712125,2305848082643817079,1152926579110713256,2305848080496333428,1152926670378767063,1152926573742003005, - 2305848077275107954,1152926573742004136,2305848075127624303,5175435596397,2305848072980140724,1152926642461480872,2305848070832657072,1152926636019028658, - 1152926564078326589,2305848067611431529,1152926564078327720,2305848065463947878,1152926631724061362,1152926558709617469,2305848062242722404,1152926558709618600, - 2305848060095238753,1152926643535221451,1152926553340908349,2305848056874013279,1152926553340909480,2305848054726529628,5136780890714,2305848052579046023, - 2305848051505304171,1152928001818630052,1152926544750973656,1152926543677231830,1152926542603490109,1152926542603491240,2305848045062853203,1152926543677231787, - 1152926538308522813,2305848041841627729,1152926538308523944,2305848039694144078,1152926543677231783,1152926532939813693,2305848036472918604,1152926532939814824, - 2305848034325434953,1152926543677231819,1152926527571104573,2305848031104209479,1152926527571105704,2305848028956725828,1152926543677231774,1152926522202395453, - 2305848025735500354,1152926522202396584,2305848023588016703,1152926543677231825,1152926516833686333,2305848020366791229,1152926516833687464,2305848018219307578, - 1152926543677231934,1152926511464977213,2305848014998082104,1152926511464978344,2305848012850598453,1152926543677231810,1152926506096268093,2305848009629372979, - 1152926506096269224,2305848007481889328,1152926676821219240,1152926500727560083,2305848004260663854,1152926625281610557,2305848002113180203,2305848001039438423, - 1152926495358850856,1152926567299553168,1152927980343792216,2305847996744471078,1152926496432592785,2305847994596987428,4984309551655,1152926487842658002, - 1152926587700647639,2305847990302020128,1152926622060384983,1152926483547689789,1152926677894959914,2305847986007052828,2305847984933311083,1152926643535221457, - 1152926478178980669,1152926677894959934,2305847980638343703,1152926660715090642,2305847978490860053,1152926640313997224,4967129682451,2305847975269634648, - 2305847974195892761,1152926622060384978,2305847972048409129,2305847970974667279,1152926465294079783,1152926479252723599,1152927979270050320,2305847966679699978, - 1152926466367821712,2305847964532216328,4954244780555,1152926457777886930,1152926484621432535,2305847960237249028,2305847983859569327,1152926639240255400, - 4947802330828,2305847955942281744,2305847954868539905,1152926640313996093,4943507363532,2305847951647314445,2305847950573572605,1152926444892985126, - 1152926453482919822,1152927978196308478,2305847946278605303,1152926445966727055,2305847944131121653,4933843685880,1152926437376792274,1152926454556661463, - 2305847939836154353,1152926660715090647,2305847937688670894,1152926661788832574,1152926622060384963,1152926429860599720,2305847933393703404,2305847932319961581, - 1152926771310498627,1152926425565632402,2305847929098736104,2305847928024994305,1152926618839159613,1152926637092771752,4915590074851,2305847923730027006, - 2305847922656285156,1152926639240254269,4911295108812,2305847919435059706,2305847918361317855,1152926412680730405,1152926422344406925,1152927977122566624, - 2305847914066350553,1152926413754472334,2305847911918866903,4901631431130,1152926405164537554,1152926434155566807,2305847907623899603,2305847926951252652, - 1152926634945288104,4895188981452,2305847903328932320,2305847902255190480,1152926637092770621,4890894014156,2305847899033965020,2305847897960223180, - 1152926392279635748,1152926400869570444,1152927976048824781,2305847893665255878,1152926393353377677,2305847891517772228,4881230336455,1152926384763442898, - 1152926401943312087,2305847887222804928,2305847905476416170,1152926630650320808,4874787886796,2305847882927837645,2305847881854095805,1152926634945286973, - 4870492919500,2305847878632870345,2305847877559128505,1152926371878541091,1152926380468475787,1152927974975082938,2305847873264161203,1152926372952283020, - 2305847871116677553,4860829241780,1152926364362348242,1152926381542217431,2305847866821710253,2305847885075321510,1152926629576578984,4854386792140, - 2305847862526742970,2305847861453001130,1152926630650319677,4850091824844,2305847858231775670,2305847857158033830,1152926351477446434,1152926360067381130, - 1152927973901341095,2305847852863066528,1152926352551188363,2305847850715582878,4840428147105,1152926343961253586,1152926361141122775,2305847846420615578, - 1152926429860598589,2305847844273132197,4926327493014,2305847842125648298,1152926478178981800,1152926627429095336,4829690728851,2305847837830680999, - 2305847836756939156,1152926629576577853,4825395762892,2305847833535713699,2305847832461971855,1152926326781384481,1152926336445061001,1152927972827599248, - 2305847828167004553,1152926327855126410,2305847826019520903,4815732085130,1152926319265191634,1152926340740028119,2305847821724553603,2305847841051906723, - 2305847819577069968,1152926627429094205,4808215893708,2305847816355844492,2305847815282102655,1152926309601515296,1152926314970224520,1152927971753857424, - 2305847810987135353,1152926310675257225,2305847808839651703,4798552215930,1152926302085322450,1152926316043966167,2305847804544684403,1152927860084707707, - 1152927971753857408,1152927970680115600,2305847800249717103,1152926310675257224,2305847798102233453,4787814797680,1152926291347904210,1152926298864096983, - 2305847793807266153,1152927859010965883,1152927970680115584,1152927969606373776,2305847789512298853,1152927971753857404,2305847787364815203,4777077379430, - 1152926280610485970,1152926288126678743,2305847783069847903,1152926682189927229,1152926276315518867,2305847779848622572,1152926430934341544,4768487444826, - 2305847776627396992,2305847775553655184,2305847774479913340,1152926268799325981,1152926270946809733,1152927968532631952,2305847770184946003,1152927970680115580, - 2305847768037462353,4757750026580,1152926261283133138,1152926277389260503,2305847763742495053,1152927856863482197,1152927968532631895,1152927967458890128, - 2305847759447527753,1152927969606373756,2305847757300044103,4747012608330,1152926250545714898,1152926258061907671,2305847753005076803,1152927855789740373, - 1152927967458890071,1152927966385148304,2305847748710109503,1152927968532631932,2305847746562625853,4736275190080,1152926239808296658,1152926247324489431, - 2305847742267658553,2305847775553655164,1152926235513329434,1152927966385148247,1152927967458890108,2305847736898949428,4726611513653,1152926230144620242, - 1152926236587071191,2305847732603982128,5998995576705,1152926225849652948,1152926226923394775,2305847728309014828,1152926225849652947,1152926222628427479, - 2305847725087789353,1152927964237666004,1152926219407202007,2305847721866563878,1152927964237666003,1152926216185976535,2305847718645338403,6460704560921, - 2305848284507280186,4706210420188,2305849496761800603,1152926208669782823,4702989193502,1152926206522298656,1152926684337412003,1152926204374815555, - 1152926677894961061,1152926202227333030,2305847705760436504,2305847704686695055,1152926671452510116,1152926197932365714,2305847701465469580,2305847700391727754, - 2305847699317985556,1152927963163922733,1152926192563654927,2305847696096760090,1152926204374816676,2305847693949276716,2305847692875534862,4682588098828, - 5998995576601,1152926185047462175,2305847688580567304,1152926182899979986,1152926212964751063,2305847685359341828,4687956809180,1152926178605011245, - 1152926179678754519,2305847681064374528,6510096684824,1152926174310043913,1152926173236303570,1152926175383787223,2305847675695665403,1152926193637398298, - 1152926168941334785,1152926167867594450,1152926170015078103,2305847670326956278,1152926541529749289,1152926163572627154,1152926164646368983,2305847666031988978, - 6477884430121,1152926159277658706,1152926158203918034,1152926160351401687,2305847660663279853,6476810688297,1152926153908949583,1152926152835208914, - 1152926154982692567,2305847655294570728,6475736946473,1152926148540240461,1152926147466499794,1152926149613983447,2305847649925861603,6474663204649, - 1152926143171531338,1152926142097790674,1152926144245274327,2305847644557152478,6473589462825,1152926137802822216,1152926136729081554,1152926138876565207, - 2305847639188443353,6472515721001,1152926132434113093,1152926131360372434,1152926133507856087,2305847633819734228,6471441979177,1152926127065403971, - 1152926125991663314,1152926128139146967,2305847628451025103,6470368237353,1152926121696694848,1152926120622954194,1152926122770437847,2305847623082315978, - 6468220753705,1152926116327985726,1152926115254245074,1152926117401728727,2305847617713606853,6466073270057,1152926110959276603,1152926109885535954, - 1152926112033019607,2305847612344897728,6463925786409,1152926105590567481,1152926104516826834,1152926106664310487,2305847606976188603,6461778302761, - 1152926100221858358,1152926099148117714,1152926101295601367,2305847601607479478,6510096684841,1152926094853149231,1152926093779408594,1152926095926892247, - 2305847596238770353,1152926153908949532,1152926089484441298,1152926090558183127,2305847591943803053,6477884430120,1152926085189472796,1152926084115732178, - 1152926086263215831,2305847586575093928,1152926148540240380,1152926079820764882,1152926080894506711,2305847582280126628,1152926143171531230,1152926075525797586, - 1152926076599539415,2305847577985159328,1152926137802822091,1152926071230830290,1152926072304572119,2305847573690192028,1152926132434112952,1152926066935862994, - 1152926068009604823,2305847569395224728,1152926127065403813,1152926062640895698,1152926063714637527,2305847565100257428,1152926121696694670,1152926058345928402, - 1152926059419670231,2305847560805290128,6469294495529,1152926054050959742,1152926052977219282,1152926055124702935,2305847555436581003,6477884430119, - 1152926048682250770,1152926047608510162,1152926049755993815,2305847550067871878,6477884430118,1152926043313541632,1152926042239801042,1152926044387284695, - 2305847544699162753,6477884430117,1152926037944832482,1152926036871091922,1152926039018575575,2305847539330453628,6477884430116,1152926032576123343, - 1152926031502382802,1152926033649866455,2305847533961744503,6477884430115,1152926027207414204,1152926026133673682,1152926028281157335,2305847528593035378, - 6477884430114,1152926021838705065,1152926020764964562,1152926022912448215,2305847523224326253,6477884430113,1152926016469995922,1152926015396255442, - 1152926017543739095,2305847517855617128,1152926137802822039,1152926011101288146,1152926012175029975,2305847513560649828,6472515721000,1152926006806319511, - 1152926005732579026,1152926007880062679,2305847508191940703,6471441979175,1152926001437610391,1152926000363869906,1152926002511353559,2305847502823231578, - 6470368237350,1152925996068901271,1152925994995160786,1152925997142644439,2305847497454522453,1152926037944832407,1152925990700193490,1152925991773935319, - 2305847493159555153,6476810688292,1152925986405224855,1152925985331484370,1152925987478968023,2305847487790846028,6475736946467,1152925981036515735, - 1152925979962775250,1152925982110258903,2305847482422136903,6474663204642,1152925975667806615,1152925974594066130,1152925976741549783,2305847477053427778, - 1152926430934340413,1152925970299097229,1152925969225357010,1152925971372840663,2305847471684718653,6468220753704,1152925964930388031,1152925963856647890, - 1152925966004131543,2305847466316009528,6467147011879,1152925959561678911,1152925958487938770,1152925960635422423,2305847460947300403,6466073270054, - 1152925954192969791,1152925953119229650,1152925955266713303,2305847455578591278,1152925970299097194,1152925948824262354,1152925949898004183,2305847451283623978, - 6476810688288,1152925944529293375,1152925943455553234,1152925945603036887,2305847445914914853,6475736946463,1152925939160584255,1152925938086844114, - 1152925940234327767,2305847440546205728,6474663204638,1152925933791875135,1152925932718134994,1152925934865618647,2305847435177496603,6464999528233, - 1152925928423166297,1152925927349425874,1152925929496909527,2305847429808787478,6463925786408,1152925923054457177,1152925921980716754,1152925924128200407, - 2305847424440078353,6462852044583,1152925917685748057,1152925916612007634,1152925918759491287,2305847419071369228,6461778302758,1152925912317038937, - 1152925911243298514,1152925913390782167,2305847413702660103,6477884430109,1152925906948329817,1152925905874589394,1152925908022073047,2305847408333950978, - 6476810688284,1152925901579620697,1152925900505880274,1152925902653363927,2305847402965241853,6475736946459,1152925896210911577,1152925895137171154, - 1152925897284654807,2305847397596532728,6474663204634,1152925890842202457,1152925889768462034,1152925891915945687,2305847392227823603,1152926659641348925, - 1152925885473493133,1152925884399752914,1152925886547236567,2305847386859114478,1152925885473493050,1152925880104785618,1152925881178527447,2305847382564147178, - 1152925885473493045,1152925875809818322,1152925876883560151,2305847378269179878,1152925885473493040,1152925871514851026,1152925872588592855,2305847373974212578, - 6464999528229,1152925867219881968,1152925866146141906,1152925868293625559,2305847368605503453,6463925786404,1152925861851172848,1152925860777432786, - 1152925862924916439,2305847363236794328,6462852044579,1152925856482463728,1152925855408723666,1152925857556207319,2305847357868085203,6461778302754, - 1152925851113754608,1152925850040014546,1152925852187498199,2305847352499376078,1152925885473493098,1152925845745047250,1152925846818789079,2305847348204408778, - 1152925885473493031,1152925841450079954,1152925842523821783,2305847343909441478,1152925885473493026,1152925837155112658,1152925838228854487,2305847339614474178, - 1152925885473493021,1152925832860145362,1152925833933887191,2305847335319506878,6473589462813,1152925828565176304,1152925827491436242,1152925829638919895, - 2305847329950797753,6472515720988,1152925823196467184,1152925822122727122,1152925824270210775,2305847324582088628,6471441979163,1152925817827758064, - 1152925816754018002,1152925818901501655,2305847319213379503,6470368237338,1152925812459048944,1152925811385308882,1152925813532792535,2305847313844670378, - 6008659253137,1152925807090341777,1152925806016598551,1152925804942857938,1152925808164083415,2305847307402219428,1152927980343793553,6477884429788, - 1152925799574149008,2305847303107252129,4292819818281,1152925796352922135,1152925795279181522,1152925801721632471,2305847297738543003,1152927981417535377, - 1152925799574149007,2305847294517317528,4284229883688,1152925787762987543,1152925786689246930,1152925792057956055,2305847289148608403,1152925806016598419, - 1152925782394279634,1152925783468021463,2305847284853641103,1152927977122568081,2305847282706157471,4272418723625,1152925775951827347,1152925774878086866, - 1152925779173054167,2305847277337448328,1152927976048826257,2305847275189964695,4264902530856,1152925768435634579,1152925767361894098,1152925771656861399, - 2305847269821255553,1152927974975084433,1152925799574149006,2305847266600030078,4256312596263,1152925759845699987,1152925758771959506,1152925764140668631, - 2305847261231320953,1152927973901342609,1152925799574149005,2305847258010095478,4247722661670,1152925751255765395,1152925750182024914,1152925755550734039, - 2305847252641386353,1152925799574149004,2305847250493902744,4240206468901,1152925743739572627,1152925742665832146,1152925746960799447,2305847245125193578, - 1152925799574149003,2305847242977709985,4232690276132,1152925736223379859,1152925735149639378,1152925739444606679,2305847237609000803,1152927979270051729, - 1152925799574149002,2305847234387775328,4224100341539,1152925727633445267,1152925726559704786,1152925731928413911,2305847229019066203,1152927978196309905, - 1152925799574149001,2305847225797840728,4215510406946,1152925719043510675,1152925717969770194,1152925723338479319,2305847220429131603,1152925807090340528, - 1152925713674802898,1152925714748544727,2305847216134164303,1152926483547690920,6507949201193,1152925708306091852,1152925707232351954,1152925710453577431, - 2305847209691713353,6506875459368,1152925702937382732,1152925701863642834,1152925704011126487,2305847204323004228,6505801717543,1152925697568673612, - 1152925696494933714,1152925698642417367,2305847198954295103,6504727975718,1152925692199964492,1152925691126224594,1152925693273708247,2305847193585585978, - 6460704560937,1152925686831256113,1152925685757515474,1152925687904999127,2305847188216876853,1152926671452508995,1152925681462548370,1152925680388806354, - 6469294495521,1152925678241320752,1152925682536290007,2305847180700684078,6468220753696,1152925673946353456,1152925675020097239,2305847176405716778, - 6467147011871,1152925669651386160,1152925670725129943,2305847172110749478,6466073270046,1152925665356418864,1152925666430162647,2305847167815782178, - 2305849007135528837,4156454606621,1152925659987709744,1152925662135195351,2305847162447073053,2305849007135528836,4151085897500,1152925654619000624, - 1152925656766486231,2305847157078363928,6462852044571,1152925650324033328,1152925651397777111,2305847152783396628,6461778302746,1152925646029066032, - 1152925647102809815,2305847148488429328,1152926622060386216,1152925641734100883,1152926159277659858,1152925639586615052,1152925642807842519,2305847142045978378, - 6476810688296,1152925635291649746,1152925634217905932,1152925636365391575,2305847136677269253,6475736946471,1152925629922940626,1152925628849196812, - 1152925630996682455,2305847131308560128,6474663204646,1152925624554231506,1152925623480487692,1152925625627973335,2305847125939851003,6473589462821, - 1152925619185522386,1152925618111778572,1152925620259264215,2305847120571141878,6472515720996,1152925613816813266,1152925612743069452,1152925614890555095, - 2305847115202432753,6471441979171,1152925608448104146,1152925607374360332,1152925609521845975,2305847109833723628,6470368237346,1152925603079395026, - 1152925602005651212,1152925604153136855,2305847104465014503,1152925678241322706,1152925597710683916,1152925598784427735,2305847100170047203,1152925673946355410, - 1152925593415716620,1152925594489460439,2305847095875079903,1152925669651388114,1152925589120749324,1152925590194493143,2305847091580112603,1152925665356420818, - 1152925584825782028,1152925585899525847,2305847087285145303,6464999528221,1152925580530816722,1152925579457072908,1152925581604558551,2305847081916436178, - 6463925786396,1152925575162107602,1152925574088363788,1152925576235849431,2305847076547727053,1152927997523662751,1152927996449920926,1152925568719656401, - 2305847072252759754,1152925566572173187,1152927996449920927,2305847069031534277,1152925563350947714,1152925562277205457,2305847065810308806,1152927982491277215, - 2305847063662825153,2305847062589085584,4052301649819,1152925555834752780,1152925570867140311,2305847058294116028,1152925563350947715,1152925566572173186, - 2305847055072890553,1152927982491277214,2305847052925406903,4042637973402,1152925546171076364,1152925552613529303,2305847048630439603,1152925566572173215, - 1152925563350947742,1152925540802368977,2305847044335472304,1152925538654885787,1152925566572173214,1152925563350947743,2305847040040505003,1152925534359918490, - 1152925533286176209,2305847036819279532,1152925566572173199,2305847034671795878,1152927979270051743,2305847032524312228,2305847031450572685,4021163136925, - 1152925524696239884,1152925542949852887,2305847027155603103,1152925534359918491,1152925538654885786,2305847023934377628,1152925563350947727,2305847021786893978, - 1152927979270051742,2305847019639410328,4009351976860,1152925512885079820,1152925521475016407,2305847015344443028,1152925538654885789,1152925534359918492, - 1152925507516372433,2305847011049475729,1152925566572173196,2305847008901992078,1152927976048826271,2305847006754508428,2305847005680768906,3995393333019, - 1152925498926438098,1152925497852694284,1152925509663856343,2305847000312057478,1152925534359918493,1152925538654885788,2305846997090832003,1152925563350947724, - 2305846994943348353,1152927976048826270,2305846992795864703,3982508431130,1152925486041536210,1152925484967792396,1152925494631470807,2305846987427155578, - 1152926676821218109,1152925480672827283,1152925479599083275,1152925481746568919,2305846982058446453,1152925479599083270,1152925476377859799,2305846978837220978, - 1152925479599083265,1152925473156634327,2305846975615995503,1152925479599083260,1152925469935408855,2305846972394770028,1152925479599083255,1152925466714183383, - 2305846969173544553,1152925479599083250,1152925463492957911,2305846965952319078,1152925479599083245,1152925460271732439,2305846962731093603,1152925479599083240, - 1152925457050506967,2305846959509868128,1152925479599083236,1152925453829281495,2305846956288642653,1152925479599083232,1152925450608056023,2305846953067417178, - 1152925479599083228,1152925447386830551,2305846949846191703,1152925479599083224,1152925444165605079,2305846946624966228,1152925479599083219,1152925440944379607, - 2305846943403740753,1152925479599083214,1152925437723154135,2305846940182515278,1152927981417535390,1152925433428186577,2305846936961289920,2305846935887548097, - 2305846934813808527,3924526372763,1152925428059475574,1152925434501928663,2305846930518838853,1152927981417535391,2305846928371355318,2305846927297613495, - 2305846926223873934,3915936438170,1152925419469540982,1152925424838252247,2305846921928904253,1152925566572173211,1152925563350947738,1152925414100833745, - 2305846917633936954,1152927978196309919,1152927977122568094,1152925409805866449,2305846913338969654,2305846912265227831,2305846911191488395,3900904052507, - 1152925404437157586,1152925403363413622,1152925416248317655,2305846905822776878,1152925563350947739,1152925566572173210,2305846902601551403,1152927977122568095, - 1152927978196309918,2305846899380325928,2305846898306584105,2305846897232844682,3886945408794,1152925390478513874,1152925389404769910,1152925400142190295, - 2305846891864133153,1152926620986643261,6008659253029,1152925384036063013,1152925382962318878,1152925386183546583,2305846885421682203,6008659253028, - 1152925378667353892,1152925377593609758,1152925379741095639,2305846880052973078,6008659253027,1152925373298644771,1152925372224900638,1152925374372386519, - 2305846874684263953,6008659253026,1152925367929935650,1152925366856191518,1152925369003677399,2305846869315554828,2305849370060265253,2305846867168073507, - 2305846866094331682,6008659250695,1152925359339998750,1152925363634968279,2305846861799362053,1152927500381198109,2305849370060265252,2305846858578138915, - 1152927863305934298,2305846856430652928,2305846855356911106,3845069477768,1152925348602580510,1152925356118775511,2305846851061943803,1152927499307456292, - 2305846848914462501,1152927498233714467,2305846846766976503,1152927497159972642,2305846844619492853,3834332059424,1152925337865162270,1152925345381357271, - 2305846840324525553,1152927971753858848,3828963350427,1152925332496453150,1152925334643939031,2305846834955816428,1152927992154953627,6008659250665, - 1152925327127744030,1152925329275229911,2305846829587107303,1152927992154953604,3818225932191,1152925321759034910,1152925323906520791,2305846824218398178, - 1152927992154953603,3812857223070,1152925316390325790,1152925318537811671,2305846818849689053,4061965326237,1152925312095358494,1152925313169102551, - 2305846814554721753,4058744100764,1152925307800391198,1152925308874135255,2305846810259754453,2305849375428974377,2305849484950640529,6475736946577, - 1152925301357942687,6474663204752,1152925299210459038,1152925298136716753,2305846801669819855,2305846800596078033,3790308642258,1152925293841747486, - 1152925304579167959,2305846796301110728,2305849374355232552,2305849483876898704,1152925301357942686,1152925299210459039,2305846790932401603,2305846789858659780, - 3779571224005,1152925283104329246,1152925290620524247,2305846785563692478,2305849373281490727,2305849480655673229,6471441979277,1152927499307456415, - 1152925275588136377,6470368237452,1152927499307456414,1152925272366910902,1152925271293171153,2305846774826274231,2305846773752532410,3763465096635, - 1152925266998201886,1152925279883106007,2305846769457565103,2305849372207748902,2305849479581931404,1152925272366910905,1152925273440652728,2305846764088855978, - 2305846763015114155,3752727678380,1152925256260783646,1152925263776978647,2305846758720146853,2305849361470330652,2305849373281490729,6364067796777, - 1152925249818335133,6362994054952,1152925247670851484,1152925246597109201,2305846750130212255,2305846749056470433,3738769034658,1152925242302139934, - 1152925253039560407,2305846744761503128,2305849360396588827,2305849372207748904,1152925249818335132,1152925247670851485,2305846739392794003,2305846738319052180, - 3728031616405,1152925231564721694,1152925239080916695,2305846734024084878,1152927866527160209,1152927865453418381,2305846730802859403,1152927864379676559, - 2305846728655375753,1152927863305934731,2305846726507892103,3716220458886,1152925219753561630,1152925228343498455,2305846722212924803,1152927866527160208, - 1152927865453418380,2305846718991699328,1152927864379676558,2305846716844215678,1152927863305934730,2305846714696732028,3704409298821,1152925207942401566, - 1152925216532338391,2305846710401764728,1152927971753858951,3699040589601,1152925202573692446,1152925204721178327,2305846705033055603,1152927862232192801, - 3693671880478,1152925197204983326,1152925199352469207,2305846699664346478,2305849007135528834,3688303171359,1152925191836274206,1152925193983760087, - 2305846694295637353,6469294495517,1152925187541306910,1152925188615050967,2305846690000670053,2305849486024382353,3678639494953,1152925182172598887, - 1152925181098858194,1152925184320083671,2305846683558219103,2305849487098124073,1152925176803889786,1152925175730149074,1152925177877632727,2305846678189509978, - 4286377367337,1152925171435180645,1152925170361439954,1152925172508923607,2305846672820800853,1152927982491277097,6008659250514,1152925164992729720, - 1152925163918989010,1152925167140214487,2305846666378349903,2305849487098123740,3655017174825,1152925158550278773,1152925157476538066,1152925160697763543, - 2305846659935898953,1152925806016598643,1152925154255312599,2305846656714673478,6008659250524,1152925149960345298,1152925148886602355,1152925151034087127, - 2305846651345964353,1152925806016598626,1152925145665378007,2305846648124738878,6008659253136,1152925141370410896,1152925140296667746,1152925142444152535, - 2305846642756029753,1152925171435181778,1152925136001700450,1152925137075443415,2305846638461062453,1152925806016598624,1152925132780476119,2305846635239836978, - 1152925140296667744,1152925129559250647,2305846632018611503,4286377364834,3620657436457,1152925124190541522,1152925123116798560,1152925126338025175, - 2305846625576160553,1152926566225811154,6476810688401,1152925117748090665,1152925116674346278,1152925119895574231,2305846619133709603,1152925117748090783, - 3607772534236,3606698792745,1152925110231895334,1152925113453123287,2305846612691258653,1152926586626905810,1152925105936928082,1152925107010672343, - 2305846608396291353,4054449133020,3597035116329,1152925100568218906,1152925102715705047,2305846603027582228,1152926433081825192,1152925096273254098, - 1152927981417535376,3589518923560,1152925093052026128,1152925097346995927,2305846595511389453,1152925141370410793,2305846593363908060,3583076472735, - 1152925086609575184,1152925089830803159,2305846589068938503,1152927980343793567,3577707763495,1152925081240866064,1152925083388352215,2305846583700229378, - 1152927496086230822,2305846581552748329,3571265312654,1152925074798415120,1152925078019643095,2305846577257778428,6008659253033,1152925070503450409, - 1152925069429706000,1152925071577192151,2305846571889069303,1152926428786857682,1152925065134739695,1152925066208483031,2305846567594102003,1152925065134739207, - 1152925061913515735,2305846564372876528,1152927979270051728,1152925057618548177,2305846561151651745,3550864217895,1152925054397320436,1152925058692290263, - 2305846556856683753,2305849483876898703,1152925050102353250,4296041041125,3553011698916,3542274283302,1152925045807385844,1152925051176097495, - 2305846548266749153,1152926631724061394,2305846546119266830,2305846545045525012,1152927493938747292,2305846542898042781,3532610606539,1152925036143712155, - 3530463122908,1152927493938747294,2305846537529333663,1152925031848742103,1152925030775000284,1152925042586162903,2305846533234363603,1152926677894959830, - 2305846531086881294,2305846530013139478,2305846528939396318,2305846527865655828,1152925022185068242,3527241897769,1152925020037582027,1152925027553777367, - 2305846522496945353,3532610606888,1152925015742614731,1152925016816359127,2305846518201978053,1152927497159972764,1152927995376178860,2305846514980752597, - 2305846513907010754,3503619577745,1152925007152681486,1152925012521391831,2305846509612043453,3504693316962,1152925002857712848,1152925003931457239, - 2305846505317076153,2305846687853189007,3504693316790,1152924997489005078,1152924999636489943,2305846499948367028,1152926636019028690,1152924993194038994, - 2305849374355232657,1152927870822127276,3485365963951,3484292224912,1152924987825327280,1152924994267780823,2305846490284690603,1152924992120294648, - 1152924984604104407,2305846487063465128,3527241897768,1152924980309134512,1152924981382878935,2305846482768497828,3503619575704,1152924976014167262, - 1152924977087911639,2305846478473530528,2305847295591061391,3503619574941,1152924970645459476,1152924972792944343,2305846473104821403,1152926670378767058, - 1152924966350493394,1152927869748385681,2305846468809856809,3458522421136,1152924962055523479,1152924967424235223,2305846464514886803,6365141538704, - 3527241895056,1152924956686814359,1152924958834300631,2305846459146177678,6366215280529,2305846541824300508,3446711258251,1152924950244363415, - 1152924953465591511,2305846452703726728,1152926675747477202,3532610606889,1152924944875654277,1152924947023140567,2305846447335017603,1152924945949396133, - 1152924941654431447,2305846444113792128,1152927991081211604,1152924938433205975,2305846440892566653,6008659253145,1152924934138238873,1152924935211980503, - 2305846436597599353,6008659253041,1152924929843270345,1152924928769529554,1152924930917013207,2305846431228890228,1152924929843270333,1152924924474562258, - 1152924925548304087,2305846426933922928,6008659253160,1152924920179595176,1152924921253336791,2305846422638955628,6008659253159,1152924915884627879, - 1152924916958369495,2305846418343988328,6008659253158,1152924911589660582,1152924912663402199,2305846414049021028,6008659253157,1152924907294693285, - 1152924908368434903,2305846409754053728,6008659253156,1152924902999725988,1152924904073467607,2305846405459086428,6008659253155,1152924898704758691, - 1152924899778500311,2305846401164119128,6008659253154,1152924894409791394,1152924895483533015,2305846396869151828,1152926678968702884,3385507977107, - 1152924891188565719,2305846392574184528,1152928000744888227,3381213009810,1152924886893598423,2305846388279217228,6478958172066,6480031910985, - 1152924880451147688,1152924882598631127,2305846382910508103,1152928007187339154,1152924877229922007,2305846379689282628,1152928006113597330,1152924874008696535, - 2305846376468057153,1152925806016598671,1152924870787471063,2305846373246831678,1152927995376177802,1152924867566245591,2305846370025606203,1152926600585549724, - 1152924864345020119,2305846366804380728,1152927993228694154,1152924861123794647,2305846363583155253,1152927992154952330,1152924857902569175,2305846360361929778, - 1152925807090340114,1152924854681343703,2305846357140704303,6008659253149,1152924850386374930,1152924851460118231,2305846352845737003,1152927982491277212, - 1152924846091408167,1152924847165150935,2305846348550769703,1152926769163015890,1152927891223222058,6387690116572,1152927893370702882,1152924838575213603, - 1152924837501471780,6495064299321,1152924835353988127,1152924842870183639,2305846337813351453,6493990557496,1152924831059020831,1152924832132765399, - 2305846333518384153,6492916815671,1152924826764053535,1152924827837798103,2305846329223416853,6491843073846,1152924822469086239,1152924823542830807, - 2305846324928449553,6490769332021,1152924818174118943,1152924819247863511,2305846320633482253,1152927893370705725,1152924813879151651,6008659250185, - 1152924811731669691,1152924810657928914,1152924814952896215,2305846313117289478,1152927991081211602,6373731473304,6008659250178,1152924804215475202, - 1152924803141733379,1152924807436703447,2305846305601096703,4995046970844,1152924798846769057,1152924797773024258,1152924796699282435,1152924799920510679, - 2305846299158645753,2305848159953228489,2305846297011163692,1152924791330573313,1152924790256834258,1152924793478059735,2305846292716194803,6388763858396, - 1152924785961864226,1152924784888122403,1152924785961867069,1152924782740638755,2305846286273743854,1152924780593155074,1152924779519416018,1152924787035608791, - 2305846281978776553,1152927990007468839,1152924776298190551,2305846278757551078,1152927879412062105,3300682372572,1152924770929478627,2305846274462583797, - 1152927492865005369,3263101409185,2305849393682585402,2305849394756324317,2305846269093874652,2305846268020135740,2305846266946391002,2305846265872652093, - 2305846264798907352,2305846263725168446,2305846262651423702,2305849399051291605,2305846260503940052,2305849400125033427,3249142762462,1152924752675867616, - 1152924751602128594,1152924773076965079,2305846254061489103,1152924780593158049,1152924747307161497,1152924746233419474,1152924748380903127,2305846248692779978, - 1152927877264575478,1152924741938452178,1152924743012194007,2305846244397812678,4995046968322,1152924737643484975,1152924736569743257,1152924735496001234, - 1152924738717226711,2305846237955361728,3233036637660,2305849493540574684,3225520445231,1152924729053547453,1152924727979808561,1152924726906066841, - 1152924725832324818,1152924732274775767,2305846228291685303,6008659253143,1152924721537357719,5991479383959,1152924719389871027,6006511769495, - 1152924717242387377,5995774351255,1152924715094903727,5987184416663,1152924712947420077,5986110674839,1152924710799936427,5996848093079, - 1152924708652452777,5997921834903,1152924706504969127,1152924722611099351,2305846208964332453,6008659253142,1152924702210004886,1152924703283746519, - 2305846204669365153,6008659253141,1152924697915037589,1152924698988779223,2305846200374397853,6008659253140,1152924693620070292,1152924694693811927, - 2305846196079430553,6483253138908,1152924689325102997,1152924688251361172,6482179397084,1152924686103874454,1152924685030135700,2305846188563237780, - 6481105655260,1152924681808907157,2305846185342012304,2305846184268273558,3173980834806,1152924690398844631,2305846181047045003,3287797470684, - 2305849491393091478,2305846177825822612,1152924672145230728,1152924675366459095,2305846174604594053,1152924679661426589,1152924668924008151,2305846171383368578, - 1152924679661426588,1152924665702782679,2305846168162143103,1152924679661426587,1152924662481557207,2305846164940917628,1152924679661426586,1152924659260331735, - 2305846161719692153,1152924682882652063,1152924656039106263,2305846158498466678,1152924682882652062,1152924652817880791,2305846155277241203,1152924687177619360, - 1152924649596655319,2305846152056015728,6503654233921,1152924645301688217,1152924644227946194,1152924646375429847,2305846146687306603,2305849512867927500, - 3135326132033,1152924638859236029,1152924637785495250,1152924641006720727,2305846140244855653,1152928008261079739,1152924634564269783,2305846137023630178, - 1152926671452510099,1152927983565019044,2305846133802404703,2305848105192395579,2305846131654921053,2305846130581181228,2305846129507440537,6008659250009, - 1152924631343044311,2305846126286211928,6008659251899,1152924619531884243,1152924620605626071,2305846121991244628,5852966688220,5820754430801, - 1152924614163175272,1152924613089433467,1152924616310658775,2305846115548793678,1152924615236917096,1152924608794466170,1152924609868207831,2305846111253826378, - 1152924608794466169,1152924605573240535,2305846108032600903,1152927938467861894,2305849459180836728,2305849457033353078,2305846103737633603,2305846102663894903, - 2305846101590149955,2305849454885869428,2305849452738385778,2305846098368924478,2305846097295185779,2305846096221440830,2305846095147699007,2305849450590902128, - 2305849448443418478,2305846091926473528,2305846090852734831,2305846089778989880,2305846088705248057,2305846087631506239,2305846086557766927,1152924580877175601, - 1152924579803433777,1152924579803433776,1152924577655950127,2305849458107094902,2305846080115313472,2305849453812127602,2305846077967829819,2305846076894087979, - 2305849449517160302,2305846074746604341,2305846073672862504,2305846072599120683,2305846071525381361,1152924565844790051,1152924564771048227,1152924564771048226, - 1152924562623564577,2305846066156669741,2305846102663894901,2305846064009186114,2305846097295185777,2305846061861702461,2305846060787960604,2305846090852734829, - 2305846058640476983,2305846057566735129,2305846056492993308,2305846055419253971,1152924549738662676,1152924548664920852,1152924548664920851,1152924546517437202, - 2305849460254578552,2305846048976800541,2305849455959611252,2305846046829316891,2305846045755575054,2305849451664643952,2305846043608091416,2305846042534349579, - 2305846041460607758,2305846040386868405,1152924534706277126,1152924533632535302,1152924533632535301,1152924531485051652,2305846035018156816,2305846033944415006, - 2305846032870673183,2305846031796931358,2305846087631506234,2305846029649450135,1152924523968858876,1152924522895117052,1152924522895117051,1152924520747633402, - 2305846072599120681,2305846023206999161,1152924517526407926,1152924516452666102,1152924516452666101,1152924514305182452,2305846017838287608,2305846056492993306, - 2305846015690806363,1152924510010215151,1152924508936473327,1152924508936473326,1152924506788989677,2305846041460607756,2305846009248355389,1152924503567764201, - 1152924502494022377,1152924502494022376,1152924500346538727,2305846003879643883,2305846002805902065,2305846001732160242,2305846000658418417,2305845999584676606, - 2305846087631506228,2305845997437195295,1152924491756604126,1152924490682862302,1152924490682862301,1152924488535378652,2305846072599120678,2305845990994744321, - 1152924485314153176,1152924484240411352,1152924484240411351,1152924482092927702,2305845985626032858,2305846056492993303,2305845983478551523,1152924477797960401, - 1152924476724218577,1152924476724218576,1152924474576734927,2305846041460607753,2305845977036100549,1152924471355509451,1152924470281767627,1152924470281767626, - 1152924468134283977,2305845971667389133,2305845970593647315,2305845969519905492,2305845968446163667,2305845967372421856,2305845966298680062,2956011247376, - 1152924459544349508,1152924602352015063,2305845962003712703,2305846050050542352,2305845959856229119,2305846010322094827,2305845957708745442,2305845956635003579, - 2305845978109840077,2305845954487519940,2305845953413778104,2305845952340036283,2942052603663,1152924445585705796,1152924456323126999,2305845948045068978, - 2305846032870673154,2305845945897585409,2305846001732160229,2305845943750101732,2305845942676359854,2305845969519905479,2305845940528876230,2305845939455134379, - 2305845938381392558,2928093959950,1152924431627062084,1152924442364483287,2305845934086425253,2305846081189055277,2305845931938941615,2305846024280738552, - 2305845929791457965,2305845928717716129,2305845992068483802,2305845926570232490,2305845925496490654,2305845924422748833,2914135316237,1152924417668418372, - 1152924428405839575,2305845920127781528,2305845966298680033,2908766607116,1152924412299709252,1152924414447195863,2305845914759072403,2305845952340036281, - 2903397897995,1152924406931000132,1152924409078486743,2305845909390363278,2305845938381392556,2898029188874,1152924401562291012,1152924403709777623, - 2305845904021654153,2305845924422748831,2892660479753,1152924396193581892,1152924398341068503,2305845898652945028,2305845966298680003,2887291770632, - 1152924390824872772,1152924392972359383,2305845893284235903,2305845952340036278,2881923061511,1152924385456163652,1152924387603650263,2305845887915526778, - 2305845938381392553,2876554352390,1152924380087454532,1152924382234941143,2305845882546817653,2305845924422748828,2871185643269,1152924374718745412, - 1152924376866232023,2305845877178108528,1152927938467861865,2305849460254577935,1152924369350036076,1152924368276294252,1152924368276294251,1152924366128810602, - 2305849459180836081,1152924363981326951,1152924362907585127,1152924362907585126,1152924360760101477,2305845864293206632,2305849458107094227,1152924357538876001, - 1152924356465134177,1152924356465134176,1152924354317650527,2305849457033352373,1152924352170166876,1152924351096425052,1152924351096425051,1152924348948941402, - 2305845852482046557,2305845851408304738,2305845850334562915,2305845849260821090,2305849455959610519,1152924342506490451,1152924341432748627,1152924341432748626, - 1152924339285264977,2305849454885868665,1152924337137781326,1152924336064039502,1152924336064039501,1152924333916555852,2305845837449661007,2305849453812126811, - 1152924330695330376,1152924329621588552,1152924329621588551,1152924327474104902,2305849452738384957,1152924325326621251,1152924324252879427,1152924324252879426, - 1152924322105395777,2305845825638500932,2305845824564759113,2305845823491017290,2305845822417275465,2305845821343533652,2305849451664643103,1152924314589203001, - 1152924313515461177,1152924313515461176,1152924311367977527,2305849450590901249,1152924309220493876,1152924308146752052,1152924308146752051,1152924305999268402, - 2305845809532373557,2305849449517159395,1152924302778042926,1152924301704301102,1152924301704301101,1152924299556817452,2305849448443417541,1152924297409333801, - 1152924296335591977,1152924296335591976,1152924294188108327,2305845797721213482,2305845796647471663,2305845795573729840,2305845794499988015,2305845793426246202, - 2305845792352504404,2782065071888,1152924285598173805,1152924371497522903,2305845788057537053,2305845857850755677,2305845785910053461,2305845831007210052, - 2305845783762569788,2305845782688827929,2305845803089922602,2305845780541344290,2305845779467602454,2305845778393860633,2768106428175,1152924271639530093, - 1152924282376951511,2305845774098893328,2305845850334562904,2305845771951409751,2305845823491017279,2305845769803926078,2305845768730184204,2305845795573729829, - 2305845766582700580,2305845765508958729,2305845764435216908,2754147784462,1152924257680886381,1152924268418307799,2305845760140249603,2305845869661915752, - 2305845757992765965,2305845842818370127,2305845755845282315,2305845754771540479,2305845814901082677,2305845752624056840,2305845751550315004,2305845750476573183, - 2740189140749,1152924243722242669,1152924254459664087,2305845746181605878,2305845792352504379,2734820431628,1152924238353533549,1152924240501020375, - 2305845740812896753,2305845778393860631,2729451722507,1152924232984824429,1152924235132311255,2305845735444187628,2305845764435216906,2724083013386, - 1152924227616115309,1152924229763602135,2305845730075478503,2305845750476573181,2718714304265,1152924222247406189,1152924224394893015,2305845724706769378, - 2305845792352504353,2713345595144,1152924216878697069,1152924219026183895,2305845719338060253,2305845778393860628,2707976886023,1152924211509987949, - 1152924213657474775,2305845713969351128,2305845764435216903,2702608176902,1152924206141278829,1152924208288765655,2305845708600642003,2305845750476573178, - 2697239467781,1152924200772569709,1152924202920056535,2305845703231932878,1152927938467861835,2860448225147,1152924195403860427,1152924197551347415, - 2305845697863223753,1152927489643779963,2305849459180836731,2305845694641998658,2305845693568256828,2305845692494514998,2305845691420772806,2305845690347033841, - 1152924184666442176,1152924183592700352,1152924183592700351,1152924181445216702,2675764631418,1152924179297733067,1152924192182638295,2305845681757096378, - 1152927489643779962,2305845691420776311,2305845678535874426,1152927953500247500,2305845676388387266,1152927488570038133,2305845674240903618,2305845673167161779, - 2305845672093419957,1152927951352763866,2305845669945936322,1152927950279022032,2305845667798452674,2305845666724710829,1152927487496296306,2305845664577227202, - 1152927486422554481,2305845662429743554,2305845661356001704,2305845660282259882,2305845659208518063,1152927485348812656,2305845657061034434,1152927484275070831, - 2305845654913550786,2305845653839808929,1152927483201329006,2305845651692325314,1152927943836571108,2305845649544841666,2305845648471099804,2305845647397357982, - 2305845646323616163,2305845645249874359,2305845644176135379,1152924138495543701,1152924137421801877,1152924137421801876,1152924135274318227,2629593732985, - 1152924133126834635,1152924176076510935,2305845635586197903,1152927489643779961,2305845645249874358,2305845632364975993,1152924170707801548,2305845630217488791, - 1152924168560317893,2305845628070005143,2305845626996263304,2305845625922521482,1152924164265350618,2305845623775037847,1152924162117866960,2305845621627554199, - 2305845620553812354,1152924158896641476,2305845618406328727,1152924156749157827,2305845616258845079,2305845615185103229,2305845614111361407,2305845613037619588, - 1152924151380448706,2305845610890135959,1152924149232965057,2305845608742652311,2305845607668910454,1152924146011739584,2305845605521426839,1152924143864255972, - 2305845603373943191,2305845602300201329,2305845601226459507,2305845600152717688,2305845599078975884,2588791543568,1152924092324645323,1152924129905612503, - 2305845594784008553,2305845599078975883,2583422834447,1152924086955936203,1152924089103423191,2305845589415299428,1152924124536903116,2305845587267815788, - 2576980383502,1152924080513485259,1152924083734714071,2305845582972848478,1152924122389419461,2305845580825364844,2570537932557,1152924074071034315, - 1152924077292263127,2305845576530397528,1152924118094452186,2305845574382913900,2564095481612,1152924067628583371,1152924070849812183,2305845570087946578, - 1152924115946968528,2305845567940462956,2557653030667,1152924061186132427,1152924064407361239,2305845563645495628,1152924112725743044,2305845561498012012, - 2551210579722,1152924054743681483,1152924057964910295,2305845557203044678,1152924110578259395,2305845555055561068,2544768128777,1152924048301230539, - 1152924051522459351,2305845550760593728,1152924105209550274,2305845548613110124,2538325677832,1152924041858779595,1152924045080008407,2305845544318142778, - 1152924103062066625,2305845542170659180,2531883226887,1152924035416328651,1152924038637557463,2305845537875691828,1152924099840841152,2305845535728208236, - 2525440775942,1152924028973877707,1152924032195106519,2305845531433240878,1152924097693357540,2305845529285757292,2518998324997,1152924022531426763, - 1152924025752655575,2305845524990789928,1152927938467861805,2305848986734434168,1152924017162717476,1152924016088975652,1152924016088975651,1152924013941492002, - 2508260906875,1152924011794008357,1152924019310204631,2305845514253371678,2305845690347033871,1152924007499041051,1152924006425299227,1152924006425299226, - 1152924004277815577,2305845678535873777,1152924002130331926,1152924001056590102,1152924001056590101,1152923998909106452,2305845502442211607,2305845675314648275, - 1152923995687880976,1152923994614139152,1152923994614139151,1152923992466655502,2305845673167164597,1152923990319171851,1152923989245430027,1152923989245430026, - 1152923987097946377,2305845490631051532,2305845489557309713,2305845488483567890,2305845487409826065,2305845668872197271,1152923980655495426,1152923979581753602, - 1152923979581753601,1152923977434269952,2305845666724713593,1152923975286786301,1152923974213044477,1152923974213044476,1152923972065560827,2305845475598665982, - 2305845663503488091,1152923968844335351,1152923967770593527,1152923967770593526,1152923965623109877,2305845661356004413,1152923963475626226,1152923962401884402, - 1152923962401884401,1152923960254400752,2305845463787505907,2305845462713764088,2305845461640022265,2305845460566280440,2305845459492538627,2305845655987295263, - 1152923952738207976,1152923951664466152,1152923951664466151,1152923949516982502,2305845653839811585,1152923947369498851,1152923946295757027,1152923946295757026, - 1152923944148273377,2305845447681378532,2305845650618586083,1152923940927047901,1152923939853306077,1152923939853306076,1152923937705822427,2305845648471102405, - 1152923935558338776,1152923934484596952,1152923934484596951,1152923932337113302,2305845435870218457,2305845434796476638,2305845433722734815,2305845432648992990, - 2305845431575251177,2305845430501509379,2420214077200,1152923923747178789,1152924008572786391,2305845426206542028,2305845495999760652,2305845424059058436, - 2305845469156215027,2305845421911574763,2305845420837832904,2305845441238927577,2305845418690349265,2305845417616607429,2305845416542865608,2406255433487, - 1152923909788535077,1152923920525956823,2305845412247898303,2305845488483567879,2305845410100414726,2305845461640022254,2305845407952931053,2305845406879189179, - 2305845433722734804,2305845404731705555,2305845403657963704,2305845402584221883,2392296789774,1152923895829891365,1152923906567313111,2305845398289254578, - 2305845507810920727,2305845396141770940,2305845480967375102,2305845393994287290,2305845392920545454,2305845453050087652,2305845390773061815,2305845389699319979, - 2305845388625578158,2378338146061,1152923881871247653,1152923892608669399,2305845384330610853,2305845430501509354,2372969436940,1152923876502538533, - 1152923878650025687,2305845378961901728,2305845416542865606,2367600727819,1152923871133829413,1152923873281316567,2305845373593192603,2305845402584221881, - 2362232018698,1152923865765120293,1152923867912607447,2305845368224483478,2305845388625578156,2356863309577,1152923860396411173,1152923862543898327, - 2305845362855774353,2305845430501509328,2351494600456,1152923855027702053,1152923857175189207,2305845357487065228,2305845416542865603,2346125891335, - 1152923849658992933,1152923851806480087,2305845352118356103,2305845402584221878,2340757182214,1152923844290283813,1152923846437770967,2305845346749646978, - 2305845388625578153,2335388473093,1152923838921574693,1152923841069061847,2305845341380937853,1152927941689087848,1152923835700352727,2305845338159712378, - 1152927940615346024,1152923832479127255,2305845334938486903,1152927939541604200,1152923829257901783,2305845331717261428,2305848894392636806,2305845329569781067, - 2305845328496039213,6438155982596,1152923821741705327,1152923820667967336,1152923826036676311,2305845323127326828,6343666701788,1152923816373000060, - 1152923815299258112,1152923814225512559,1152923817446741719,2305845316684875878,6322191865308,1152923809930549096,1152923808856803439,1152923811004290775, - 2305845311316166753,1152927958868957052,6008659249246,1152923803488098004,1152923805635581655,2305845305947457628,1152926873315972988,1152923800266872535, - 2305845302726232153,1152926866873522044,1152923797045647063,2305845299505006678,1152926860431071100,1152923793824421591,2305845296283781203,6008659253098, - 1152923789529454442,1152923788455712636,1152923790603196119,2305845290915072078,1152927777406588796,1152923784160745236,6454262109660,6453188367836, - 1152923780939515977,6342592959964,6341519218140,1152923777718290502,1152923776644548679,1152923775570806858,1152923785234486999,2305845278030170178, - 1152923782013261690,1152923778792036114,6008659249214,1152923769128355903,1152923768054614090,1152923772349585111,2305845270513977403,1152923771275843434, - 1152923763759650684,1152923764833392343,2305845266219010103,1152923771275843433,1152923759464683388,1152923760538425047,2305845261924042803,1152923815299258235, - 1152923756243457751,2305845258702817328,1152923779865774160,1152923751948486760,1152923753022232279,2305845254407850028,6008659249220,1152923747653523323, - 1152923746579777610,1152923748727264983,2305845249039140903,1152923780939519867,6452114626012,1152923741211068452,1152923740137330540,1152923739063588732, - 1152923743358555863,2305845241522948128,1152923740137330537,1152923734768621436,1152923735842363095,2305845237227980828,1152923777718294291,6340445476316, - 1152923729399908377,1152923728326166602,6324339348956,1152923726178682902,6442450949896,1152923724031199252,1152923731547395799,2305845226490562578, - 6441377208071,1152923719736231956,1152923720809977559,2305845222195595278,6440303466246,1152923715441264660,1152923716515010263,2305845217900627978, - 6439229724421,1152923711146297364,1152923712220042967,2305845213605660678,2305849461328320378,1152927956721473402,2201170741251,1152923704703850363, - 1152923703630108540,2305849335700526852,2305845206089471849,2195802036076,1152923699335137279,1152923707925075671,2305845201794500603,6008659253097, - 1152923695040173929,1152923693966428159,1152923696113915607,2305845196425791478,1152923702556366704,1152923690745206487,2305845193204566003,1152923702556366703, - 1152923687523981015,2305845189983340528,1152923702556366702,1152923684302755543,2305845186762115053,1152923702556366701,1152923681081530071,2305845183540889578, - 6436008498652,2305849349659170578,1152927845052323602,2170032228326,1152923673565337363,1152923672491591790,1152923671417849831,1152923670344108103, - 1152923669270370172,1152923677860304599,2305845171729729503,1152923779865778044,1152923664975398887,1152923663901657059,6323265607529,1152923661754173402, - 1152923666049144535,2305845164213536728,6339371734796,1152923657459210089,2305845160992315152,2150704879480,1152923654237980634,1152923658532951767, - 2305845156697343953,6338297992971,1152923649943017321,2305845153476122383,2143188686711,1152923646721787866,1152923651016758999,2305845149181151178, - 6337224251146,1152923642426824553,2305845145959929614,2135672493942,1152923639205595098,1152923643500566231,2305845141664958403,6336150509321, - 1152923634910631785,2305845138443736845,2128156301173,1152923631689402330,1152923635984373463,2305845134148765628,1152927846126065427,1152923627394435096, - 1152923626320697090,2305845129853802347,2119566366467,1152923623099467850,1152923628468180695,2305845125558831028,1152923741211068487,1152923618804504428, - 1152923617730762620,1152923619878246103,2305845120190121903,1152923618804504425,1152923613435795324,1152923614509536983,2305845115895154603,1152923779865778041, - 1152927939541604202,1152923608067082152,1152923606993344380,1152923610214569687,2305845109452703653,5364414157714,1152923602698376066,1152923603772118743, - 2305845105157736353,6341519218554,1152923598403408808,1152923597329663906,1152923599477151447,2305845099789027228,6008659253111,1152923593034700663, - 1152923591960954786,1152923594108442327,2305845094420318103,6008659253110,1152923587665991542,1152923586592245666,1152923588739733207,2305845089051608978, - 6008659253109,1152923582297282421,1152923581223536546,1152923583371024087,2305845083682899853,6008659253108,1152923576928573300,1152923575854827426, - 1152923578002314967,2305845078314190728,6008659253107,1152923571559864179,1152923570486118306,1152923572633605847,2305845072945481603,6008659253106, - 1152923566191155058,1152923565117409186,1152923567264896727,2305845067576772478,6008659253105,1152923560822445937,1152923559748700066,1152923561896187607, - 2305845062208063353,6008659253104,1152923555453736816,1152923554379990946,1152923556527478487,2305845056839354228,2305846046829320053,2305845054691870577, - 2305845053618132854,2305845052544386927,2305845051470649207,2041183213433,1152923544716317622,1152923543642572706,1152923551158769367,2305845046101935978, - 2305846043608094577,2305845043954452327,2305845042880714610,2305845041806968677,2305845040733230963,2030445795192,1152923533978899382,1152923532905154466, - 1152923540421351127,2305845035364517728,1152927945984054198,1152923528610187170,1152923529683932887,2305845031069550428,1152927503602423673,2305849344290461452, - 2305845027848328973,2305845026774583127,2305845025700845326,2305845024627099477,2305845023553361679,2305845022479615833,2012192184081,1152923515725288360, - 1152923514651543458,1152923525388965591,2305845017110906703,1152927503602423672,2305849339995494152,2305845013889685257,2305845012815939402,2305845011742201610, - 2305845010668455752,2305845009594717963,2305845008520972108,1998233540368,1152923501766644648,1152923500692899746,1152923511430321879,2305845003152262978, - 6329708058478,1152923496397935528,1152923495324190626,1152923497471678167,2305844997783553853,1152927945984054739,1152927947057796980,2305844994562328377, - 1152927948131538805,2305844992414844728,2305844991341102902,1152927949205280630,2305844989193619253,2305844988119877427,1152927950279022455,2305844985972393778, - 2305844984898651962,2305849451664643956,1984274892590,2305844981677426477,2305849452738385781,2305844992414844727,1969242507051,2305844977382459180, - 2305844976308717352,2305849453812127606,2305844989193619252,1963873797926,2305844972013750055,2305844970940008227,2305849454885869431,2305844985972393777, - 1958505088801,2305844966645040930,1975684957982,1152923459890714490,2305844963423815471,1953136383854,1152923456669484962,1152923492102969047, - 2305844959128848153,5357971706756,1152923452374520700,1152923453448263383,2305844954833880853,1152923452374520694,1152923449153296087,2305844951612655378, - 1152923452374517646,1152923445932070615,2305844948391429903,1152923452374517641,1152923442710845143,2305844945170204428,1152927952426506104,1152923438415873814, - 1152923439489619671,2305844940875237128,1152927951352764280,1152923434120906518,1152923435194652375,2305844936580269828,1152923602698376979,1152923429825939525, - 6339371734492,1152923427678455832,6335076767196,6336150509020,1152923424457230077,1918776645084,1152923422309746430,2305844925842855697, - 1152923420162266890,1152923419088520960,1152923430899685079,2305844921547884278,1152923425530976013,1910186710492,1152923413719811838,2305844917252921105, - 1152923411572332297,1152923410498586368,1152923415867299543,2305844912957949678,1152923424457234188,1901596775900,1152923405129877246,2305844908662986513, - 1152923402982397704,1152923401908651776,1152923407277364951,2305844904368015078,1152927839683614477,1893006841308,1152923396539942654,2305844900073051921, - 1152923394392463111,1152923393318717184,1152923398687430359,2305844895778080478,1152926869021005522,1152923389023750213,6449967142671,1152923386876270340, - 6008659248856,1152923384728782552,1152923383655040730,1152923390097495767,2305844886114404053,1881195681244,1152923379360073433,1152923378286331610, - 1152923380433819351,2305844880745694928,6448893400846,1152923373991368452,6008659248844,1152923371843880652,1152923370770138834,1152923369696397018, - 1152923375065110231,2305844872155760328,1868310779356,1152923365401429709,1152923364327687890,1152923363253946074,1152923366475175639,2305844865713309378, - 1152923365401429714,1854352135939,1152923357885236954,1152923360032724695,2305844860344600253,1152923385802524377,1152923372917622477,6445672175371, - 1152923351442785989,2305844854975891129,1152923349295302354,2305844852828407482,1152927832167421386,2305844850680928006,1840393488052,1152923343926593242, - 1152923354664015575,2305844846385956528,1152923351442790148,1835024782812,2305845234006755363,1152923337484142252,1152923336410404611,1152923335336658650, - 1152923340705371863,2305844837796021928,1152927830019938162,1826434848522,1152923329967949560,1152923328894207706,1152923332115437271,2305844831353570978, - 1152927830019938161,1819992397577,1152923323525498608,1152923322451756762,1152923325672986327,2305844824911120028,1152927830019938160,1813549946632, - 1152923317083047656,1152923316009305818,1152923319230535383,2305844818468669078,1152927830019938159,1807107495687,1152923310640596704,1152923309566854874, - 1152923312788084439,2305844812026218128,1152923452374521618,1152923305271887896,6008659253008,1152923303124403852,1152923306345633495,2305844805583767178, - 5351529255806,1152923298829439862,1152923299903182551,2305844801288799878,1152923298829436824,1152923295608215255,2305844798067574403,1152923298829440785, - 1152923291313248120,1152923292386989783,2305844793772607103,1152926862578554578,1152923287018276888,1152927843978581880,1152923284870792827,1152923288092022487, - 2305844787330156153,1152927954573989752,1152923280575825543,1152923281649571543,2305844783035188853,6338297992668,1152923276280862583,1152923275207116543, - 1152923274133374587,1152923277354604247,2305844776592737903,1152923285944534783,1152923269838407373,1152923270912153303,2305844772297770603,6446745917196, - 1152923265543439980,1152923266617186007,2305844768002803303,6449967142364,1152923261248476624,2305844764781582197,2305844763707840375,1753420404493, - 1152923256953505388,1152923262322218711,2305844759412868703,2305844765855319652,2305844757265389322,2305844756191647607,1745904211826,1152923249437312620, - 1152923253732284119,2305844751896675928,2061584308079,1152923245142345316,1152923244068603527,1152923246216091351,2305844746527966803,1152923276280862468, - 1152927837536130831,2305844743306741328,6438155978318,1152923236552410724,1152923235478668923,1152923240847382231,2305844737938032203,1152923298829440887, - 1152927950279022451,6008659248711,1152923229036222323,1152923227962476104,1152923232257447639,2305844730421839428,1152927941689087859,2305844728274360174, - 1152927941689087854,1152927940615346029,1152923220446287313,2305844723979388479,1713691952704,1152923217225057863,2305844720758163004,1710470731633, - 1152923214003832392,1152923224741254871,2305844716463195703,1152927940615346035,2305844714315716461,1152927940615346030,1152927941689087853,2305844711094486578, - 1700807050803,1152923204340155975,2305844707873261104,1697585829744,1152923201118930504,1152923210782611159,2305844703578293803,1152923285944538896, - 2305844701430810240,1152923195750221412,1152923197897709271,2305844698209584678,1152923195750225777,1152923192529000151,2305844694988359203,1152923195750225776, - 1152923189307774679,2305844691767133728,1152923195750225778,1152923186086549207,2305844688545908253,5328980677496,1152923181791578008,1152923182865323735, - 2305844684250940953,1152926856136103634,1152923177496610559,1152923176422868594,1152923175349126861,1152923178570356439,2305844677808490003,6447819659021, - 1152923171054159380,1152923172127905495,2305844673513522703,1152923175349126760,1152923167832938199,2305844670292297228,1152923175349126840,1152923164611712727, - 2305844667071071753,1152923291313243903,6008659253007,1152923159242999302,1152923161390487255,2305844661702362628,1152927481053845350,2305844659554883431, - 6008659248640,1152923152800552660,1152923156021778135,2305844655259911678,1152927934172894654,2305844653112432485,6008659248634,1152923146358101716, - 1152923149579327191,2305844648817460728,1152927932025411006,2305844646669981539,6008659248628,1152923139915650772,1152923143136876247,2305844642375009778, - 1152927929877927358,2305844640227530593,6008659248622,1152923133473199828,1152923136694425303,2305844635932558828,1152927925582960062,2305844633785079645, - 6008659248616,1152923127030748884,1152923130251974359,2305844629490107878,1152927923435476414,2305844627342628699,6008659248610,1152923120588297940, - 1152923123809523415,2305844623047656928,1152927927730443710,2305844620900177759,1152923115219588820,1152923117367072471,2305844617678947803,1152927921287992766, - 2305844615531468633,1152923109850879700,1152923111998363351,2305844612310238678,6286758381056,1152923105555912403,1152923106629654231,2305844608015271378, - 6285684639226,1152923101260945107,1152923102334686935,2305844603720304078,6284610897396,1152923096965977811,1152923098039719639,2305844599425336778, - 6283537155566,1152923092671010515,1152923093744752343,2305844595130369478,6282463413724,1152923088376043219,1152923089449785047,2305844590835402178, - 6281389671912,1152923084081075923,1152923085154817751,2305844586540434878,6280315930082,1152923079786108627,1152923080859850455,2305844582245467578, - 6279242188247,1152923075491141331,1152923076564883159,2305844577950500278,1152927816061294014,2305844575803021047,1152928016851015601,1152923069048690609, - 1152923067974948785,1152923066901206961,1152923065827465137,1152923064753723313,1152923063679981489,1152923062606239665,1152923061532497841,1152923060458756017, - 1152923059385014193,1152923058311272369,1152923057237530545,1152923056163788721,1152923055090046897,1152923054016304594,2305844557549410224,2305844556475668349, - 2305844556475668383,2305844556475668382,1152923048647591327,2305844556475668381,1152923046500107677,2305844556475668380,1152923044352624027,1152923043278882208, - 2305844556475668334,2305844556475668333,1152923040057656727,1152923038983914904,1152923037910173106,1152923037910173148,1531155842451,1152923038983914905, - 1152927962090177936,1527934616977,1152923038983914912,1152923030393983698,1152923029320238494,1152923028246496668,1152923027172754842,2305844530705859982, - 1152923029320238495,1152923023951529372,1152923022877787546,2305844526410892680,1152923023951529374,1152923019656562074,2305844523189667204,1152923019656562076, - 2305844521042183553,1152923042205140758,1152923014287852950,2305844517820958079,1152923014287852951,2305844515673474428,1152923009992890066,1152923072269915863, - 2305844512452248953,1152927818208777662,2305844510304769785,1152923054016304584,2305844508157286320,2305844507083544448,1152928016851015450,2305844504936056178, - 1152923069048690456,2305844502788572528,1152922997107986701,1152923069048690588,2305844499567347056,1152926192563655483,1152922992813016427,2305844496346121581, - 2305844497419866381,1484984948188,2305844493124896104,1152922987444307317,2305844507083544495,1152928016851015554,2305844488829928803,1152923069048690560, - 2305844486682445153,1152922981001859337,4682588100060,2305844483461219678,1152922977780631022,1472100042084,1152922975633151698,1152923006771664599, - 2305844478092510553,1152927824651228606,2305844475945031423,1152923054016304588,2305844473797547952,2305844472723806121,1152928016851015489,2305844470576317778, - 2305844469502575980,6488621848028,6487548101966,1152922961674507047,1152922960600761679,1152923067974948678,2305844463060125007,1152923066901206809, - 2305844460912641353,1152923065827464984,2305844458765157703,1152923064753723205,2305844456617674053,1152923063679981380,2305844454470190403,1152923062606239555, - 2305844452322706753,1152923061532497730,2305844450175223103,1152922944494637340,2305844448027739467,1152928016851015480,2305844445880255826,1152922940199670461, - 2305844443732772155,2305848159953228583,1432371598812,2305844440511546679,1152922934830957909,2305844472723806017,1152928016851015593,2305844436216579378, - 1152922930535994053,1152922930535994002,2305844432995353903,1152922930535994057,2305844430847870253,1152922930535993994,2305844428700386603,1152923069048690577, - 2305844426552902960,1152922920872317584,2305844424405419305,2305844437290321210,1152922917651092157,2305844421184193829,1152923067974948782,2305844419036710192, - 1152923066901206913,2305844416889226528,1152923065827465088,2305844414741742878,1152923064753723309,2305844412594259228,1152923063679981484,2305844410446775578, - 1152923062606239659,2305844408299291928,1152923061532497834,2305844406151808278,1152922900471223104,2305844404004324642,1152922900471223089,2305844401856840978, - 1152923066901206941,2305844399709357344,1152923065827465116,2305844397561873678,2305844396488131867,2305844395414390041,2305844394340648215,2305844393266906389, - 1152922887586321211,2305844391119422736,2305848113782330053,2305844388971942601,2305844387898200714,2305844386824458896,2305844385750717117,2305844384676975424, - 2305844383603233585,2305844382529491771,1372242056668,2305844380382004486,1152922874701415936,1369020826931,1152922872553936594,1152922972411926231, - 2305844375013295353,1152927822503744958,2305844372865816317,1152923054016304602,2305844370718332848,2305844369644590913,1152928016851015585,2305844367497102578, - 1152923069048690592,2305844365349618928,1152923067974948767,2305844363202135278,1152923066901206942,2305844361054651628,2305846288421227552,2305844358907169801, - 1348619736540,1152922852152837550,2305844355685942506,1152923064753723293,2305844353538458853,1152922847857873703,5264556168668,2305844350317233378, - 1152922844636644597,2305844359980909998,1152928016851015581,2305844346022266098,2305844344948524396,1152923067974948763,2305844342801040603,1152923066901206938, - 2305844340653556953,1152922834972968158,1152922833899229893,1152927982491277217,1152927995376177056,2305844335284847828,1152922829604263857,2305844333137364210, - 1152927982491277216,1152925799574149020,2305844329916138703,1152922824235550129,2305844327768655056,1152925799574149019,2305844325621173952,1152922819940582832, - 2305844323473687755,1152925799574149018,2305844321326206646,1152922815645615535,2305844319178720455,1152922813498135186,2305844317031236821,2305844359980909997, - 1152922810276910993,2305844313810014112,1152922808129426064,2305844311662527681,1152922810276909330,2305844309515044028,1152922855374066314,2305844307367560378, - 1152922855374066491,2305844305220076728,1152922855374066496,2305844303072593078,1152922855374066481,2305844300925109428,2305844388971942544,2305844298777628946, - 2305844297703887498,2305844296630145851,2305844295556404032,2305844294482662193,1284195227100,2305844292335174834,1152922786654586362,1280973997279, - 1152922784507107026,1152922869332711127,2305844286966465703,1152927820356261310,2305844284818986747,1152923054016304592,2305844282671503280,2305844281597761449, - 1152928016851015576,2305844279450272928,1152926499653818153,1152927894444447180,2305844276229052224,1152927893370705360,2305844274081563803,1152927892296963538, - 2305844271934080153,1152927891223221715,2305844269786596503,1152927479980103483,2305844267639112853,1152927478906361658,2305844265491629203,2305844264417889247, - 1152922758737300476,2305844262270403741,1152922756589815217,2305844260122920094,1152924805289219993,1152922753368589452,1248761746908,2305844255827952778, - 1152922750147364003,2305844281597761345,6008659253144,1152922746926143409,2305844250459243654,2305844249385501935,1152922743704914833,5991479383960, - 1152922741557434289,2305844245090534534,1152923069048690591,2305844242943050878,1152922737262462082,6006511769496,1152922735114983345,2305844238648083590, - 1152923069048690590,2305844236500599928,1152922730820011131,1152922729746271118,2305844233279374465,5995774351256,1152922726525048753,2305844230058148998, - 1152923069048690589,2305844227910665328,1152922722230076533,5987184416664,1152922720082597809,2305844223615698054,2305844222541956460,1152922716861367405, - 5986110674840,1152922714713888689,2305844218246988934,1152923069048690587,2305844216099505253,1152922710418916456,5996848093080,1152922708271437745, - 2305844211804537990,1152923069048690586,2305844209657054303,1152922703976465506,1152922702902728598,2305844206435828851,2305846185342012305,2305844204288350102, - 1194000913884,2305844202140861530,1152922696460273140,1190779683975,1152922694312793810,1152922781285881559,2305844196772152403,1152927813913810366, - 2305844194624673525,1152923054016304583,2305844192477190064,1152928016851015531,2305844190329701453,1152923069048690540,2305844188182217803,1152923063679981428, - 2305844186034734153,1152923062606239603,2305844183887250503,1152923061532497778,2305844181739766853,1152923060458755953,2305844179592283203,2196875777900, - 1168231110108,1152922671764210753,1152923067974948728,2305844174223574089,1152923066901206903,2305844172076090428,1152923065827465078,2305844169928606778, - 1152923064753723253,2305844167781123128,1152922662100534336,2305844165633639486,1152927957795215227,1152922658879313785,1152922657805571964,1152922656731825204, - 2305844558623152048,2305848982439461935,1152928016851015542,2305844157043704878,1152923069048690549,2305844154896221228,1152923067974948724,2305844152748737578, - 1152923066901206897,2305844150601253928,1152923065827465072,2305844148453770278,1152923064753723246,2305844146306286628,1152923063679981421,2305844144158802978, - 1152923261248472711,1152922637404472352,2305844140937577520,2305848981365720111,2305844138790093869,2305844137716352043,2305844136642610217,1152927475685136236, - 2305844134495131503,2305849454885869020,1152927474611389462,2305844131273901079,1152922625593312687,2305844129126417433,1152922623445829192,2305844126978933789, - 1152923054016304593,2305844124831455152,2305848978144494606,1152928016851015582,2305844121610224653,2305844120536482927,1152923067974948764,2305844118388999178, - 1152923066901206939,2305844116241515528,1152926660715090749,1152922609487189907,1152922608413443078,2305844111946548240,2305844142011319345,2305844109799065160, - 2305844108725322756,1098437891548,2305844106577839106,1152922600897250383,1152922658879309859,1152922598749771644,1152922597676024884,1152928016851015457, - 2305844100135388173,1152923069048690464,2305844097987904503,1152923067974948639,2305844095840420853,1152923066901206814,2305844093692937203,1152922588012348420, - 2305844091545453561,2305844102282871812,1080184280540,2305844088324228079,1152922582643639784,1076963050492,1152922580496160466,1152922691091568343, - 2305844082955518953,1152927811766326718,2305844080808040179,2305848977070752815,1152928016851015583,2305844077586809828,1152923067974948753,2305844075439326178, - 1152923066901206928,2305844073291842528,1152923065827465103,2305844071144358878,1152923064753723278,2305844068996875228,1152923063679981453,2305844066849391578, - 1152923062606239628,2305844064701907928,1152923061532497803,2305844062554424278,1152923060458755978,2305844060406940628,1152923059385014153,2305844058259456978, - 1152923058311272328,2305844056111973328,1152923057237530503,2305844053964489678,1152923056163788678,2305844051817006028,2305848975997010991,2305849502130509276, - 1152922543988938673,2305844047522038729,1152923067974948649,2305844045374555078,1152923066901206824,2305844043227071428,1152923065827464999,2305844041079587778, - 1152923064753723174,2305844038932104128,1152923063679981349,2305844036784620478,1152923062606239524,2305844034637136828,1152923061532497699,2305844032489653178, - 1152923060458755874,2305844030342169528,1152923059385014049,2305844028194685878,1152923058311272224,2305844026047202228,1152923057237530399,2305844023899718578, - 1152923056163788574,2305844021752234928,1152922516071646154,1152922514997907803,2305844159191193048,2305844017457267683,1152923069048690572,2305844015309783978, - 2305844014236042209,2305844013162300383,2305844012088558557,2305844011014816731,2305848974923269167,1152927496086230925,2305844007793596319,6008659248033, - 1152922501039265713,2305844004572365731,1152923067974948747,2305844002424882078,1152923066901206922,2305844000277398428,1152923065827465097,2305843998129914778, - 1152923064753723272,2305843995982431128,1152922490301842340,1152922489228104397,2305843992761205676,2305848973849527343,2305843990613722083,2305843989539980201, - 2305843988466238433,2305843987392496607,2305843986318754781,2305843985245012955,1152922479564424086,2305848972775785519,1152922502113007537,2305843980950045578, - 2305843979876303785,1152923067974948743,2305843977728820103,1152923066901206918,2305843975581336453,1152923065827465093,2305843973433852803,1152923064753723268, - 2305843971286369153,1152922465605780363,1152927500381198221,2305843968065148831,6008659247996,1152922461310818225,2305843964843918243,2305843963770176453, - 2305843962696434627,2305843961622692801,2305843960548950975,1152922454868362110,1152922453794623974,2305843957327725459,2305844078660552017,1152923067974948769, - 2305843954106499953,1152923066901206944,2305843951959016303,1152923065827465119,2305843949811532653,1152923064753723294,2305843947664049003,1152923063679981469, - 2305843945516565353,1152923062606239644,2305843943369081703,1152923061532497819,2305843941221598053,1152923060458755994,2305843939074114403,1152927467095197095, - 2305843936926630753,1152922431246045893,2305843934779147122,1152927466021455271,2305843932631663457,1152922426951078546,2305843930484179805,1152927464947713447, - 2305843928336696161,1152922422656111248,2305843926189212505,1152927463873971623,2305843924041728865,2305844159191193040,1152928016851015494,2305843920820503378, - 1152927462800229809,2305843918673019728,1152923067974948783,2305843916525536078,1152927461726487983,2305843914378052428,1152922408697463635,1152922407623725888, - 2305843911156826965,1152927460652746151,2305843909009343345,1152928016851015598,2305843906861859886,2305843905788118312,2305843904714376013,1152923066901206945, - 2305843902566892353,1152923065827465120,2305843900419408703,1152923064753723295,2305843898271925053,1152923063679981470,2305843896124441403,1152922390443852613, - 1152922389370114698,2305843892903215943,1152927459579004327,2305843890755732337,1152922385075143481,1152922384001401674,1152922382927663931,2305843886460764982, - 1152927458505262503,2305843884313281377,2305844159191193043,2305843882165798129,2305843881092056303,2305843880018314477,2305843878944572651,1152922373263983406, - 1152922372190245681,2305843875723346736,1152922433393529545,2305843873575863078,2305848962038367279,2305843871428379985,2305843870354637680,2305843869280895854, - 2305843868207154028,2305843867133412202,2305843866059670376,2305843864985928550,2305843863912186724,2305843862838444898,1152922357157860029,2305843860690961188, - 2305849512867927516,1152922353936635825,2305843857469735843,2305843856395993968,2305843855322252142,2305843854248510316,2305843853174768490,1152922347494183719, - 2305843851027284760,2305843906861859868,2305843848879801640,2305843847806059341,1152923066901206825,2305843845658575628,1152922339977990766,2305843843511091983, - 2305843906861859666,2305843841363608872,2305843840289866573,2305843839216124895,1152922333535539866,2305843837068641032,2305843845658575681,1152923065827465000, - 2305843833847415553,1152923064753723175,2305843831699931903,1152923063679981350,2305843829552448253,1152922323871863267,2305843827404964610,2305848960964625455, - 2305843825257481028,2305843824183739688,2305843823109997389,2305843822036255711,2305843820962513885,2305843819888772059,2305843818815030233,1152922313134445206, - 2305843816667546361,1152923069048690564,2305843814520062734,2305843813446320973,1152923066901206943,2305843811298837228,2305849473139480028,1152922304544507313, - 2305843808077611790,2305843807003870029,2305843805930128619,1152922300249539306,1152922299175800588,2305843802708902639,2305843814520062787,2305843800561419085, - 2305843799487677163,1152923065827465118,2305843797340193503,2305843796266452196,1152923063679981468,2305843794118968028,1152922288438382198,2305843791971484386, - 1152923069048690565,2305843789824000835,2305843788750259021,2305843787676517131,2305843786602775296,2305843785529033470,2305843784455291644,2305849004988045189, - 1152922277700961713,2305843781234066243,2305843780160324429,1152923066901206821,2305843778012840653,1152923065827464996,2305843775865357003,1152923064753723171, - 2305843773717873353,1152923063679981346,2305843771570389703,1152922265889800913,1152926636019029928,1152922263742322579,1152922262668575428,2305843766201680600, - 2305843789824000759,2305843764054197069,2305843762980455179,2305843761906713344,2305843760832971518,2305843759759229692,2305843781234066167,2305843757611746125, - 2305843756538004172,2305843755464262346,2305843754390520520,2305843753316778694,1152922247636189882,1152926636019028797,1152922245488711571,1152922244414964403, - 2305843747948069568,1152923066901205231,2305843745800585941,1152923065827462919,2305843743653102253,1152923064753721090,2305843741505618603,1152923063679979261, - 2305843739358134953,1152923066901204728,2305843737210651341,1152923065827462899,2305843735063167653,1152923064753721070,2305843732915684003,1152923063679979241, - 2305843730768200353,1152922225087611559,2305843814520062711,2305843727546975053,2305843726473233163,2305843725399491328,2305843724325749502,2305843723252007676, - 1152922217571418782,2305849004988045188,1152922215423935921,2305843718957040375,2305843717883298637,2305843716809556684,2305843715735814858,2305843714662073032, - 2305843713588331206,1152922207907742359,1152922206834003761,2305843710367105711,2305844159191193036,1152928016851015569,2305843707145880203,1152923069048690576, - 2305843704998396553,2305843703924655045,1152922198244069981,2305843701777171084,2305844159191193031,2305843699629687434,2305843698555945608,2305843697482204101, - 1152922191801619035,2305843695334720132,2305844159191193042,1152928016851015599,2305843692113494653,1152923069048690606,2305843689966011003,2305843688892269537, - 2305843687818527711,2305843686744785885,1152928007187338046,1152922179990460307,1152922178916713078,2305843682449818238,1152923059385014174,2305843680302334930, - 1152923058311272349,2305843678154850928,1152923057237530524,2305843676007367278,1152923056163788699,2305843673859883628,1152922168179295150,1152922167105553412, - 2305843670638658162,2305847779848622797,2305843668491178470,2305843667417436869,2305843666343694994,2305843665269953168,2305843664196211520,2305843663122469514, - 2305843662048727867,2305843660974986033,2305843659901244105,2305843658827502269,2305843657753760551,2305843656680018542,2305843655606276762,2305843654532534755, - 2305843653458793110,2305843652385050380,2305843651311308406,2305843650237563586,2305843649163821745,2305843648090083121,2305843647016342109,2305843645942600283, - 2305843644868854388,2305843643795112964,633507681756,2305843641647628903,1152922135967040485,1152928016851014472,2305843638426403812,2305843637352662077, - 2305843636278920251,2305843635205178425,2305843634131436599,2305843633057694792,2305843631983952966,2305843630910211140,2305843629836469314,1152923059385014128, - 2305843627688985153,1152923058311272303,2305843625541501503,1152923057237530478,2305843623394017853,1152923056163788653,2305843621246534203,1152923740137330538, - 1152922114492203577,2305843638426403619,2305843616951567421,2305843615877825595,2305843614804083769,2305843613730341943,2305843612656600136,2305843611582858310, - 2305843610509116484,2305843609435374658,1152923676786559010,1152922102681043502,2305843606214148663,2305843638426403755,2305843604066665546,1152927831093679564, - 592705492844,591631750620,1152922095164856184,1152922096238598004,2305843597624214053,1152922091943626160,2305843595476730409,1152922095164856183, - 1152922096238598003,2305843592255504928,1152922086574917039,2305843590108021281,1152922095164856182,1152922096238598002,2305843586886795803,1152922081206207918, - 2305843584739312156,1152922095164856181,1152922096238598001,2305843581518086678,1152922075837498797,2305843579370603031,1152923742284814201,1152922072616277866, - 1152922071542530578,2305843575075635755,2305843638426403730,2305843572928152650,2305843571854410274,2305843570780668445,2305843569706926616,2305843568633184787, - 1152922598749771626,1152922061878854152,2305843565411959310,2305843638426403722,2305843563264476234,2305843562190733858,2305843561116992029,2305843560043250200, - 2305843558969508371,1152922657805571946,1152922052215177727,2305843555748282885,2305843638426403747,2305843553600799818,2305843552527057981,2305843551453316155, - 2305843550379574329,2305843549305832503,1152922043625244593,2305843547158348284,2305843638426403785,2305843545010865213,2305843543937123387,2305843542863381561, - 2305843541789639735,2305843540715897928,2305843539642156102,2305843538568414276,2305843537494672450,2305843536420930112,2305843535347188286,2305843534273446460, - 2305843533199704634,1152923609140828010,1152922026445373927,2305843529978479092,1152922024297895804,1152923780939519436,1152927490717521786,2305843525683511778, - 2305843524609770543,1152928016851015545,2305843522462286303,1152923069048690552,2305843520314802653,1152923067974948718,2305843518167319003,5403068863964, - 1152922011412989858,1152922010339246553,2305843513872351715,6451040884188,1152922007118026192,1152927456357783416,2305843509577384403,1152922003896797219, - 1152922007118026170,1152927477832619896,2305843505282417103,1152921999601833849,2305843503134933456,2305843502061192239,1152928016851015543,2305843499913707978, - 1152927951352763852,2305843497766229878,2305843496692488053,1152921991011894705,2305843494544998856,1152923067974948723,2305843492397515203,6447819658716, - 1152921985643190130,6446745916892,1152921983495700927,1152921983495702327,2305843485955064253,1152921985643190128,1152921979200739188,2305843482733838779, - 1152927945984055157,1152921975979513716,2305843479512613304,1152921973832025519,2305843477365129665,1152921971684540884,1152923066901206898,2305843474143904193, - 1152923065827465073,2305843471996420528,1152923064753723248,2305843469848936878,1152923063679981423,2305843467701453228,1152921962020870008,2305843465553969586, - 1152921959873382166,2305843463406485973,1152928016851015540,2305843461259002493,1152923069048690550,2305843459111518628,1152923067974948725,2305843456964034978, - 2305849453812127196,2305849447369676252,444529115551,1152921948062221743,2305843451595325856,1152921949135963566,2305843449447842203,1152923298829440888, - 1152921942693511577,2305843446226616742,1152927455284041591,1152923261248476627,2305843443005391253,2305843441931650095,2305843440857908269,2305843439784166443, - 2305843438710424617,1152923066901206899,2305843436562940303,1152921930882352666,2305843434415456662,2305843607287890488,2305843432267973136,2305843431194231303, - 2305843430120489470,2305843429046749105,2305843427973005798,1152921922292422524,416611833308,505732399491,1947767669122,438086664577, - 1677184729472,2305843420456812939,1152921914776225250,409095635531,1152921912628745938,1152922577274934999,2305843415088103803,1152927809618843070, - 2305843412940625649,1605244027255,1152923054016304601,2305843409719400368,2305843408645658484,2305843407571911725,1152923069048690546,2305843405424427378, - 1152923067974948721,2305843403276943728,1152923066901206896,2305843401129460078,1152923069048690543,2305843398981976434,2305843397908234714,1152923066901206893, - 2305843395760750953,1152921890080162156,2305843406498169930,1152923067974948715,2305843391465783653,1152923066901206890,2305843389318300003,1152921883637711206, - 1152921882563969398,1152921883637711207,1152921880416491369,1152921883637711212,1152921878269007722,2305843381802107229,1152921876121519716,373662155101, - 384399573336,1152921872900298615,2305843376433398105,366145962335,1152921869679068807,1152921868605331154,1152921909407520471,2305843371064688978, - 2305844556475668330,2305844556475668329,1152921863236616527,1152927939541603792,2305843365695980961,1152921860015391053,1152921858941649270,1152921860015391054, - 1152921860015391055,2305843360327270728,2305843359253528909,2305843358179787081,1152921852499199766,1152921851425461970,1152921865384105687,2305843353884819778, - 1152927454210295203,2305843351737341872,1152928016851015544,2305843349589852478,1152923069048690551,2305843347442368828,1152923067974948726,2305843345294885178, - 1152923066901206901,2305843343147401528,1152923065827465076,2305843340999917878,1152923064753723251,2305843338852434228,1152923063679981426,2305843336704950578, - 1152923062606239601,2305843334557466928,1152923061532497776,2305843332409983278,1152923060458755951,2305843330262499628,1152923059385014126,2305843328115015978, - 1152923058311272301,2305843325967532328,1152921820286943606,2305843350663599580,2305843322746306877,2305843321672565051,2305843320598823225,2305843319525081399, - 2305843318451339573,2305843317377597747,2305843316303855921,2305843315230114095,2305843314156372269,2305843313082630443,2305843312008888617,2305843310935146791, - 1152921805254557989,1152927942762826564,298500229214,1152921802033332504,296352743703,1152923782013261692,1152921798812108872,2318208603612, - 1152921796664629096,1152921795590887276,289910292753,1152921793443397926,287762809107,1152921791295919009,1794222593500,1947767669001, - 5395552665864,1152921787000947062,2305843290534052106,1152921784853468882,1152921848204236503,2305843287312826628,6553046357905,1152921780558501588, - 1152921781632243415,2305843283017859328,6551972616080,1152921776263534292,1152921777337276119,2305843278722892028,6550898874255,1152921771968566996, - 1152921773042308823,2305843274427924728,6549825132430,1152921767673599700,1152921768747341527,2305843270132957428,6548751390605,1152921763378632404, - 1152921764452374231,2305843265837990128,6547677648780,1152921759083665108,1152921760157406935,2305843261543022828,6546603906955,1152921754788697812, - 1152921755862439639,2305843257248055528,6545530165130,1152921750493730516,1152921751567472343,2305843252953088228,6544456423305,1152921746198763220, - 1152921747272505047,2305843248658120928,6543382681480,1152921741903795924,1152921742977537751,2305843244363153628,6542308939655,1152921737608828628, - 1152921738682570455,2305843240068186328,6541235197830,1152921733313861332,1152921734387603159,2305843235773219028,6540161456005,1152921729018894036, - 1152921730092635863,2305843231478251728,6539087714180,1152921724723926740,1152921725797668567,2305843227183284428,6538013972355,1152921720428959444, - 1152921721502701271,2305843222888317128,6536940230530,1152921716133992148,1152921717207733975,2305843218593349828,6535866488721,1152921711839024851, - 1152921712912766679,2305843214298382528,6534792746896,1152921707544057555,1152921708617799383,2305843210003415228,6533719005071,1152921703249090259, - 1152921704322832087,2305843205708447928,6532645263246,1152921698954122963,1152921700027864791,2305843201413480628,6531571521421,1152921694659155667, - 1152921695732897495,2305843197118513328,6530497779596,1152921690364188371,1152921691437930199,2305843192823546028,6529424037771,1152921686069221075, - 1152921687142962903,2305843188528578728,6528350295946,1152921681774253779,1152921682847995607,2305843184233611428,6527276554121,1152921677479286483, - 1152921678553028311,2305843179938644128,6526202812296,1152921673184319187,1152921674258061015,2305843175643676828,6525129070471,1152921668889351891, - 1152921669963093719,2305843171348709528,6524055328646,1152921664594384595,1152921665668126423,2305843167053742228,6522981586821,1152921660299417299, - 1152921661373159127,2305843162758774928,6521907844996,1152921656004450003,1152921657078191831,2305843158463807628,6520834103171,1152921651709482707, - 1152921652783224535,2305843154168840328,6519760361346,1152921647414515411,1152921648488257239,2305843149873873028,6268504774358,1152927774185363150, - 1152927775259104975,137438959318,1152921642045806287,1152921640972064463,134217733846,1152921638824580815,1152921637750838991,130996508374, - 1152921635603355343,1152921634529613519,127775282902,1152921632382129871,1152921631308388047,124554057430,1152921629160904399,1152921628087162575, - 121332831958,1152921625939678927,1152921624865937103,118111606486,1152921622718453455,1152921621644711631,1152927919140509118,2305843121956591447, - 1152927916993025470,2305843119809107797,1152927914845541822,2305843117661624147,1152927912698058174,2305843115514140497,1152927910550574526,2305843113366656847, - 1152927908403090878,2305843111219173197,1152927906255607230,2305843109071689547,1152927904108123582,2305843106924205897,1152921636677091454,1152921600169869432, - 1152921599096127605,1152921598022385778,1152921596948643951,1152921595874902124,1152921594801166032,1152921593727418472,1152921636677091457,1152921591579934840, - 1152921590506193013,1152921589432451186,1152921588358709359,1152921587284967532,1152921586211225727,1152921585137483878,2305843088670589010,1152921639898316929, - 1152921581916258424,1152921580842516597,1152921579768774770,1152921578695032943,1152921577621291116,1152921576547549308,1152921575473807460,2305843079006912585, - 1152921581916258427,1152921572252582005,1152921571178840178,1152921570105098351,1152921569031356524,1152921567957614713,1152921566883872866,2305843070416977984, - 1152921572252582008,1152921563662647410,1152921562588905583,1152921561515163756,1152921560441421942,1152921559367680096,2305843062900785208,1152921563662647413, - 1152921556146454639,1152921555072712812,1152921553998970995,1152921552925229150,2305843056458334257,1152921556146454642,1152921549704003692,1152921548630261872, - 1152921547556520028,2305843051089625131,1152921549704003695,1152921544335294573,1152921543261552730,2305843046794657830,6008659252950,1152921540040327202, - 34359738498,1152927790291490527,1152921536819107549,1152921535745365724,1152921534671623898,1152921533597882073,1152928061948172209,2305843036057240819, - 1152928060874425777,2305843033909755928,1152928059800683952,2305843031762272278,1152928058726942127,2305843029614788628,1152921523934199834,1152921522860459021, - 1152928023293466545,2305843025319822349,1152928022219720113,2305843023172337678,1152928021145978288,2305843021024854028,1152928020072236463,2305843018877370378, - 1152928018998493192,7516192784,2305849288455886555,1152927776332846801,1152927776332840966,1152921508901814277,2305843012434919455,2305843010287435778 + 10,0,0,0,1152927780627814109,2305848965259597525,1152927459579008733,2305848963112113877, + 1152927457431525085,2305848960964630229,1152927455284041437,2305848958817146581,1152927453136557789,2305848956669662933,1152927450989074141,2305848954522179285, + 1152927448841590493,2305848952374695637,1152927446694106845,2305848950227211989,1152927444546623197,2305848948079728341,1152927442399139549,2305848945932244693, + 1152927440251655901,2305848943784761045,1152927438104172253,2305848941637277397,1152927435956688605,2305848939489793749,1152927433809204957,2305848937342310101, + 1152927431661721309,2305848935194826453,1152927763447944925,2305848933047342790,1152927427366754013,2305848930899859143,1152927425219270365,2305848928752375496, + 1152927423071786717,2305848926604891849,1152927420924303069,2305848924457408202,1152927418776819421,2305848922309924555,1152927416629335773,1152927415555593949, + 2305848919088699084,1152927413408110301,2305848916941215437,1152927411260626653,2305848914793731790,1152927409113143005,2305848912646248143,1152927406965659357, + 2305848910498764496,1152927404818175709,2305848908351280849,1152927402670692061,2305848906203797202,1152927400523208413,2305848904056313555,1152927747341817565, + 2305848901908829879,1152927396228241117,2305848899761346232,1152927394080757469,2305848897613862585,1152927391933273821,2305848895466378938,1152927389785790173, + 2305848893318895291,1152927387638306525,2305848891171411644,1152927385490822877,2305848889023928021,1152927383343339229,2305848886876444349,1152927381195855581, + 2305848884728960702,1152927379048371933,2305848882581477055,1152927376900888285,2305848880433993408,1152927374753404637,2305848878286509761,1152927372605920989, + 2305848876139026114,1152927370458437341,2305848873991542467,1152927368310953693,2305848871844058820,1152927737678141149,2305848869696575166,1152927364015986397, + 2305848867549091502,1152927361868502749,2305848865401607872,1152927359721019101,2305848863254124207,1152927357573535453,2305848861106640578,1152927355426051805, + 2305848858959156912,1152927353278568157,2305848856811673265,1152927351131084509,2305848854664189618,1152927348983600861,2305848852516705975,1152927346836117213, + 2305848850369222323,1152927344688633565,2305848848221738681,1152927342541149917,2305848846074255028,1152927340393666269,2305848843926771387,1152927338246182621, + 2305848841779287733,1152927336098698973,2305848839631804117,1152927720498271965,2305848837484320414,1152927331803731677,2305848835336836767,1152927329656248029, + 2305848833189353120,1152927327508764381,2305848831041869473,1152927325361280733,2305848828894385826,1152927323213797085,2305848826746902179,1152927321066313437, + 2305848824599418532,1152927318918829789,2305848822451934885,1152927316771346141,2305848820304451238,1152927314623862493,2305848818156967591,1152927312476378845, + 2305848816009483944,1152927310328895197,2305848813862000297,1152927308181411549,2305848811714516650,1152927306033927901,2305848809567033003,1152927303886444253, + 2305848807419549356,1152927703318402781,2305848805272065678,1152927299591476957,2305848803124582031,1152927297443993309,2305848800977098384,1152927295296509661, + 2305848798829614737,1152927293149026013,2305848796682131090,1152927291001542365,2305848794534647443,1152927288854058717,2305848792387163796,1152927286706575069, + 2305848790239680149,1152927284559091421,2305848788092196502,1152927282411607773,2305848785944712855,1152927280264124125,2305848783797229208,1152927278116640477, + 2305848781649745561,1152927275969156829,2305848779502261914,1152927273821673181,2305848777354778267,1152927271674189533,2305848775207294620,1152927686138533597, + 2305848773059810942,1152927267379222237,2305848770912327295,1152927265231738589,2305848768764843648,1152927263084254941,2305848766617360001,1152927260936771293, + 2305848764469876354,1152927258789287645,2305848762322392707,1152927256641803997,2305848760174909060,1152927254494320349,2305848758027425413,1152927252346836701, + 2305848755879941766,1152927250199353053,2305848753732458119,1152927248051869405,2305848751584974472,1152927245904385757,2305848749437490825,1152927243756902109, + 2305848747290007178,1152927241609418461,2305848745142523531,1152927239461934813,2305848742995039884,1152927668958664413,2305848740847556206,1152927235166967517, + 2305848738700072559,1152927233019483869,2305848736552588912,1152927230872000221,2305848734405105265,1152927228724516573,2305848732257621618,1152927226577032925, + 2305848730110137971,1152927224429549277,2305848727962654324,1152927222282065629,2305848725815170677,1152927220134581981,2305848723667687030,1152927217987098333, + 2305848721520203383,1152927215839614685,2305848719372719736,1152927213692131037,2305848717225236089,1152927211544647389,2305848715077752442,1152927209397163741, + 2305848712930268795,1152927207249680093,2305848710782785148,1152927651778795229,2305848708635301470,1152927202954712797,2305848706487817823,1152927200807229149, + 2305848704340334176,1152927198659745501,2305848702192850529,1152927196512261853,2305848700045366882,1152927194364778205,2305848697897883235,1152927192217294557, + 2305848695750399588,1152927190069810909,2305848693602915941,1152927187922327261,2305848691455432294,1152927185774843613,2305848689307948647,1152927183627359965, + 2305848687160465000,1152927181479876317,2305848685012981353,1152927179332392669,2305848682865497706,1152927177184909021,2305848680718014059,1152927175037425373, + 2305848678570530412,1152927634598926045,2305848676423046734,1152927170742458077,2305848674275563087,1152927168594974429,2305848672128079440,1152927166447490781, + 2305848669980595793,1152927164300007133,2305848667833112146,1152927162152523485,2305848665685628499,1152927160005039837,2305848663538144852,1152927157857556189, + 2305848661390661205,1152927155710072541,2305848659243177558,1152927153562588893,2305848657095693911,1152927151415105245,2305848654948210264,1152927149267621597, + 2305848652800726617,1152927147120137949,2305848650653242970,1152927144972654301,2305848648505759323,1152927142825170653,2305848646358275676,1152927617419056861, + 2305848644210791998,1152927138530203357,2305848642063308351,1152927136382719709,2305848639915824704,1152927134235236061,2305848637768341057,1152927132087752413, + 2305848635620857410,1152927129940268765,2305848633473373763,1152927127792785117,2305848631325890116,1152927125645301469,2305848629178406469,1152927123497817821, + 2305848627030922822,1152927121350334173,2305848624883439175,1152927119202850525,2305848622735955528,1152927117055366877,2305848620588471881,1152927114907883229, + 2305848618440988234,1152927112760399581,2305848616293504587,1152927110612915933,2305848614146020940,1152927600239187677,2305848611998537262,1152927106317948637, + 2305848609851053615,1152927104170464989,2305848607703569968,1152927102022981341,2305848605556086321,1152927099875497693,2305848603408602674,1152927097728014045, + 2305848601261119027,1152927095580530397,2305848599113635380,1152927093433046749,2305848596966151733,1152927091285563101,2305848594818668086,1152927089138079453, + 2305848592671184439,1152927086990595805,2305848590523700792,1152927084843112157,2305848588376217145,1152927082695628509,2305848586228733498,1152927080548144861, + 2305848584081249851,1152927078400661213,2305848581933766204,1152927583059318493,2305848579786282526,1152927074105693917,2305848577638798879,1152927071958210269, + 2305848575491315232,1152927069810726621,2305848573343831585,1152927067663242973,2305848571196347938,1152927065515759325,2305848569048864291,1152927063368275677, + 2305848566901380644,1152927061220792029,2305848564753896997,1152927059073308381,2305848562606413350,1152927056925824733,2305848560458929703,1152927054778341085, + 2305848558311446056,1152927052630857437,2305848556163962409,1152927050483373789,2305848554016478762,1152927048335890141,2305848551868995115,1152927046188406493, + 2305848549721511468,1152927565879449309,2305848547574027790,1152927041893439197,2305848545426544143,1152927039745955549,2305848543279060496,1152927037598471901, + 2305848541131576849,1152927035450988253,2305848538984093202,1152927033303504605,2305848536836609555,1152927031156020957,2305848534689125908,1152927029008537309, + 2305848532541642261,1152927026861053661,2305848530394158614,1152927024713570013,2305848528246674967,1152927022566086365,2305848526099191320,1152927020418602717, + 2305848523951707673,1152927018271119069,2305848521804224026,1152927016123635421,2305848519656740379,1152927013976151773,2305848517509256732,1152927548699580125, + 2305848515361773054,1152927009681184477,2305848513214289407,1152927007533700829,2305848511066805760,1152927005386217181,2305848508919322113,1152927003238733533, + 2305848506771838466,1152927001091249885,2305848504624354819,1152926998943766237,2305848502476871172,1152926996796282589,2305848500329387525,1152926994648798941, + 2305848498181903878,1152926992501315293,2305848496034420231,1152926990353831645,2305848493886936584,1152926988206347997,2305848491739452937,1152926986058864349, + 2305848489591969290,1152926983911380701,2305848487444485643,1152926981763897053,2305848485297001996,1152927531519710941,2305848483149518318,1152926977468929757, + 2305848481002034671,1152926975321446109,2305848478854551024,1152926973173962461,2305848476707067377,1152926971026478813,2305848474559583730,1152926968878995165, + 2305848472412100083,1152926966731511517,2305848470264616436,1152926964584027869,2305848468117132789,1152926962436544221,2305848465969649142,1152926960289060573, + 2305848463822165495,1152926958141576925,2305848461674681848,1152926955994093277,2305848459527198201,1152926953846609629,2305848457379714554,1152926951699125981, + 2305848455232230907,1152926949551642333,2305848453084747260,1152927789217748701,1152927530445968332,2305848449863521772,1152926944182932428,2305848447716038124, + 1152926942035448780,2305848445568554476,1152926939887965132,2305848443421070828,1152926937740481484,2305848441273587180,1152926935592997836,2305848439126103532, + 1152926933445514188,2305848436978619884,1152927522929775564,2305848434831136230,1152926929150546892,2305848432683652583,1152926927003063244,2305848430536168940, + 1152926924855579596,2305848428388685288,1152926922708095948,2305848426241201641,1152926920560612300,2305848424093717994,1152926918413128652,2305848421946234347, + 6017249187716,1152926915191904132,6017249187696,1152926913044420464,1152926914118162143,2305848415503782828,2305849451664643972,6017249186729, + 1152926907675710377,1152926909823194847,2305848410135073703,2305849339995494172,6017249186724,1152926902307002244,1152926901233260250,1152926904454485727, + 2305848403692622753,1152927856863483760,1152926896938292954,1152926898012034783,2305848399397655453,5404142605796,1152926892643325724,1152926891569583834, + 1152926893717067487,2305848394028946328,1152926892643325704,1152926887274616538,1152926888348358367,2305848389733979028,6017249187715,1152926882979649411, + 1152926881905906586,1152926884053391071,2305848384365269903,1152927967458890650,6017249187714,1152926876537198466,1152926875463455628,1152926878684681951, + 2305848377922818953,1152927966385148812,6017249187713,1152926870094747521,1152926869021004678,1152926872242231007,2305848371480368003,1152927965311406982, + 6017249187712,1152926863652296576,1152926862578553728,1152926865799780063,2305848365037917053,6462852044571,1152926858283586444,1152926857209845466, + 1152926859357329119,2305848359669207928,6461778302746,1152926852914877318,1152926851841136346,1152926853988619999,2305848354300498803,6460704560921, + 1152926847546168192,1152926846472427226,1152926848619910879,2305848348931789678,1152927964237665152,6459630819096,1152926841103717227,1152926840029976282, + 1152926843251201759,2305848342489338728,1152927787070265220,1152926836808750815,2305848339268113253,1152927787070265200,1152926833587525343,2305848336046887778, + 1152927787070264209,1152926830366299871,2305848332825662303,1152927787070264203,1152926827145074399,2305848329604436828,1152927787070264197,1152926823923848927, + 2305848326383211353,1152927787070264191,1152926820702623455,2305848323161985878,1152928023293466332,1152926817481397983,2305848319940760403,2305849527900313060, + 5308579583823,1152926812112688858,1152926814260172511,2305848314572051278,6506875459044,1152928013629790125,1152926806743978827,1152927992154952521, + 6510096684516,1152926803522753354,6511170426340,1152926801375269702,1152926800301528987,2305848303834633032,5308579583822,1152926797080302402, + 1152926796006561498,1152926808891463391,2305848298465923903,6509022942692,1152926791711594413,1152926790637851467,1152926789564110746,1152926788490368846, + 1152926787416626906,1152926792785336031,2305848289875989303,2305848293097214792,2305848287728505667,6507949200868,1152926780974175036,1152926779900434348, + 1152926778826692506,2305848282359796531,5272072361444,6517612877646,1152926774531724077,1152926773457983194,1152926784195401439,2305848275917345578, + 6503654233933,1152926769163014978,1152926768089274074,1152926770236757727,2305848270548636453,6502580492108,1152926763794305858,1152926762720564954, + 1152926764868048607,2305848265179927328,6501506750283,1152926758425596738,1152926757351855834,1152926759499339487,2305848259811218203,6500433008458, + 1152926753056887618,1152926751983146714,1152926754130630367,2305848254442509078,2305848282359796546,5243081332196,6516539135821,1152926745540694802, + 1152926744466953946,1152926748761921247,2305848246926316303,6515465393996,1152926740171985682,1152926739098244826,1152926741245728479,2305848241557607178, + 6514391652171,1152926734803276562,1152926733729535706,1152926735877019359,2305848236188898053,6513317910346,1152926729434567442,1152926728360826586, + 1152926730508310239,2305848230820188928,1152927969606375132,1152926725139601119,2305848227598963453,6016175445893,1152926720844633819,1152926721918375647, + 2305848223303996153,6464999528221,6017249186550,1152926715475923702,6015101702902,1152926713328440052,6014027961078,1152926711180956402, + 6012954219254,1152926709033472752,6011880477430,1152926706885989102,6010806735606,1152926704738505452,6009732993782,1152926702591021802, + 6008659251958,1152926700443538152,1152926699369797338,1152926717623408351,2305848201829159653,6505801717220,1152926695074829131,6504727975396, + 1152926692927345377,1152926779900433223,1152926690779861727,1152926689706120005,1152928009334821602,1152926687558636363,1152926790637852591,1152926685411152602, + 2305848188944257756,1152926690779862960,1152926682189928347,1152926780974176174,1152926680042444719,1152926678968701765,1152926677894961051,2305848181428064981, + 2305848180354323159,1152926678968702896,1152926673599993755,1152926695074830252,1152926671452508896,1152928014703530826,1152926669305025227,1152926668231284656, + 2305848171764388557,1152926790637852588,1152926665010059162,1152926806743979948,1152926662862575514,2305848166395679429,2305848165321937607,2305848164248195791, + 6498285524452,1152926657493865263,2305848161026970440,2305848159953228480,1152928010408563531,1152926653198897888,1152926652125156062,1152926651051414341, + 1152926685411152607,1152926691853603654,2305848152437035703,1152926670378767070,1152926779900434351,1152926644608963275,2305848148142068404,2305848147068326581, + 1152926680042443591,1152926640313995979,1152926670378767059,2305848142773359278,1152926670378767065,2305848140625875628,2305848139552133808,1152926633871546288, + 2305848137404650168,1152926790637851463,1152926630650319546,1152926629576578992,1152926652125156166,1152926627429095344,2305848130962199204,2305848129888457383, + 1152926652125156042,1152926623134126917,1152926623134128048,2305848125593490078,1152926640313996101,1152926618839160731,1152926640313997232,1152926616691677083, + 2305848120224780954,2305848119151039132,2305848118077297312,1152928002892370735,1152926630650319685,1152926610249226139,2305848113782330004,2305848112708588355, + 2305848111634846357,2305848110561104572,1152926604880516913,1152927991081210556,1152927990007468687,2305848106266137228,5095978701453,1152926599511807706, + 1152926696148571871,2305848101971169928,1152926689706121136,2305848099823686364,1152926644608963295,1152926593069355845,2305848096602460804,1152926593069356976, + 2305848094454977153,1152926640313995999,1152926587700646725,2305848091233751679,1152926587700647856,2305848089086268028,1152926678968701663,1152926582331937605, + 2305848085865042554,1152926582331938736,2305848083717558903,5184025530997,2305848081570075324,1152926651051415472,2305848079422591672,1152926644608963258, + 1152926572668261189,2305848076201366129,1152926572668262320,2305848074053882478,1152926640313995962,1152926567299552069,2305848070832657004,1152926567299553200, + 2305848068685173353,1152926652125156051,1152926561930842949,2305848065463947879,1152926561930844080,2305848063316464228,5145370825314,2305848061168980623, + 2305848060095238771,1152928010408564652,1152926553340908256,1152926552267166430,1152926551193424709,1152926551193425840,2305848053652787803,1152926552267166387, + 1152926546898457413,2305848050431562329,1152926546898458544,2305848048284078678,1152926552267166383,1152926541529748293,2305848045062853204,1152926541529749424, + 2305848042915369553,1152926552267166419,1152926536161039173,2305848039694144079,1152926536161040304,2305848037546660428,1152926552267166374,1152926530792330053, + 2305848034325434954,1152926530792331184,2305848032177951303,1152926552267166425,1152926525423620933,2305848028956725829,1152926525423622064,2305848026809242178, + 1152926552267166534,1152926520054911813,2305848023588016704,1152926520054912944,2305848021440533053,1152926552267166410,1152926514686202693,2305848018219307579, + 1152926514686203824,2305848016071823928,1152926685411153840,1152926509317494683,2305848012850598454,1152926633871545157,2305848010703114803,2305848009629373023, + 1152926503948785456,1152926575889487768,1152927988933726816,2305848005334405678,1152926505022527385,2305848003186922028,4992899486255,1152926496432592602, + 1152926596290582239,2305847998891954728,1152926630650319583,1152926492137624389,1152926686484894514,2305847994596987428,2305847993523245683,1152926652125156057, + 1152926486768915269,1152926686484894534,2305847989228278303,1152926669305025242,2305847987080794653,1152926648903931824,4975719617051,2305847983859569248, + 2305847982785827361,1152926630650319578,2305847980638343729,2305847979564601879,1152926473884014383,1152926487842658199,1152927987859984920,2305847975269634578, + 1152926474957756312,2305847973122150928,4962834715155,1152926466367821530,1152926493211367135,2305847968827183628,2305847992449503927,1152926647830190000, + 4956392265428,2305847964532216344,2305847963458474505,1152926648903930693,4952097298132,2305847960237249045,2305847959163507205,1152926453482919726, + 1152926462072854422,1152927986786243078,2305847954868539903,1152926454556661655,2305847952721056253,4942433620480,1152926445966726874,1152926463146596063, + 2305847948426088953,1152926669305025247,2305847946278605494,1152926670378767174,1152926630650319563,1152926438450534320,2305847941983638004,2305847940909896181, + 1152926779900433227,1152926434155567002,2305847937688670704,2305847936614928905,1152926627429094213,1152926645682706352,4924180009451,2305847932319961606, + 2305847931246219756,1152926647830188869,4919885043412,2305847928024994306,2305847926951252455,1152926421270665005,1152926430934341525,1152927985712501224, + 2305847922656285153,1152926422344406934,2305847920508801503,4910221365730,1152926413754472154,1152926442745501407,2305847916213834203,2305847935541187252, + 1152926643535222704,4903778916052,2305847911918866920,2305847910845125080,1152926645682705221,4899483948756,2305847907623899620,2305847906550157780, + 1152926400869570348,1152926409459505044,1152927984638759381,2305847902255190478,1152926401943312277,2305847900107706828,4889820271055,1152926393353377498, + 1152926410533246687,2305847895812739528,2305847914066350770,1152926639240255408,4883377821396,2305847891517772245,2305847890444030405,1152926643535221573, + 4879082854100,2305847887222804945,2305847886149063105,1152926380468475691,1152926389058410387,1152927983565017538,2305847881854095803,1152926381542217620, + 2305847879706612153,4869419176380,1152926372952282842,1152926390132152031,2305847875411644853,2305847893665256110,1152926638166513584,4862976726740, + 2305847871116677570,2305847870042935730,1152926639240254277,4858681759444,2305847866821710270,2305847865747968430,1152926360067381034,1152926368657315730, + 1152927982491275695,2305847861453001128,1152926361141122963,2305847859305517478,4849018081705,1152926352551188186,1152926369731057375,2305847855010550178, + 1152926438450533189,2305847852863066797,4934917427614,2305847850715582898,1152926486768916400,1152926636019029936,4838280663451,2305847846420615599, + 2305847845346873756,1152926638166512453,4833985697492,2305847842125648299,2305847841051906455,1152926335371319081,1152926345034995601,1152927981417533848, + 2305847836756939153,1152926336445061010,2305847834609455503,4824322019730,1152926327855126234,1152926349329962719,2305847830314488203,2305847849641841323, + 2305847828167004568,1152926636019028805,4816805828308,2305847824945779092,2305847823872037255,1152926318191449896,1152926323560159120,1152927980343792024, + 2305847819577069953,1152926319265191825,2305847817429586303,4807142150530,1152926310675257050,1152926324633900767,2305847813134619003,1152927868674642307, + 1152927980343792008,1152927979270050200,2305847808839651703,1152926319265191824,2305847806692168053,4796404732280,1152926299937838810,1152926307454031583, + 2305847802397200753,1152927867600900483,1152927979270050184,1152927978196308376,2305847798102233453,1152927980343792004,2305847795954749803,4785667314030, + 1152926289200420570,1152926296716613343,2305847791659782503,1152926690779861829,1152926284905453467,2305847788438557172,1152926439524276144,4777077379426, + 2305847785217331592,2305847784143589784,2305847783069847940,1152926277389260581,1152926279536744333,1152927977122566552,2305847778774880603,1152927979270050180, + 2305847776627396953,4766339961180,1152926269873067738,1152926285979195103,2305847772332429653,1152927865453416797,1152927977122566495,1152927976048824728, + 2305847768037462353,1152927978196308356,2305847765889978703,4755602542930,1152926259135649498,1152926266651842271,2305847761595011403,1152927864379674973, + 1152927976048824671,1152927974975082904,2305847757300044103,1152927977122566532,2305847755152560453,4744865124680,1152926248398231258,1152926255914424031, + 2305847750857593153,2305847784143589764,1152926244103264034,1152927974975082847,1152927976048824708,2305847745488884028,4735201448253,1152926238734554842, + 1152926245177005791,2305847741193916728,6007585511305,1152926234439587548,1152926235513329375,2305847736898949428,1152926234439587547,1152926231218362079, + 2305847733677723953,1152927972827600604,1152926227997136607,2305847730456498478,1152927972827600603,1152926224775911135,2305847727235273003,6469294495521, + 2305848293097214786,4714800354788,2305849505351735203,1152926217259717423,4711579128102,1152926215112233256,1152926692927346603,1152926212964750155, + 1152926686484895661,1152926210817267630,2305847714350371104,2305847713276629655,1152926680042444716,1152926206522300314,2305847710055404180,2305847708981662354, + 2305847707907920156,1152927971753857333,1152926201153589527,2305847704686694690,1152926212964751276,2305847702539211316,2305847701465469462,4691178033428, + 6007585511201,1152926193637396775,2305847697170501904,1152926191489914586,1152926221554685663,2305847693949276428,4696546743780,1152926187194945845, + 1152926188268689119,2305847689654309128,6518686619424,1152926182899978513,1152926181826238170,1152926183973721823,2305847684285600003,1152926202227332898, + 1152926177531269385,1152926176457529050,1152926178605012703,2305847678916890878,1152926550119683889,1152926172162561754,1152926173236303583,2305847674621923578, + 6486474364721,1152926167867593306,1152926166793852634,1152926168941336287,2305847669253214453,6485400622897,1152926162498884183,1152926161425143514, + 1152926163572627167,2305847663884505328,6484326881073,1152926157130175061,1152926156056434394,1152926158203918047,2305847658515796203,6483253139249, + 1152926151761465938,1152926150687725274,1152926152835208927,2305847653147087078,6482179397425,1152926146392756816,1152926145319016154,1152926147466499807, + 2305847647778377953,6481105655601,1152926141024047693,1152926139950307034,1152926142097790687,2305847642409668828,6480031913777,1152926135655338571, + 1152926134581597914,1152926136729081567,2305847637040959703,6478958171953,1152926130286629448,1152926129212888794,1152926131360372447,2305847631672250578, + 6476810688305,1152926124917920326,1152926123844179674,1152926125991663327,2305847626303541453,6474663204657,1152926119549211203,1152926118475470554, + 1152926120622954207,2305847620934832328,6472515721009,1152926114180502081,1152926113106761434,1152926115254245087,2305847615566123203,6470368237361, + 1152926108811792958,1152926107738052314,1152926109885535967,2305847610197414078,6518686619441,1152926103443083831,1152926102369343194,1152926104516826847, + 2305847604828704953,1152926162498884132,1152926098074375898,1152926099148117727,2305847600533737653,6486474364720,1152926093779407396,1152926092705666778, + 1152926094853150431,2305847595165028528,1152926157130174980,1152926088410699482,1152926089484441311,2305847590870061228,1152926151761465830,1152926084115732186, + 1152926085189474015,2305847586575093928,1152926146392756691,1152926079820764890,1152926080894506719,2305847582280126628,1152926141024047552,1152926075525797594, + 1152926076599539423,2305847577985159328,1152926135655338413,1152926071230830298,1152926072304572127,2305847573690192028,1152926130286629270,1152926066935863002, + 1152926068009604831,2305847569395224728,6477884430129,1152926062640894342,1152926061567153882,1152926063714637535,2305847564026515603,6486474364719, + 1152926057272185370,1152926056198444762,1152926058345928415,2305847558657806478,6486474364718,1152926051903476232,1152926050829735642,1152926052977219295, + 2305847553289097353,6486474364717,1152926046534767082,1152926045461026522,1152926047608510175,2305847547920388228,6486474364716,1152926041166057943, + 1152926040092317402,1152926042239801055,2305847542551679103,6486474364715,1152926035797348804,1152926034723608282,1152926036871091935,2305847537182969978, + 6486474364714,1152926030428639665,1152926029354899162,1152926031502382815,2305847531814260853,6486474364713,1152926025059930522,1152926023986190042, + 1152926026133673695,2305847526445551728,1152926146392756639,1152926019691222746,1152926020764964575,2305847522150584428,6481105655600,1152926015396254111, + 1152926014322513626,1152926016469997279,2305847516781875303,6480031913775,1152926010027544991,1152926008953804506,1152926011101288159,2305847511413166178, + 6478958171950,1152926004658835871,1152926003585095386,1152926005732579039,2305847506044457053,1152926046534767007,1152925999290128090,1152926000363869919, + 2305847501749489753,6485400622892,1152925994995159455,1152925993921418970,1152925996068902623,2305847496380780628,6484326881067,1152925989626450335, + 1152925988552709850,1152925990700193503,2305847491012071503,6483253139242,1152925984257741215,1152925983184000730,1152925985331484383,2305847485643362378, + 1152926439524275013,1152925978889031829,1152925977815291610,1152925979962775263,2305847480274653253,6476810688304,1152925973520322631,1152925972446582490, + 1152925974594066143,2305847474905944128,6475736946479,1152925968151613511,1152925967077873370,1152925969225357023,2305847469537235003,6474663204654, + 1152925962782904391,1152925961709164250,1152925963856647903,2305847464168525878,1152925978889031794,1152925957414196954,1152925958487938783,2305847459873558578, + 6485400622888,1152925953119227975,1152925952045487834,1152925954192971487,2305847454504849453,6484326881063,1152925947750518855,1152925946676778714, + 1152925948824262367,2305847449136140328,6483253139238,1152925942381809735,1152925941308069594,1152925943455553247,2305847443767431203,6473589462833, + 1152925937013100897,1152925935939360474,1152925938086844127,2305847438398722078,6472515721008,1152925931644391777,1152925930570651354,1152925932718135007, + 2305847433030012953,6471441979183,1152925926275682657,1152925925201942234,1152925927349425887,2305847427661303828,6470368237358,1152925920906973537, + 1152925919833233114,1152925921980716767,2305847422292594703,6486474364709,1152925915538264417,1152925914464523994,1152925916612007647,2305847416923885578, + 6485400622884,1152925910169555297,1152925909095814874,1152925911243298527,2305847411555176453,6484326881059,1152925904800846177,1152925903727105754, + 1152925905874589407,2305847406186467328,6483253139234,1152925899432137057,1152925898358396634,1152925900505880287,2305847400817758203,1152926668231283525, + 1152925894063427733,1152925892989687514,1152925895137171167,2305847395449049078,1152925894063427650,1152925888694720218,1152925889768462047,2305847391154081778, + 1152925894063427645,1152925884399752922,1152925885473494751,2305847386859114478,1152925894063427640,1152925880104785626,1152925881178527455,2305847382564147178, + 6473589462829,1152925875809816568,1152925874736076506,1152925876883560159,2305847377195438053,6472515721004,1152925870441107448,1152925869367367386, + 1152925871514851039,2305847371826728928,6471441979179,1152925865072398328,1152925863998658266,1152925866146141919,2305847366458019803,6470368237354, + 1152925859703689208,1152925858629949146,1152925860777432799,2305847361089310678,1152925894063427698,1152925854334981850,1152925855408723679,2305847356794343378, + 1152925894063427631,1152925850040014554,1152925851113756383,2305847352499376078,1152925894063427626,1152925845745047258,1152925846818789087,2305847348204408778, + 1152925894063427621,1152925841450079962,1152925842523821791,2305847343909441478,6482179397413,1152925837155110904,1152925836081370842,1152925838228854495, + 2305847338540732353,6481105655588,1152925831786401784,1152925830712661722,1152925832860145375,2305847333172023228,6480031913763,1152925826417692664, + 1152925825343952602,1152925827491436255,2305847327803314103,6478958171938,1152925821048983544,1152925819975243482,1152925822122727135,2305847322434604978, + 6017249187737,1152925815680276377,1152925814606533151,1152925813532792538,1152925816754018015,2305847315992154028,1152927988933728153,6486474364388, + 1152925808164083608,2305847311697186729,4301409752881,1152925804942856735,1152925803869116122,1152925810311567071,2305847306328477603,1152927990007469977, + 1152925808164083607,2305847303107252128,4292819818288,1152925796352922143,1152925795279181530,1152925800647890655,2305847297738543003,1152925814606533019, + 1152925790984214234,1152925792057956063,2305847293443575703,1152927985712502681,2305847291296092071,4281008658225,1152925784541761947,1152925783468021466, + 1152925787762988767,2305847285927382928,1152927984638760857,2305847283779899295,4273492465456,1152925777025569179,1152925775951828698,1152925780246795999, + 2305847278411190153,1152927983565019033,1152925808164083606,2305847275189964678,4264902530863,1152925768435634587,1152925767361894106,1152925772730603231, + 2305847269821255553,1152927982491277209,1152925808164083605,2305847266600030078,4256312596270,1152925759845699995,1152925758771959514,1152925764140668639, + 2305847261231320953,1152925808164083604,2305847259083837344,4248796403501,1152925752329507227,1152925751255766746,1152925755550734047,2305847253715128178, + 1152925808164083603,2305847251567644585,4241280210732,1152925744813314459,1152925743739573978,1152925748034541279,2305847246198935403,1152927987859986329, + 1152925808164083602,2305847242977709928,4232690276139,1152925736223379867,1152925735149639386,1152925740518348511,2305847237609000803,1152927986786244505, + 1152925808164083601,2305847234387775328,4224100341546,1152925727633445275,1152925726559704794,1152925731928413919,2305847229019066203,1152925815680275128, + 1152925722264737498,1152925723338479327,2305847224724098903,1152926492137625520,6516539135793,1152925716896026452,1152925715822286554,1152925719043512031, + 2305847218281647953,6515465393968,1152925711527317332,1152925710453577434,1152925712601061087,2305847212912938828,6514391652143,1152925706158608212, + 1152925705084868314,1152925707232351967,2305847207544229703,6513317910318,1152925700789899092,1152925699716159194,1152925701863642847,2305847202175520578, + 6469294495537,1152925695421190713,1152925694347450074,1152925696494933727,2305847196806811453,1152926680042443595,1152925690052482970,1152925688978740954, + 6477884430121,1152925686831255352,1152925691126224607,2305847189290618678,6476810688296,1152925682536288056,1152925683610031839,2305847184995651378, + 6475736946471,1152925678241320760,1152925679315064543,2305847180700684078,6474663204646,1152925673946353464,1152925675020097247,2305847176405716778, + 2305849015725463437,4165044541221,1152925668577644344,1152925670725129951,2305847171037007653,2305849015725463436,4159675832100,1152925663208935224, + 1152925665356420831,2305847165668298528,6471441979171,1152925658913967928,1152925659987711711,2305847161373331228,6470368237346,1152925654619000632, + 1152925655692744415,2305847157078363928,1152926630650320816,1152925650324035483,1152926167867594458,1152925648176549652,1152925651397777119,2305847150635912978, + 6485400622896,1152925643881584346,1152925642807840532,1152925644955326175,2305847145267203853,6484326881071,1152925638512875226,1152925637439131412, + 1152925639586617055,2305847139898494728,6483253139246,1152925633144166106,1152925632070422292,1152925634217907935,2305847134529785603,6482179397421, + 1152925627775456986,1152925626701713172,1152925628849198815,2305847129161076478,6481105655596,1152925622406747866,1152925621333004052,1152925623480489695, + 2305847123792367353,6480031913771,1152925617038038746,1152925615964294932,1152925618111780575,2305847118423658228,6478958171946,1152925611669329626, + 1152925610595585812,1152925612743071455,2305847113054949103,1152925686831257306,1152925606300618516,1152925607374362335,2305847108759981803,1152925682536290010, + 1152925602005651220,1152925603079395039,2305847104465014503,1152925678241322714,1152925597710683924,1152925598784427743,2305847100170047203,1152925673946355418, + 1152925593415716628,1152925594489460447,2305847095875079903,6473589462821,1152925589120751322,1152925588047007508,1152925590194493151,2305847090506370778, + 6472515720996,1152925583752042202,1152925582678298388,1152925584825784031,2305847085137661653,1152928006113597351,1152928005039855526,1152925577309591001, + 2305847080842694354,1152925575162107787,1152928005039855527,2305847077621468877,1152925571940882314,1152925570867140057,2305847074400243406,1152927991081211815, + 2305847072252759753,2305847071179020184,4060891584419,1152925564424687380,1152925579457074911,2305847066884050628,1152925571940882315,1152925575162107786, + 2305847063662825153,1152927991081211814,2305847061515341503,4051227908002,1152925554761010964,1152925561203463903,2305847057220374203,1152925575162107815, + 1152925571940882342,1152925549392303577,2305847052925406904,1152925547244820387,1152925575162107814,1152925571940882343,2305847048630439603,1152925542949853090, + 1152925541876110809,2305847045409214132,1152925575162107799,2305847043261730478,1152927987859986343,2305847041114246828,2305847040040507285,4029753071525, + 1152925533286174484,1152925551539787487,2305847035745537703,1152925542949853091,1152925547244820386,2305847032524312228,1152925571940882327,2305847030376828578, + 1152927987859986342,2305847028229344928,4017941911460,1152925521475014420,1152925530064951007,2305847023934377628,1152925547244820389,1152925542949853092, + 1152925516106307033,2305847019639410329,1152925575162107796,2305847017491926678,1152927984638760871,2305847015344443028,2305847014270703506,4003983267619, + 1152925507516372698,1152925506442628884,1152925518253790943,2305847008901992078,1152925542949853093,1152925547244820388,2305847005680766603,1152925571940882324, + 2305847003533282953,1152927984638760870,2305847001385799303,3991098365730,1152925494631470810,1152925493557726996,1152925503221405407,2305846996017090178, + 1152926685411152709,1152925489262761883,1152925488189017875,1152925490336503519,2305846990648381053,1152925488189017870,1152925484967794399,2305846987427155578, + 1152925488189017865,1152925481746568927,2305846984205930103,1152925488189017860,1152925478525343455,2305846980984704628,1152925488189017855,1152925475304117983, + 2305846977763479153,1152925488189017850,1152925472082892511,2305846974542253678,1152925488189017845,1152925468861667039,2305846971321028203,1152925488189017840, + 1152925465640441567,2305846968099802728,1152925488189017836,1152925462419216095,2305846964878577253,1152925488189017832,1152925459197990623,2305846961657351778, + 1152925488189017828,1152925455976765151,2305846958436126303,1152925488189017824,1152925452755539679,2305846955214900828,1152925488189017819,1152925449534314207, + 2305846951993675353,1152925488189017814,1152925446313088735,2305846948772449878,1152927990007469990,1152925442018121177,2305846945551224520,2305846944477482697, + 2305846943403743127,3933116307363,1152925436649410174,1152925443091863263,2305846939108773453,1152927990007469991,2305846936961289918,2305846935887548095, + 2305846934813808534,3924526372770,1152925428059475582,1152925433428186847,2305846930518838853,1152925575162107811,1152925571940882338,1152925422690768345, + 2305846926223871554,1152927986786244519,1152927985712502694,1152925418395801049,2305846921928904254,2305846920855162431,2305846919781422995,3909493987107, + 1152925413027092186,1152925411953348222,1152925424838252255,2305846914412711478,1152925571940882339,1152925575162107810,2305846911191486003,1152927985712502695, + 1152927986786244518,2305846907970260528,2305846906896518705,2305846905822779282,3895535343394,1152925399068448474,1152925397994704510,1152925408732124895, + 2305846900454067753,1152926629576577861,6017249187629,1152925392625997613,1152925391552253478,1152925394773481183,2305846894011616803,6017249187628, + 1152925387257288492,1152925386183544358,1152925388331030239,2305846888642907678,6017249187627,1152925381888579371,1152925380814835238,1152925382962321119, + 2305846883274198553,6017249187626,1152925376519870250,1152925375446126118,1152925377593611999,2305846877905489428,2305849378650199853,2305846875758008107, + 2305846874684266282,6017249185295,1152925367929933350,1152925372224902879,2305846870389296653,1152927508971132709,2305849378650199852,2305846867168073515, + 1152927871895868898,2305846865020587528,2305846863946845706,3853659412368,1152925357192515110,1152925364708710111,2305846859651878403,1152927507897390892, + 2305846857504397101,1152927506823649067,2305846855356911103,1152927505749907242,2305846853209427453,3842921994024,1152925346455096870,1152925353971291871, + 2305846848914460153,1152927980343793448,3837553285027,1152925341086387750,1152925343233873631,2305846843545751028,1152928000744888227,6017249185265, + 1152925335717678630,1152925337865164511,2305846838177041903,1152928000744888204,3826815866791,1152925330348969510,1152925332496455391,2305846832808332778, + 1152928000744888203,3821447157670,1152925324980260390,1152925327127746271,2305846827439623653,4070555260837,1152925320685293094,1152925321759037151, + 2305846823144656353,4067334035364,1152925316390325798,1152925317464069855,2305846818849689053,2305849384018908977,2305849493540575129,6484326881177, + 1152925309947877287,6483253139352,1152925307800393638,1152925306726651353,2305846810259754455,2305846809186012633,3798898576858,1152925302431682086, + 1152925313169102559,2305846804891045328,2305849382945167152,2305849492466833304,1152925309947877286,1152925307800393639,2305846799522336203,2305846798448594380, + 3788161158605,1152925291694263846,1152925299210458847,2305846794153627078,2305849381871425327,2305849489245607829,6480031913877,1152927507897391015, + 1152925284178070977,6478958172052,1152927507897391014,1152925280956845502,1152925279883105753,2305846783416208831,2305846782342467010,3772055031235, + 1152925275588136486,1152925288473040607,2305846778047499703,2305849380797683502,2305849488171866004,1152925280956845505,1152925282030587328,2305846772678790578, + 2305846771605048755,3761317612980,1152925264850718246,1152925272366913247,2305846767310081453,2305849370060265252,2305849381871425329,6372657731377, + 1152925258408269733,6371583989552,1152925256260786084,1152925255187043801,2305846758720146855,2305846757646405033,3747358969258,1152925250892074534, + 1152925261629495007,2305846753351437728,2305849368986523427,2305849380797683504,1152925258408269732,1152925256260786085,2305846747982728603,2305846746908986780, + 3736621551005,1152925240154656294,1152925247670851295,2305846742614019478,1152927875117094809,1152927874043352981,2305846739392794003,1152927872969611159, + 2305846737245310353,1152927871895869331,2305846735097826703,3724810393486,1152925228343496230,1152925236933433055,2305846730802859403,1152927875117094808, + 1152927874043352980,2305846727581633928,1152927872969611158,2305846725434150278,1152927871895869330,2305846723286666628,3712999233421,1152925216532336166, + 1152925225122272991,2305846718991699328,1152927980343793551,3707630524201,1152925211163627046,1152925213311112927,2305846713622990203,1152927870822127401, + 3702261815078,1152925205794917926,1152925207942403807,2305846708254281078,2305849015725463434,3696893105959,1152925200426208806,1152925202573694687, + 2305846702885571953,6477884430117,1152925196131241510,1152925197204985567,2305846698590604653,2305849494614316953,3687229429553,1152925190762533487, + 1152925189688792794,1152925192910018271,2305846692148153703,2305849495688058673,1152925185393824386,1152925184320083674,1152925186467567327,2305846686779444578, + 4294967301937,1152925180025115245,1152925178951374554,1152925181098858207,2305846681410735453,1152927991081211697,6017249185114,1152925173582664320, + 1152925172508923610,1152925175730149087,2305846674968284503,2305849495688058340,3663607109425,1152925167140213373,1152925166066472666,1152925169287698143, + 2305846668525833553,1152925814606533243,1152925162845247199,2305846665304608078,6017249185124,1152925158550279898,1152925157476536955,1152925159624021727, + 2305846659935898953,1152925814606533226,1152925154255312607,2305846656714673478,6017249187736,1152925149960345496,1152925148886602346,1152925151034087135, + 2305846651345964353,1152925180025116378,1152925144591635050,1152925145665378015,2305846647050997053,1152925814606533224,1152925141370410719,2305846643829771578, + 1152925148886602344,1152925138149185247,2305846640608546103,4294967299434,3629247371057,1152925132780476122,1152925131706733160,1152925134927959775, + 2305846634166095153,1152926574815745754,6485400623001,1152925126338025265,1152925125264280878,1152925128485508831,2305846627723644203,1152925126338025383, + 3616362468836,3615288727345,1152925118821829934,1152925122043057887,2305846621281193253,1152926595216840410,1152925114526862682,1152925115600606943, + 2305846616986225953,4063039067620,3605625050929,1152925109158153506,1152925111305639647,2305846611617516828,1152926441671759792,1152925104863188698, + 1152927990007469976,3598108858160,1152925101641960728,1152925105936930527,2305846604101324053,1152925149960345393,2305846601953842660,3591666407335, + 1152925095199509784,1152925098420737759,2305846597658873103,1152927988933728167,3586297698095,1152925089830800664,1152925091978286815,2305846592290163978, + 1152927504676165422,2305846590142682929,3579855247254,1152925083388349720,1152925086609577695,2305846585847713028,6017249187633,1152925079093385009, + 1152925078019640600,1152925080167126751,2305846580479003903,1152926437376792282,1152925073724674295,1152925074798417631,2305846576184036603,1152925073724673807, + 1152925070503450335,2305846572962811128,1152927987859986328,1152925066208482777,2305846569741586345,3559454152495,1152925062987255036,1152925067282224863, + 2305846565446618353,2305849492466833303,1152925058692287850,4304630975725,3561601633516,3550864217902,1152925054397320444,1152925059766032095, + 2305846556856683753,1152926640313995994,2305846554709201430,2305846553635459612,1152927502528681892,2305846551487977381,3541200541139,1152925044733646755, + 3539053057508,1152927502528681894,2305846546119268263,1152925040438676703,1152925039364934884,1152925051176097503,2305846541824298203,1152926686484894430, + 2305846539676815894,2305846538603074078,2305846537529330918,2305846536455590428,1152925030775002842,3535831832369,1152925028627516627,1152925036143711967, + 2305846531086879953,3541200541488,1152925024332549331,1152925025406293727,2305846526791912653,1152927505749907364,1152928003966113460,2305846523570687197, + 2305846522496945354,3512209512345,1152925015742616086,1152925021111326431,2305846518201978053,3513283251562,1152925011447647448,1152925012521391839, + 2305846513907010753,2305846696443123607,3513283251390,1152925006078939678,1152925008226424543,2305846508538301628,2305846539676815902,1152925001783973796, + 1152925002857715423,2305846504243334328,1152926644608963290,1152924997489006298,2305849382945167257,1152927879412061876,3489660931251,3488587192216, + 1152924992120294580,1152924998562748127,2305846494579657903,1152924996415261952,1152924988899071711,2305846491358432428,3535831832368,1152924984604101812, + 1152924985677846239,2305846487063465128,3512209510304,1152924980309134566,1152924981382878943,2305846482768497828,2305847304180995991,3512209509537, + 1152924974940426780,1152924977087911647,2305846477399788703,1152926678968701658,1152924970645460698,1152927878338320281,2305846473104824113,3462817388440, + 1152924966350490779,1152924971719202527,2305846468809854103,6373731473304,3535831829652,1152924960981781659,1152924963129267935,2305846463441144978, + 6374805215129,2305846550414235108,3451006225551,1152924954539330715,1152924957760558815,2305846456998694028,1152926684337411802,3541200541489, + 1152924949170621577,1152924951318107871,2305846451629984903,1152924950244363433,1152924945949398751,2305846448408759428,1152927999671146204,1152924942728173279, + 2305846445187533953,6017249187745,1152924938433206177,1152924939506947807,2305846440892566653,6017249187641,1152924934138237649,1152924933064496858, + 1152924935211980511,2305846435523857528,1152924934138237637,1152924928769529562,1152924929843271391,2305846431228890228,6017249187760,1152924924474562480, + 1152924925548304095,2305846426933922928,6017249187759,1152924920179595183,1152924921253336799,2305846422638955628,6017249187758,1152924915884627886, + 1152924916958369503,2305846418343988328,6017249187757,1152924911589660589,1152924912663402207,2305846414049021028,6017249187756,1152924907294693292, + 1152924908368434911,2305846409754053728,6017249187755,1152924902999725995,1152924904073467615,2305846405459086428,6017249187754,1152924898704758698, + 1152924899778500319,2305846401164119128,1152926687558637484,3389802944411,1152924895483533023,2305846396869151828,1152928009334822827,3385507977114, + 1152924891188565727,2305846392574184528,6487548106666,6488621845581,1152924884746114992,1152924886893598431,2305846387205475403,1152928015777273754, + 1152924881524889311,2305846383984249928,1152928014703531930,1152924878303663839,2305846380763024453,1152925814606533271,1152924875082438367,2305846377541798978, + 1152928003966112402,1152924871861212895,2305846374320573503,1152926609175484324,1152924868639987423,2305846371099348028,1152928001818628754,1152924865418761951, + 2305846367878122553,1152928000744886930,1152924862197536479,2305846364656897078,1152925815680274714,1152924858976311007,2305846361435671603,6017249187749, + 1152924854681342234,1152924855755085535,2305846357140704303,1152927991081211812,1152924850386375471,1152924851460118239,2305846352845737003,1152926777752950490, + 1152927899813156658,6396280051172,1152927901960637478,1152924842870180903,1152924841796439080,6503654233921,1152924839648955427,1152924847165150943, + 2305846342108318753,6502580492096,1152924835353988131,1152924836427732703,2305846337813351453,6501506750271,1152924831059020835,1152924832132765407, + 2305846333518384153,6500433008446,1152924826764053539,1152924827837798111,2305846329223416853,6499359266621,1152924822469086243,1152924823542830815, + 2305846324928449553,1152927901960640325,1152924818174118951,6017249184781,1152924816026636995,1152924814952896218,1152924819247863519,2305846317412256778, + 1152927999671146202,6382321407904,6017249184774,1152924808510442502,1152924807436700679,1152924811731670751,2305846309896064003,5003636905444, + 1152924803141736361,1152924802067991558,1152924800994249735,1152924804215477983,2305846303453613053,2305848168543163089,2305846301306130996,1152924795625540613, + 1152924794551801562,1152924797773027039,2305846297011162103,6397353792996,1152924790256831526,1152924789183089703,1152924790256834373,1152924787035606055, + 2305846290568711154,1152924784888122374,1152924783814383322,1152924791330576095,2305846286273743853,1152927998597403439,1152924780593157855,2305846283052518378, + 1152927888001996705,3304977339876,1152924775224445927,2305846278757551097,1152927501454939969,3267396376489,2305849402272520002,2305849403346258913, + 2305846273388841952,2305846272315103044,2305846271241358302,2305846270167619397,2305846269093874652,2305846268020135750,2305846266946391002,2305849407641226201, + 2305846264798907352,2305849408714968023,3253437729762,1152924756970834916,1152924755897095898,1152924777371932383,2305846258356456403,1152924784888125353, + 1152924751602128801,1152924750528386778,1152924752675870431,2305846252987747278,1152927885854510074,1152924746233419482,1152924747307161311,2305846248692779978, + 5003636902918,1152924741938452279,1152924740864710561,1152924739790968538,1152924743012194015,2305846242250329028,3237331604964,2305849502130509284, + 3229815412535,1152924733348514753,1152924732274775865,1152924731201034145,1152924730127292122,1152924736569743071,2305846232586652603,6017249187743, + 1152924725832325023,6000069318559,1152924723684838327,6015101704095,1152924721537354677,6004364285855,1152924719389871027,5995774351263, + 1152924717242387377,5994700609439,1152924715094903727,6005438027679,1152924712947420077,6006511769503,1152924710799936427,1152924726906066655, + 2305846213259299753,6017249187742,1152924706504972190,1152924707578713823,2305846208964332453,6017249187741,1152924702210004893,1152924703283746527, + 2305846204669365153,6017249187740,1152924697915037596,1152924698988779231,2305846200374397853,6491843073508,1152924693620070301,1152924692546328476, + 6490769331684,1152924690398841754,1152924689325103004,2305846192858205080,6489695589860,1152924686103874457,2305846189636979604,2305846188563240862, + 3178275802106,1152924694693811935,2305846185342012303,3292092437988,2305849499983026078,2305846182120789916,1152924676440198028,1152924679661426399, + 2305846178899561353,1152924683956393893,1152924673218975455,2305846175678335878,1152924683956393892,1152924669997749983,2305846172457110403,1152924683956393891, + 1152924666776524511,2305846169235884928,1152924683956393890,1152924663555299039,2305846166014659453,1152924687177619367,1152924660334073567,2305846162793433978, + 1152924687177619366,1152924657112848095,2305846159572208503,1152924691472586664,1152924653891622623,2305846156350983028,6512244168521,1152924649596655521, + 1152924648522913498,1152924650670397151,2305846150982273903,2305849521457862100,3139621099337,1152924643154203333,1152924642080462554,1152924645301688031, + 2305846144539822953,1152928016851014339,1152924638859237087,2305846141318597478,1152926680042444699,1152927992154953644,2305846138097372003,2305848113782330179, + 2305846135949888353,2305846134876148532,2305846133802407841,6017249184605,1152924635638011615,2305846130581179228,6017249186499,1152924623826851547, + 1152924624900593375,2305846126286211928,5861556622820,5829344365397,1152924618458142576,1152924617384400771,1152924620605626079,2305846119843760978, + 1152924619531884400,1152924613089433474,1152924614163175135,2305846115548793678,1152924613089433473,1152924609868207839,2305846112327568203,1152927947057796494, + 2305849467770771328,2305849465623287678,2305846108032600903,2305846106958862207,2305846105885117255,2305849463475804028,2305849461328320378,2305846102663891778, + 2305846101590153083,2305846100516408130,2305846099442666307,2305849459180836728,2305849457033353078,2305846096221440828,2305846095147702135,2305846094073957180, + 2305846093000215357,2305846091926473539,2305846090852734231,1152924585172142901,1152924584098401077,1152924584098401076,1152924581950917427,2305849466697029502, + 2305846084410280772,2305849462402062202,2305846082262797119,2305846081189055279,2305849458107094902,2305846079041571641,2305846077967829804,2305846076894087983, + 2305846075820348665,1152924570139757351,1152924569066015527,1152924569066015526,1152924566918531877,2305846070451637041,2305846106958862205,2305846068304153414, + 2305846101590153081,2305846066156669761,2305846065082927904,2305846095147702133,2305846062935444283,2305846061861702429,2305846060787960608,2305846059714221275, + 1152924554033629976,1152924552959888152,1152924552959888151,1152924550812404502,2305849468844513152,2305846053271767841,2305849464549545852,2305846051124284191, + 2305846050050542354,2305849460254578552,2305846047903058716,2305846046829316879,2305846045755575058,2305846044681835709,1152924539001244426,1152924537927502602, + 1152924537927502601,1152924535780018952,2305846039313124116,2305846038239382306,2305846037165640483,2305846036091898658,2305846091926473534,2305846033944417439, + 1152924528263826176,1152924527190084352,1152924527190084351,1152924525042600702,2305846076894087981,2305846027501966465,1152924521821375226,1152924520747633402, + 1152924520747633401,1152924518600149752,2305846022133254908,2305846060787960606,2305846019985773667,1152924514305182451,1152924513231440627,1152924513231440626, + 1152924511083956977,2305846045755575056,2305846013543322693,1152924507862731501,1152924506788989677,1152924506788989676,1152924504641506027,2305846008174611183, + 2305846007100869365,2305846006027127542,2305846004953385717,2305846003879643906,2305846091926473528,2305846001732162599,1152924496051571426,1152924494977829602, + 1152924494977829601,1152924492830345952,2305846076894087978,2305845995289711625,1152924489609120476,1152924488535378652,1152924488535378651,1152924486387895002, + 2305845989921000158,2305846060787960603,2305845987773518827,1152924482092927701,1152924481019185877,1152924481019185876,1152924478871702227,2305846045755575053, + 2305845981331067853,1152924475650476751,1152924474576734927,1152924474576734926,1152924472429251277,2305845975962356433,2305845974888614615,2305845973814872792, + 2305845972741130967,2305845971667389156,2305845970593647362,2960306214680,1152924463839316808,1152924606646982367,2305845966298680003,2305846054345509652, + 2305845964151196419,2305846014617062127,2305845962003712742,2305845960929970879,2305845982404807377,2305845958782487240,2305845957708745404,2305845956635003583, + 2946347570967,1152924449880673096,1152924460618094303,2305845952340036278,2305846037165640454,2305845950192552709,2305846006027127529,2305845948045069032, + 2305845946971327154,2305845973814872779,2305845944823843530,2305845943750101679,2305845942676359858,2932388927254,1152924435922029384,1152924446659450591, + 2305845938381392553,2305846085484022577,2305845936233908915,2305846028575705852,2305845934086425265,2305845933012683429,2305845996363451102,2305845930865199790, + 2305845929791457954,2305845928717716133,2918430283541,1152924421963385672,1152924432700806879,2305845924422748828,2305845970593647333,2913061574420, + 1152924416594676552,1152924418742163167,2305845919054039703,2305845956635003581,2907692865299,1152924411225967432,1152924413373454047,2305845913685330578, + 2305845942676359856,2902324156178,1152924405857258312,1152924408004744927,2305845908316621453,2305845928717716131,2896955447057,1152924400488549192, + 1152924402636035807,2305845902947912328,2305845970593647303,2891586737936,1152924395119840072,1152924397267326687,2305845897579203203,2305845956635003578, + 2886218028815,1152924389751130952,1152924391898617567,2305845892210494078,2305845942676359853,2880849319694,1152924384382421832,1152924386529908447, + 2305845886841784953,2305845928717716128,2875480610573,1152924379013712712,1152924381161199327,2305845881473075828,1152927947057796465,2305849468844512535, + 1152924373645003376,1152924372571261552,1152924372571261551,1152924370423777902,2305849467770770681,1152924368276294251,1152924367202552427,1152924367202552426, + 1152924365055068777,2305845868588173932,2305849466697028827,1152924361833843301,1152924360760101477,1152924360760101476,1152924358612617827,2305849465623286973, + 1152924356465134176,1152924355391392352,1152924355391392351,1152924353243908702,2305845856777013857,2305845855703272038,2305845854629530215,2305845853555788390, + 2305849464549545119,1152924346801457751,1152924345727715927,1152924345727715926,1152924343580232277,2305849463475803265,1152924341432748626,1152924340359006802, + 1152924340359006801,1152924338211523152,2305845841744628307,2305849462402061411,1152924334990297676,1152924333916555852,1152924333916555851,1152924331769072202, + 2305849461328319557,1152924329621588551,1152924328547846727,1152924328547846726,1152924326400363077,2305845829933468232,2305845828859726413,2305845827785984590, + 2305845826712242765,2305845825638500952,2305849460254577703,1152924318884170301,1152924317810428477,1152924317810428476,1152924315662944827,2305849459180835849, + 1152924313515461176,1152924312441719352,1152924312441719351,1152924310294235702,2305845813827340857,2305849458107093995,1152924307073010226,1152924305999268402, + 1152924305999268401,1152924303851784752,2305849457033352141,1152924301704301101,1152924300630559277,1152924300630559276,1152924298483075627,2305845802016180782, + 2305845800942438963,2305845799868697140,2305845798794955315,2305845797721213502,2305845796647471704,2786360039192,1152924289893141105,1152924375792490207, + 2305845792352504353,2305845862145722977,2305845790205020761,2305845835302177352,2305845788057537088,2305845786983795229,2305845807384889902,2305845784836311590, + 2305845783762569754,2305845782688827933,2772401395479,1152924275934497393,1152924286671918815,2305845778393860628,2305845854629530204,2305845776246377051, + 2305845827785984579,2305845774098893378,2305845773025151504,2305845799868697129,2305845770877667880,2305845769803926029,2305845768730184208,2758442751766, + 1152924261975853681,1152924272713275103,2305845764435216903,2305845873956883052,2305845762287733265,2305845847113337427,2305845760140249615,2305845759066507779, + 2305845819196049977,2305845756919024140,2305845755845282304,2305845754771540483,2744484108053,1152924248017209969,1152924258754631391,2305845750476573178, + 2305845796647471679,2739115398932,1152924242648500849,1152924244795987679,2305845745107864053,2305845782688827931,2733746689811,1152924237279791729, + 1152924239427278559,2305845739739154928,2305845768730184206,2728377980690,1152924231911082609,1152924234058569439,2305845734370445803,2305845754771540481, + 2723009271569,1152924226542373489,1152924228689860319,2305845729001736678,2305845796647471653,2717640562448,1152924221173664369,1152924223321151199, + 2305845723633027553,2305845782688827928,2712271853327,1152924215804955249,1152924217952442079,2305845718264318428,2305845768730184203,2706903144206, + 1152924210436246129,1152924212583732959,2305845712895609303,2305845754771540478,2701534435085,1152924205067537009,1152924207215023839,2305845707526900178, + 1152927947057796435,2864743192451,1152924199698827727,1152924201846314719,2305845702158191053,1152927498233714563,2305849467770771331,2305845698936965958, + 2305845697863224128,2305845696789482298,2305845695715740106,2305845694642001145,1152924188961409476,1152924187887667652,1152924187887667651,1152924185740184002, + 2680059598722,1152924183592700367,1152924196477605599,2305845686052063678,1152927498233714562,2305845695715743615,2305845682830841730,1152927962090182100, + 2305845680683354566,1152927497159972733,2305845678535870918,2305845677462129079,2305845676388387257,1152927959942698466,2305845674240903622,1152927958868956632, + 2305845672093419974,2305845671019678129,1152927496086230906,2305845668872194502,1152927495012489081,2305845666724710854,2305845665650969004,2305845664577227182, + 2305845663503485363,1152927493938747256,2305845661356001734,1152927492865005431,2305845659208518086,2305845658134776229,1152927491791263606,2305845655987292614, + 1152927952426505708,2305845653839808966,2305845652766067104,2305845651692325282,2305845650618583463,2305845649544841659,2305845648471102683,1152924142790511001, + 1152924141716769177,1152924141716769176,1152924139569285527,2633888700289,1152924137421801935,1152924180371478239,2305845639881165203,1152927498233714561, + 2305845649544841658,2305845636659943297,1152924175002768852,2305845634512456091,1152924172855285197,2305845632364972443,2305845631291230604,2305845630217488782, + 1152924168560317922,2305845628070005147,1152924166412834264,2305845625922521499,2305845624848779654,1152924163191608780,2305845622701296027,1152924161044125131, + 2305845620553812379,2305845619480070529,2305845618406328707,2305845617332586888,1152924155675416010,2305845615185103259,1152924153527932361,2305845613037619611, + 2305845611963877754,1152924150306706888,2305845609816394139,1152924148159223276,2305845607668910491,2305845606595168629,2305845605521426807,2305845604447684988, + 2305845603373943184,2593086510872,1152924096619612623,1152924134200579807,2305845599078975853,2305845603373943183,2587717801751,1152924091250903503, + 1152924093398390495,2305845593710266728,1152924128831870420,2305845591562783088,2581275350806,1152924084808452559,1152924088029681375,2305845587267815778, + 1152924126684386765,2305845585120332144,2574832899861,1152924078366001615,1152924081587230431,2305845580825364828,1152924122389419490,2305845578677881200, + 2568390448916,1152924071923550671,1152924075144779487,2305845574382913878,1152924120241935832,2305845572235430256,2561947997971,1152924065481099727, + 1152924068702328543,2305845567940462928,1152924117020710348,2305845565792979312,2555505547026,1152924059038648783,1152924062259877599,2305845561498011978, + 1152924114873226699,2305845559350528368,2549063096081,1152924052596197839,1152924055817426655,2305845555055561028,1152924109504517578,2305845552908077424, + 2542620645136,1152924046153746895,1152924049374975711,2305845548613110078,1152924107357033929,2305845546465626480,2536178194191,1152924039711295951, + 1152924042932524767,2305845542170659128,1152924104135808456,2305845540023175536,2529735743246,1152924033268845007,1152924036490073823,2305845535728208178, + 1152924101988324844,2305845533580724592,2523293292301,1152924026826394063,1152924030047622879,2305845529285757228,1152927947057796405,2305848995324368768, + 1152924021457684776,1152924020383942952,1152924020383942951,1152924018236459302,2512555874179,1152924016088975657,1152924023605171935,2305845518548338978, + 2305845694642001175,1152924011794008351,1152924010720266527,1152924010720266526,1152924008572782877,2305845682830841081,1152924006425299226,1152924005351557402, + 1152924005351557401,1152924003204073752,2305845506737178907,2305845679609615579,1152923999982848276,1152923998909106452,1152923998909106451,1152923996761622802, + 2305845677462131901,1152923994614139151,1152923993540397327,1152923993540397326,1152923991392913677,2305845494926018832,2305845493852277013,2305845492778535190, + 2305845491704793365,2305845673167164575,1152923984950462726,1152923983876720902,1152923983876720901,1152923981729237252,2305845671019680897,1152923979581753601, + 1152923978508011777,1152923978508011776,1152923976360528127,2305845479893633282,2305845667798455395,1152923973139302651,1152923972065560827,1152923972065560826, + 1152923969918077177,2305845665650971717,1152923967770593526,1152923966696851702,1152923966696851701,1152923964549368052,2305845468082473207,2305845467008731388, + 2305845465934989565,2305845464861247740,2305845463787505927,2305845660282262567,1152923957033175276,1152923955959433452,1152923955959433451,1152923953811949802, + 2305845658134778889,1152923951664466151,1152923950590724327,1152923950590724326,1152923948443240677,2305845451976345832,2305845654913553387,1152923945222015201, + 1152923944148273377,1152923944148273376,1152923942000789727,2305845652766069709,1152923939853306076,1152923938779564252,1152923938779564251,1152923936632080602, + 2305845440165185757,2305845439091443938,2305845438017702115,2305845436943960290,2305845435870218477,2305845434796476679,2424509044504,1152923928042146089, + 1152924012867753695,2305845430501509328,2305845500294727952,2305845428354025736,2305845473451182327,2305845426206542063,2305845425132800204,2305845445533894877, + 2305845422985316565,2305845421911574729,2305845420837832908,2410550400791,1152923914083502377,1152923924820924127,2305845416542865603,2305845492778535179, + 2305845414395382026,2305845465934989554,2305845412247898353,2305845411174156479,2305845438017702104,2305845409026672855,2305845407952931004,2305845406879189183, + 2396591757078,1152923900124858665,1152923910862280415,2305845402584221878,2305845512105888027,2305845400436738240,2305845485262342402,2305845398289254590, + 2305845397215512754,2305845457345054952,2305845395068029115,2305845393994287279,2305845392920545458,2382633113365,1152923886166214953,1152923896903636703, + 2305845388625578153,2305845434796476654,2377264404244,1152923880797505833,1152923882944992991,2305845383256869028,2305845420837832906,2371895695123, + 1152923875428796713,1152923877576283871,2305845377888159903,2305845406879189181,2366526986002,1152923870060087593,1152923872207574751,2305845372519450778, + 2305845392920545456,2361158276881,1152923864691378473,1152923866838865631,2305845367150741653,2305845434796476628,2355789567760,1152923859322669353, + 1152923861470156511,2305845361782032528,2305845420837832903,2350420858639,1152923853953960233,1152923856101447391,2305845356413323403,2305845406879189178, + 2345052149518,1152923848585251113,1152923850732738271,2305845351044614278,2305845392920545453,2339683440397,1152923843216541993,1152923845364029151, + 2305845345675905153,1152927950279022448,1152923839995320031,2305845342454679678,1152927949205280624,1152923836774094559,2305845339233454203,1152927948131538800, + 1152923833552869087,2305845336012228728,2305848902982571406,2305845333864748371,2305845332791006517,6446745917196,1152923826036672627,1152923824962934640, + 1152923830331643615,2305845327422294128,6352256636388,1152923820667967364,1152923819594225416,1152923818520479859,1152923821741709023,2305845320979843178, + 6330781799908,1152923814225516400,1152923813151770739,1152923815299258079,2305845315611134053,1152927967458891652,6017249183842,1152923807783065308, + 1152923809930548959,2305845310242424928,1152926881905907588,1152923804561839839,2305845307021199453,1152926875463456644,1152923801340614367,2305845303799973978, + 1152926869021005700,1152923798119388895,2305845300578748503,6017249187698,1152923793824421746,1152923792750679940,1152923794898163423,2305845295210039378, + 1152927785996523396,1152923788455712540,6462852044260,6461778302436,1152923785234483277,6351182894564,6350109152740,1152923782013257802, + 1152923780939515979,1152923779865774158,1152923789529454303,2305845282325137478,1152923786308228994,1152923783087003418,6017249183810,1152923773423323203, + 1152923772349581390,1152923776644552415,2305845274808944703,1152923775570810738,1152923768054617988,1152923769128359647,2305845270513977403,1152923775570810737, + 1152923763759650692,1152923764833392351,2305845266219010103,1152923819594225539,1152923760538425055,2305845262997784628,1152923784160741460,1152923756243454060, + 1152923757317199583,2305845258702817328,6017249183816,1152923751948490627,1152923750874744910,1152923753022232287,2305845253334108203,1152923785234487171, + 6460704560612,1152923745506035752,1152923744432297844,1152923743358556036,1152923747653523167,2305845245817915428,1152923744432297841,1152923739063588740, + 1152923740137330399,2305845241522948128,1152923782013261595,6349035410916,1152923733694875677,1152923732621133902,6332929283556,1152923730473650202, + 6451040884496,1152923728326166552,1152923735842363103,2305845230785529878,6449967142671,1152923724031199256,1152923725104944863,2305845226490562578, + 6448893400846,1152923719736231960,1152923720809977567,2305845222195595278,6447819659021,1152923715441264664,1152923716515010271,2305845217900627978, + 2305849469918254978,1152927965311408002,2205465708551,1152923708998817667,1152923707925075844,2305849344290461452,2305845210384439153,2200097003380, + 1152923703630104579,1152923712220042975,2305845206089467903,6017249187697,1152923699335141233,1152923698261395459,1152923700408882911,2305845200720758778, + 1152923706851334008,1152923695040173791,2305845197499533303,1152923706851334007,1152923691818948319,2305845194278307828,1152923706851334006,1152923688597722847, + 2305845191057082353,1152923706851334005,1152923685376497375,2305845187835856878,6444598433252,2305849358249105178,1152927853642258202,2174327195626, + 1152923677860304667,1152923676786559090,1152923675712817131,1152923674639075403,1152923673565337476,1152923682155271903,2305845176024696803,1152923784160745348, + 1152923669270366187,1152923668196624359,6331855542129,1152923666049140702,1152923670344111839,2305845168508504028,6347961669396,1152923661754177393, + 2305845165287282456,2154999846784,1152923658532947934,1152923662827919071,2305845160992311253,6346887927571,1152923654237984625,2305845157771089687, + 2147483654015,1152923651016755166,1152923655311726303,2305845153476118478,6345814185746,1152923646721791857,2305845150254896918,2139967461246, + 1152923643500562398,1152923647795533535,2305845145959925703,6344740443921,1152923639205599089,2305845142738704149,2132451268477,1152923635984369630, + 1152923640279340767,2305845138443732928,1152927854716000027,1152923631689402396,1152923630615664394,2305845134148769651,2123861333771,1152923627394435150, + 1152923632763147999,2305845129853798328,1152923745506035787,1152923623099471732,1152923622025729924,1152923624173213407,2305845124485089203,1152923623099471729, + 1152923617730762628,1152923618804504287,2305845120190121903,1152923784160745345,1152927948131538802,1152923612362049452,1152923611288311684,1152923614509536991, + 2305845113747670953,5373004092314,1152923606993343370,1152923608067086047,2305845109452703653,6350109153154,1152923602698376112,1152923601624631206, + 1152923603772118751,2305845104083994528,6017249187711,1152923597329667967,1152923596255922086,1152923598403409631,2305845098715285403,6017249187710, + 1152923591960958846,1152923590887212966,1152923593034700511,2305845093346576278,6017249187709,1152923586592249725,1152923585518503846,1152923587665991391, + 2305845087977867153,6017249187708,1152923581223540604,1152923580149794726,1152923582297282271,2305845082609158028,6017249187707,1152923575854831483, + 1152923574781085606,1152923576928573151,2305845077240448903,6017249187706,1152923570486122362,1152923569412376486,1152923571559864031,2305845071871739778, + 6017249187705,1152923565117413241,1152923564043667366,1152923566191154911,2305845066503030653,6017249187704,1152923559748704120,1152923558674958246, + 1152923560822445791,2305845061134321528,2305846051124287357,2305845058986837877,2305845057913100158,2305845056839354227,2305845055765616511,2045478180737, + 1152923549011284926,1152923547937540006,1152923555453736671,2305845050396903278,2305846047903061881,2305845048249419627,2305845047175681914,2305845046101935977, + 2305845045028198267,2034740762496,1152923538273866686,1152923537200121766,1152923544716318431,2305845039659485028,1152927954573988798,1152923532905154470, + 1152923533978900191,2305845035364517728,1152927512192358273,2305849352880396052,2305845032143296277,2305845031069550427,2305845029995812630,2305845028922066777, + 2305845027848328983,2305845026774583133,2016487151385,1152923520020255664,1152923518946510758,1152923529683932895,2305845021405874003,1152927512192358272, + 2305849348585428752,2305845018184652561,2305845017110906702,2305845016037168914,2305845014963423052,2305845013889685267,2305845012815939408,2002528507672, + 1152923506061611952,1152923504987867046,1152923515725289183,2305845007447230278,6338297993078,1152923500692902832,1152923499619157926,1152923501766645471, + 2305845002078521153,1152927954573989339,1152927955647731580,2305844998857295677,1152927956721473405,2305844996709812028,2305844995636070202,1152927957795215230, + 2305844993488586553,2305844992414844727,1152927958868957055,2305844990267361078,2305844989193619262,2305849460254578556,1988569859890,2305844985972393777, + 2305849461328320381,2305844996709812027,1973537474351,2305844981677426480,2305844980603684652,2305849462402062206,2305844993488586552,1968168765226, + 2305844976308717355,2305844975234975527,2305849463475804031,2305844990267361077,1962800056101,2305844970940008230,1979979925282,1152923464185681794, + 2305844967718782771,1957431351158,1152923460964452262,1152923496397936351,2305844963423815453,5366561641356,1152923456669488004,1152923457743230687, + 2305844959128848153,1152923456669487998,1152923453448263391,2305844955907622678,1152923456669484946,1152923450227037919,2305844952686397203,1152923456669484941, + 1152923447005812447,2305844949465171728,1152927961016440704,1152923442710841114,1152923443784586975,2305844945170204428,1152927959942698880,1152923438415873818, + 1152923439489619679,2305844940875237128,1152923606993344283,1152923434120906825,6347961669092,1152923431973423132,6343666701796,6344740443620, + 1152923428752197377,1923071612388,1152923426604713730,2305844930137823001,1152923424457234194,1152923423383488260,1152923435194652383,2305844925842851578, + 1152923429825943317,1914481677796,1152923418014779138,2305844921547888409,1152923415867299601,1152923414793553668,1152923420162266847,2305844917252916978, + 1152923428752201492,1905891743204,1152923409424844546,2305844912957953817,1152923407277365008,1152923406203619076,1152923411572332255,2305844908662982378, + 1152927848273549077,1897301808612,1152923400834909954,2305844904368019225,1152923398687430415,1152923397613684484,1152923402982397663,2305844900073047778, + 1152926877610940122,1152923393318717513,6458557077271,1152923391171237644,6017249183452,1152923389023749852,1152923387950008030,1152923394392463071, + 2305844890409371353,1885490648548,1152923383655040733,1152923382581298910,1152923384728786655,2305844885040662228,6457483335446,1152923378286335756, + 6017249183440,1152923376138847952,1152923375065106134,1152923373991364318,1152923379360077535,2305844876450727628,1872605746660,1152923369696397009, + 1152923368622655190,1152923367548913374,1152923370770142943,2305844870008276678,1152923369696397014,1858647103243,1152923362180204254,1152923364327691999, + 2305844864639567553,1152923390097491677,1152923377212589777,6454262109971,1152923355737753289,2305844859270858429,1152923353590269654,2305844857123374782, + 1152927840757355986,2305844854975895310,1844688455352,1152923348221560542,1152923358958982879,2305844850680923828,1152923355737757452,1839319750116, + 2305845238301722663,1152923341779109552,1152923340705371915,1152923339631625950,1152923345000339167,2305844842090989228,1152927838609872762,1830729815826, + 1152923334262916860,1152923333189175006,1152923336410404575,2305844835648538278,1152927838609872761,1824287364881,1152923327820465908,1152923326746724062, + 1152923329967953631,2305844829206087328,1152927838609872760,1817844913936,1152923321378014956,1152923320304273118,1152923323525502687,2305844822763636378, + 1152927838609872759,1811402462991,1152923314935564004,1152923313861822174,1152923317083051743,2305844816321185428,1152923456669488922,1152923309566855196, + 6017249187608,1152923307419371152,1152923310640600799,2305844809878734478,5360119190406,1152923303124407166,1152923304198149855,2305844805583767178, + 1152923303124404124,1152923299903182559,2305844802362541703,1152923303124408089,1152923295608215424,1152923296681957087,2305844798067574403,1152926871168489178, + 1152923291313244188,1152927852568516480,1152923289165760127,1152923292386989791,2305844791625123453,1152927963163924352,1152923284870792843,1152923285944538847, + 2305844787330156153,6346887927268,1152923280575829887,1152923279502083843,1152923278428341887,1152923281649571551,2305844780887705203,1152923290239502083, + 1152923274133374673,1152923275207120607,2305844776592737903,6455335851796,1152923269838407280,1152923270912153311,2305844772297770603,6458557076964, + 1152923265543443928,2305844769076549501,2305844768002807679,1757715371797,1152923261248472688,1152923266617186015,2305844763707836003,2305844770150286952, + 2305844761560356626,2305844760486614911,1750199179130,1152923253732279920,1152923258027251423,2305844756191643228,2065879275383,1152923249437312616, + 1152923248363570827,1152923250511058655,2305844750822934103,1152923280575829772,1152927846126065431,2305844747601708628,6446745912914,1152923240847378024, + 1152923239773636223,1152923245142349535,2305844742232999503,1152923303124408191,1152927958868957051,6017249183307,1152923233331189627,1152923232257443404, + 1152923236552414943,2305844734716806728,1152927950279022459,2305844732569327478,1152927950279022454,1152927949205280629,1152923224741254617,2305844728274355779, + 1717986920004,1152923221520025163,2305844725053130304,1714765698937,1152923218298799692,1152923229036222175,2305844720758163003,1152927949205280635, + 2305844718610683765,1152927949205280630,1152927950279022453,2305844715389453878,1705102018103,1152923208635123275,2305844712168228404,1701880797048, + 1152923205413897804,1152923215077578463,2305844707873261103,1152923290239506200,2305844705725777540,1152923200045188712,1152923202192676575,2305844702504551978, + 1152923200045193081,1152923196823967455,2305844699283326503,1152923200045193080,1152923193602741983,2305844696062101028,1152923200045193082,1152923190381516511, + 2305844692840875553,5337570612096,1152923186086545308,1152923187160291039,2305844688545908253,1152926864726038234,1152923181791577859,1152923180717835894, + 1152923179644094161,1152923182865323743,2305844682103457303,6456409593621,1152923175349126680,1152923176422872799,2305844677808490003,1152923179644094060, + 1152923172127905503,2305844674587264528,1152923179644094140,1152923168906680031,2305844671366039053,1152923295608211203,6017249187607,1152923163537966602, + 1152923165685454559,2305844665997329928,1152927489643779950,2305844663849850735,6017249183236,1152923157095519964,1152923160316745439,2305844659554878978, + 1152927942762829254,2305844657407399789,6017249183230,1152923150653069020,1152923153874294495,2305844653112428028,1152927940615345606,2305844650964948843, + 6017249183224,1152923144210618076,1152923147431843551,2305844646669977078,1152927938467861958,2305844644522497897,6017249183218,1152923137768167132, + 1152923140989392607,2305844640227526128,1152927934172894662,2305844638080046949,6017249183212,1152923131325716188,1152923134546941663,2305844633785075178, + 1152927932025411014,2305844631637596003,6017249183206,1152923124883265244,1152923128104490719,2305844627342624228,1152927936320378310,2305844625195145063, + 1152923119514556124,1152923121662039775,2305844621973915103,1152927929877927366,2305844619826435937,1152923114145847004,1152923116293330655,2305844616605205978, + 6295348315652,1152923109850879707,1152923110924621535,2305844612310238678,6294274573822,1152923105555912411,1152923106629654239,2305844608015271378, + 6293200831992,1152923101260945115,1152923102334686943,2305844603720304078,6292127090162,1152923096965977819,1152923098039719647,2305844599425336778, + 6291053348320,1152923092671010523,1152923093744752351,2305844595130369478,6289979606508,1152923088376043227,1152923089449785055,2305844590835402178, + 6288905864678,1152923084081075931,1152923085154817759,2305844586540434878,6287832122843,1152923079786108635,1152923080859850463,2305844582245467578, + 1152927824651228614,2305844580097988351,1152928025440950201,1152923073343657913,1152923072269916089,1152923071196174265,1152923070122432441,1152923069048690617, + 1152923067974948793,1152923066901206969,1152923065827465145,1152923064753723321,1152923063679981497,1152923062606239673,1152923061532497849,1152923060458756025, + 1152923059385014201,1152923058311271898,2305844561844377528,2305844560770635653,2305844560770635687,2305844560770635686,1152923052942558627,2305844560770635685, + 1152923050795074977,2305844560770635684,1152923048647591327,1152923047573849508,2305844560770635638,2305844560770635637,1152923044352624027,1152923043278882204, + 1152923042205140406,1152923042205140448,1535450809751,1152923043278882205,1152927970680112532,1532229584277,1152923043278882212,1152923034688951002, + 1152923033615205794,1152923032541463968,1152923031467722142,2305844535000827282,1152923033615205795,1152923028246496672,1152923027172754846,2305844530705859980, + 1152923028246496674,1152923023951529374,2305844527484634504,1152923023951529376,2305844525337150853,1152923046500108058,1152923018582820250,2305844522115925379, + 1152923018582820251,2305844519968441728,1152923014287857370,1152923076564883167,2305844516747216253,1152927826798712262,2305844514599737089,1152923058311271888, + 2305844512452253624,2305844511378511752,1152928025440950050,2305844509231023478,1152923073343657760,2305844507083539828,1152923001402954005,1152923073343657892, + 2305844503862314356,1152926201153590083,1152922997107983727,2305844500641088881,2305844501714833685,1489279915492,2305844497419863404,1152922991739274617, + 2305844511378511799,1152928025440950154,2305844493124896103,1152923073343657864,2305844490977412453,1152922985296826641,4691178034660,2305844487756186978, + 1152922982075598322,1476395009384,1152922979928119002,1152923011066631903,2305844482387477853,1152927833241163206,2305844480239998727,1152923058311271892, + 2305844478092515256,2305844477018773425,1152928025440950089,2305844474871285078,2305844473797543280,6497211782628,6496138036562,1152922965969474351, + 1152922964895728979,1152923072269915982,2305844467355092307,1152923071196174113,2305844465207608653,1152923070122432288,2305844463060125003,1152923069048690509, + 2305844460912641353,1152923067974948684,2305844458765157703,1152923066901206859,2305844456617674053,1152923065827465034,2305844454470190403,1152922948789604644, + 2305844452322706767,1152928025440950080,2305844450175223126,1152922944494637765,2305844448027739455,2305848168543163183,1436666566116,2305844444806513979, + 1152922939125925209,2305844477018773321,1152928025440950193,2305844440511546678,1152922934830961357,1152922934830961306,2305844437290321203,1152922934830961361, + 2305844435142837553,1152922934830961298,2305844432995353903,1152923073343657881,2305844430847870260,1152922925167284888,2305844428700386605,2305844441585288510, + 1152922921946059461,2305844425479161129,1152923072269916086,2305844423331677492,1152923071196174217,2305844421184193828,1152923070122432392,2305844419036710178, + 1152923069048690613,2305844416889226528,1152923067974948788,2305844414741742878,1152923066901206963,2305844412594259228,1152923065827465138,2305844410446775578, + 1152922904766190408,2305844408299291942,1152922904766190393,2305844406151808278,1152923071196174245,2305844404004324644,1152923070122432420,2305844401856840978, + 2305844400783099167,2305844399709357341,2305844398635615515,2305844397561873689,1152922891881288515,2305844395414390036,2305848122372264653,2305844393266909905, + 2305844392193168018,2305844391119426200,2305844390045684421,2305844388971942728,2305844387898200889,2305844386824459075,1376537023972,2305844384676971786, + 1152922878996383236,1373315794231,1152922876848903898,1152922976706893535,2305844379308262653,1152927831093679558,2305844377160783621,1152923058311271906, + 2305844375013300152,2305844373939558217,1152928025440950185,2305844371792069878,1152923073343657896,2305844369644586228,1152923072269916071,2305844367497102578, + 1152923071196174246,2305844365349618928,2305846292716194852,2305844363202137101,1352914703844,1152922856447804850,2305844359980909806,1152923069048690597, + 2305844357833426153,1152922852152841007,5273146103268,2305844354612200678,1152922848931611897,2305844364275877298,1152928025440950181,2305844350317233398, + 2305844349243491696,1152923072269916067,2305844347096007903,1152923071196174242,2305844344948524253,1152922839267935458,1152922838194197197,1152927991081211817, + 1152928003966111656,2305844339579815128,1152922833899231161,2305844337432331510,1152927991081211816,1152925808164083620,2305844334211106003,1152922828530517429, + 2305844332063622356,1152925808164083619,2305844329916141256,1152922824235550132,2305844327768655055,1152925808164083618,2305844325621173950,1152922819940582835, + 2305844323473687755,1152922817793102490,2305844321326204121,2305844364275877297,1152922814571878297,2305844318104981416,1152922812424393368,2305844315957494981, + 1152922814571876634,2305844313810011328,1152922859669033618,2305844311662527678,1152922859669033795,2305844309515044028,1152922859669033800,2305844307367560378, + 1152922859669033785,2305844305220076728,2305844393266909848,2305844303072596250,2305844301998854802,2305844300925113155,2305844299851371336,2305844298777629497, + 1288490194404,2305844296630142134,1152922790949553662,1285268964579,1152922788802074330,1152922873627678431,2305844291261433003,1152927828946195910, + 2305844289113954051,1152923058311271896,2305844286966470584,2305844285892728753,1152928025440950176,2305844283745240228,1152926508243752753,1152927903034381780, + 2305844280524019528,1152927901960639960,2305844278376531103,1152927900886898138,2305844276229047453,1152927899813156315,2305844274081563803,1152927488570038083, + 2305844271934080153,1152927487496296258,2305844269786596503,2305844268712856547,1152922763032267776,2305844266565371041,1152922760884782517,2305844264417887394, + 1152924809584187297,1152922757663556752,1253056714212,2305844260122920078,1152922754442331303,2305844285892728649,6017249187744,1152922751221110713, + 2305844254754210954,2305844253680469235,1152922747999882133,6000069318560,1152922745852401593,2305844249385501834,1152923073343657895,2305844247238018178, + 1152922741557429382,6015101704096,1152922739409950649,2305844242943050890,1152923073343657894,2305844240795567228,1152922735114978431,1152922734041238418, + 2305844237574341765,6004364285856,1152922730820016057,2305844234353116298,1152923073343657893,2305844232205632628,1152922726525043833,5995774351264, + 1152922724377565113,2305844227910665354,2305844226836923760,1152922721156334705,5994700609440,1152922719008855993,2305844222541956234,1152923073343657891, + 2305844220394472553,1152922714713883756,6005438027680,1152922712566405049,2305844216099505290,1152923073343657890,2305844213952021603,1152922708271432806, + 1152922707197695902,2305844210730796151,2305846189636979605,2305844208583317406,1198295881188,2305844206435828830,1152922700755240440,1195074651275, + 1152922698607761114,1152922785580848863,2305844201067119703,1152927822503744966,2305844198919640829,1152923058311271887,2305844196772157368,1152928025440950131, + 2305844194624668753,1152923073343657844,2305844192477185103,1152923067974948732,2305844190329701453,1152923066901206907,2305844188182217803,1152923065827465082, + 2305844186034734153,1152923064753723257,2305844183887250503,2201170745204,1172526077412,1152922676059178053,1152923072269916032,2305844178518541389, + 1152923071196174207,2305844176371057728,1152923070122432382,2305844174223574078,1152923069048690557,2305844172076090428,1152922666395501636,2305844169928606786, + 1152927966385149827,1152922663174281089,1152922662100539268,1152922661026792504,2305844562918119352,2305848991029396531,1152928025440950142,2305844161338672178, + 1152923073343657853,2305844159191188528,1152923072269916028,2305844157043704878,1152923071196174201,2305844154896221228,1152923070122432376,2305844152748737578, + 1152923069048690550,2305844150601253928,1152923067974948725,2305844148453770278,1152923265543440011,1152922641699439652,2305844145232544820,2305848989955654707, + 2305844143085061169,2305844142011319343,2305844140937577517,1152927484275070836,2305844138790098807,2305849463475803620,1152927483201324058,2305844135568868379, + 1152922629888279987,2305844133421384733,1152922627740796492,2305844131273901089,1152923058311271897,2305844129126422456,2305848986734429202,1152928025440950182, + 2305844125905191953,2305844124831450227,1152923072269916068,2305844122683966478,1152923071196174243,2305844120536482828,1152926669305025349,1152922613782157211, + 1152922612708410378,2305844116241515540,2305844146306286645,2305844114094032460,2305844113020290056,1102732858852,2305844110872806406,1152922605192217683, + 1152922663174277159,1152922603044738948,1152922601970992184,1152928025440950057,2305844104430355473,1152923073343657768,2305844102282871803,1152923072269915943, + 2305844100135388153,1152923071196174118,2305844097987904503,1152922592307315720,2305844095840420861,2305844106577839112,1084479247844,2305844092619195379, + 1152922586938607084,1081258017792,1152922584791127770,1152922695386535647,2305844087250486253,1152927820356261318,2305844085103007483,2305848985660687411, + 1152928025440950183,2305844081881777128,1152923072269916057,2305844079734293478,1152923071196174232,2305844077586809828,1152923070122432407,2305844075439326178, + 1152923069048690582,2305844073291842528,1152923067974948757,2305844071144358878,1152923066901206932,2305844068996875228,1152923065827465107,2305844066849391578, + 1152923064753723282,2305844064701907928,1152923063679981457,2305844062554424278,1152923062606239632,2305844060406940628,1152923061532497807,2305844058259456978, + 1152923060458755982,2305844056111973328,2305848984586945587,2305849510720443876,1152922548283905977,2305844051817006029,1152923072269915953,2305844049669522378, + 1152923071196174128,2305844047522038728,1152923070122432303,2305844045374555078,1152923069048690478,2305844043227071428,1152923067974948653,2305844041079587778, + 1152923066901206828,2305844038932104128,1152923065827465003,2305844036784620478,1152923064753723178,2305844034637136828,1152923063679981353,2305844032489653178, + 1152923062606239528,2305844030342169528,1152923061532497703,2305844028194685878,1152923060458755878,2305844026047202228,1152922520366613454,1152922519292875107, + 2305844163486160352,2305844021752234983,1152923073343657876,2305844019604751278,2305844018531009509,2305844017457267683,2305844016383525857,2305844015309784031, + 2305848983513203763,1152927504676165525,2305844012088563623,6017249182629,1152922505334233017,2305844008867333031,1152923072269916051,2305844006719849378, + 1152923071196174226,2305844004572365728,1152923070122432401,2305844002424882078,1152923069048690576,2305844000277398428,1152922494596809640,1152922493523071701, + 2305843997056172976,2305848982439461939,2305843994908689383,2305843993834947501,2305843992761205733,2305843991687463907,2305843990613722081,2305843989539980255, + 1152922483859391386,2305848981365720115,1152922506407974841,2305843985245012878,2305843984171271085,1152923072269916047,2305843982023787403,1152923071196174222, + 2305843979876303753,1152923070122432397,2305843977728820103,1152923069048690572,2305843975581336453,1152922469900747663,1152927508971132821,2305843972360116135, + 6017249182592,1152922465605785529,2305843969138885543,2305843968065143753,2305843966991401927,2305843965917660101,2305843964843918275,1152922459163329410, + 1152922458089591278,2305843961622692759,2305844082955519317,1152923072269916073,2305843958401467253,1152923071196174248,2305843956253983603,1152923070122432423, + 2305843954106499953,1152923069048690598,2305843951959016303,1152923067974948773,2305843949811532653,1152923066901206948,2305843947664049003,1152923065827465123, + 2305843945516565353,1152923064753723298,2305843943369081703,1152927475685131691,2305843941221598053,1152922435541013197,2305843939074114422,1152927474611389867, + 2305843936926630757,1152922431246045850,2305843934779147105,1152927473537648043,2305843932631663461,1152922426951078552,2305843930484179805,1152927472463906219, + 2305843928336696165,2305844163486160344,1152928025440950094,2305843925115470678,1152927471390164405,2305843922967987028,1152923072269916087,2305843920820503378, + 1152927470316422579,2305843918673019728,1152922412992430935,1152922411918693192,2305843915451794265,1152927469242680747,2305843913304310645,1152928025440950198, + 2305843911156827186,2305843910083085612,2305843909009343313,1152923071196174249,2305843906861859653,1152923070122432424,2305843904714376003,1152923069048690599, + 2305843902566892353,1152923067974948774,2305843900419408703,1152922394738819913,1152922393665082002,2305843897198183243,1152927468168938923,2305843895050699637, + 1152922389370110781,1152922388296368974,1152922387222631235,2305843890755732282,1152927467095197099,2305843888608248677,2305844163486160347,2305843886460765429, + 2305843885387023603,2305843884313281777,2305843883239539951,1152922377558950706,1152922376485212985,2305843880018314036,1152922437688496849,2305843877870830378, + 2305848970628301875,2305843875723347285,2305843874649604980,2305843873575863154,2305843872502121328,2305843871428379502,2305843870354637676,2305843869280895850, + 2305843868207154024,2305843867133412198,1152922361452827333,2305843864985928488,2305849521457862116,1152922358231603129,2305843861764703143,2305843860690961268, + 2305843859617219442,2305843858543477616,2305843857469735790,1152922351789151023,2305843855322252060,2305843911156827168,2305843853174768940,2305843852101026641, + 1152923071196174129,2305843849953542928,1152922344272958070,2305843847806059283,2305843911156826966,2305843845658576172,2305843844584833873,2305843843511092195, + 1152922337830507170,2305843841363608332,2305843849953542981,1152923070122432304,2305843838142382853,1152923069048690479,2305843835994899203,1152923067974948654, + 2305843833847415553,1152922328166830571,2305843831699931910,2305848969554560051,2305843829552448328,2305843828478706988,2305843827404964689,2305843826331223011, + 2305843825257481185,2305843824183739359,2305843823109997533,1152922317429412510,2305843820962513661,1152923073343657868,2305843818815030034,2305843817741288273, + 1152923071196174247,2305843815593804528,2305849481729414628,1152922308839474613,2305843812372579090,2305843811298837329,2305843810225095919,1152922304544506606, + 1152922303470767892,2305843807003869939,2305843818815030087,2305843804856386385,2305843803782644463,1152923070122432422,2305843801635160803,2305843800561419496, + 1152923067974948772,2305843798413935328,1152922292733349502,2305843796266451686,1152923073343657869,2305843794118968135,2305843793045226321,2305843791971484431, + 2305843790897742596,2305843789824000770,2305843788750258944,2305849013577979789,1152922281995929013,2305843785529033543,2305843784455291729,1152923071196174125, + 2305843782307807953,1152923070122432300,2305843780160324303,1152923069048690475,2305843778012840653,1152923067974948650,2305843775865357003,1152922270184768213, + 1152926644608964528,1152922268037289883,1152922266963542728,2305843770496647900,2305843794118968059,2305843768349164369,2305843767275422479,2305843766201680644, + 2305843765127938818,2305843764054196992,2305843785529033467,2305843761906713425,2305843760832971472,2305843759759229646,2305843758685487820,2305843757611745994, + 1152922251931157182,1152926644608963397,1152922249783678875,1152922248709931703,2305843752243036868,1152923071196172535,2305843750095553241,1152923070122430223, + 2305843747948069553,1152923069048688394,2305843745800585903,1152923067974946565,2305843743653102253,1152923071196172032,2305843741505618641,1152923070122430203, + 2305843739358134953,1152923069048688374,2305843737210651303,1152923067974946545,2305843735063167653,1152922229382578859,2305843818815030011,2305843731841942353, + 2305843730768200463,2305843729694458628,2305843728620716802,2305843727546974976,1152922221866386082,2305849013577979788,1152922219718903221,2305843723252007675, + 2305843722178265937,2305843721104523984,2305843720030782158,2305843718957040332,2305843717883298506,1152922212202709659,1152922211128971065,2305843714662073011, + 2305844163486160340,1152928025440950169,2305843711440847503,1152923073343657880,2305843709293363853,2305843708219622345,1152922202539037285,2305843706072138384, + 2305844163486160335,2305843703924654734,2305843702850912908,2305843701777171401,1152922196096586339,2305843699629687432,2305844163486160346,1152928025440950199, + 2305843696408461953,1152923073343657910,2305843694260978303,2305843693187236837,2305843692113495011,2305843691039753185,1152928015777272646,1152922184285427611, + 1152922183211680378,2305843686744785538,1152923063679981478,2305843684597302230,1152923062606239653,2305843682449818228,1152923061532497828,2305843680302334578, + 1152923060458756003,2305843678154850928,1152922172474262450,1152922171400520712,2305843674933625462,2305847788438557397,2305843672786145774,2305843671712404173, + 2305843670638662298,2305843669564920472,2305843668491178824,2305843667417436818,2305843666343695171,2305843665269953337,2305843664196211409,2305843663122469573, + 2305843662048727855,2305843660974985846,2305843659901244066,2305843658827502059,2305843657753760414,2305843656680017684,2305843655606275710,2305843654532530886, + 2305843653458789045,2305843652385050425,2305843651311309413,2305843650237567587,2305843649163821688,2305843648090080264,637802649060,2305843645942596203, + 1152922140262007785,1152928025440949072,2305843642721371112,2305843641647629377,2305843640573887551,2305843639500145725,2305843638426403899,2305843637352662092, + 2305843636278920266,2305843635205178440,2305843634131436614,1152923063679981432,2305843631983952453,1152923062606239607,2305843629836468803,1152923061532497782, + 2305843627688985153,1152923060458755957,2305843625541501503,1152923744432297842,1152922118787170877,2305843642721370919,2305843621246534721,2305843620172792895, + 2305843619099051069,2305843618025309243,2305843616951567436,2305843615877825610,2305843614804083784,2305843613730341958,1152923681081526310,1152922106976010802, + 2305843610509115963,2305843642721371055,2305843608361632846,1152927839683614164,597000460148,595926717924,1152922099459823488,1152922100533565308, + 2305843601919181353,1152922096238593460,2305843599771697709,1152922099459823487,1152922100533565307,2305843596550472228,1152922090869884339,2305843594402988581, + 1152922099459823486,1152922100533565306,2305843591181763103,1152922085501175218,2305843589034279456,1152922099459823485,1152922100533565305,2305843585813053978, + 1152922080132466097,2305843583665570331,1152923746579781505,1152922076911245170,1152922075837497878,2305843579370603055,2305843642721371030,2305843577223119950, + 2305843576149377574,2305843575075635745,2305843574001893916,2305843572928152087,1152922603044738930,1152922066173821452,2305843569706926610,2305843642721371022, + 2305843567559443534,2305843566485701158,2305843565411959329,2305843564338217500,2305843563264475671,1152922662100539250,1152922056510145027,2305843560043250185, + 2305843642721371047,2305843557895767118,2305843556822025281,2305843555748283455,2305843554674541629,2305843553600799803,1152922047920211893,2305843551453315584, + 2305843642721371085,2305843549305832513,2305843548232090687,2305843547158348861,2305843546084607035,2305843545010865228,2305843543937123402,2305843542863381576, + 2305843541789639750,2305843540715897412,2305843539642155586,2305843538568413760,2305843537494671934,1152923613435795314,1152922030740341227,2305843534273446392, + 1152922028592863108,1152923785234486740,1152927499307456386,2305843529978479078,2305843528904737843,1152928025440950145,2305843526757253603,1152923073343657856, + 2305843524609769953,1152923072269916022,2305843522462286303,5411658798564,1152922015707957158,1152922014634213853,2305843518167319015,6459630818788, + 1152922011412993496,1152927464947718016,2305843513872351703,1152922008191764519,1152922011412993474,1152927486422554496,2305843509577384403,1152922003896801153, + 2305843507429900756,2305843506356159539,1152928025440950143,2305843504208675278,1152927959942698452,2305843502061197182,2305843500987455357,1152921995306862005, + 2305843498839966156,1152923072269916027,2305843496692482503,6456409593316,1152921989938157434,6455335851492,1152921987790668227,1152921987790669627, + 2305843490250031553,1152921989938157432,1152921983495706492,2305843487028806079,1152927954573989757,1152921980274481020,2305843483807580604,1152921978126992819, + 2305843481660096965,1152921975979508184,1152923071196174202,2305843478438871493,1152923070122432377,2305843476291387828,1152923069048690552,2305843474143904178, + 1152923067974948727,2305843471996420528,1152921966315837312,2305843469848936886,1152921964168349466,2305843467701453273,1152928025440950140,2305843465553969793, + 1152923073343657854,2305843463406485928,1152923072269916029,2305843461259002278,2305849462402061796,2305849455959610852,448824082851,1152921952357189043, + 2305843455890293156,1152921953430930866,2305843453742809503,1152923303124408192,1152921946988478877,2305843450521584042,1152927463873976191,1152923265543443931, + 2305843447300358553,2305843446226617395,2305843445152875569,2305843444079133743,2305843443005391917,1152923071196174203,2305843440857907603,1152921935177319966, + 2305843438710423962,2305843611582857788,2305843436562940436,2305843435489198603,2305843434415456770,2305843433341716405,2305843432267973098,1152921926587389828, + 420906800612,510027366791,1952062636422,442381631877,1681479696772,2305843424751780239,1152921919071192550,413390602831, + 1152921916923713242,1152922581569902303,2305843419383071103,1152927818208777670,2305843417235592953,1609538994555,1152923058311271905,2305843414014367672, + 2305843412940625788,2305843411866879025,1152923073343657850,2305843409719394678,1152923072269916025,2305843407571911028,1152923071196174200,2305843405424427378, + 1152923073343657847,2305843403276943734,2305843402203202014,1152923071196174197,2305843400055718253,1152921894375129456,2305843410793137230,1152923072269916019, + 2305843395760750953,1152923071196174194,2305843393613267303,1152921887932678506,1152921886858936698,1152921887932678507,1152921884711458673,1152921887932678512, + 1152921882563975026,2305843386097074529,1152921880416487016,377957122401,388694540636,1152921877195265919,2305843380728365405,370440929635, + 1152921873974036107,1152921872900298458,1152921913702487775,2305843375359656278,2305844560770635634,2305844560770635633,1152921867531583827,1152927948131538392, + 2305843369990948261,1152921864310358353,1152921863236616570,1152921864310358354,1152921864310358355,2305843364622238028,2305843363548496209,2305843362474754381, + 1152921856794167066,1152921855720429274,1152921869679072991,2305843358179787078,1152927462800229799,2305843356032309176,1152928025440950144,2305843353884819778, + 1152923073343657855,2305843351737336128,1152923072269916030,2305843349589852478,1152923071196174205,2305843347442368828,1152923070122432380,2305843345294885178, + 1152923069048690555,2305843343147401528,1152923067974948730,2305843340999917878,1152923066901206905,2305843338852434228,1152923065827465080,2305843336704950578, + 1152923064753723255,2305843334557466928,1152923063679981430,2305843332409983278,1152923062606239605,2305843330262499628,1152921824581910906,2305843354958566884, + 2305843327041274177,2305843325967532351,2305843324893790525,2305843323820048699,2305843322746306873,2305843321672565047,2305843320598823221,2305843319525081395, + 2305843318451339569,2305843317377597743,2305843316303855917,2305843315230114091,1152921809549525289,1152927951352761160,302795196514,1152921806328299804, + 300647711003,1152923786308228996,1152921803107076172,2322503570916,1152921800959596400,1152921799885854580,294205260053,1152921797738365226, + 292057776407,1152921795590886313,1798517560804,1952062636301,5404142600460,1152921791295914362,2305843294829019406,1152921789148436186, + 1152921852499203807,2305843291607793928,6561636292505,1152921784853468892,1152921785927210719,2305843287312826628,6560562550680,1152921780558501596, + 1152921781632243423,2305843283017859328,6559488808855,1152921776263534300,1152921777337276127,2305843278722892028,6558415067030,1152921771968567004, + 1152921773042308831,2305843274427924728,6557341325205,1152921767673599708,1152921768747341535,2305843270132957428,6556267583380,1152921763378632412, + 1152921764452374239,2305843265837990128,6555193841555,1152921759083665116,1152921760157406943,2305843261543022828,6554120099730,1152921754788697820, + 1152921755862439647,2305843257248055528,6553046357905,1152921750493730524,1152921751567472351,2305843252953088228,6551972616080,1152921746198763228, + 1152921747272505055,2305843248658120928,6550898874255,1152921741903795932,1152921742977537759,2305843244363153628,6549825132430,1152921737608828636, + 1152921738682570463,2305843240068186328,6548751390605,1152921733313861340,1152921734387603167,2305843235773219028,6547677648780,1152921729018894044, + 1152921730092635871,2305843231478251728,6546603906955,1152921724723926748,1152921725797668575,2305843227183284428,6545530165130,1152921720428959452, + 1152921721502701279,2305843222888317128,6544456423321,1152921716133992155,1152921717207733983,2305843218593349828,6543382681496,1152921711839024859, + 1152921712912766687,2305843214298382528,6542308939671,1152921707544057563,1152921708617799391,2305843210003415228,6541235197846,1152921703249090267, + 1152921704322832095,2305843205708447928,6540161456021,1152921698954122971,1152921700027864799,2305843201413480628,6539087714196,1152921694659155675, + 1152921695732897503,2305843197118513328,6538013972371,1152921690364188379,1152921691437930207,2305843192823546028,6536940230546,1152921686069221083, + 1152921687142962911,2305843188528578728,6535866488721,1152921681774253787,1152921682847995615,2305843184233611428,6534792746896,1152921677479286491, + 1152921678553028319,2305843179938644128,6533719005071,1152921673184319195,1152921674258061023,2305843175643676828,6532645263246,1152921668889351899, + 1152921669963093727,2305843171348709528,6531571521421,1152921664594384603,1152921665668126431,2305843167053742228,6530497779596,1152921660299417307, + 1152921661373159135,2305843162758774928,6529424037771,1152921656004450011,1152921657078191839,2305843158463807628,6528350295946,1152921651709482715, + 1152921652783224543,2305843154168840328,6277094708958,1152927782775297750,1152927783849039575,141733926622,1152921646340773591,1152921645267031767, + 138512701150,1152921643119548119,1152921642045806295,135291475678,1152921639898322647,1152921638824580823,132070250206,1152921636677097175, + 1152921635603355351,128849024734,1152921633455871703,1152921632382129879,125627799262,1152921630234646231,1152921629160904407,122406573790, + 1152921627013420759,1152921625939678935,1152927927730443718,2305843126251558751,1152927925582960070,2305843124104075101,1152927923435476422,2305843121956591451, + 1152927921287992774,2305843119809107801,1152927919140509126,2305843117661624151,1152927916993025478,2305843115514140501,1152927914845541830,2305843113366656851, + 1152927912698058182,2305843111219173201,1152921640972058754,1152921604464836732,1152921603391094905,1152921602317353078,1152921601243611251,1152921600169869424, + 1152921599096133336,1152921598022385772,1152921640972058757,1152921595874902140,1152921594801160313,1152921593727418486,1152921592653676659,1152921591579934832, + 1152921590506193027,1152921589432451178,2305843092965556310,1152921644193284229,1152921586211225724,1152921585137483897,1152921584063742070,1152921582990000243, + 1152921581916258416,1152921580842516608,1152921579768774760,2305843083301879885,1152921586211225727,1152921576547549305,1152921575473807478,1152921574400065651, + 1152921573326323824,1152921572252582013,1152921571178840166,2305843074711945284,1152921576547549308,1152921567957614710,1152921566883872883,1152921565810131056, + 1152921564736389242,1152921563662647396,2305843067195752508,1152921567957614713,1152921560441421939,1152921559367680112,1152921558293938295,1152921557220196450, + 2305843060753301557,1152921560441421942,1152921553998970992,1152921552925229172,1152921551851487328,2305843055384592431,1152921553998970995,1152921548630261873, + 1152921547556520030,2305843051089625130,6017249187550,1152921544335294502,38654705798,1152927798881425127,1152921541114074853,1152921540040333028, + 1152921538966591202,1152921537892849377,1152928070538106809,2305843040352208119,1152928069464360373,2305843038204723228,1152928068390618548,2305843036057239578, + 1152928067316876723,2305843033909755928,1152921528229167134,1152921527155426321,1152928031883401145,2305843029614789649,1152928030809654709,2305843027467304978, + 1152928029735912884,2305843025319821328,1152928028662171059,2305843023172337678,1152928027588427788,11811160084,2305849297045821155,1152927784922781401, + 1152927784922775562,1152921513196781577,2305843016729886755,2305843014582403078,1152921508901814276,1152921507828072451,1152921506754330626,1152921505680588801 ] diff --git a/crates/lib/core/asm/sys/vm/mod.masm b/crates/lib/core/asm/sys/vm/mod.masm index 63e2a95dd3..9753d7a842 100644 --- a/crates/lib/core/asm/sys/vm/mod.masm +++ b/crates/lib/core/asm/sys/vm/mod.masm @@ -23,10 +23,10 @@ const ACCEPTABLE_FOLDING_POW_BITS = 4 # protocol choice: hash function, field, blowup factor, FRI folding factor, coset # offset, max remainder degree, etc. It must be bumped when any of these change. # CIRCUIT_COMMITMENT covers the AIR constraints (via the encoded ACE circuit hash). -const RELATION_DIGEST_0 = 3886624411320157031 -const RELATION_DIGEST_1 = 5903371486919752653 -const RELATION_DIGEST_2 = 170319297396068280 -const RELATION_DIGEST_3 = 5221005507035467697 +const RELATION_DIGEST_0 = 9959184209071024919 +const RELATION_DIGEST_1 = 8083906424746801292 +const RELATION_DIGEST_2 = 2491326376870921885 +const RELATION_DIGEST_3 = 2800937775438555033 #! Loads security parameters from the advice stack and stores them in memory. #! diff --git a/crates/lib/core/docs/crypto/hashes/sha256.md b/crates/lib/core/docs/crypto/hashes/sha256.md index 66df6c0f04..26fdc27005 100644 --- a/crates/lib/core/docs/crypto/hashes/sha256.md +++ b/crates/lib/core/docs/crypto/hashes/sha256.md @@ -4,6 +4,6 @@ Computes SHA2 small sigma 0.

Input: [x, ...]
Output: [y, ...]

Input: [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

Where: m[0,16) = 32 -bit word

Note, each SHA256 word is 32 -bit wide, so that's how input is expected.
As you've 64 -bytes, consider packing 4 consecutive bytes into single word,
maintaining big endian byte order.

SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ).
| -| hash | SHA256 1-to-1 hash: Given 32 -bytes input, computes 32 -bytes SHA256 digest

Expected stack state:

Input: [m0, m1, m2, m3, m4, m5, m6, m7, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

Where: m[0,8) = 32 -bit word

Note, each SHA256 word is 32 -bit wide, so that's how input is expected.
As you've 32 -bytes, consider packing 4 consecutive bytes into single word,
maintaining big endian byte order.

SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ).
| -| hash_bytes | Given a memory address and a message length in bytes, compute its sha256 digest

- There must be space for writing the padding after the message in memory
- The padding space after the message must be all zeros before this procedure is called

Input: [addr, len, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]
| +| merge | SHA256 2-to-1 hash (merge): Given 64 -bytes input, computes 32 -bytes SHA256 digest

Input: [m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

Where: m[0,16) = 32 -bit word

Note, each SHA256 word is 32 -bit wide, so that's how input is expected.
As you've 64 -bytes, consider packing 4 consecutive bytes into single word,
maintaining big endian byte order.

SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ).

Panics if:
- any input message word is not a valid 32-bit unsigned integer.

Invocation: exec
| +| hash | SHA256 1-to-1 hash: Given 32 -bytes input, computes 32 -bytes SHA256 digest

Expected stack state:

Input: [m0, m1, m2, m3, m4, m5, m6, m7, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

Where: m[0,8) = 32 -bit word

Note, each SHA256 word is 32 -bit wide, so that's how input is expected.
As you've 32 -bytes, consider packing 4 consecutive bytes into single word,
maintaining big endian byte order.

SHA256 digest is represented in terms of eight 32 -bit words ( big endian byte order ).

Panics if:
- any input message word is not a valid 32-bit unsigned integer.

Invocation: exec
| +| hash_bytes | Given a memory address and a message length in bytes, compute its sha256 digest

- There must be space for writing the padding after the message in memory
- The padding space after the message must be all zeros before this procedure is called

Input: [addr, len, ...]
Output: [dig0, dig1, dig2, dig3, dig4, dig5, dig6, dig7, ...]

Panics if:
- any loaded message word is not a valid 32-bit unsigned integer.
- padding range checks fail.

Invocation: exec
| diff --git a/crates/lib/core/tests/crypto/sha256.rs b/crates/lib/core/tests/crypto/sha256.rs index 0ac2cee9a3..b52052deb6 100644 --- a/crates/lib/core/tests/crypto/sha256.rs +++ b/crates/lib/core/tests/crypto/sha256.rs @@ -1,10 +1,26 @@ use miden_air::Serializable; use miden_crypto::hash::sha2::Sha256; +use miden_processor::{ExecutionError, operation::OperationError}; use miden_utils_testing::{ - Felt, IntoBytes, group_slice_elements, push_inputs, + Felt, IntoBytes, Test, group_slice_elements, push_inputs, rand::{rand_array, rand_value, rand_vector}, }; +const NON_U32_WORD: u64 = u32::MAX as u64 + 2; +const INVALID_SHA256_MESSAGE_WORD: &str = "invalid sha256 message word"; +const SHA256_HASH_SOURCE: &str = " + use miden::core::crypto::hashes::sha256 + + begin + exec.sha256::hash + end"; +const SHA256_MERGE_SOURCE: &str = " + use miden::core::crypto::hashes::sha256 + + begin + exec.sha256::merge + end"; + #[test] fn sha256_hash_bytes() { let length_in_bytes = rand_value::() & 1023; // length: 0-1023 @@ -73,13 +89,6 @@ fn sha256_hash_bytes() { #[test] fn sha256_2_to_1_hash() { - let source = " - use miden::core::crypto::hashes::sha256 - - begin - exec.sha256::merge - end"; - let input0 = rand_array::().into_bytes(); let input1 = rand_array::().into_bytes(); @@ -98,18 +107,11 @@ fn sha256_2_to_1_hash() { .map(|&bytes| u32::from_be_bytes(bytes) as u64) .collect(); - build_test!(source, &ifelts).expect_stack(&ofelts); + build_test!(SHA256_MERGE_SOURCE, &ifelts).expect_stack(&ofelts); } #[test] fn sha256_1_to_1_hash() { - let source = " - use miden::core::crypto::hashes::sha256 - - begin - exec.sha256::hash - end"; - let ibytes = rand_array::().into_bytes(); let ifelts: Vec = group_slice_elements::(&ibytes) .iter() @@ -122,5 +124,53 @@ fn sha256_1_to_1_hash() { .map(|&bytes| u32::from_be_bytes(bytes) as u64) .collect(); - build_test!(source, &ifelts).expect_stack(&ofelts); + build_test!(SHA256_HASH_SOURCE, &ifelts).expect_stack(&ofelts); +} + +#[test] +fn sha256_hash_rejects_non_u32_message_word() { + let mut input_words = vec![0; 8]; + input_words[1] = NON_U32_WORD; + + expect_non_u32_execution_error(build_test!(SHA256_HASH_SOURCE, &input_words)); +} + +#[test] +fn sha256_merge_rejects_non_u32_message_word() { + let mut input_words = vec![0; 16]; + input_words[1] = NON_U32_WORD; + + expect_non_u32_execution_error(build_test!(SHA256_MERGE_SOURCE, &input_words)); +} + +#[test] +fn sha256_hash_bytes_rejects_non_u32_memory_word() { + let source = format!( + " + use miden::core::crypto::hashes::sha256 + + begin + push.0.0.{NON_U32_WORD}.0 mem_storew_be.10000 dropw + + push.32.10000 + exec.sha256::hash_bytes + end" + ); + + expect_non_u32_execution_error(build_test!(source, &[])); +} + +fn expect_non_u32_execution_error(test: Test) { + let err = test.execute().expect_err("expected non-u32 SHA256 input to fail"); + match err { + ExecutionError::OperationError { + err: OperationError::U32AssertionFailed { err_msg, invalid_values, .. }, + .. + } => assert!( + err_msg.as_deref() == Some(INVALID_SHA256_MESSAGE_WORD) + && invalid_values.iter().any(|value| value.as_canonical_u64() == NON_U32_WORD), + "expected SHA256 message word assertion for {NON_U32_WORD}, got message {err_msg:?} and values {invalid_values:?}" + ), + err => panic!("expected SHA256 message word assertion, got {err:?}"), + } } diff --git a/docs/src/design/stack/u32_ops.md b/docs/src/design/stack/u32_ops.md index 2d17cb4184..909197092b 100644 --- a/docs/src/design/stack/u32_ops.md +++ b/docs/src/design/stack/u32_ops.md @@ -121,6 +121,10 @@ $$ s_1' = h_2 \text{ | degree} = 1 $$ +$$ +h_3 = 0 \text{ | degree} = 1 +$$ + In addition to the above constraints, we also need to verify that values in $h_0, ..., h_3$ are smaller than $2^{16}$, which we can do using 16-bit range checks as described [previously](#range-checks). The effect of this operation on the rest of the stack is: @@ -148,6 +152,10 @@ $$ s_1' = h_2 \text{ | degree} = 1 $$ +$$ +h_3 = 0 \text{ | degree} = 1 +$$ + In addition to the above constraints, we also need to verify that values in $h_0, ..., h_3$ are smaller than $2^{16}$, which we can do using 16-bit range checks as described [previously](#range-checks). The effect of this operation on the rest of the stack is: