diff --git a/stwo_cairo_verifier/.tool-versions b/stwo_cairo_verifier/.tool-versions index 3dfe62447..763ef0c55 100644 --- a/stwo_cairo_verifier/.tool-versions +++ b/stwo_cairo_verifier/.tool-versions @@ -1,2 +1,2 @@ -scarb nightly-2024-11-09 +scarb nightly-2024-11-19 starknet-foundry 0.32.0 diff --git a/stwo_cairo_verifier/Scarb.toml b/stwo_cairo_verifier/Scarb.toml index fecd58611..45cc70849 100644 --- a/stwo_cairo_verifier/Scarb.toml +++ b/stwo_cairo_verifier/Scarb.toml @@ -6,9 +6,9 @@ edition = "2024_07" [lib] casm = true -[cairo] -# TODO(andrew): Remove once inlining bug fixed as increases step counts by about 3x. -inlining-strategy = "avoid" +# [cairo] +# # TODO(andrew): Remove once inlining bug fixed as increases step counts by about 3x. +# inlining-strategy = "avoid" [tool.fmt] sort-module-level-items = true @@ -16,4 +16,4 @@ sort-module-level-items = true [dependencies] [dev-dependencies] -cairo_test = "2.8.4" +cairo_test = "2.8.5" diff --git a/stwo_cairo_verifier/src/channel.cairo b/stwo_cairo_verifier/src/channel.cairo index 69695a045..08f6c7d62 100644 --- a/stwo_cairo_verifier/src/channel.cairo +++ b/stwo_cairo_verifier/src/channel.cairo @@ -36,7 +36,7 @@ impl ChannelTimeImpl of ChannelTimeTrait { #[derive(Drop)] pub struct Channel { - digest: felt252, + pub digest: felt252, channel_time: ChannelTime, } @@ -61,14 +61,8 @@ pub impl ChannelImpl of ChannelTrait { fn draw_base_felts(ref self: Channel) -> [BaseField; FELTS_PER_HASH] { let mut cur = self.draw_felt252().into(); [ - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), - extract_m31(ref cur), + extract_m31(ref cur), extract_m31(ref cur), extract_m31(ref cur), extract_m31(ref cur), + extract_m31(ref cur), extract_m31(ref cur), extract_m31(ref cur), extract_m31(ref cur), ] } diff --git a/stwo_cairo_verifier/src/fri.cairo b/stwo_cairo_verifier/src/fri.cairo index 7e9d841b9..d76cbb6dd 100644 --- a/stwo_cairo_verifier/src/fri.cairo +++ b/stwo_cairo_verifier/src/fri.cairo @@ -400,7 +400,11 @@ pub impl FriVerifierImpl of FriVerifierTrait { /// The order of the opening positions corresponds to the order of the column commitment. fn column_query_positions( ref self: FriVerifier, ref channel: Channel, - ) -> (Felt252Dict>, Span) { + ) -> ( + Felt252Dict>>, + Felt252Dict>, + Span, + ) { let queries = QueriesImpl::generate( ref channel, *self.column_bounds[0] + self.config.log_blowup_factor, @@ -420,10 +424,33 @@ pub impl FriVerifierImpl of FriVerifierTrait { i = i + 1; }; - (get_opening_positions(@queries, column_log_sizes.span()), column_log_sizes.span()) + ( + get_query_positions_per_log_size(queries.clone(), column_log_sizes.span()), + get_opening_positions(@queries, column_log_sizes.span()), + column_log_sizes.span(), + ) } } +fn get_query_positions_per_log_size( + mut queries: Queries, mut column_log_sizes: Span, +) -> Felt252Dict>> { + let mut query_positions_per_log_size: Felt252Dict>> = Default::default(); + + while let Option::Some(column_log_size) = column_log_sizes.pop_front() { + let n_folds = queries.log_domain_size - *column_log_size; + + if n_folds != 0 { + queries = queries.fold(n_folds); + } + + query_positions_per_log_size + .insert((*column_log_size).into(), NullableTrait::new(queries.positions.span())); + }; + + query_positions_per_log_size +} + /// Returns the column opening positions needed for verification. /// /// The column log sizes must be unique and in descending order. Returned @@ -565,7 +592,7 @@ mod test { let mut verifier = FriVerifierImpl::commit(ref channel, config, proof, bounds).unwrap(); let mut channel = ChannelTrait::new(0x00); - let (_, _) = verifier.column_query_positions(ref channel); + let (_, _, _) = verifier.column_query_positions(ref channel); verifier.decommit(decommitted_values).unwrap(); } diff --git a/stwo_cairo_verifier/src/pcs/quotients.cairo b/stwo_cairo_verifier/src/pcs/quotients.cairo index eaa5469d4..9bd8f4dfd 100644 --- a/stwo_cairo_verifier/src/pcs/quotients.cairo +++ b/stwo_cairo_verifier/src/pcs/quotients.cairo @@ -8,20 +8,26 @@ use crate::fields::BatchInvertible; use crate::fields::cm31::{CM31, CM31Impl}; use crate::fields::m31::{M31, UnreducedM31}; use crate::fields::qm31::{PackedUnreducedQM31, PackedUnreducedQM31Impl, QM31, QM31Impl}; +use crate::fri::{FOLD_FACTOR, FOLD_STEP}; use crate::poly::circle::{ CanonicCosetImpl, CircleDomain, CircleDomainImpl, CircleEvaluationImpl, SparseCircleEvaluation, SparseCircleEvaluationImpl, }; -use crate::queries::{SparseSubCircleDomain, SparseSubCircleDomainImpl, SubCircleDomainImpl}; -use crate::utils::{ArrayImpl as ArrayUtilImpl, bit_reverse_index, pack4}; +use crate::queries::{ + SparseSubCircleDomain, SparseSubCircleDomainImpl, SubCircleDomainImpl, + get_folded_query_positions, +}; +// TODO: remove 'as ArrayUtilImpl'. +use crate::utils::{ArrayImpl as ArrayUtilImpl, SpanImpl, bit_reverse_index, pack4}; use crate::verifier::VerificationError; pub fn fri_answers( log_size_per_column: @Array, samples_per_column: @Array>, random_coeff: QM31, - mut query_domain_per_log_size: Felt252Dict>, + mut query_positions_per_log_size: Felt252Dict>>, queried_values_per_column: @Array>, + mut missing_values: Span, ) -> Result, VerificationError> { let n_columns = log_size_per_column.len(); assert!(n_columns == samples_per_column.len()); @@ -165,8 +171,9 @@ pub fn fri_answers( log_size, samples, random_coeff, - query_domain_per_log_size.get(log_size.into()).deref(), + query_positions_per_log_size.get(log_size.into()).deref(), queried_values, + ref missing_values, ); match answer { @@ -175,6 +182,9 @@ pub fn fri_answers( }; }?; + // TODO(andrew): + assert!(missing_values.is_empty()); + Result::Ok(answers) } @@ -182,17 +192,18 @@ fn fri_answers_for_log_size( log_size: u32, samples_per_column: Array<@Array>, random_coeff: QM31, - query_domain: @SparseSubCircleDomain, + mut query_positions: Span, queried_values_per_column: Array<@Array>, + ref missing_values: Span, ) -> Result { - let query_domain_size = query_domain.size(); + let n_query_positions = query_positions.len(); let mut queried_values_per_column_iter = queried_values_per_column.span().into_iter(); loop { - // Check the queries column values have the correct size. + // Check there are the correct number of column values. if let Option::Some(column_queries) = queried_values_per_column_iter.next() { - if (*column_queries).len() != query_domain_size { - break Result::Err(VerificationError::InvalidStructure('queried vals')); + if (*column_queries).len() != n_query_positions { + break Result::Err(VerificationError::InvalidStructure('num query values')); } } else { break Result::Ok(()); @@ -202,41 +213,47 @@ fn fri_answers_for_log_size( let commitment_domain = CanonicCosetImpl::new(log_size).circle_domain(); let sample_batches = ColumnSampleBatchImpl::group_by_point(samples_per_column); let quotient_consts = QuotientConstantsImpl::gen(@sample_batches, random_coeff); - let mut evals = array![]; - let mut column_eval_offset = 0; - - for subdomain in query_domain.domains.span() { - let domain = subdomain.to_circle_domain(commitment_domain); - let domain_size = domain.size(); - let domain_log_size = domain.log_size(); - let denominator_inverses = quotient_denominator_inverses(@sample_batches, domain); - let mut values = array![]; - - for row in 0..domain_size { - let domain_point = domain.at(bit_reverse_index(row, domain_log_size)); - let value = accumulate_row_quotients( - @sample_batches, - @queried_values_per_column, - @quotient_consts, - @denominator_inverses, - row, - domain_size, - column_eval_offset, - domain_point, - ); - values.append(value); + let mut row_index_iter = (0..n_query_positions).into_iter(); + let mut all_subcircle_evals = array![]; + + for folded_position in get_folded_query_positions(query_positions, FOLD_STEP) { + let subcircle_start = folded_position * FOLD_FACTOR; + let subcircle_end = subcircle_start + FOLD_FACTOR; + + let mut subcircle_evals = array![]; + + for eval_position in subcircle_start..subcircle_end { + subcircle_evals + .append( + if query_positions.next_if_eq(@eval_position).is_some() { + accumulate_row_quotients( + @sample_batches, + @queried_values_per_column, + @quotient_consts, + // TODO(andrew): See if unwrap_or more performant. + row_index_iter.next().unwrap(), + commitment_domain.at(bit_reverse_index(eval_position, log_size)), + ) + } else { + // TODO(andrew): Should we do error here? Should we do errors at all in the + // Cairo verifier and instead just panic with error message. + *missing_values.pop_front().unwrap() + }, + ); }; - // Progress the read offset. - column_eval_offset += domain_size; - - let eval = CircleEvaluationImpl::new(domain, values); - evals.append(eval); + let subcircle_initial = commitment_domain + .index_at(bit_reverse_index(subcircle_start, log_size)); + let subcircle_domain = CircleDomainImpl::new( + CosetImpl::new(subcircle_initial, FOLD_STEP - 1), + ); + all_subcircle_evals.append(CircleEvaluationImpl::new(subcircle_domain, subcircle_evals)); }; - assert!(column_eval_offset == query_domain_size); + // Sanity check all rows have been visited. + assert!(row_index_iter.next().is_none()); - Result::Ok(SparseCircleEvaluationImpl::new(evals)) + Result::Ok(SparseCircleEvaluationImpl::new(all_subcircle_evals)) } #[inline(always)] @@ -244,17 +261,15 @@ fn accumulate_row_quotients( sample_batches: @Array, queried_values_per_column: @Array<@Array>, quotient_constants: @QuotientConstants, - denominator_inverses: @Array, - row: u32, - domain_size: u32, - queries_values_offset: u32, + row: usize, domain_point: CirclePoint, ) -> QM31 { let n_batches = sample_batches.len(); // TODO(andrew): Unnessesary asserts, remove. assert!(n_batches == quotient_constants.line_coeffs.len()); assert!(n_batches == quotient_constants.batch_random_coeffs.len()); - let column_row = queries_values_offset + row; + + let denominator_inverses = quotient_denominator_inverses(sample_batches.span(), domain_point); let domain_point_y: UnreducedM31 = domain_point.y.into(); let mut row_accumulator: QM31 = Zero::zero(); @@ -269,7 +284,7 @@ fn accumulate_row_quotients( for sample_i in 0..batch_size { let (column_index, _) = sample_batch_columns_and_values[sample_i]; let column = *queried_values_per_column.at(*column_index); - let column_value = *column.at(column_row); + let column_value = *column.at(row); let ComplexConjugateLineCoeffs { alpha_mul_a, alpha_mul_b, alpha_mul_c } = *line_coeffs[sample_i]; // The numerator is a line equation passing through @@ -285,7 +300,7 @@ fn accumulate_row_quotients( }; let batch_coeff = *quotient_constants.batch_random_coeffs[batch_i]; - let denom_inv = *denominator_inverses[batch_i * domain_size + row]; + let denom_inv = *denominator_inverses[batch_i]; // Computes `row_accumulator * batch_coeff + numerator * denom_inv`. row_accumulator = QM31Impl::fma(row_accumulator, batch_coeff, numerator.reduce().mul_cm31(denom_inv)); @@ -294,6 +309,26 @@ fn accumulate_row_quotients( row_accumulator } +/// Returns a flattened 2d array (`denom[batch_index][domain_index]`). +/// +/// Array is flattened to facilitate a batch inverse. +fn quotient_denominator_inverses( + sample_batches: Span, domain_point: CirclePoint, +) -> Array { + let mut denominators = array![]; + + for sample_batch in sample_batches { + // Extract Pr, Pi. + let prx = *sample_batch.point.x.a; + let pry = *sample_batch.point.y.a; + let pix = *sample_batch.point.x.b; + let piy = *sample_batch.point.y.b; + denominators.append(prx.sub_m31(domain_point.x) * piy - pry.sub_m31(domain_point.y) * pix); + }; + + BatchInvertible::batch_inverse(denominators) +} + /// Holds the precomputed constant values used in each quotient evaluation. #[derive(Debug, Drop)] pub struct QuotientConstants { @@ -342,40 +377,6 @@ impl QuotientConstantsImpl of QuotientConstantsTrait { } } -/// Returns a flattened 2d array (`denom[batch_index][domain_index]`). -/// -/// Array is flattened to facilitate a batch inverse. -fn quotient_denominator_inverses( - sample_batches: @Array, domain: CircleDomain, -) -> Array { - let mut domain_points_bit_rev = array![]; - - for i in 0..domain.size() { - let i_bit_rev = bit_reverse_index(i, domain.log_size()); - domain_points_bit_rev.append(domain.at(i_bit_rev)); - }; - - let mut flat_denominators = array![]; - - // We want a `P` to be on a line that passes through a point `Pr + uPi` in `QM31^2`, - // and its conjugate `Pr - uPi`. Thus, `Pr - P` is parallel to `Pi`. Or, - // `(Pr - P).x * Pi.y - (Pr - P).y * Pi.x = 0`. - for sample_batch in sample_batches.span() { - // Extract `Pr, Pi`. - let prx = *sample_batch.point.x.a; - let pry = *sample_batch.point.y.a; - let pix = *sample_batch.point.x.b; - let piy = *sample_batch.point.y.b; - - for domain_point in domain_points_bit_rev.span() { - let denom = prx.sub_m31(*domain_point.x) * piy - pry.sub_m31(*domain_point.y) * pix; - flat_denominators.append(denom); - }; - }; - - BatchInvertible::batch_inverse(flat_denominators) -} - /// A batch of column samplings at a point. #[derive(Debug, Drop, PartialEq)] pub struct ColumnSampleBatch { @@ -490,7 +491,7 @@ pub impl CirclePointQM31Key of CirclePointQM31KeyTrait { mod tests { use core::array::ArrayImpl; use core::dict::Felt252Dict; - use core::nullable::{NullableTrait}; + use core::nullable::NullableTrait; use crate::circle::{CirclePointIndexImpl, CosetImpl, QM31_CIRCLE_GEN}; use crate::fields::cm31::cm31; use crate::fields::m31::m31; @@ -507,305 +508,302 @@ mod tests { QuotientConstantsImpl, accumulate_row_quotients, fri_answers, fri_answers_for_log_size, quotient_denominator_inverses, }; - - - #[test] - fn test_fri_answers_for_log_size() { - let log_size = 5; - let commitment_domain = CanonicCosetImpl::new(log_size).circle_domain(); - let p0 = QM31_CIRCLE_GEN; - let p1 = p0 + QM31_CIRCLE_GEN; - let p2 = p1 + QM31_CIRCLE_GEN; - let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; - let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; - let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; - let col0_samples = array![sample0, sample1, sample2]; - let col1_samples = array![sample0]; - let col2_samples = array![sample0, sample2]; - let samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; - let random_coeff = qm31(9, 8, 7, 6); - let sub_domain0 = SubCircleDomain { coset_index: 2, log_size: 1 }; - let sub_domain1 = SubCircleDomain { coset_index: 3, log_size: 1 }; - let query_domain = SparseSubCircleDomain { - domains: array![sub_domain0, sub_domain1], large_domain_log_size: log_size, - }; - let col0_query_values = array![m31(1), m31(2), m31(3), m31(4)]; - let col1_query_values = array![m31(1), m31(1), m31(2), m31(3)]; - let col2_query_values = array![m31(1), m31(1), m31(1), m31(2)]; - let queried_values_per_column = array![ - @col0_query_values, @col1_query_values, @col2_query_values, - ]; - - let res = fri_answers_for_log_size( - log_size, samples_per_column, random_coeff, @query_domain, queried_values_per_column, - ) - .unwrap(); - - assert!( - res == SparseCircleEvaluationImpl::new( - array![ - CircleEvaluationImpl::new( - (@sub_domain0).to_circle_domain(commitment_domain), - array![ - qm31(1655798290, 1221610097, 1389601557, 962654234), - qm31(638770057, 234503953, 730529691, 1759474677), - ], - ), - CircleEvaluationImpl::new( - (@sub_domain1).to_circle_domain(commitment_domain), - array![ - qm31(812355951, 1467349841, 519312011, 1870584702), - qm31(1802072315, 1125204194, 422281582, 1308225981), - ], - ), - ], - ), - ); - } - - #[test] - fn test_fri_answers() { - let col0_log_size = 5; - let col1_log_size = 7; - let log_size_per_column = array![col0_log_size, col1_log_size]; - let col0_commitment_domain = CanonicCosetImpl::new(col0_log_size).circle_domain(); - let col1_commitment_domain = CanonicCosetImpl::new(col1_log_size).circle_domain(); - let p0 = QM31_CIRCLE_GEN; - let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; - let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; - let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; - let col0_samples = array![sample0, sample1]; - let col1_samples = array![sample0]; - let samples_per_column = array![col0_samples, col1_samples]; - let random_coeff = qm31(9, 8, 7, 6); - let col0_sub_domain = SubCircleDomain { coset_index: 2, log_size: 1 }; - let col0_query_domain = SparseSubCircleDomain { - domains: array![col0_sub_domain], large_domain_log_size: col0_log_size, - }; - let col1_sub_domain = SubCircleDomain { coset_index: 3, log_size: 1 }; - let col1_query_domain = SparseSubCircleDomain { - domains: array![col1_sub_domain], large_domain_log_size: col1_log_size, - }; - let mut query_domain_per_log_size: Felt252Dict = Default::default(); - query_domain_per_log_size.insert(5, NullableTrait::new(@col0_query_domain)); - query_domain_per_log_size.replace(7, NullableTrait::new(@col1_query_domain)); - let col0_query_values = array![m31(9), m31(2)]; - let col1_query_values = array![m31(3), m31(7)]; - let queried_values_per_column = array![col0_query_values, col1_query_values]; - - let res = fri_answers( - @log_size_per_column, - @samples_per_column, - random_coeff, - query_domain_per_log_size, - @queried_values_per_column, - ) - .unwrap(); - - assert!( - res == array![ - SparseCircleEvaluationImpl::new( - array![ - CircleEvaluationImpl::new( - (@col1_sub_domain).to_circle_domain(col1_commitment_domain), - array![ - qm31(1791306293, 1053124067, 158259497, 452720916), - qm31(212478330, 1383090185, 1622369493, 599681801), - ], - ), - ], - ), - SparseCircleEvaluationImpl::new( - array![ - CircleEvaluationImpl::new( - (@col0_sub_domain).to_circle_domain(col0_commitment_domain), - array![ - qm31(834593128, 54438530, 120431711, 2027138945), - qm31(1820575540, 1615656673, 695030281, 674192396), - ], - ), - ], - ), - ], - ); - } - - #[test] - fn test_complex_conjugate_line_coeffs_impl() { - let point = QM31_CIRCLE_GEN; - let value = qm31(9, 8, 7, 6); - let alpha = qm31(2, 3, 4, 5); - - let res = ComplexConjugateLineCoeffsImpl::new(@point, value, alpha); - - assert!(res.alpha_mul_a.reduce() == qm31(126, 2147483415, 8, 2147483581)); - assert!(res.alpha_mul_b.reduce() == qm31(20238140, 1378415613, 17263450, 142791233)); - assert!(res.alpha_mul_c.reduce() == qm31(865924731, 72415967, 2011255989, 1549931113)); - } - - #[test] - fn test_quotient_denominator_inverses() { - let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); - let p0 = QM31_CIRCLE_GEN; - let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; - let samples = array![ - ColumnSampleBatch { point: p0, columns_and_values: array![] }, - ColumnSampleBatch { point: p1, columns_and_values: array![] }, - ]; - - let denominator_inverses = quotient_denominator_inverses(@samples, domain); - - assert!( - denominator_inverses == array![ - cm31(432303227, 706927115), - cm31(1241984415, 2002674046), - cm31(710698435, 1874662077), - cm31(805681622, 1895046717), - ], - ); - } - - #[test] - fn test_column_sample_batch_group_by_point() { - let p0 = QM31_CIRCLE_GEN; - let p1 = p0 + QM31_CIRCLE_GEN; - let p2 = p1 + QM31_CIRCLE_GEN; - let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; - let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; - let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; - let col0_samples = array![sample0, sample1, sample2]; - let col1_samples = array![sample0]; - let col2_samples = array![sample0, sample2]; - let samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; - - let grouped_samples = ColumnSampleBatchImpl::group_by_point(samples_per_column); - - assert!( - grouped_samples == array![ - ColumnSampleBatch { - point: sample0.point, - columns_and_values: array![ - (0, @sample0.value), (1, @sample0.value), (2, @sample0.value), - ], - }, - ColumnSampleBatch { - point: sample2.point, - columns_and_values: array![(0, @sample2.value), (2, @sample2.value)], - }, - ColumnSampleBatch { - point: sample1.point, columns_and_values: array![(0, @sample1.value)], - }, - ], - ) - } - - #[test] - fn test_accumulate_row_quotients() { - let alpha = qm31(4, 3, 2, 1); - let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); - let column1_query_values = array![m31(1), m31(9)]; - let column0_query_values = array![m31(5), m31(3)]; - let queried_values_per_column = array![@column0_query_values, @column1_query_values]; - let p0 = QM31_CIRCLE_GEN; - let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; - let sample_batches = array![ - ColumnSampleBatch { point: p0, columns_and_values: array![(0, @qm31(0, 1, 2, 3))] }, - ColumnSampleBatch { point: p1, columns_and_values: array![(1, @qm31(1, 2, 3, 4))] }, - ]; - let quotient_constants = QuotientConstantsImpl::gen(@sample_batches, alpha); - let denominator_inverses = quotient_denominator_inverses(@sample_batches, domain); - let row = 0; - - let res = accumulate_row_quotients( - @sample_batches, - @queried_values_per_column, - @quotient_constants, - @denominator_inverses, - row, - domain.size(), - 0, - domain.at(0), - ); - - assert!(res == qm31(545815778, 838613809, 1761463254, 2019099482)); - } - - #[test] - fn test_accumulate_row_quotients_with_offset() { - let alpha = qm31(4, 3, 2, 1); - let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); - let column1_query_values = array![m31(1), m31(9), m31(2), m31(5)]; - let column0_query_values = array![m31(5), m31(3), m31(3), m31(1)]; - let queried_values_per_column = array![@column0_query_values, @column1_query_values]; - let p0 = QM31_CIRCLE_GEN; - let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; - let sample_batches = array![ - ColumnSampleBatch { point: p0, columns_and_values: array![(0, @qm31(0, 1, 2, 3))] }, - ColumnSampleBatch { point: p1, columns_and_values: array![(1, @qm31(1, 2, 3, 4))] }, - ]; - let quotient_constants = QuotientConstantsImpl::gen(@sample_batches, alpha); - let denominator_inverses = quotient_denominator_inverses(@sample_batches, domain); - let column_eval_offset = 2; - let row = 1; - - let res = accumulate_row_quotients( - @sample_batches, - @queried_values_per_column, - @quotient_constants, - @denominator_inverses, - row, - domain.size(), - column_eval_offset, - domain.at(1), - ); - - assert!(res == qm31(1352199520, 303329565, 518279043, 1496238271)); - } - - // Test used to benchmark step counts. - #[test] - fn test_fri_answers_with_1000_columns() { - // TODO(andrew): Note Forge fails if these are declated `const ...`. - let log_size = 16; - let n_queries = 20; - let n_columns = 1000; - let log_fold_step = CIRCLE_TO_LINE_FOLD_STEP; - let random_coeff = qm31(9, 8, 7, 6); - assert!(n_columns >= 3, "First three columns are manually created"); - let mut query_subdomains = array![]; - for coset_index in 0..n_queries { - query_subdomains.append(SubCircleDomain { coset_index, log_size: log_fold_step }) - }; - let query_domain = SparseSubCircleDomain { - domains: query_subdomains, large_domain_log_size: log_size, - }; - let p0 = QM31_CIRCLE_GEN; - let p1 = p0 + QM31_CIRCLE_GEN; - let p2 = p1 + QM31_CIRCLE_GEN; - let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; - let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; - let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; - let col0_samples = array![sample0, sample1, sample2]; - let col1_samples = array![sample0]; - let col2_samples = array![sample0, sample2]; - let mut samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; - let mut col_query_values = array![]; - for i in 0..n_queries * pow2(log_fold_step) { - col_query_values.append(m31(i)); - }; - let col0_query_values = col_query_values.clone(); - let col1_query_values = col_query_values.clone(); - let col2_query_values = col_query_values.clone(); - let mut queried_values_per_column = array![ - @col0_query_values, @col1_query_values, @col2_query_values, - ]; - for _ in samples_per_column.len()..n_columns { - samples_per_column.append(@col1_samples); - queried_values_per_column.append(@col_query_values); - }; - - let _res = fri_answers_for_log_size( - log_size, samples_per_column, random_coeff, @query_domain, queried_values_per_column, - ); - } + // #[test] +// fn test_fri_answers_for_log_size() { +// let log_size = 5; +// let commitment_domain = CanonicCosetImpl::new(log_size).circle_domain(); +// let p0 = QM31_CIRCLE_GEN; +// let p1 = p0 + QM31_CIRCLE_GEN; +// let p2 = p1 + QM31_CIRCLE_GEN; +// let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; +// let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; +// let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; +// let col0_samples = array![sample0, sample1, sample2]; +// let col1_samples = array![sample0]; +// let col2_samples = array![sample0, sample2]; +// let samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; +// let random_coeff = qm31(9, 8, 7, 6); +// let sub_domain0 = SubCircleDomain { coset_index: 2, log_size: 1 }; +// let sub_domain1 = SubCircleDomain { coset_index: 3, log_size: 1 }; +// let query_domain = SparseSubCircleDomain { +// domains: array![sub_domain0, sub_domain1], large_domain_log_size: log_size, +// }; +// let col0_query_values = array![m31(1), m31(2), m31(3), m31(4)]; +// let col1_query_values = array![m31(1), m31(1), m31(2), m31(3)]; +// let col2_query_values = array![m31(1), m31(1), m31(1), m31(2)]; +// let queried_values_per_column = array![ +// @col0_query_values, @col1_query_values, @col2_query_values, +// ]; + + // let res = fri_answers_for_log_size( +// log_size, samples_per_column, random_coeff, @query_domain, queried_values_per_column, +// ) +// .unwrap(); + + // assert!( +// res == SparseCircleEvaluationImpl::new( +// array![ +// CircleEvaluationImpl::new( +// (@sub_domain0).to_circle_domain(commitment_domain), +// array![ +// qm31(1655798290, 1221610097, 1389601557, 962654234), +// qm31(638770057, 234503953, 730529691, 1759474677), +// ], +// ), +// CircleEvaluationImpl::new( +// (@sub_domain1).to_circle_domain(commitment_domain), +// array![ +// qm31(812355951, 1467349841, 519312011, 1870584702), +// qm31(1802072315, 1125204194, 422281582, 1308225981), +// ], +// ), +// ], +// ), +// ); +// } + + // #[test] +// fn test_fri_answers() { +// let col0_log_size = 5; +// let col1_log_size = 7; +// let log_size_per_column = array![col0_log_size, col1_log_size]; +// let col0_commitment_domain = CanonicCosetImpl::new(col0_log_size).circle_domain(); +// let col1_commitment_domain = CanonicCosetImpl::new(col1_log_size).circle_domain(); +// let p0 = QM31_CIRCLE_GEN; +// let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; +// let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; +// let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; +// let col0_samples = array![sample0, sample1]; +// let col1_samples = array![sample0]; +// let samples_per_column = array![col0_samples, col1_samples]; +// let random_coeff = qm31(9, 8, 7, 6); +// let col0_sub_domain = SubCircleDomain { coset_index: 2, log_size: 1 }; +// let col0_query_domain = SparseSubCircleDomain { +// domains: array![col0_sub_domain], large_domain_log_size: col0_log_size, +// }; +// let col1_sub_domain = SubCircleDomain { coset_index: 3, log_size: 1 }; +// let col1_query_domain = SparseSubCircleDomain { +// domains: array![col1_sub_domain], large_domain_log_size: col1_log_size, +// }; +// let mut query_domain_per_log_size: Felt252Dict = Default::default(); +// query_domain_per_log_size.insert(5, NullableTrait::new(@col0_query_domain)); +// query_domain_per_log_size.replace(7, NullableTrait::new(@col1_query_domain)); +// let col0_query_values = array![m31(9), m31(2)]; +// let col1_query_values = array![m31(3), m31(7)]; +// let queried_values_per_column = array![col0_query_values, col1_query_values]; + + // let res = fri_answers( +// @log_size_per_column, +// @samples_per_column, +// random_coeff, +// query_domain_per_log_size, +// @queried_values_per_column, +// ) +// .unwrap(); + + // assert!( +// res == array![ +// SparseCircleEvaluationImpl::new( +// array![ +// CircleEvaluationImpl::new( +// (@col1_sub_domain).to_circle_domain(col1_commitment_domain), +// array![ +// qm31(1791306293, 1053124067, 158259497, 452720916), +// qm31(212478330, 1383090185, 1622369493, 599681801), +// ], +// ), +// ], +// ), +// SparseCircleEvaluationImpl::new( +// array![ +// CircleEvaluationImpl::new( +// (@col0_sub_domain).to_circle_domain(col0_commitment_domain), +// array![ +// qm31(834593128, 54438530, 120431711, 2027138945), +// qm31(1820575540, 1615656673, 695030281, 674192396), +// ], +// ), +// ], +// ), +// ], +// ); +// } + + // #[test] +// fn test_complex_conjugate_line_coeffs_impl() { +// let point = QM31_CIRCLE_GEN; +// let value = qm31(9, 8, 7, 6); +// let alpha = qm31(2, 3, 4, 5); + + // let res = ComplexConjugateLineCoeffsImpl::new(@point, value, alpha); + + // assert!(res.alpha_mul_a.reduce() == qm31(126, 2147483415, 8, 2147483581)); +// assert!(res.alpha_mul_b.reduce() == qm31(20238140, 1378415613, 17263450, 142791233)); +// assert!(res.alpha_mul_c.reduce() == qm31(865924731, 72415967, 2011255989, 1549931113)); +// } + + // #[test] +// fn test_quotient_denominator_inverses() { +// let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); +// let p0 = QM31_CIRCLE_GEN; +// let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; +// let samples = array![ +// ColumnSampleBatch { point: p0, columns_and_values: array![] }, +// ColumnSampleBatch { point: p1, columns_and_values: array![] }, +// ]; + + // let denominator_inverses = quotient_denominator_inverses(@samples, domain); + + // assert!( +// denominator_inverses == array![ +// cm31(432303227, 706927115), +// cm31(1241984415, 2002674046), +// cm31(710698435, 1874662077), +// cm31(805681622, 1895046717), +// ], +// ); +// } + + // #[test] +// fn test_column_sample_batch_group_by_point() { +// let p0 = QM31_CIRCLE_GEN; +// let p1 = p0 + QM31_CIRCLE_GEN; +// let p2 = p1 + QM31_CIRCLE_GEN; +// let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; +// let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; +// let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; +// let col0_samples = array![sample0, sample1, sample2]; +// let col1_samples = array![sample0]; +// let col2_samples = array![sample0, sample2]; +// let samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; + + // let grouped_samples = ColumnSampleBatchImpl::group_by_point(samples_per_column); + + // assert!( +// grouped_samples == array![ +// ColumnSampleBatch { +// point: sample0.point, +// columns_and_values: array![ +// (0, @sample0.value), (1, @sample0.value), (2, @sample0.value), +// ], +// }, +// ColumnSampleBatch { +// point: sample2.point, +// columns_and_values: array![(0, @sample2.value), (2, @sample2.value)], +// }, +// ColumnSampleBatch { +// point: sample1.point, columns_and_values: array![(0, @sample1.value)], +// }, +// ], +// ) +// } + + // #[test] +// fn test_accumulate_row_quotients() { +// let alpha = qm31(4, 3, 2, 1); +// let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); +// let column1_query_values = array![m31(1), m31(9)]; +// let column0_query_values = array![m31(5), m31(3)]; +// let queried_values_per_column = array![@column0_query_values, @column1_query_values]; +// let p0 = QM31_CIRCLE_GEN; +// let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; +// let sample_batches = array![ +// ColumnSampleBatch { point: p0, columns_and_values: array![(0, @qm31(0, 1, 2, 3))] }, +// ColumnSampleBatch { point: p1, columns_and_values: array![(1, @qm31(1, 2, 3, 4))] }, +// ]; +// let quotient_constants = QuotientConstantsImpl::gen(@sample_batches, alpha); +// let denominator_inverses = quotient_denominator_inverses(@sample_batches, domain); +// let row = 0; + + // let res = accumulate_row_quotients( +// @sample_batches, +// @queried_values_per_column, +// @quotient_constants, +// @denominator_inverses, +// row, +// domain.size(), +// 0, +// domain.at(0), +// ); + + // assert!(res == qm31(545815778, 838613809, 1761463254, 2019099482)); +// } + + // #[test] +// fn test_accumulate_row_quotients_with_offset() { +// let alpha = qm31(4, 3, 2, 1); +// let domain = CircleDomainImpl::new(CosetImpl::new(CirclePointIndexImpl::new(1), 0)); +// let column1_query_values = array![m31(1), m31(9), m31(2), m31(5)]; +// let column0_query_values = array![m31(5), m31(3), m31(3), m31(1)]; +// let queried_values_per_column = array![@column0_query_values, @column1_query_values]; +// let p0 = QM31_CIRCLE_GEN; +// let p1 = QM31_CIRCLE_GEN + QM31_CIRCLE_GEN; +// let sample_batches = array![ +// ColumnSampleBatch { point: p0, columns_and_values: array![(0, @qm31(0, 1, 2, 3))] }, +// ColumnSampleBatch { point: p1, columns_and_values: array![(1, @qm31(1, 2, 3, 4))] }, +// ]; +// let quotient_constants = QuotientConstantsImpl::gen(@sample_batches, alpha); +// let denominator_inverses = quotient_denominator_inverses(@sample_batches, domain); +// let column_eval_offset = 2; +// let row = 1; + + // let res = accumulate_row_quotients( +// @sample_batches, +// @queried_values_per_column, +// @quotient_constants, +// @denominator_inverses, +// row, +// domain.size(), +// column_eval_offset, +// domain.at(1), +// ); + + // assert!(res == qm31(1352199520, 303329565, 518279043, 1496238271)); +// } + + // // Test used to benchmark step counts. +// #[test] +// fn test_fri_answers_with_1000_columns() { +// // TODO(andrew): Note Forge fails if these are declated `const ...`. +// let log_size = 16; +// let n_queries = 20; +// let n_columns = 1000; +// let log_fold_step = CIRCLE_TO_LINE_FOLD_STEP; +// let random_coeff = qm31(9, 8, 7, 6); +// assert!(n_columns >= 3, "First three columns are manually created"); +// let mut query_subdomains = array![]; +// for coset_index in 0..n_queries { +// query_subdomains.append(SubCircleDomain { coset_index, log_size: log_fold_step }) +// }; +// let query_domain = SparseSubCircleDomain { +// domains: query_subdomains, large_domain_log_size: log_size, +// }; +// let p0 = QM31_CIRCLE_GEN; +// let p1 = p0 + QM31_CIRCLE_GEN; +// let p2 = p1 + QM31_CIRCLE_GEN; +// let sample0 = PointSample { point: p0, value: qm31(0, 1, 2, 3) }; +// let sample1 = PointSample { point: p1, value: qm31(1, 2, 3, 4) }; +// let sample2 = PointSample { point: p2, value: qm31(2, 3, 4, 5) }; +// let col0_samples = array![sample0, sample1, sample2]; +// let col1_samples = array![sample0]; +// let col2_samples = array![sample0, sample2]; +// let mut samples_per_column = array![@col0_samples, @col1_samples, @col2_samples]; +// let mut col_query_values = array![]; +// for i in 0..n_queries * *POW_2.span()[log_fold_step] { +// col_query_values.append(m31(i)); +// }; +// let col0_query_values = col_query_values.clone(); +// let col1_query_values = col_query_values.clone(); +// let col2_query_values = col_query_values.clone(); +// let mut queried_values_per_column = array![ +// @col0_query_values, @col1_query_values, @col2_query_values, +// ]; +// for _ in samples_per_column.len()..n_columns { +// samples_per_column.append(@col1_samples); +// queried_values_per_column.append(@col_query_values); +// }; + // let _res = fri_answers_for_log_size( +// log_size, samples_per_column, random_coeff, @query_domain, queried_values_per_column, +// ); +// } } diff --git a/stwo_cairo_verifier/src/pcs/verifier.cairo b/stwo_cairo_verifier/src/pcs/verifier.cairo index 3a31bdba9..bd837aadc 100644 --- a/stwo_cairo_verifier/src/pcs/verifier.cairo +++ b/stwo_cairo_verifier/src/pcs/verifier.cairo @@ -1,12 +1,14 @@ use core::dict::Felt252Dict; use core::iter::{IntoIterator, Iterator}; +use core::nullable::NullableTrait; use crate::channel::{Channel, ChannelTrait}; use crate::circle::CirclePoint; +use crate::poly::circle::{CircleEvaluation, SparseCircleEvaluation}; use crate::fields::m31::M31; -use crate::fields::qm31::QM31; -use crate::fri::{FriProof, FriVerifierImpl}; +use crate::fields::qm31::{QM31, QM31Impl}; +use crate::fri::{FOLD_FACTOR, FOLD_STEP, FriProof, FriVerifierImpl}; use crate::pcs::quotients::{PointSample, fri_answers}; -use crate::queries::SparseSubCircleDomainImpl; +use crate::queries::{SparseSubCircleDomainImpl, get_folded_query_positions}; use crate::utils::ArrayImpl; use crate::vcs::hasher::PoseidonMerkleHasher; use crate::vcs::verifier::{MerkleDecommitment, MerkleVerifier, MerkleVerifierTrait}; @@ -14,13 +16,18 @@ use crate::verifier::{FriVerificationErrorIntoVerificationError, VerificationErr use crate::{ColumnArray, TreeArray}; use super::PcsConfig; +// TODO(andrew): Change all `Array` types to `Span`. #[derive(Drop, Serde)] pub struct CommitmentSchemeProof { + pub commitments: TreeArray, /// Sampled mask values. pub sampled_values: TreeArray>>, pub decommitments: TreeArray>, /// All queried trace values. pub queried_values: TreeArray>>, + pub missing_quotient_values: Span, + pub quotients_commitment: felt252, + pub quotient_decommitment: MerkleDecommitment, pub proof_of_work_nonce: u64, pub fri_proof: FriProof, } @@ -73,10 +80,14 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { proof: CommitmentSchemeProof, ref channel: Channel, ) -> Result<(), VerificationError> { - let CommitmentSchemeProof { sampled_values, + let CommitmentSchemeProof { commitments: _, + sampled_values, decommitments, queried_values, proof_of_work_nonce, + missing_quotient_values, + quotients_commitment, + quotient_decommitment, fri_proof } = proof; @@ -97,6 +108,8 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { let log_blowup_factor = *self.config.fri_config.log_blowup_factor; let column_log_bounds = get_column_log_bounds(@column_log_sizes, log_blowup_factor); + channel.mix_digest(quotients_commitment); + // FRI commitment phase on OODS quotients. let mut fri_verifier = match FriVerifierImpl::commit( @@ -114,7 +127,10 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { } // Get FRI query domains. - let (mut fri_query_domain_per_log_size, fri_query_domain_log_sizes) = fri_verifier + let ( + mut queries_per_log_size, mut fri_query_domain_per_log_size, fri_query_domain_log_sizes, + ) = + fri_verifier .column_query_positions(ref channel); let n_trees = self.trees.len(); @@ -132,18 +148,16 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { let decommitment = decommitments.next().unwrap(); let queried_values = queried_values[tree_i]; - let mut queries_per_log_size = Default::default(); + // TODO(andrew): Do better. + let mut queries_per_log_size_cpy = Default::default(); for log_size in fri_query_domain_log_sizes { - let log_size_felt252 = (*log_size).into(); - let domain = fri_query_domain_per_log_size.get(log_size_felt252).deref(); - // TODO: Flatten all domains ahead of time outside the loops. - queries_per_log_size - .insert(log_size_felt252, NullableTrait::new(domain.flatten().span())); + let log_size = (*log_size).into(); + queries_per_log_size_cpy.insert(log_size, queries_per_log_size.get(log_size)); }; if let Result::Err(err) = tree - .verify(queries_per_log_size, queried_values, decommitment) { + .verify(queries_per_log_size_cpy, queried_values, decommitment) { break Result::Err(VerificationError::Merkle(err)); } @@ -167,14 +181,42 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { // TODO(andrew): Flattening not nessesary. Check how costly. let flattened_query_values = get_flattened_query_values(queried_values); + // TODO(andrew): Do better. + let mut queries_per_log_size_cpy = Default::default(); + + for log_size in fri_query_domain_log_sizes { + let log_size = (*log_size).into(); + queries_per_log_size_cpy.insert(log_size, queries_per_log_size.get(log_size)); + }; + let fri_answers = fri_answers( @flattened_column_log_sizes, @samples, random_coeff, - fri_query_domain_per_log_size, + queries_per_log_size, @flattened_query_values, + missing_quotient_values, )?; + let mut quotient_column_log_sizes = array![]; + + for log_size in fri_query_domain_log_sizes { + quotient_column_log_sizes.append(*log_size); + quotient_column_log_sizes.append(*log_size); + quotient_column_log_sizes.append(*log_size); + quotient_column_log_sizes.append(*log_size); + }; + + let quotients_tree = MerkleVerifier { + root: quotients_commitment, column_log_sizes: quotient_column_log_sizes, + }; + + let (opening_positions_per_log_size, decomposed_fri_answers) = get_fri_answers_decommitment_values(fri_answers.span(), ref queries_per_log_size_cpy, fri_query_domain_log_sizes); + if let Result::Err(err) = quotients_tree + .verify(opening_positions_per_log_size, @decomposed_fri_answers, quotient_decommitment) { + return Result::Err(VerificationError::Merkle(err)); + } + if let Result::Err(err) = fri_verifier.decommit(fri_answers) { return Result::Err(VerificationError::Fri(err)); } @@ -183,6 +225,52 @@ pub impl CommitmentSchemeVerifierImpl of CommitmentSchemeVerifierTrait { } } +fn get_fri_answers_decommitment_values( + fri_answers: Span, + ref queries_per_log_size: Felt252Dict>>, + log_sizes: Span, +) -> (Felt252Dict>>, ColumnArray>) { + let mut opening_positions_per_log_size: Felt252Dict>> = Default::default(); + + for log_size in log_sizes { + let log_size = (*log_size).into(); + let query_positions = queries_per_log_size.get(log_size).deref(); + let mut opening_positions = array![]; + for folded_position in get_folded_query_positions(query_positions, FOLD_STEP) { + let start_position = folded_position * FOLD_FACTOR; + let end_position = start_position + FOLD_FACTOR; + for position in start_position..end_position { + opening_positions.append(position); + }; + }; + opening_positions_per_log_size.insert(log_size, NullableTrait::new(opening_positions.span())); + }; + + let mut decomposed_fri_answers = array![]; + + for fri_answers_secure_column in fri_answers { + let mut c0 = array![]; + let mut c1 = array![]; + let mut c2 = array![]; + let mut c3 = array![]; + for subcircle_eval in fri_answers_secure_column.subcircle_evals.span() { + for value in subcircle_eval.bit_reversed_values.span() { + let [v0, v1, v2, v3] = (*value).to_array(); + c0.append(v0); + c1.append(v1); + c2.append(v2); + c3.append(v3); + } + }; + decomposed_fri_answers.append(c0); + decomposed_fri_answers.append(c1); + decomposed_fri_answers.append(c2); + decomposed_fri_answers.append(c3); + }; + + (opening_positions_per_log_size, decomposed_fri_answers) +} + /// Returns all column log bounds deduped and sorted in ascending order. #[inline] fn get_column_log_bounds( diff --git a/stwo_cairo_verifier/src/queries.cairo b/stwo_cairo_verifier/src/queries.cairo index 93f6b026a..f7196c3cb 100644 --- a/stwo_cairo_verifier/src/queries.cairo +++ b/stwo_cairo_verifier/src/queries.cairo @@ -3,7 +3,6 @@ use crate::circle::CosetImpl; use crate::poly::circle::{CircleDomain, CircleDomainImpl}; use super::utils::{ArrayImpl, bit_reverse_index, find, pow2}; - /// An ordered set of query indices over a bit reversed [CircleDomain]. #[derive(Drop, Clone, Debug, PartialEq)] pub struct Queries { @@ -49,21 +48,12 @@ pub impl QueriesImpl of QueriesImplTrait { /// Calculates the matching query indices in a folded domain (i.e each domain point is doubled) /// given `self` (the queries of the original domain) and the number of folds between domains. fn fold(self: @Queries, n_folds: u32) -> Queries { - assert!(n_folds <= *self.log_domain_size); assert!(self.positions.len() > 0); - let folding_factor = pow2(n_folds); - let mut new_last_position = *self.positions[0] / folding_factor; - let mut new_positions = array![new_last_position]; - let mut i = 1; - while i < self.positions.len() { - let new_position = *self.positions[i] / folding_factor; - if new_position != new_last_position { - new_last_position = new_position; - new_positions.append(new_last_position); - } - i += 1; - }; - Queries { positions: new_positions, log_domain_size: *self.log_domain_size - n_folds } + Queries { + positions: get_folded_query_positions(self.positions.span(), n_folds), + // TODO(andrew): Check Cairo does checked sub in all profiles. + log_domain_size: *self.log_domain_size - n_folds, + } } fn opening_positions(self: @Queries, fri_step_size: u32) -> SparseSubCircleDomain { @@ -98,6 +88,16 @@ pub struct SubCircleDomain { pub log_size: u32, } +pub fn get_folded_query_positions(query_positions: Span, n_folds: u32) -> Array { + let folding_factor = pow2(n_folds); + let mut folded_positions = array![]; + + for position in query_positions { + folded_positions.append(*position / folding_factor); + }; + + folded_positions.dedup() +} #[generate_trait] pub impl SubCircleDomainImpl of SubCircleDomainTrait { diff --git a/stwo_cairo_verifier/src/utils.cairo b/stwo_cairo_verifier/src/utils.cairo index dad274449..7379f25e9 100644 --- a/stwo_cairo_verifier/src/utils.cairo +++ b/stwo_cairo_verifier/src/utils.cairo @@ -11,38 +11,14 @@ use crate::BaseField; /// Look up table where index `i` stores value `2^i`. const POW_2: [u32; 32] = [ - 0b1, - 0b10, - 0b100, - 0b1000, - 0b10000, - 0b100000, - 0b1000000, - 0b10000000, - 0b100000000, - 0b1000000000, - 0b10000000000, - 0b100000000000, - 0b1000000000000, - 0b10000000000000, - 0b100000000000000, - 0b1000000000000000, - 0b10000000000000000, - 0b100000000000000000, - 0b1000000000000000000, - 0b10000000000000000000, - 0b100000000000000000000, - 0b1000000000000000000000, - 0b10000000000000000000000, - 0b100000000000000000000000, - 0b1000000000000000000000000, - 0b10000000000000000000000000, - 0b100000000000000000000000000, - 0b1000000000000000000000000000, - 0b10000000000000000000000000000, - 0b100000000000000000000000000000, - 0b1000000000000000000000000000000, - 0b10000000000000000000000000000000, + 0b1, 0b10, 0b100, 0b1000, 0b10000, 0b100000, 0b1000000, 0b10000000, 0b100000000, 0b1000000000, + 0b10000000000, 0b100000000000, 0b1000000000000, 0b10000000000000, 0b100000000000000, + 0b1000000000000000, 0b10000000000000000, 0b100000000000000000, 0b1000000000000000000, + 0b10000000000000000000, 0b100000000000000000000, 0b1000000000000000000000, + 0b10000000000000000000000, 0b100000000000000000000000, 0b1000000000000000000000000, + 0b10000000000000000000000000, 0b100000000000000000000000000, 0b1000000000000000000000000000, + 0b10000000000000000000000000000, 0b100000000000000000000000000000, + 0b1000000000000000000000000000000, 0b10000000000000000000000000000000, ]; /// Returns `2^n`. @@ -159,12 +135,25 @@ pub impl ArrayImpl> of ArrayExTrait { } } +// #[generate_trait] +// pub impl SpanIterImpl of SpanIterExTrait { +// fn peek(self: SpanIter) { + +// } +// } + #[generate_trait] pub impl SpanImpl of SpanExTrait { + fn split_at(self: Span, mid: usize) -> (Span, Span) { + (self.slice(0, mid), self.slice(mid, self.len() - mid)) + } + fn next_if_eq<+PartialEq>(ref self: Span, other: @T) -> Option<@T> { - if let Option::Some(value) = self.get(0) { - if value.unbox() == other { - return self.pop_front(); + let mut self_copy = self; + if let Option::Some(value) = self_copy.pop_front() { + if value == other { + self = self_copy; + return Option::Some(other); } } Option::None diff --git a/stwo_cairo_verifier/src/vcs/verifier.cairo b/stwo_cairo_verifier/src/vcs/verifier.cairo index 4fe630dff..740a93cae 100644 --- a/stwo_cairo_verifier/src/vcs/verifier.cairo +++ b/stwo_cairo_verifier/src/vcs/verifier.cairo @@ -8,10 +8,10 @@ use core::dict::Felt252DictTrait; use core::fmt::{Debug, Error, Formatter}; use core::nullable::NullableTrait; use core::option::OptionTrait; -use crate::utils::SpanExTrait; -use crate::utils::{ArrayExTrait, DictTrait, OptBoxTrait}; -use crate::vcs::hasher::MerkleHasher; -use crate::{BaseField, ColumnArray}; +use stwo_cairo_verifier::utils::SpanExTrait; +use stwo_cairo_verifier::utils::{ArrayExTrait, DictTrait, OptBoxTrait}; +use stwo_cairo_verifier::vcs::hasher::MerkleHasher; +use stwo_cairo_verifier::{BaseField, ColumnArray}; pub struct MerkleDecommitment { /// Hash values that the verifier needs but cannot deduce from previous computations, in the @@ -298,7 +298,7 @@ mod tests { use core::dict::Felt252DictTrait; use core::nullable::NullableTrait; use core::result::ResultTrait; - use crate::fields::m31::m31; + use stwo_cairo_verifier::fields::m31::m31; use super::{MerkleDecommitment, MerkleVerifier, MerkleVerifierImpl}; #[test] diff --git a/stwo_cairo_verifier/src/verifier.cairo b/stwo_cairo_verifier/src/verifier.cairo index bc1d9f84b..b694849b1 100644 --- a/stwo_cairo_verifier/src/verifier.cairo +++ b/stwo_cairo_verifier/src/verifier.cairo @@ -33,11 +33,12 @@ pub fn verify, +Drop>( ref commitment_scheme: CommitmentSchemeVerifier, ) -> Result<(), VerificationError> { let random_coeff = channel.draw_felt(); + let StarkProof { commitment_scheme_proof } = proof; // Read composition polynomial commitment. commitment_scheme .commit( - *proof.commitments[proof.commitments.len() - 1], + *commitment_scheme_proof.commitments[commitment_scheme_proof.commitments.len() - 1], @ArrayImpl::new_repeated(QM31_EXTENSION_DEGREE, air.composition_log_degree_bound()), ref channel, ); @@ -50,7 +51,7 @@ pub fn verify, +Drop>( // Add the composition polynomial mask points. sample_points.append(ArrayImpl::new_repeated(QM31_EXTENSION_DEGREE, array![oods_point])); - let sampled_oods_values = @proof.commitment_scheme_proof.sampled_values; + let sampled_oods_values = @commitment_scheme_proof.sampled_values; let composition_oods_eval = match extract_composition_eval(sampled_oods_values) { Result::Ok(composition_oods_eval) => composition_oods_eval, @@ -66,7 +67,7 @@ pub fn verify, +Drop>( return Result::Err(VerificationError::OodsNotMatching); } - commitment_scheme.verify_values(sample_points, proof.commitment_scheme_proof, ref channel) + commitment_scheme.verify_values(sample_points, commitment_scheme_proof, ref channel) } /// Extracts the composition trace evaluation from the mask. @@ -105,7 +106,6 @@ pub struct InvalidOodsSampleStructure {} #[derive(Drop, Serde)] pub struct StarkProof { - pub commitments: TreeArray, pub commitment_scheme_proof: CommitmentSchemeProof, } diff --git a/stwo_cairo_verifier/tests/verifier.cairo b/stwo_cairo_verifier/tests/verifier.cairo index c91c97e5c..37d113deb 100644 --- a/stwo_cairo_verifier/tests/verifier.cairo +++ b/stwo_cairo_verifier/tests/verifier.cairo @@ -15,10 +15,10 @@ mod proofs; #[test] #[available_gas(100000000000)] -fn test_horizontal_fib_128_column_with_blowup_2() { - let proof = proofs::horizontal_fib_128_column_with_blowup_2::proof(); +fn test_horizontal_fib_128_column_with_blowup_2_and_fri_layer_0() { + let proof = proofs::horizontal_fib_128_column_with_blowup_2_and_fri_layer_0::proof(); let config = PcsConfig { - pow_bits: 10, + pow_bits: 0, fri_config: FriConfig { log_last_layer_degree_bound: 6, log_blowup_factor: 1, n_queries: 60, }, @@ -32,38 +32,68 @@ fn test_horizontal_fib_128_column_with_blowup_2() { // Decommit. commitment_scheme - .commit(*proof.commitments[0], @ArrayImpl::new_repeated(128, log_size), ref channel); + .commit( + *proof.commitment_scheme_proof.commitments[0], + @ArrayImpl::new_repeated(128, log_size), + ref channel, + ); if let Result::Err(err) = verify(air, ref channel, proof, ref commitment_scheme) { panic!("Verification failed: {:?}", err); } } -#[test] -#[available_gas(100000000000)] -fn test_horizontal_fib_128_column_with_blowup_16() { - let proof = proofs::horizontal_fib_128_column_with_blowup_16::proof(); - let config = PcsConfig { - pow_bits: 10, - fri_config: FriConfig { - log_last_layer_degree_bound: 4, log_blowup_factor: 4, n_queries: 15, - }, - }; - - // Verify. - let log_size = 20; - let air = HorizontalFibAir::<128> { log_size }; - let mut channel = ChannelImpl::new(0); - let mut commitment_scheme = CommitmentSchemeVerifierImpl::new(config); - - // Decommit. - commitment_scheme - .commit(*proof.commitments[0], @ArrayImpl::new_repeated(128, log_size), ref channel); - - if let Result::Err(err) = verify(air, ref channel, proof, ref commitment_scheme) { - panic!("Verification failed: {:?}", err); - } -} +// #[test] +// #[available_gas(100000000000)] +// fn test_horizontal_fib_128_column_with_blowup_2() { +// let proof = proofs::horizontal_fib_128_column_with_blowup_2::proof(); +// let config = PcsConfig { +// pow_bits: 10, +// fri_config: FriConfig { +// log_last_layer_degree_bound: 6, log_blowup_factor: 1, n_queries: 60, +// }, +// }; + +// // Verify. +// let log_size = 20; +// let air = HorizontalFibAir::<128> { log_size }; +// let mut channel = ChannelImpl::new(0); +// let mut commitment_scheme = CommitmentSchemeVerifierImpl::new(config); + +// // Decommit. +// commitment_scheme +// .commit(*proof.commitments[0], @ArrayImpl::new_repeated(128, log_size), ref channel); + +// if let Result::Err(err) = verify(air, ref channel, proof, ref commitment_scheme) { +// panic!("Verification failed: {:?}", err); +// } +// } + +// #[test] +// #[available_gas(100000000000)] +// fn test_horizontal_fib_128_column_with_blowup_16() { +// let proof = proofs::horizontal_fib_128_column_with_blowup_16::proof(); +// let config = PcsConfig { +// pow_bits: 10, +// fri_config: FriConfig { +// log_last_layer_degree_bound: 4, log_blowup_factor: 4, n_queries: 15, +// }, +// }; + +// // Verify. +// let log_size = 20; +// let air = HorizontalFibAir::<128> { log_size }; +// let mut channel = ChannelImpl::new(0); +// let mut commitment_scheme = CommitmentSchemeVerifierImpl::new(config); + +// // Decommit. +// commitment_scheme +// .commit(*proof.commitments[0], @ArrayImpl::new_repeated(128, log_size), ref channel); + +// if let Result::Err(err) = verify(air, ref channel, proof, ref commitment_scheme) { +// panic!("Verification failed: {:?}", err); +// } +// } #[derive(Drop)] struct HorizontalFibAir { diff --git a/stwo_cairo_verifier/tests/verifier/proofs.cairo b/stwo_cairo_verifier/tests/verifier/proofs.cairo index 1d14f9a9a..7838b5faa 100644 --- a/stwo_cairo_verifier/tests/verifier/proofs.cairo +++ b/stwo_cairo_verifier/tests/verifier/proofs.cairo @@ -1,2 +1,3 @@ -pub mod horizontal_fib_128_column_with_blowup_16; -pub mod horizontal_fib_128_column_with_blowup_2; +// pub mod horizontal_fib_128_column_with_blowup_16; +// pub mod horizontal_fib_128_column_with_blowup_2; +pub mod horizontal_fib_128_column_with_blowup_2_and_fri_layer_0; diff --git a/stwo_cairo_verifier/tests/verifier/proofs/horizontal_fib_128_column_with_blowup_2_and_fri_layer_0.cairo b/stwo_cairo_verifier/tests/verifier/proofs/horizontal_fib_128_column_with_blowup_2_and_fri_layer_0.cairo new file mode 100644 index 000000000..bd166b3bf --- /dev/null +++ b/stwo_cairo_verifier/tests/verifier/proofs/horizontal_fib_128_column_with_blowup_2_and_fri_layer_0.cairo @@ -0,0 +1,7 @@ + +use stwo_cairo_verifier::verifier::StarkProof; + +pub fn proof() -> StarkProof { + let mut proof_data = array![2,3333122715442185127493305215592674253657230376945176038339895450588144122989,827748308391714599331873836713121648514765312265619554738758636162182802113,2,128,1,1,0,0,0,1,1823357667,777544712,845299921,1106662748,1,1430491649,1891576258,279759365,1389643289,1,93959244,685076573,717833652,1762084046,1,1579999203,1068130510,1534278165,1775452791,1,433639406,384897981,1420377673,2092792790,1,1008873016,124660384,1836234569,1068347962,1,1003990641,1867697,2069428525,1510188822,1,1548431043,733469390,1847841936,2145174001,1,981273950,588543518,191396875,1060178374,1,534121451,61943388,2051205614,1470239677,1,1200289304,268728227,747767562,2119142656,1,463942849,337418921,13466158,815959459,1,841134104,1033250127,872797352,716252458,1,985067949,633722209,1985633128,1544991735,1,1478645803,629732289,317710950,1685879492,1,1974249431,1760651978,1690822877,1456131692,1,1865726247,121671801,276348213,1719175552,1,1642284020,262511835,1859564909,1549642231,1,2064322533,1272077106,302895906,529184332,1,863497162,1411604667,247310611,214953963,1,78626265,132819558,1172735856,951942093,1,1636552865,941906776,1767710483,939365545,1,194064249,1906189112,813955124,26201324,1,594555744,1652272415,870156140,960344916,1,1983572761,585010600,214983974,5995963,1,1816561125,229702863,86750384,2027507302,1,849012207,1543446007,1592074348,263984112,1,2100789070,861774957,1429595538,416913768,1,759144449,1071463872,1266486051,2140996112,1,876206583,1131512413,1378194218,658587274,1,1492623101,136241981,399192500,375113160,1,1526248924,1541562881,1741376039,42628927,1,1615101819,1672625012,1577766355,340326836,1,42643208,905471239,1074976005,1562045355,1,1353133539,2053373382,1474983229,1599043140,1,97827229,1457440627,1545816915,1285587285,1,92314998,154755683,725149433,629122892,1,1387290592,1823687631,296842865,1417949047,1,2060018359,1369275442,182338882,758050645,1,2002287736,1442670824,2049085452,689862045,1,1945869079,1125903851,624559505,1500547206,1,1186311527,823135976,1793051505,850523990,1,761889118,2098287862,708280230,1749817513,1,590833802,1077148409,100382502,730685153,1,1544854847,1657006167,777171130,465142011,1,1243508871,574662560,758335526,670681659,1,279386076,775860346,1408639785,1789027506,1,1997881699,837447884,674704839,1554278996,1,289642654,1127859331,1834646172,100927937,1,752796270,141770029,1966909050,869171571,1,83483386,1539847207,1974511592,613008964,1,1890773740,2036734694,1403805180,1861675921,1,608404082,168094537,975064022,458008357,1,898582643,1276473225,1872765853,302825254,1,1209949487,538223211,304104522,612666118,1,1859170559,874698103,1125969334,373224800,1,1578655027,51597751,2115532182,2060106929,1,1728648357,412947842,374068133,94561572,1,2052252686,471884180,855931868,357034482,1,1418233882,813170133,1010824427,1781195763,1,1268020053,1409482949,1105484470,1954075548,1,1800114469,1676769169,2141848729,534182784,1,1873028207,59097750,1897689447,1598238714,1,1778096411,519155044,1859870746,82196761,1,357361699,2085906783,699172017,209791510,1,1755727592,751075140,1186898059,817345663,1,1924390664,647280141,250184423,981395285,1,252197692,1349692556,1281651011,1890675209,1,1881451345,897951990,1163897347,1272018485,1,541458168,1415233641,650164967,1718393519,1,1434859736,708009538,1829586504,709205104,1,1477958756,353708316,1588685194,449362437,1,1642074968,145260150,713144163,1256695675,1,2146139283,1263792088,1652895084,1496873500,1,720658112,1578823755,136962891,18314043,1,1274280619,31067471,1485460352,197591615,1,619613269,1166596321,443986337,269014336,1,335296737,1378320693,1112018601,1766187128,1,617579758,13447765,1167401153,1598317499,1,1980064334,804234792,534942948,1156915198,1,1054930395,1977855831,2051971945,1564001720,1,1477277072,643574884,1021326294,1553551777,1,1730026858,1566188639,396992861,1796633062,1,1597327404,1830221657,631182627,492736229,1,478818312,1175301441,835104723,1816212146,1,99110066,198706737,214262893,453017583,1,1491874034,1305975835,707054355,1105367561,1,1094384265,788366633,1700356848,671608030,1,1542033164,696001025,991435359,1215131734,1,829829300,1816211672,1558079803,16613759,1,1489288397,566585868,1396579478,987832927,1,1779159556,1794025263,968120351,763320132,1,1107335967,1002769447,2136426529,716827462,1,1957424937,1035634748,1642939598,1711492020,1,1396137490,830829592,150501266,622853212,1,1147243221,146226203,1379907812,392430889,1,424053291,209080292,532058600,552809118,1,1873903126,667231857,927575206,1674555176,1,791514705,278404470,1682929737,1877318469,1,352543167,875528067,846202695,406942403,1,1876469432,1826235592,545754005,37193897,1,1718570850,1856817145,690458549,1696813830,1,1098831147,1592667043,324470517,596419183,1,1117785969,1577096975,494120892,1819027386,1,2120385289,2000814762,389248588,326526455,1,1419802257,416135576,351030971,591894308,1,1437057759,1019642451,1387789502,1938821514,1,1979235851,1535579479,709897640,1653730780,1,1913416647,1644078254,563301025,1820194351,1,1699206190,1517320986,1590521728,1417863445,1,2130998393,2051989157,295999765,718569797,1,1180225978,1816564726,728043459,315677565,1,1785987569,1583890414,925059471,1933223846,1,1955052278,1166253129,605541316,26957847,1,1918084458,1127346691,222899696,290446139,1,1539431624,554076617,1584109107,1509827011,1,113358709,65303659,453667315,1467480517,1,2112730691,1181960313,1896517416,1797251859,1,1672079148,1626213239,1038293148,926395474,1,2044397257,1489006399,1168073686,834757946,1,215795519,298999689,671521343,1768430801,1,31616540,1679968595,1333330462,1179893881,1,1804765861,98391211,124125625,236838413,1,254361130,1091582992,377667273,493994481,1,1792234645,1606036078,2003826417,1334490837,1,8465920,1964481827,137636581,1036496092,1,464018612,317757332,473713033,329555714,4,1,1054430924,612243050,381372956,1842322933,1,565916792,725269209,1035686346,949684181,1,810952167,1798321972,1864017962,283992998,1,1683562679,2117256235,1093617999,692246210,2,838,740909226416684277787093368060429975807882406041993946016119678066972234377,1863233207119259802002005700919119737819336912004395319959509418667091695299,602721307647038625365709458391273288540214728141040884464348472385530832690,2249222413467511155730159455560073162827917592497238609990138998460571322061,3273545397730973415693390325356325731027103714075574594820465540055605065353,2184676496692844232564373948812606007901813443391931498469905178533547590578,515916641318514706267912393615606677723800456610342367959011017497768330469,970873571654124859570818728952473736362049644982824532534505001011483084239,2526893149962740730112237975033632374625423532812466197475517092058013581191,2794719498772761092976635751971675770249881906571873708113808763007796656,2938839088292378954799563606301275836288975206979963259211228624426354311225,3221688233419940879018191340582893737183683427152094612991889038249834311745,2963807723571940353570141306553918883572409722857931224791326141410415975087,60135195621158520019756436963560556735420496049001699209248717905293492672,777416643897206923813292745506703960891584791346317198047104575621474211492,1707760432846222379199927290024996723551297786387435314090257712797973213338,3344040408380074350029709417101609436776255303449467671336098538843270482022,1392405575264832725089425297105271047968913207863668055846641211653482011554,719353053723009458844410512449434489229631649093540434076367244446712495527,2141635090145579502446782373329464136135485461355233054559515370839746648219,680532720554400044213548999406311809502386375391225142514913005292973051107,634463355587704682967365216451298390979453790920100002297076806655754293287,2690297536800891250494279086415836493774050322863030059672635014035372593488,908149280549612018056742942122144565701326247914343691298305414251631587863,2909368658876988340319213116574023478153952427833521523325584024904308787095,1420863458555477684638919444968870679190109161635018952329164436131980372821,555032873797829851664004213132938309478156396314952197973836560862653655464,2348146770455183126197602011719754940539677221140356477513971155724724212717,3560443285483806354995769622720666901241662635402467496064693494086622635584,686021002399579415922415371509913579147775270745991684328269137517043108057,1977619523532671948223105983629411019885398597723667194547287197314197307202,689200110781934940779597712960096969787389837023576827395184074331023472092,1554175539888455003102792510780505580124936221947175532701865752603962610767,1634373510235034695142664059605399050434800523460702936169334001011839179672,2666732008469751795019420874393067917412632761642605679102316398587326944331,3502165615327037393074171054041282632984025590448607159891899868352572892083,2109413345857183946408914263360139404129891936197601222080803237318936441945,388211753946800455252093169045769520532778860537701118795426950959372432123,221355386432605769818519955829710915009547681866402519857782614937319071614,1912881323795091870515737239594323140100201566365930445504554893515612618966,2038251514596881270298716468179609978776444439032217114414925781746934425238,2288754254091297052177513901299477167857771612362361068353974963133144855878,3015045172959948925211608219218477372843597172494376969721915998778972794143,584142310605726624837913399483676893922057358968426899015087730199811747762,778469415066221434589169298183520347496715507351650351868875315407403606805,2255880708546613602803419902958091584752602603895619269906040012469114564369,964493448862235966034573928355325097475822347455761569053606533407545783978,2581068920862560912883488786211410762967232854654153807723385745894782540571,1703756483401406083255403697885333646884122744573735112633615932988591590939,2490128965399791257503984763939833974994612354467421602098855583872172519792,2296337350279500821014425037291781544992423110264942274523362933263491942296,1250063699440165202948484044611153953740326565546975682030690838246676340363,3142965284957451720523676478058255558551010407915106519457192183818413760535,792499238442024577859463428879111383803372796844918575061366855193986681487,1343278655528584510407832318459744805661041856663045749714630517955953528615,2972487559895389638322490442798883450891958272309592451504006517258321611130,1344218710152445090856160867506396982456960159513898161366447566987952358158,1731735786984531489175566122704310817713912427297476481515528190331146477834,2100379453676111452749410727621630199687554027273581505572927088922766612470,1364233947920207352526456026030235377850423725184870016604210088039630009332,2102176922653644968598939733642118280866758468625861706868968655885282078722,3505028055601465649104360848313038062259867735893836129089524882575884582871,2935977351502474026731661226985553208583956477244646437794199369057628700088,2792714394226597612255798942412642294345485142144454921220037655117149777164,2056163414928666465824608686965690682969978494963977043072294334667807000953,198470807025461899336066561540472279828510731735726965632071527601539257084,1344891073624350110113608431226080516226900721462020840921081018951305841374,396222626080848530164794283531988341507282621467580347535069569907806087289,1117752567447455970530657959798458199289410461618693123734525287612909338157,2590505375825480423067709758548343968358572577629146025218843368567509022685,4391118238747176972932997780292560111873337402275818777714787766475562360,1676232791599068522972156716207566137881578405894535789772327698605945480354,1804304175717066733791592407341350780430598559276975811321509694913959582506,15574471770208886651120248597020558866636941355179987147886914043049845800,1012379875552031187131559039577636109097843036894804810605117668567722156193,387809793302862066006797207949163412199968025605035294972287102620699443637,2342676874867532183166710806588816616673092395481102084202702843030690890001,161265082926256756144500734581155112878409305985913328716711001009131803536,3542382112953507720561176293568809958611038406164181687470775775665084626961,1550964784978852679309059487702503482763146412781148124021256938290301976312,1204957467415845287688717430995640968084493825335874724236984379055917993701,1949329851043828654896781978734138844941334852992445985310480798874350634525,1127028013222640082540753114070882589057025326792734159795177460326058583406,259007606021203656971120811797791794189172340311347586546626963411548762491,373538725430479320123999118896053518554955627816448391387716655833027013630,2000183883251238445377647119268559880589281640974053072307216663837042224716,3456106335568102457583671427487400893614188411765349657374097524140026587750,3417347037794189446579757174522156980541153673678040611990524437410985736449,245099703881636389818237274225307331362763301654733668696720238608387840738,676460628608343357586942126868641053611432374453164491490879754300227478694,3439923362925237357652734274282750121404504426396447646222691681807482535887,1572897823822854961731543092847201277552005436325755940935190295844920635212,3047193172640696405098280029746904361285443717618951357167761398634852877303,1327245754367101054685557857390085007311804182093945253319258754650069616678,1481662384720103084660966556107386041447522478845189909610032818105016389122,507814065449005065344227966710874641160124578321483030783633265046402587716,1233118474647527375546519064410292783018994667613667672772589914799978199359,3473527256257043978754231209457111159590148803838817172258928991931034871296,3515646714209687575140878027058350872659491043673256585050408913631004882868,2990017674122404852664826028682082342225728941104799574384480185626860040260,2781897843412796430370113505698465044596412564203375403326572055552114614851,2690367580423166423834591004258628830851208616695239789082630942415933046931,2075657264396295749224516432286007427373241069028885475793720495211704041362,748524352605105517866356056562809485991847174134012086437408730787646823616,1251600362914473475080387154642981935555125534587233408916592164342494473339,53289887808360479357753904716814698821878199842529352540995840401351421019,1537833352308236048057925180547736329561532710111030685433203127445151696969,3093677535366249455611084835418297073637351461371048155556403867567405911074,1531661817748169984850868064919244047440652269795635780708138986725351639016,2534517653761767477984547842010342994064070743329318002494761699341769466366,2467099987615183974353168680361755207090505874372251448680046994630753726856,2709498490804835081489030707428254697780301946931802448904520948946826173454,100902535300922065200521779774093150170113640596672020766642984623765358618,214692860945339945714404116470947246449624280729356095470147153391464222940,2146334047165230998419233363796196680220818353787397858956582496569920942488,1140095193018475219546220044348379985827096846455537299264637379143576348266,1891812579969723858658691796580364924820885931238922790944169249642979109406,1266310705307519763996937733846121433720408610376721119798327494001670387635,2249410039623239761103487061428732602796131892669937197881499237712823821869,3090740606613016626129733114306834930881454648853110440779173448743618777447,2617154495338838776045837530750193813836469808940066308828222663046134299541,3471177213921414411184879735309600965750871780493360896004092777531005772333,27532037405511157150813470425138961900552030131597179757765456753274258133,2105159136434675369331237466061438370032568051426457370073211779193199788505,2367313233227602515553088502556354766126821025157027489062018130437898241408,2496668130668960566742224961111208374703852627143910603942136399324294498356,173636264482640310965985391905093351123056708091644468399748079292122347389,2538389982080317894712839475330443548883728283551578632461294864410116092290,3041799389601397678078857048647948406671255406031314836936356465541177901715,3028529593473900992526804182547072143950691599348710825252866003062736206272,1213449849023573130212285559322376521578102515445187493989109978701455068281,3137625914542056404464865914001145367401894824866740865502122549185234697364,1258839431343616671572787210713721700841304816469051684579322842636745314984,193632162766410213790949744916221585279251518994370141159606690146743128453,3106572830123077266955192401070245114076359548012271243300418525475995895278,1059343614642991092038128987398095704669904917072315679660811204889831100919,406039890732692510404577383385332371468988809021273820930692695392035976510,307474754486179272790641423736331909503704015494530204960817712555966934751,1845148820041503900172366163329456874656181617373738658749704395305321700385,2971861339023645529076352897116664215624638396449751221755455218091211360863,884444072072669592988336361300472700152388174530749646185302294776081112818,1087869021190242443277035766940768556567559722233478072975052069638670807713,420212946478794773872094758117838768682383570064113517686411307194298800488,2257404439176409290890437368818600718889248092820820582729451290354072641019,3560949688525084671894337926434630950740555462370383086900508331444810487000,102929570979194020217483481808650125552851153884265673656948159333335666170,1337557822340624162436031768409028370590205717928414313924546453110256197342,2929388204590456999273818363702110834835240345034009921213662540383165700533,678494642224885925199946776872841051486936977858913803554333097551313521957,1027654654365905471743138336917557676076548745877016646956633203795809906804,3232643076251479811122674500168259180775527260072639244745498000817885473811,732590817286032471058781016381860836354661137128948743492471164968650658989,3274838337026562832623218055206066733059569209600287920598525187122705875537,3539572905716540790035782566285972284328670762141858307105971187109301641689,1269425787463026903655461208212646790837734801875019413959491406171189243665,1442358848134306074538087346493975101835335574546228803167693108544992894351,643373343686997129399318259509234612277713259247663197751367286792969996559,110139932755277849221144036136625126425478166138916106642479136979742538395,298810459766335449696768440587139427718742602038663683072938468109793780246,740448548030517887490831261608836484384897343578694855356406353403164356393,3274958325660008648730652534938513713956190578656107074367807327670479797239,2584272834433317674635214587191584701196995980523383208354479282259053154365,3166595202800247739741684193887885880793124086800722579166446002142578961352,2705175177718132102588458224912600001914232843676341360074123663752263918060,2637297900492837811228163195903709228899705679418010621801714092692120030212,154616651930202181099170968509845025627410132039663799093995598081950600095,2490861952510433715687030974951407963243006937221901950389789831667485790115,280790038709889741828659008690997033626532738141597820668533422138829156341,649384450829584139832137595624877812675038036192794840533088631431704951678,2248716908980925073581063650132381114941538241881456551278413203022689199342,1317660898818857953346291731248773745049128740046680917385765575443370256831,3481142205013291943756410906541342835793704306168282405751385597690989479296,1402934908830511797715133667172162246997281974188346643545732943093603359968,2072048914751899314358654947558438819957314786653392338070883935118023311352,257717573743803680818874246262549466105564059182463121660173896993660461057,2713108455165157259754700344066863833620540251490092563492806478403457812169,107193474836796902245029371737155027958418547907323680358468411815579329331,2638824474764925823682884375040536782444497070237519805577939098019014312364,331713187684218913564718383851893190863044152883354540045647969614275643317,534223576009121097660384275783733886311467341871618252475444463481579080019,1896032099649228185294264043683189051744354605418390468349492450817187272362,758470741174803071548630570959222391761552791856110628081058206241410966980,1492205472842151700115595850404007116054980768329395473580925314572527995874,1509008343579739868819604438521851679944124631079388750685834400279007879402,1354372338837866693461763817646502766117729435901552131443123154656912080969,2876909568220501138122898304639944500316180199875766958725983122676186304450,367977787791170064338715693768109064536083713069307365895994240523994135874,972873822124190499118425505787601418650164543988890549579345961112763453222,286938512539956039840594410135342077368199895637049381432127270119187939997,2832721592797600241006922684779794006320007401799216166857572884711703020839,2362737183516178990211604389009446577279982300409974894586379715856990830469,3144136347755321826740226367784160293912487150719731580097867085627768020787,1400812490349030987881730366056978039980283651593373987831889995358121072368,966329748987757479358215422496766877764195110137516818805179504712766008552,3109938636115721246355984459459744000317122556659475573459218516255083454037,1704624475062685805443872431589905570314496180244786740353646945302408012528,317291532205473414392669713217302968021534211955741745948215024904349576731,2040335454002203677007636428831420170934676215622322194822023991974254505980,3467959469839459306534620281298814903647611350783114453531359919121912396631,2146855322761692324238215865042834651453262780033220813479472224476805369695,3410420232658926586181923984396242041683098643091116143751977078436364450443,505330977651219453475693493490539457158643756172629006882688482770248567585,425452474758890889638436711697486384715716742631804659986204842240332350661,2135713681173197985256457220463305265866779067818949768198566445602409500153,997919076507365362760729517911166001741992325416014910495197402864446442837,306111062390423629789949547952753143472884264759012757043555048439750377897,1828559847398981672229760065334308776595032942689567453679784918221542555941,2082040281517552898725044693839756979547864956863469649639573010398372567081,582245187127061832114362880666292648253509119550093248124159985872948128976,237445593342154829172243236848611698155500296158096783106297894323127780914,1243005587016973842554960721020690540458004994917069323082635774264444325317,3256924860712697047920138560950637865072549336046045958688462761460819656799,512511464292523183765551763935283528771537515246794302174566750652357411582,862427486615363275062673934915177538554266253720077940555702768689869334891,2381155937405083141771916190533054092423990111611548308241781194378011949347,1653229145998255159654357445573174684867746763362063428225053408875528658421,2413288033503024684918112078854327965501407527121915789576343091577095472551,1511482743160788580707226493509207732832996664241483616667751259690947468024,3313401510837826447701427565225834761465313199703119020738301380812884018284,139628866257500653293436318149267871783020406138284785563261539926564537544,2077769284676021276258120541435603508046886085825802194402917239208940244615,176151980557632322533881717369639398446810299945132475149537290783297604253,45558559888750104886785626480824666251524351258321159738392954038578635386,488166984597142697170016914841159209154031737250796470097420092025725993138,3019861151109859015392553233210935972721522684431731630818122036458581926638,175654008405835899762196009713553093269400794403119724867750661736995328131,2645115907774118107544546956779585858439202037410331802724220229522018478176,3030843973144879285727303694981422312189434200337018115373601810632685366592,3374048066260350701320266250323992936243949752938007317654040974057089143550,3358330953671329852766637565134810648121128294095193269948839342242315865095,2693653907796122308956470584260964163911366713294666580623679804843583616426,779274229317890033286202716711157368069062871930019732818592307221445237939,3164986882962960728055231122069490267799176324787718180830931482080772216656,2682966650714921173133330520957377861766636319423459772970021459203135094595,1895340795432549923851631699140727388313105266408193537144040675561372426699,91084827621375402854648927173041108693982258875097248544954234985429092343,2920813288750403467582977355112106959655609652908389839394959568996552532790,1444931105044786085887235204977835781659314902235850484561621361890092169620,2749096183209582415929743987618493020469864763679553265207320507849849542633,942328467200662920635837538670463932117206119852302596886361037226492469808,2948806822258137296137989532479231525214477704335931809352504858212739446410,1434817316910026693228292430355048782776465306146313822947438041966044941285,1170478449454199539482530040394271195982593064049655953712219926642486449979,3388713365192942467695202759384280623358709037132982405436969598765138138665,2484969190092121492103676091646378499256705203394166892511331128067155475520,1430307205407027382699489181464467914191829994804910494865327529964490714842,597987877250207672624284353476345087142977938321477853140526973194878222924,2165033269133695617754228494176285435810688586541254313808793879288989488793,1457175434087277417741882088855042480466292677077337646648436675043596862569,1563594386858763785423199649325153727473780907589210467802909859460083491529,2130611887429609514692141444755864781573860621854419965314039958023124001442,956846975054783768404627175152882122355072540384025686479612189230821387874,794395255217923920534787248601902605273680429656746677324142139503349777763,1832534481502106685423935796036996376417101427676013803730938160245986502602,3342798246567211770982977889216622456233848899261608691163682076251104528262,3410514884954165215884763248582221470469106821894480659736284503060796117493,3258219818200552352383088231942074013991369628401824865915371581873842468764,899775949782432226520076497799139534654417082545339863940303416791362058719,1329483615238952743648947437427357177518213231670548603571454343495665976236,2947261265966167226542266937136416625941447046221469852833520084472320632543,900724894274683811990432751495163528141397588249678937561157080704826577882,2829102621603604180071346249806206823652098422537282501697718326615475841567,1851566774884621487320872406450039010676257131338097665059886812418458030466,1217127222975324117550514131726357352014910276520668434852311023271229751028,1335178921587671884694662097334045788079554575818382551430262754615861491446,881348813492576663090173272905303477505635480132920965173461015257132074984,2322554336064543560394859746838924506148114917689944009564051760851122731193,3021440772400489053879014496600259600409690647098215628578804998761409528469,2859019679693279074827607457666790612158037320935029799488003506711479936520,2539853021028957513505637483543387781502787478139415524273626765615569044204,3139523456050336418567376844129972151852373183487160749181498481485012026565,564188343593333777583755008961575934293108019864448956079740869474426778867,1379223355280302115466435956052347187145625513197340360577417381969795018331,1128996594317307973823202398621416450178533684778643562152174722029064340335,2403875195769424265398574102742189712783097347156055499159903371571351768447,888625680977129121056206819873728741574066196964400389558339601246530128651,3158490672676579928728895012870270977363564887747632261685020001195549468328,3563613576065162942050066917519963410634763001118079870748611619669271017252,2659821992069536046644806103306645283983935249278098131059468066466574148337,1834856926595666260917778032640429389722084796455454233356546285346902072361,135998899019504130923306292629598204324759647672253951358610942723313482482,1667619987164597721406731161603422554540188564944147844484369497379854402821,3474533500564466073067023351777035197127491603342556533394656620968298213498,3162644485738194957052087394099093416806095600906071481989546538308759183707,765504406773356283987683114076003370399661265183610006652106869939884487911,1620316252408516566048006954453501215464415712853605162544103872092405689367,1200265913183704524592132171026424513233887075479594250858625870531968060033,1840012398104790615949467344029351584579167728283062533956828851091300111250,1480931406110904652829702739338599271640707323509710880571548692326995030293,188373680098462590472877096073512417999389810418916874729780338363024806903,1432336453734480221139357573564258854311889714557667918470004189072821032167,733974885582079368728114487131340686516925093074511685348204914491145776394,2437582339632031453835755904678144416810317290593914035955809034165202647058,184804571298388985623231462952408177218420812636202539497148681134008952293,2340730964105573440609142999642017981248067942126949057420308019138543379771,486871495127364202854674214789252395911150081470381639715924284545393649570,1087911382751812114929027254180100867970060447187535473781984740307116665974,1121513417135782544517889034588204881532426371099719127814351046700328953804,442379409883440556659687308342551796444768525898934827834204218724668679754,753828015845151910171827756430614045562920402161713996287831093502817165776,43491909917530916663209140085409023846891995005960000381042913062638791527,3007521095415168854138427069657218731440855453059147019591470261657365789793,286100042502517127247346278958114885968926503933622020405488668778803034369,2830246496641408307504988562879706240829947563658370299451647077645394120796,560570728607502339900110600018350893056771364129685215642001441624929918753,2904193016346946183713934327802876286562055582494968157200922346948284329365,1734655623689174638172602576132833586723013711256786070569413661605882629482,2515087513470187263601197848289633722750481974278944043867313379912582205929,1854791523369201325685206397275762108997043480901886180941727517661776588621,2788169129452816996998077052983068979601422858427169249910714843822646903653,2038497255061515368242746949465914615067007129719042189774915531805049506188,2798173232954742323383389611938562434860710893499467012204908714921914434952,3365044799262108681574199702226319068996277770984636928272130021042605610146,1047228834066235014253361539607061952613939846661055320971029096895273528011,2500899217284920386745692658294717140704808160845521461797699397493011032926,3053466222682764242418554263039153889306656920619086578715785456985525533939,3027115990533659303469389436755948024716447518646466734476144274112406058441,1442246683623852720452008670081954497984730969903764523923077636766250343324,465301654947046371540050047207968747367360380773135621773799653517243321406,3348903153079496975402109173106101865861311015990507221742480180828263382907,569229265856900259659476488027940392107294943281524704094432073116291826555,292524567073032378997130913281621562975553321124939294748458519975208024726,2086963952873972817969811994273269010321073724323096751919224627708635177454,433229965600216343537445340345851817249594512876184659725210189511561997038,409051558167834056178181453607620715860276939946985232244641609042170359406,3320188050937269260770718545650624380140637357100685193780636739704545374067,3486091688777929985038969774578065219557805316619227073303399548310644537202,1615493306299532007872344392570830386199272754089154915931726580356338150146,3476179489756355701751435811644513862142171649427667094092105556703281560638,2545422626630809157781228973781916635966994098315897809876692153239806308099,660888641708077053850111052080727560061709584149762490056139495966004727597,2228304542305586382279926508441914823702177883023995643098816941348903134880,2561122485671040951009863688421674732542948117151985658975272093507130111568,2002796068755103927151518630442840557365170331699424175974634391743507499104,1780974716122335064801741973873612463239019494492179059820556065369020068232,2504778687110560215773735834995990748702235091119170625644317608552807402703,1880910928521098318013274140672397833369461671784627417435031315087820694534,2870810153948073838969372826311244100025936338726001782578295031534224405871,299212149084881678656858610955733367770500245153475078490263248103002813252,1699422211241729338310021836297761658269941960456451863903412804306082885389,1927476955031568110052145801968609065422174946223585579341941835009427520514,1876187688285454164590377244996624840410009432249843201277371292545951151098,487887899560916395959495711188537390024038313111176358809924465818329888072,2445921745434689361463088424009034521676495145437630955838430488889031878221,2076401144158921675385367901878643096480427030430827185965872935340139697248,3288123986069411125632032659417992327944644193220079664751922202919972411548,3035312108059194393049933576267739964471057628524511829931228530356810410158,2421065664901252212146996833067742781950808505473044238471379390356184904157,1969211397774908643262964324804632524741837343435999290456753251387369319757,26059718545302916452385005925340121815112414295965827289681051836088538897,3069209387724343832920944311366054366832829864017975801931043310032852949465,2614756402100190087946694221426435572649215298579520773432706769591506223027,756584552892328121964211264926727225590468634049740954967433121912467941832,3379048770318120190250180243978307206536351099373061535226948877462434917523,1316463032468493017941352693396213422292537402802444749435140515575256126296,1487037142303241695642345043639011387941152319974586594507149231972870004676,2111120557146576108419204476938913106077148819904992972650439278020391587033,3313781433670836156223795091837759551064666398873333531234955642731911853141,1736002886839252268769390426269914410664488660245330907192274409414226852157,418537693761632883235247756895646616281712926595419900941334074196846180474,330358059021669889393611505406652739452021439731494449022868184344538138696,1855750426370185194563144666315312170837609620923273350537919911008384734425,2269250381060765486018176948686103396552844438499044147391675611433274373118,3312885683061956612021649973479910178286275135360218739236940043811623769925,1204301440861751521029660101697393705144165633081410319162483711213339237685,2012074075942007618664062617762936475269924593332680828944127009628042138665,3067478927906750962077680454103662218965565983118500445557675637600274917604,1970229117426051640624834239500846326773839520665072005014166334882872739873,2655308962872795903275084769223518920845343420721630164850164014988882187995,3482566264026835300322075551727887536279943311701917677185088300456041397497,3235201104592081221011111897769503752532545506846691329214408593565934106776,1943464877577925331033058446215796900725213770675081175201034214625848782049,3169067113754393228938320977643515922698272001831451152675283656747376312501,1607547035748123101726420628747244317897874477515928522037472267459194285360,1660089821283154730507484508011488510380653920656407966807403527917799859580,2610996717747401067697650362503722601719219004545498667059782815977484288800,1334174289465434721942166406566826614414783521117628949440639000253861430922,944887709696519558518101536035599942926676953998838452904927395432052608050,2646659441776130177444574128963310897473834096363806565883512991787304365312,649499383856695907007373737975250100613354838633509973046353320737596285650,2628278050672460032002810878760443257760274737196406998147751380587128885843,2434780801481442882161036502573146186512504189332354282367142156444214846884,2230560132279317338241616508478691293686475914851546254654895797956670726531,2826834130691899733630640347318924090395063646331662052097582674068779115042,2752961128719749409709922229990740936574164000567475060822109798703141760415,2245756155518194733841113579759029571838265665732439532875474593024688126821,2118041384921288466165242146210238282884754322087834881974401428298775081954,2841664912926496766064667340633164217817833361976894250030533355680645834865,1787774117198155739716682789344716524396395614704047643192968822673007717073,1108676417651825950616897867393809759349585266363263360237363143547389427772,3274462607764361476946081036745095653472755389363290160133395995258150602687,420262486070080351550385351163136106884206384503629704610370213905039969684,3287520241066254819130698435898191217758615931831965699127138217288392264727,3421140037502292609597344739415009987232176967491673273285028782929741318939,819216002088323218738288745409089296605009087599741695194004359792694789168,2978320294038673324675132182620809925142524358628027216318060773844191583504,1989127675555857889663382522364983738275517719395612755724463455618834243758,2350597523457227769062739618935922383062383070043436083050551303603164385255,3338717538524593842664658149373986479959689808124500109141515588112065501449,2049868249379352254324973497872577221891468364016647503415921385750910583990,3035922045800389750312100151687159104619577157403847280664991619770861239704,1688301773946290867056218627750355149439781567984433579335436800139713243290,2499210017600074510893701788315039296080282582552037567659939967289603705235,561210692084222603888597023543151903691134089938498565540720256523811289952,328703341158792940590629107294521651836346470975758369157116229260362540093,315750505950573454876269090606962618795080549171989594308474821840802883870,1178110683988194097483680083210990087479638395138963488672971262276186886005,1302111121831015070773785532054454384087658966323576760923635913255839166334,1573549371370382624374868717998091580705328374876844927719468990706598991770,234130480979781197664727609320778874373863156125938363630583998787200347891,285403610560265046483308428923278281748665287176187730222267018316251133931,379332749737057898613473560185689208117704640365716018439643032023954725024,3212646496514041258004650443618278667112228563701376385324608734053220289940,1921350944164262045515960469782125780440660659731738957467679057154105350975,1351800906546023433328026473022251083683782764215426726973836402939578838873,3331535069771530952890033852431543855290108312963369295963257940444045278796,1494432041090205437401386601328425673572156271513928951640163242901194545272,2207943624329434085531321594545485299111077078550799897019806678328227155124,311001538860888846505625316792010343273587266934851815924724606886988164287,3303394938605250356466056516615600556575708994093360070157095157216648942084,315316012007954246904579762969992160701296049943873374460694962353011229958,1854761423220352119227088656772151922479250280159196236501286207298230337367,3077603059201904354976843347718924153731778959721353109014110284000683639426,2752828678293008957671618552417286765726305066562290548344641699488685608746,3437504698114813051895999709988682063901275509833311672232064713737226452794,3212831151641376625710838412381286047113180225813922313605596711518425707977,2126867973716627484079841576331408802398058462541928660101632344311282678321,2487492010937345942715151250291127638741018181005544706663945954334290208820,2887939239791606779337536331378385679008786840296558106568336159833065234079,3304736516545752964067867483791398462961274741062779338484843137066682506024,2741268088521586321814277765060118914337005793960260441980555138093426765890,1663135375779994180484144944768422054826550992584171599191619175774361686503,2811878643535855505727377652405890941422676456425790132417400360696321570914,1153340334088904783341693925430345551880200844774578705160422744074528959052,1612460521409345781180212871803577607890205286824327486296079383089798780989,983505531469026357290162587085398766683671967471817340876259034407713750716,3152361814918737135446367220321679258103315875440143441647116996503350308437,1221521068023279980062930093358125311717946216188153152734641515052964517790,3312098587459818066215402975363042559035857198641412940679176647133080494138,3506431704448613685013359905059956040498750703399596817098079265560926750259,2305962947493809547064413665019548984296541279591396995937173156103428613730,3322330041583163328482238007820577637785365381202881446725189658686899225450,2522302448819030917415327170252041837406292601792098885364830136553226574249,897625282221362534467236241258407578288971028367851238427545957365569265880,795403931689965482882122634874666048468328884944593907602595916066673469694,3440044855691259433715523162262167959734155090648711207736093822006908659655,1678386444879158282842522608731335673469528380475310053414732748296155261479,1118405769728503512121341338693952312366154458679234261382362473710164311700,3049923553179602697889333946877832207322737388165025190754604224766911741761,309482545554325484293632043177060196107827879126409926503780431896296040420,374463052698698916154038504099243316297803214753472603249525932160104885378,2045616775940269853040258087826950087912791775377453214679526344836393188446,574893836496399517409975452511534238606154301776641479891561562351338621907,3432335543210915014851823523035779898485090158020093391671886021627368943721,2353343512156258602979871332736151567274074295377825443568125894784388772579,2029687451785942238845687544675843978144536393584321155941544147335231578567,942624660064557732921200240904389340856144854340180130048427385283652076422,856533720596407488684179440568682200684499886380476973075346462049084092909,701308517883845429665515955052175405341543931335083538819458063692029561542,1313331840563866889269202136238691757459879071052354905703241906292953676876,1038520677704519433844221529420344223316644285728332582708961008629659071722,1862497186427216567761387807651717691130186420320100598639368721298882127396,3223355288946247042327366726664469140088594011714935017401564652660182877137,881336956877920822065147305489693981646012375948224818770841752382194080226,2321490849063315874295778756720664861275450876393204908905254574346079294476,1447298812621844559754562678117857396281885370180206244845331780499301636910,1052007909127596845272689946551802525513858869345915204261369810826444500790,3064734896284601882762104666951501457602271491359360427672184993386177372467,2558731756036177937155769783162188091468537939390890255587215025268930100899,3385369863937175763262768962403160488129118556497541298857996507002021877370,2530454199345960957441304806472401037352147143982827901062747915083161179990,642356241259337045890820101221435444372467384931261187994784213274204605879,725471329922779480639382450748699662999792046247259289044774360547609194451,306608433663360854715851502582787700316748284247852665571655652581629823020,466010965765957568699295728638456621450021321058545420227626021832800591267,3204566940794470922301812824285076146684463752830273642081163113149558691938,2211398372237742832254043692535230245248047894411055440090732906667509154867,3572549067029770350233251736732155949397690740906196427523421905855116337112,736820370035345225602237337905230724888906761914848726550037298271252561335,1177604669566573780442031427077900728795764939671707827639165392516917970069,953987619948610957194515957975386354522825656181356989962246902058092426788,657823495019434848814226067821585017045239785828150917857602889864862599891,659276651084442226313616349214338530718860074238347401703528883922152218061,1827021318448256220907477232447256433090662160800447107654572827390092288304,3500451347459497642854708881951647396557010692003702476018386912359793746725,3099301299240801321308853445634196974984153425074314154622040305868159338114,2604840620536902532236113699771590647410380677211883368588896589566778737004,914681809419332998934106256818389923068283709898534496105544850506057508271,900664534301671782159901444739110923953011231305783595639953188404236638166,3403184971495202128599035867188420095565765389201149252466520442363700031786,3512741991393962498134420298913733090284058607568348452072078420443915837202,3538495346227749877513756714367326181313093339399379804188167484487912300602,53005345689792501674916476449755338258202917576129364289162943062751107887,3289365418156427272674384900589907808989185080731481525008475597108032648621,1015580595750322510413357773034895259252476505531013478546292214259590313182,1070556469841249513744743673279913592779273836210268083922443805151697536627,3519737271113415425731280482121644578880645027483458855450333616431559742249,2904897926950891500556030183469984293362041841082633167991300475562505599415,1675704342277491968406946919103722557215687646049539670440117079902200947644,2949010711632196048118984385427375676525334211645078208399567587703368624204,2542342280602770210392473164512876506474568326503715166962955914266654500219,230858650622794191675689483551052550931130410329875601315962170250216769780,1087670984498060173178551807315263793070920167669715023200224277726909158300,2923313681248799197736622981189937453467663686990069419638486479717580954423,495874251112256528412553068101694826820668647944018606475394753279700002628,2946896771086678564852979899212089747232034191785477262396427953959055964035,3370798890480791407642372174916836550425926612442050239337376317481656854033,1422755645520765586762397880322790895056194184768613410172817391881168831275,824592641946455076665651936682386649991698542966363697095005192199899422469,2202002406009833402486097626576799107687501716634614128260782480829525838475,513837709659800183006639547172260048312308357105957808356427265291636318934,3011590653685223625590034876235882515890480770525263563296315584307485901296,2893231174096406089092536115196898045191050878920891447136093470014231655132,1581517960948263246547639885481943222387987323808983224908793726652291707242,1729632989606839746956087216553632110982494433026640995124537490010386735332,80928107453242078524590723715443466879998301150375900216950488190991854599,934442894405831131176328428015810107926466947015157248495740801243601980025,2181589852302126224560356249451680424894199404443020619897399455138435199881,3023100957591278195548681120594367704256768373654546694284860573084306531703,420280118797535566211794955101045951341368876063871593043149262037166069383,1859743049957027125370889687526536818460050627055579912598826794022566671074,3105302120755341136638329252045431177671976107321129322607011054942894330754,759726322840727925334397084589044979277330180448455569124033649534710005677,748298843877915691412900177448364061960657915626180400629561654514850419068,2917095171713652623715488858201417575625047754442002515524844459462834541757,81622663203435722299517343811051508667668018796686393092429302790345039586,318347996580920058224415784242000297755354222236811326504787568668238088784,845125605211041302558751863177151889797824807238579660835109791558759689944,1084656045407811109096740704749011318363512509410109079784960100652719491980,2595496713221417795936190414119981414863082486696604789707960385828452511560,3263174717382522339648875105088180049458907642844155050711758530604935770865,671469493634895649863495343074458612297662834571669354162822957854679170100,338857360279123084283617974956513236164039025374916779361226037787129535197,2718268144876993829986265018083640546050683047678993660445180766502410038134,3600332030689728216336198479368876129615018676635442789979270207671006899900,2410516216399128476021403536644351870126624429107838802407219438347790301430,2589397429653698011264115970784724438747659590359336237299503176102221021682,1816581528377479476280467140498075021096515464052962041874227110868055122081,918757825547176800337245136955425160835243112990891176251304960048420368802,2384538358689891446847426748225853550162657032280213636290167998016853796968,2834458331965605915643855729452458129675648628492185046201501792086952428289,1357221303437067242065391906131125531715679186746415579782361885278997222488,3488856889807107590878932476231996083762932436002680896897543745817086787702,8519360579404432561172804494948229583145899042878756458860405436850903622,841968983060510217528169031165566068031743786221894001644412556251375501166,2632098608171208574142945462171009496746813168364592845554178207423899853410,2197613538337361013376254195759969227094043948766667926391887714283063646357,30048476591638223099722883895989260417960433203641413512771703958516260422,2345620802554786625943842934434420720693856907168057636775569425372780699297,1321675932752689845301861047783471076988343400268578549980448344962324863131,2860749219310498820363910138094173020538676982214575339578271442398891329992,2926477331300574879130109039367879601297804324616506364408262163461640551198,1737149172205245073904230121589257553719410221159191284552856243810175896765,3409591954588630971067382560052212876392991058219728441056474479859814687770,3163284417801913331251957742601922685269893117048447313245521970281078359317,1389519110558055745919979405488616314725761415933516740781655660288824062425,3040130027356567377310080168057567136887382752127820268078520195668006885949,2367046140721696534978999181058311497234822750813146774811468270304769850715,82141315243912838219516314501275619883422358536896232048470742298322867455,1651428942657766839512385556490804163293248645730134905992215873679210006733,518262396170835281982602897964456300434824175957970173179935402668311505832,1879301838519894200171409032065562933997694040170411305946355597457984061009,2648035809875139755958241712561862991429786413872151924543796771379840977978,1582668609621495470235076176718226985600261274050649344994541532661663953567,967430426329132146329043133398054873874848319831223518910439473480219492058,1010382955943107677888540823657975505636889641389391124395746893772249710097,2826103912408276447956659137868648058244077856024812404686208932019136083635,821731552754443498238675872892144405911748071807314374233290759470971874589,285122920950343391094720043361195925142266921952433546791439235089242081728,2601637137676714653161386723270095048404389945866231388933854397803106841394,1149804826335663681924795557376205478987010553102899037311489078165531475817,1420301413456711716781998774045581248238093283770994692489175010722095460525,981409752361685029692701902333507820031213237182101402100966483336291892712,286899466478358667882497687990134040202232484202274117378507358968355395766,2662589176338277630963394747153607930087424869460179916799012350849280098113,3229143394952579120441515201381321629586664002498920207807271354464720357540,1647650579409085222092456601054280130747240767919277688745131813431918902541,490310456943157893048358640322044244974935561093026476801030757288686407252,994489028032218808564036580511398238888576113312524013629982320197288773380,159439772693136437818690693086887250624534193614321342702064063027075147143,155085578860282871426480551722170166480062545259019853073646397074673476489,2275545007963780439165899369847164833430942283074400301062092890892876972637,2058466945363421977366237119852551175095450808688696168945480079860549154466,3241563529178801096665490566897802124700177699305978546795231591401909550938,411766799180618709992973745929409961639764619884692532198885732169068247717,1805161773763739783574105674546102899615826086517949411300909122828903183679,1677161488730852291768199560278715524176826776981695961109958517258225981330,15131008153900771400687613343130761350525450654439161591296743224599253160,2245521344897722768321667673187394064432742261244217541416821762663195560397,2631627294517971612072152036866881185999349212764764649414148530046886185927,1994526621434425769363043437649694956177622487832233316111298229537900852956,769885466327320674404620147613404111191732566278877351463686730136423911734,2002800183330651354451014106773581550979020171584579829768350906658820081299,776869321360468341181149825076259317240000061284472083692136055603713755952,2315445814442551366947454203704993946379231203901009408646333673609707269332,1310739360298216340580241761202400031008191967358053021297967004883245548003,2137800486968295266303980891182491305411657014029175229321499230471572186479,741058178076941520206491451216669197518354968822978438284735133675541095790,788928247023813032276809249681569046714250297523266905269468582067977130576,2656624108567254756466084156069376138423133002677459184937912842250941105709,3070699749404864755665798530441176344114263444718996199174110212876357513487,739909187146225248344895628160091987616026366765283413617338370436722811619,1503751305384961266563838301010988875816187167101018490014006780541746048368,3408048871766865256790657234629036289273949472987471161095878257260986190109,412494425635172599582694920868383221826593034326339248326875697237065610110,2441805876200481476291165305239256997923118783886907936407952636588962820242,1256056043279279818456897401682472278266890219259711709145916391561236448699,1974578935848500682232174043890787906237479440767089126971391317051623614397,1765667617748048448039318678978816732021189171035183138600327018864346561116,857811801105841894780072046626048740136974944759360678974641632700149441285,3192513728657768067116165199124482094908897410166930157550309319727845516926,3521238497209447675924544453997945501796393184505713150335299734011190122679,387325454828819597423000534754786770185728635405594000878309948404190825883,1174553504043876222725218613146685000048146752790213174637604225954444997737,49841679749523523041661088668580677631611689236879271295752891084859716348,2478933276801075346421481998464393477051768538099267822607269784609387880443,2449307410208835592824420246377297204619432007216424537043759673078949364479,2016764925908360056380798396209562378468991425889454825058705550122286567922,1884645663078389991467228315624542471321526959820226024237189236264997778462,1671270140995245170287490719272901262796442255991670631852178046265691414954,1118721649793435453071264901238475101062953102564795592788550466660408595378,787036965206245707933198042294242468569012915729410284783368980526990324313,696345373332386409972442263489293376196555465807583291125793577489036629760,688644511808099353236517323860681436094773818546539395726787645706647380999,3195069827961771946323210031259785754246921304876416843311499233491431676507,2834428215467566546470613879733898717504411003720593361095149459494633014964,3125271650431057346412209967395248116289099476346419395375718535513297331388,1782861346769119967089687803132124398579857502272998593513600680919998582967,1112719818424810508457386722496934435966526404782904029836637610404103707936,1708402761895324618093835997894311678684973220154958580623728772865015106362,316895480147445717690998222239787346316644609627835844766828053014867759473,32506044770146221462595891233154909354780729491732448964289799184264395448,1982487621252880366618588268459088651883331452410551360418604881842506154208,108293755323886645407268578435972431987593345991877414574910561078802092974,1177153277383090556475898913607341225679513898217175146166249820938951466031,2705139306688819662420428202959713726999196910407331191112573088722763222277,3287362313701067959147404494908119158880888856340638552152251186506014957996,684643662641981126427636715989938236799314937236508790120399407726487271043,3006764160064573299042835259518782622406940310870915393200147874281852666303,2866714655475324028064951311613299615808559394329088060909010870606082383027,3423449395517593767587887856142978468212547181480093103791501648894337927659,579563861439406013789868430117281566716561873273884003323796982811464218401,2232819219680990437384420766464571747852017742940610073222923756446296892923,3542476922172486554650271306268836905158068314851424762138688911274280915717,3584863987532453712898280420904848208290638810290558829965624103841566065507,1252254861721435030203573740217906258815341726149349663007521177754322011286,1349286470200577193702499699942248505295562788897088526868981469482306733806,466361932553019768592665225426971991863858600010792286804028936402062631633,1746879281189423118213734689122794733137168641532535569406512321132709750631,3448660726933763603201376778082804570050434109922027300564496789639207287791,1973939382008369656937040243512360355370080189029086998702606233862027374925,1437634861551614542737368634749867866271356646495263099066984123453073724092,2862044895698867876946681846788631773453907680391790535347990681254939341561,1253092512294409319930537502599328997616575356962864686403897835728926307186,2788201626278249584129098859338092376444342315629856789952424372787349177264,1401098454332214044778475292412683928556993957106232843772811030569996394444,104766122479761906674930729198563346252431657985596949527715815491014409807,1372447644376001605583303888137154313689485255753935811113877444996978652432,2265572265110604400397135502318330222121095183015561116049960332974471116110,1232278249811688419066463912467410101645724726928880632422654119259693418413,651987383069956521936021723533088495113284249977510423336807930947732446736,3541651611607663848945792312711916351033934004900427827844644715406472303704,3357555093124710846870141065387161743316192222190813377043219735264119135262,1024006692654273478515811475660034326561371556108235301715614896375282575406,795377466512983166743556976066020122472880208727692458277251250779176338902,3092822179266982096999014195344951002590461509971364796103273261822533709937,2086854387508100668165077397437271842581827796942807026623786758375013580027,3177439417838546584379378352964227398435790658509431588921328084210155286351,3240711697856087328779482882356164000105844333697928646701812905790567995277,574634471326541129333793342294588805069775320606814354424051534924554294101,1256825042077012541677402275754708494786838530884687058663468090661947807784,565347339153630578093323210565973587879216345907357407563900083372459921413,3375719656941857560478662317291828308779089870295537658594987027919976110004,590689667187292806267288352747025922323502468424391233974365532720838342361,593047550363084984050044801350351266475044011339719477408895172043158696336,202805808483442955024738398769870929730383848269943155687428149849395800556,2320893005527323513346177717527582840483297174688709696532402325890871087758,1660737572175052558336220656527984054916916827886224456380352321234168304465,1994249011667300521729297784998305517830668548627097776400316812679037208291,263652613208639842331837446583091248334065654325784161450393965484650164195,3103375429285330586272100897664324207896799088866023297233603032513265458978,91185246462344321194083549483593146747947481988719529076174693423741452403,1684285487208129651869331962081597963043279931830695084144040351359669087551,1156218974843728663923302813715580076250177477611615255208042638009800862622,1782319033533630045678677591483471887797865472021442711437539821652744798147,1311305913232319525023522372776818790394433207878040028705374006624066255345,1528195177929653837468943027062828758130996941385445823534721615550677107981,2989178233453163491373463196830271637870926254281881494370718150356346491389,660732491799168590223720118318362519979801537344461429436960983600012844958,778351444710341655165685575367218571941756172353239392177127560339245633311,66248088501198197731308839041040946776696624526356318563097086411362777992,399750223994439938792639707809549916088595580676614534210024047310253948229,2970013754288090032242556821528096753537239427486668033117953709187900586007,532288083605903741757106014948951893067889061645663415909982362270843755577,2272878208604537972429605672694910356343359945520258806017270580094512830349,2273157920162896695412016870981705323593863946634949977176316119641998870461,2875868717116674008434974717664056787807222778726747407531541544740044918185,3421269929251638927908519962580017270147339015267245273772849046872568065669,1250072805890549497909497476008484779853284574046640553251024556499227087969,3593469325396147289487807162639253898514223664910669870716972687363902930371,2614013281767797737990042882273140893126540407824276389677930887363960095250,457031942009199984507992556473542508730501621300399311812745910597654645700,2722161665667134153076047298930234797768560930967622234245535881939218195444,461880866199549193816511417455999013203948082692968994525736471300887392654,2421770395183048397831236188853475384560587174663557676756931932989242131104,3340186263327834261399654250085734481537205657961405300467673894092929753021,636153600494814594066749010472382622750468143451628351948930207414431058398,793665946443573797587521224058828826707594065168198608384342660136820420911,2803842358780660349489503093508696471934990823077665729431878924076181129496,540522822415756630096499632360854873518714978510884996167562269693857185561,681993976176492491906759640545857568056433906467441518256753560143415719119,3321945369345487495807937151487076566237917935528311368853380749337098504285,3377840218064987750004134269740883239758261578808558725897834688643785126581,1472342342310615096355441213199752987107750213437489496508232699573241619209,1419921560411417928186614849128937525817258477905800355091309786023578502860,767451489608231199449455948602569879162919827349799325071020208893560066880,1443899827138329563903586015022401218606406162022165099336420401456543022467,3170409261754505387193861478095889342879053798747853577609707431795674226470,2252934721415487527161817981878276886981867372064062626492870593071646888143,3144939641389304969580474779173904880607431375157729804194568162895232137626,1075140893498201596169098162224516662387860150951606354391911229828288490867,1776616341583016805930474504300969197425213524263839794095344856458436542302,2725295304405453170697451553110866890545933446765970172799560348618285809484,552759956085490149717230520862713935044614429338890095906377083665505216205,2471588658976899479781157209072645608356004920893266728383643846194000043666,2561698652151741966725374555532727095655088160071575195903420869232148797103,1808261553242777555881474125882812709952623347919501527151396780459321823719,1553779978516135480654252580888165177109758851003724966592156212477449045284,1579219462163611823835307273846285449556270564711036783400766376020919676692,607460540157538618129004367768918797663623169185439394767168840226704026311,2972396351806648785240193629769042698130263614078994188661675107163399214338,1244373153313142754031140850498113503835907670354994852642934681706433675277,2172928018991990315485569539999142803166259957311807949224964901235655135546,3353639149443418812411816830476079876991596069651332894215372542320344097604,3381144171050654446662108350385808675571801342289980613659143848544339689984,1904070390089277225287630302620917329805114056095115075897614314096328412031,1276048583278561613417270712143781812082216487194493723139676062377624460137,3250498729990597101194174688189159973054857202204094108741544212459200217604,3534043239100104260518653682371576181355609713292468196641470254138668055484,1552149269039145175596686671668245697518660664558753440282130389469274712700,286012075628052165304654404819025766776285813225569280979565449416501061980,1661675709328902259162887915919179275537188366763932240971930809931801803318,2881880493401850638280113872674093655989093492762904469962947809961833308909,1841866153258229203036573411173389177212258046475865475332501657148546568518,772286137392085488200375642664899353774829536511151706088614687536237166462,836046133630237140700934616306880471583549727687945625579528663664791175977,1709406523456806240884929617857989993429493955557297448311594972551693470255,703461882475326207877231673089936640131849100248909366270209246887040017636,788980136900727008021546516213878920970204980651263985773693494629619280203,2507104113221996243337039871796025631134321556856167034747853968349708975721,36897102722401572015765111732668092018297657552014408250098436147422567520,2731797209724169514905517490270780530583914151843149749407314877550147019908,2817467835624058317012055723610291455567439685325838795386075833732656365779,1661067087934368928421549605546406543459166387488395990893049168705355549194,1325294589257551801141151769923701316334508763801602889444679688755330376754,1027994395560252740785546319444601731030999378252226589588349863918663313985,1298861657620511178237998125578693402105150203911548474410815259577427471938,3341956622449097399470163323362987925084799005906540977380886357085882256733,1791142814034863995819328067171432531363873045727872965641358321155913210180,1718950288318860063572966961226085003053409145278951040627420542868436626122,1048093183323047924082649176647526664111768408245179175840871940750718769280,1114166120508274639171348548761693672117847643936371463238016723321471558453,1600201008991615497957458491127062746382696148892853670212304414997564175234,1315614150482333650780620088442285160776577555777038135554210075725264764779,2397658272380407649838858059750333277163707859507331250814406935064132629044,346778679950366135462786072506913774624279633860683018901290031042758920081,1089125203732949259662780881788598311875168715765857459328298721494149519519,2650099071592646804946973253736462990482793463518471314360851266221620506546,657072178953894480365990770262566762502781067266500598993104437244604637172,2411237494082457511548414577383080702735180751603038915572469454905779951736,955474821522345494963704587886541169608623336096051817688208880397600736437,443628167141403484219181815486507017848592687315173731276225018877927829444,1938626601605404494671746564077662031975697686567743850990668786360144259869,712597434164394555639157406466816991532104527130327876740648050314684512333,318822974605438695097609202978133206289431963110145299383720723988352268119,2268853756270309768501179385274289647457702116377889113210820178797796780141,1443568720539728484222160389751520078530351879190015172411211460169509478046,752104892374071485551652572821732899616991097856877419338604915195903070907,2729045628337588582082624079216167782611678905685761087034826565147122718088,2581917321871511960067394220089017673108925258468228725992100178862362745475,1558754137107757372996556152224122407661637016442952320563357675073661829593,1061088838814837696305699341212379950342931522296092601097575748265825611985,2256905469397095156018761712921116002401013429183283066384500280875704398387,2458666646313027246490550268052177042828660912645395130064671657596302712642,1803622156993182318439092797364919220773236618409063473092345635754019086226,438194192472923306565753345482923411734944439024948527512302284887853500447,691376426450175333120050903726974032164959124289638979957151051447915884527,2415839831047325995709578766338721267344849535920466246959045940997550838815,3440880936727809090626710454200112041370334619253157803659487418544995160692,2621443200981160104073469846645279948324850532740877024193959121311588610101,12789510004178748299928396664048152688230364537660533676788470266161233954,3468030275689734354379392995925336568403756397603098895251483559844315432902,714738250132772954763933551449580840626193916635954416885142093779047823204,2473345721487776834912161967838754873992112706336455510793411501818260681135,3161638364906612085078781965025303741297703391864374892241019303883412271770,2960046363906070315409058572348216267047720310528006272982965484616394217868,1360168178886885825292574211188629461356551604554369207378891907158903030682,1633508352036159675272291148168880735746592090096478755896557509870869973122,511751240387409664391694765634518930322925038856855217808261724205739300630,979163672932809012463205399342082478973496060092684423290954758765181531801,508415624332266371850230138991279408858258879454336927021484690210226551390,1595522276128504187056342648491569055447320023989010607434671237072671527148,1725320360530646168804537234980331055612041521470909864433796912470004842336,2726878069529171804702280567626930934271003991638056027203799076982016118710,104784742237907322526925830270686951682151801839622164983770232639413008841,1544024267147220900366636801422428216569576103831376274215930586395061787623,1232208006596915078619194602124503822149227826501529281346625891420275989107,3580570165708781175696072505240415864880123064668240180012198803238959734446,667871092274439530456258507564485063124624765232203442490568468443444388028,584290037913882225735467659002766550579313242837150448930308045313191058867,1343704644611283250279320912039276617867892828171489724269787931299652627423,1657985180092211624389881017952963549039560140903078437119496202040331615675,173850215374217350171145070107040488046580262211713337965670576831883346988,862404994684774647619983320690557690959255602408720988366378961035868788007,370503221966025592037743872825266114864910359187874300936361637330019385264,603229353720658677218529859412748666689023199397557201218640527242400870937,537704537520945493601819689927229868812939919026891352016646880499289189602,411082463990373414892049201960571916338228092380308708681855488485094737020,3024900515059234345397812447171174707801327456884380105830100016912760166200,3229823413911417863746199949401568140161278438408763372348509161732755153530,1532470610677459897660050795544948547952072945681697886826796570406539722789,2030029315955355710362790140972314534639216597858565738553206736794246355101,889641456851299454512614623820828816644015439896001297587900287038141769955,2189193483320118805896315021112955356165709709889262460520801959763698013419,1959974664990084206775006688760734798113441170818585100701046625263019169889,1808879702735902849737897176705259310297761272792528289992488202069232552607,2140417280916021867034933653182800035643697305613999473065326706778332306701,778103340877138874656290676614205646825443186437688294738001579219012933691,1442205761593394759198364555319502433479828182348332197163545320076885035511,446147700140781237476482074275754504735064770362925364697130087798786673740,3462981578643329635733173016913290662129876830013749634014017026441642906976,2266782384232825422640878338388097725464806910058058226818537348528490596600,1325646550873003102912270057287643012978904619237424495777754725774740650317,2184210830664396609817165571969832628463588541965880047849388156306851809117,1335852282429324700588263466834662623395578516193855788848719387340598792157,2182857532583840916946300618403657055293090833553624574147797309569452146807,850781160766847788030543253632782835762646312954837655058159101218809172764,1786356626130201324173086187259464112584662885499682205433224090441145502905,0,898,3290046249409022164737115457712499350353821029153708332010015816472340076309,861237860167101413192895635976341805017290416175345277860696502264400345978,3280868947692545306842564190103694717184442728313880154629224608556170237300,1063353018841257705204404251339575260487272502826457711910440458730552956056,3115956809421604042466339711097298295535931360969972824083335810251795049731,2333859859482642930541985855372526808608982475556955962903709359883568993248,739238413151714914763262819834590067595697832039169053456370497863961788454,1841522520768129425892301865901386140709576763147884945241377524588682164099,1018844437050793071414453195242747672611322498728373695249885851203310732516,1467690721831042284652577156819288941371061026045112543507209973969518791831,2824906301800534198596103625760826941942960497739831178757799123156462782398,2880138063638180919498400640499803014488785990685151166068392412268164387539,1453879909303215951605631043242116183250603520367721285830824161709845121547,1824930129690547743406875647618388786982512781506348195308742704631959870618,868255157658897615572636319514803136954621952723854669587152774698181803861,1026983650292557793963482156358045862137357094434170507671315893323851021720,2324452018483532689693620240171776008270865102385004049265763825988818309953,1584957410077499663003013982759994714140004127211336979641599459069259708884,1621866945945763683894088838498789096558992282082268732822649939224179568559,2772123484761525309952289480315754940187651991433574762066557541535722853406,2152320783928897989155526074738100254051402010711322441698853260791291280309,1969907460375248512835843378903460800035640664792086267896363551866311233382,499823656798415842317121083569230776499308318867855633873773835432690785939,2266449762872841961664257776168958402738325681129364537604714512559577777627,3460517851545748539339175309147342681640277260435377008719082642427349917730,2333697361136237609673598017936882594118614549241634239573347984627132551751,2759094639467156265696401763003292062543776626722298258524641540489655407721,2680652680735372798679642350346006951472498190431933872838423247572729805692,2244375344677839522027827490173091182087493318127007708722666474916475627937,1706552981554487508132812718205989601216164603723951989746100474902392676110,3556179799861118237399808441851975217700923291680282730175780725774222492928,3192212950670114076402563411215100290160436900717517113986629862052892353588,1953280151433012045389351084626424475064953502570586896050279934500892687251,5430174210282187823452984231179386685564726877403998585442720066360623295,3188085864061074628226300502962902099343695067659198602166627074127399381976,1883453836011215870360809830211853357289678312934109117883923699887450575935,2619164382174756168801072765890930011837987273628512128242189909426663261284,3453072066546835198997438551707326390105944635904994977222824808752025618296,3256808849045662274934550113692939168994831206003578756976911327859107355728,477940271806708063087429553051384482543218893035417016207139514858458538833,1850688428995051560171167496518092910168991038492786083772844333426863893205,1643846202246567921638320693226940025950176863775249643076866354799565907697,336033514994337127838852287948873851266498519582709244490830763431733346295,425709867372357562852207985562641418153607486921371921176082657239154163167,3193723543563282601775093283731837227271337525695443538396575442647146494234,425421120364940016719027085463286930262855612942131639858402054907781517398,2213346864524098556798871804205839309882625573045789789862089770942611461164,2809995802702960962006936146055403184325554680257849192780737955921960174017,1504184767715191489348489052644964652853059979412075075963363907153919796749,1254411596784322790210589301462844972234852465945700742995599058511411046894,2418651082664860596585981458615576525440673380077616965839487463182678691266,1781658739103880851939506933672319392766968854615958147187215514732348374564,2900674752531246270605117267586043784834922102338610126369000112314332322588,985172329167815965138378045277786097472892864486322311470235364276951892813,527083915091419759984259206478967120036507668913946924223495728052591112049,3603305493666690590337268525032078579271327964674842071507957021160165876409,155629633498574448624908065304848208201969946599046222042458471163678565824,1568378437847878225343547817571753156017431335721907894447880289389482128092,143644025373339241809074265473987477865651794567581354326937203822968513400,2767349976096653751883582630535746066186984640197050440586124214584324752445,2739374282788981331383662968439624406599974908049852842760410551923048149205,1468091953345203497597602658173139905172970810010309614069837418446910978638,936134398056833595033711873824454674844096940617818258965202095805065772975,2639208441810840672870094470957383501640612849516493689939875784110817283825,1738333738383059157366518151936715652774319275022032701034938205461305515016,2290677907890331771284738000665968027366560702695311375981115844293789069594,529325565495867069984029323358815033809425229038708107507498228278058056489,1878451988235793882004099567650330427243727932274001120768712520764841249336,2540014270541921090299670882711984627315682108536490999431695742400771595694,2899602222804053362204397275166476601538331517230828967323268692657827887952,2250674938220000758839168838984705016692196310265977400417071032972657215688,3564198455876377866263504291377447934334065957774651583136755387952738440833,251954583222874830265640051141231332675176664032049693183625201553536823195,517768643715743432785488510985525349396287828942583376426330739260586312945,2297389960777074155866569110341400705792962916079393193091098823226624663331,1074054625498124750602612589658427533360239765998715138644386327227521724197,1806247762132860508963480390712620679230019277699600685997056984774813774502,1992144446298936158709850592079427968379769663463880319434914024807533770216,1473099424178303765145262520346449525948196355259609305600896682253173693213,2018100526147751764655221772439138002727967831322665842910290093602550475492,921731176783824315740222310122653940214804769519981290361112412508871651273,2926793508633203932992860584410173515484926834444991647487418357478666655359,3479707960046689147727612440715936520104931065349839937162464543492211464245,2977085435833179754710170030616047296577038861276350121131211412882329764700,1984372085133239685061277637020019222918946922202809028674991060083925615970,2228869109609199891533070986620585980837512793110822719093234026602967740261,3462776889020982595039660176526906400482037336370858805017464689294128027673,699075947308811165168231567132335087702817437273812627503519380285516539981,2858648106098945691424477940944736160210927961832211892706404067932730293974,3241588370423856802564360158290486051733136327429244832632610449565316253597,2321315932141462654585752921465213672009865335670556146015195682641324289628,580865730630924714412267382287539844159183386848090820456884432114829561175,1534496666266264812084932400964463943765581553974439900300276085059684720144,3215688148802867087091747849729183032974694913143256059057986191726706473988,2075958456401693958048456805741577530356394205585619362213764021161148788487,1974500873146740998172546616824696172781773655970991224186880082168201437763,2590910025462889128215960776170711844578941693857946856663841874021738525028,3058635770749270517069615203216890604674100462349718022970460892460106257099,2050779403373888317920887556860613119392373088410135262173227333427607683749,1332037479609128678056149789408600437752766333982487315553944381921065405526,1885056042718433839754264815157007293398089327153142186978096715176165763117,1712745827851306210019737286990794051858356125329504267881528356585378848023,59400302472796562122382432259751752621741617124462430964511052456512580969,1715414585738571237086384720772400155278704612360682704710727700529262916286,2919626439858915529241910885385934258886628746278093449602998047105925833710,1940617512593278479918645520748139920668433089941868059041725108494814601111,436107061037220113704367030509404870498615434688450876003847779136838149389,3102716789247663688176502719985149096997266585173015906898310678451137910819,306355305570412145538483416861902396293617970437651391555498878877158828245,131202801337429749779700277118317995772237446518263364282188564967170931687,1242708684550003473259152766491928887162404087113976287226352686308286257676,2476798924638040240025939435836767707913691340718667443229046336203716581628,3055797521153113853455455839407818427847876307849843054741513836777636117763,1544196249961191141325653519733624679650862317601988130387071405958784656144,1692563043025379548653793489348529167704668529557147980972122545447901071025,3209896529042289720314633667099076765067148892276917365947056926406328318168,846633149042606657515005080268663578990340679985346061402340998709903928821,2410198056506784163171743413777864319507176398266668830817563113311603194496,2553787140189564690606329192644253644041442648459384080537055692160997909458,629555012764052229042192259775721826972626054671347891366469290001556065555,585517945192353415187526676786206680878662709512339992645811526057528791446,1488608414844781575106984362801695898254687301471476199717375093846513591293,775285451426801909031708329998680639967612165026118765738586801847120831905,2036913414745042759143237498850419955624360319225652240536289677388441744440,3567546209395585074335084237220569555845690538275891495147785776478250027436,1379246854870171296015370090900884381643054866017930100592408574594009701392,3048780831971967093631647835068267643758083556331431138357700698036273476702,3243503838284810297764276372978292098811110676203604100522938026471325378334,2855391014597978883961309849697474280524823127959658275836643830338926734879,212000807371558921708677825078554339645786153730122243868423299613264406966,689503742261991045615743025782103072963892098263738060305030925448078267782,3581837913988249884435345145606647264411741745275010191971270947319704353894,2106392880336714469877403123394189692439153509231992449629793962622850580510,1794885235439980352647395882150123110570257783144559265188646964166434890046,3537990496514825207841257428339885606936583636047408793239733009498329286260,2249240385584475649995956141968938573746080035099659521600495026579677593649,3153823077212661187776974309958126894087291506580848447381237742961294407840,2202275137036125786894291179526840591076894185446147647311674550299128748121,1782879607532608168605121627804769425113769224216623067925982577324982026499,3598927331578266212333297913487639684250093313916723333179812364638887782444,1042851505872761608120344624450445620609714374620060518361433440926642247798,741261021078390759539945331695189786717656896541755019735309465533875601404,2145461681817942770279621411118846987860287347938984564098302274144531900646,2960681474837304840528075603268981070029404852454145794899427344980287776877,2299164648352940950206226272978628435806751596867740009215807177797100458968,3585360674243098112810829052390915320706323314903099521644135366455975273992,648542766592688314506256213564734006221062753395515661576630770363554288053,2370735518734224893192557953939789149125853069151448279659479078287785995452,2705397415273563106829183617230593513870454938447907698521444126134160365846,479753907897286017171688338942556403915870205600038520793591863491323232068,363388385596580443268971131292993634036744699070157815609880744858714168539,858921941206544387065397464199512632996099331705849913498017577773677704353,3403366140659724569151609090060689884402904054115348847017267514868189188347,2196578942337372997944561255495417291836406786252010035037032155601691098467,3573210158863054549535970908024963540465593386112278407378333632848956207304,669789908688246531302450554862736525074578471485498026762215675066014121752,3107902778004503294899798790280472559982002315714455187560751578287979963316,1053201813843364750950083348528660279009545874130664932017294560476491857788,704189853475428897677048258498417371384477237966800934407973416371397814416,2945187360699936426572933316319444723749059780486145154545511389653931648534,3378414198700379233065748822624840996641311410148953939534519484576938626780,1047118175005686971098126929980345823884256194397885664406571505658838035145,1753292137507099589931593513040979533245895077505566145836120074739483479808,1792349411908037912310927310649494505379677530241879246524761651925360497114,1802748455355722345807244817752031448763306110486173497796088759992862577033,2350830663072641895289201142025051945949163584921271811918649326737061419176,1380816651321200758537517496394079257792001737604870335086711733523858318251,2286938775518768437743962112424016223273882867001018120310594810909549682104,2155375673972842251754560727052741126734520747114703804172223410579450219307,2009604074750250416220667982742643061853417375901534178518734295706543403920,236020400088680623877774934915184153403640467735497042639050344052328248184,1212098708502763210698378034718739807404929004104606725343667981855504398,1869537379579473194065259902906282461779065938101135513508923345522330789106,611655964058115233575845325050569465816276045108795606615552308108288657206,1022139737396167014388180997499444829693384079815238296756874072062343143630,1640834572618367427117753251181711240237135956590013967295595697563256045970,2471973549151412550262851350462972909493950128428799531470731264049703523363,933321612815989236671261284822387793740187035864298101078255828754890928397,3227672854145668825495712024957046178172555029728467069087042688285849034021,2576234391300342650092788288579296855178379844034463904617717684183739206184,2252087109941517100539324444428598209003661874248673705599973049651889070054,1637621656445512440164776526879251153209291239061362312595544201547187335621,2643627928357350109155732013100310384319851026368611476373856016979168196607,3385970671814319857438277185211062514135820913716718163349084855117669425986,840361932538665953601340601469460085450384545620186275981710273711338672213,3275878718776692851557961432403009684680706141004340513691597903996046198088,809919818820700553703617027821316265085016876838349751877945350563393221931,3279756448194621041583577823314641601445099707752831603208295545081953169875,1469216038538292098763265468911271600043248680532185229699410585751332875893,1733979125258652082023013366032947989676147767967906001890882430887783362565,3592169148829439434027067394676976749426382851074161236970930738532581668433,2070349762698452744735862451828202087722693351831044365844881660186465499294,1112689211565562623683251117068728674987675833633626456149345355464276760136,2495923758974057719260998374183363522514857802286433323625570443436284588358,3576484131191913224986357457447000228259430915827460716344780792069924090060,579972359895376911265922641789176974009904931137946145158922383972080954288,490874841583163451850437522369145045105950236663122283912616982549550382558,307335535422071919469982162741253112020474620597398965123845624148684005102,1975750984784179968209484859516319192848406285429836375609729385298107546638,2441522345802011915764793880426088282676071623755196968658642735015080132452,2422053806083613745359687516822977481646140990260329477979521956600215567860,609312080567542555611759382907040939164654560057158532194369073374068363687,356546638409040694682339004390185533928288489866757391751426682481826435302,177492096570803642693807678488131870045896060184418169449963063096708631335,1421387553814885949587091433941403387204368638088741808819021079639389412438,2581882912108635606690759148875465455713353450083704130447971962960616441561,1096958312734401864328453408768904050440805074832280614109081851237487795494,1071071732991221478131664859718352730038177265501934804548412407323908723764,2300562764299855280044701804960180306719938125762618625174900963685192436975,433146639920076756601832818642664176356297739694018247649149289747383274770,2498566749663152504203853031850560967609772029759285951472866178061378858901,557710662620633472153898900943543665935294489272002843008067089741669408179,1625442156341391247961510482184789334956400754193073408901003108205616487109,847172749743785868005555913330090128386379154958356200535781881797527591986,2084003521643167441030838192461073700238360585444501477587469993526037335252,2753695955432511048747595614910258692421581785828982623389990799396670368432,665802413159849379687359304228946584005987503741586723278446296254982765689,811508840578106187911279731881809616422721518881979752286578904831661342251,582584950953698514237753025104501411704119242578024573117136077363334008281,556263854153307713205687144830614948966616670614373043789707770198339584139,178521215977561253034614274983767085774397719479679846737096820483525094821,643915699723298676634894852579915611951243371236162065130308512298647312347,1228047190514191431308188206032807724685369873480910365768887472876127746040,627124146373879962764217784648406637896410317517365807938292882520085769983,1600441537450118551004663962205566886103136418992265477326621203789112996642,2169509397887693541873066461429181924902960396936394245981320065640273321715,1053285233711775147781063814927697364403740222840115666277641418482637711228,2157713591681523677906761685312662405306995048926951911585122965436139917283,301108692760278420913393164036580145244542186794176732199235045251694330503,3117682159154275581529039429192241481966497174966679694470058113600117663774,3542575972032824227966030685136040808698681986582437991440512292778845157586,2720095525319483525220895444036098946634115953401330292462273640856138144686,1858425249318693653614247156601304449514902447191186482675293870677460115418,2562046424144610298420620782173647875483146782787509172665339136798565460488,3469346133820860548737867910941194183030459105185074943755253248672197866528,3155933968246637709746374726046952414615156469126391057595399224220219767977,3511186940845531577039327521121816583983874155721162552895541347672086711914,1073602753636199507561706066559780316819316091545649292472108097194410017344,2662355777691520769282254883136780728282919688984459157535972283590858281150,3048189210665347846053726412233408801477609263733098474919387179783811102239,1666334058182161625496306340360409098351488732953392383026131579034578717664,1140383701067253167041278469848613886513061840098923949178392883568529113374,2743831707473324371379499513864931958419901642443736556838990848520130934394,981368208135458924856957644867418363224733312511471954654099064250693094765,276663614033716449382116737445233824596220528590256323856285576247423348816,1955296765043377575195269648266189089730818248084025976093669908286397211388,651419635823804462195205767202899212263523128117490885388442958347652651725,1696181408872682298885990078462296374666597933161056414369640361123868238425,3542685108627499669800425168695452472264087820139021598133134857365643314990,1508923553100164607334656494092859571082664006977744798562140509661541923599,1642335869177644074947947804935555614256676476451650561950477462075177234329,2429954513706277679155591848371160909704320417016485735884684704994339920955,3462369034834393808825324833117775287611345511532920943568905191458953917025,2757509698354028391582781206994724624820434489518731067557540803509051228086,2094994406153160212840201501974999702477308501102666857746173297947760792466,2070982825437713469772786665433858285655609551254823908963322509266525956508,1645006948548652451228558232782651061180353203470560044272244822700152086376,1987507091719679353440718996950093536313890632364482865682469351738268070215,825264812061849819061300911312907099930865340026602356323369961376219807132,136828602025003713725108162789850523740360196425772589133773176747712063509,633058824690887564067536121768410803359960261426397083695178560424341491517,2424482195606036257427996302477381099490924496735236018103710233132022416201,1749053917048790818977731193035012531048951460365048526077480320761101417911,2513582831195919711006402968243980751551741949349739815353995335111859894132,1531382358877636718893857590760950252531467340170871862222645670191145867525,1819164465058420440552856496616962346660222235787435957731207218143175961892,60165671427005672816357133006750697463696088490836848349221086343796005923,601002789822648017187518208954501115214437970982714731351094334692674347738,917116734398652724988162814636349172899073465662436686557450702967384281027,3158676250982228588294052466997536057895128805343249494604860766223195588653,2722456321142375529315022196517695237434341898438368717182857716123104713312,322228101332027192403172302033693538909793370019633688839489095256095277895,2096956735583772763860170386508181739704228859000300223388515177627602633985,3401676314751643030505276459238560898372241160505235721120073931227748915406,163507698857582599541656572831071672156458609634447650106213607198550785946,771260166530573247860647003898594731532007145338133476908991714811934596127,3401666156921557020865560403520785002653213119480626511106312950239138686280,2975817029041951576010922833337909076932020640731621108061803524401993568571,1225164325496095165631864921213522460817930027054081660915561496612789050583,381321246871428337160695530122477421141744437816280198290918948872230730582,250598075667364851675328478665309007373581144847683428362753573470425338312,3534369004227393889448701288190238103866798831920800357648637651341448518298,180991232156104613309677689934589252580278366819372812472024748703783587884,956632275725775069023948422303129360586734951294485097452885422459222377678,1203781974553917735796561695238621308604496517972756677434437066028271285109,1301195490700358192586325831645806818969934452909637429958615728582128988391,1122521507032647338247343133654594663369447042419432304392044956597695987846,21277439236935887402569215067122522665527109754576415479662494956717999234,610187619494623054832232980857353686393692036219200329634698208937220091994,2577488000582829022200829320732260395823304600539913658057338017830418459761,1520664564622846284666732731155577937471378724628317058683721662480465802617,773280956625238916123871106283826136071306304471626075049750729841337776944,1317868507925208630480265812188976027381607500178864481738634224260501384617,1469362938478145425622291925964702248049775234872048970892505032005962544723,3527639097901162567942885761716617046991468698951223131456790296591177671697,2234057306809222353236639640742401351287048887144836218717080045603524784482,3359987873740193816872031728904668849714012796015046916185884943696039221953,317707929396213676462819131767155357738982079210852278904317689694340720100,614225941517073683717983624984936915674856119305107002484532381827544586618,2124034608667582526756399644683341238630251753399283991452314782039026396303,3522177380177059290020891867751588904633929225696919511543711150124391491693,693653719854088297310965733586512337535201012719066201150100909381349987065,717197321938673528147095927798199411750190460712607818751666873418504551470,2145244337433723809311739178206593067409234986952777242862491849670311442874,172719179919172215198098175763911996080151097095986990646551527404869196041,2105776730881177773479355887339007953026139411473175795879666241376354547212,1476194618335769125518254792611983082235386212620036533120666965721710428831,608554608777109573376111087435242739906816285292463468833766005715681274620,3355061597183971228136837178617927142063021210457783943020625164234748077996,1205781302413824326381567117154818873339403555576720434360839002074063414573,3502021223075959544588160806801423183649537027837727260984762809963117550677,1920117261696059821976623357260333787194119779387660573381078276352302164533,1942983294778074622083257471731303695098483237125392503562733509566052140876,1232050298235343996460078727881275156913109017700249205015246340006554578627,1339596399387553027015943955122157106525203967233819844076602141268939745057,2100736738261297892047151528694942651398591651273926863485090232932423875554,2097202348429843754531747387061346183531265895757146737387874253899461768684,3128313946524387045303250022477103003341955828101680065188349223253241399564,2149796495483751999291322446209528109188083583332474337245961017973787586046,1475937612413425972782932043772966000354647757614698244947325060804743677173,2689840225050840905600070111439911615805404110683737665752997922936727237677,144346691520375993741678595440543641333938146420176511069357624744017403727,1776147537902856883228189019901157779466778497267021658044862283157653553123,2690843128211114328951247496665023813292497098988688571304342174814270519167,413731699618957133459242679149325580971165078955118053488327640781547303900,172647611865583567514754258520230647016044396833868076889385435322539463967,579639729317728071828549334727333981771006218445536654669211974776782603609,1982109830231888965920956908686065277770003514519260084595526606259976084215,1473993395871449630304944316554356659202040627683711452495432082369648424980,516045487994953297911783252109979795421888720834381300813257978209543787961,1327060780811792947784859362644832508931027345574125994991753569393724582975,2603681292912932445627288604642065018441741789332193227918696771342837153904,225234965455386347655669122144364970766731641786779127514969391357359675756,3443789464685218942043355959074149875222488084184412676356360402313380299123,3598696860748181729333941451432740682778405754869847074065290399392630312098,1300829723476850310399246639038826272835122578580895221101522862098364697860,2809443356861499520213213630672939935815960243235191061782098160060242179436,990932454252848453679332117577189640274800352475197290297915781415461411794,3531697868139473532535113173851320219500485072143648270786539156277814603466,3199088855324085917380552289724867054476732542986231029501420040935634182159,3540985900776157586205239992574243399683476213622900546801863920937880947509,1792587519368122825915273014860876463673206142455700579722670359537110028282,687215872945700860294010417675488973553190358050178837763434923158595992553,3605076021284581983658697751744850028411017078096385781055199016338417198383,2817733792163287852332790855662305135740995480214584237895404170082507107034,1964724468406276493315408108076312820093103850864067218743380467033825353030,3168060458020033384532552787827706680868672632366834481638958355882114972604,3358251439098728729640467618081305291259125802105484885159960227744673664852,148782823398646172223237045260940250386791394689172871691291198408193488151,3240650963965841233876052590323310117871001056203201234005237890076413982521,17006546061808008120746581242604224901376701677770186164999349660450850584,1498580909910810522548120967853193949781258252155923466022519435015078379979,670345040794178331447506148747574693902670996425679180288266768889216677835,2600880073605129184785831251182302085227161335269270137340023942964352933206,1018248431868788372064723570388071915972806818358959640357529040835731909812,3144287018578752321540742066084050836829300490576900327451112742519883555992,2768750661753787976564109758577899094477275226210315267594582544229066090996,3285811323005472322639071848186894568218264832628362337664355341293755370583,2384415516722760357817084308493726180985181958618115721177458468562150204905,2665681733461865207600486103683435034992646201145665008148263637298203731124,1401373230129582708008487093099747921055868585061161649806070515386975116787,1035767334930410200792436286498556344051415943704722345940529699716726096486,3124655629369274910717131588297923187242077862016556179364673148894322492767,234957568286143101873618408417350209215870253482522067134965750894477992692,958006652256702271023853285588879276858134710035391423706650529810115746388,1975545952440273576571184617608249608272233870129383027998459169772022095323,1089240762314422025409546569404076985541964439491649445135088791936227509102,2247305249369686187939979956826563498657504091634467739510832710467535805508,1784740061747054824092456452109783194187015941058159153505605471194663626890,2747269394457004565807709894597146608003907517455864340777720358888733586624,3143741886097187157875664054930324101807235182243791737446974567961601824826,174108253291153528772355155704145679930939062382158079291568209737667873792,3092533466071494350355173855261058439955099195763465679587805477665056754727,606952552849653515881368279316496491845762680446798956487612014350272593321,1937928682513091043249606122417113170863246753508314645792268414022518950828,1894819447337726146606462964490773048666898672956176817504175218974095697442,93027284654367103644864049410388360714659659766595016511856280821861094177,2452625231614964525698576347536351282919007418626792361301071293296936183618,3009370934969280147256123668642314806551239689544681567123950152137787527922,1098464488523824971690730398129147022604882011302008650918972812574164909993,1992586863305255426902298294518006104005843217134969736817975701541970023598,2164414882321816846419705785587184274220967566962745369791503930723613855949,2872432594467629627120309241740317334889614155644059842035187947334413121288,2897003176760775902329319635458752064125839732445057802647609218441052139015,391607940205102237080262365378383118617187691517484206494724093358958102554,2565368745932383201018127005236199658168641338338659891511789424125068003714,1605883394436466955381540322700390958871577845333747027834164152780016848104,476974025841599456469957299896890485441488682345803081969212222044146194515,3614131151474246670908297108551385653363133832832823660764698395049929440482,110447078600248243934677132462533723540972311358924174424110444583766986813,2945476834246615063310017712488673537682451937231805411762893089874504385657,1999055729179908926065114786985359011733294391773020911136539302538676492293,64301752065603021121582815970358079382658309059974781829638834035539425709,199186438858353897884872687556392805997328937610358740218465829281014774123,2513438148913393440867607420946077505985084838025258486246643265581823712825,370552645061655179834337724551421462083271629883403608387119956837765798816,590745086881724776535194426934567952623125568716749977907533471945723362397,2215873552233377753539759234526917414796327357088031116985391691120585128946,2877437273224272736282093940022509141956202855629527515789727229583980842700,1432477435918161580869212200496508098084845550836361776877223802313684029195,3325146827125694925605398756103556951801225640498225721550393447845164808136,2583806417723311582234959137921927248973929130973793714599820041859061683927,2142288808342404487481248462875680857785842585548096284769377495229567433686,1013586749954646642511882553448023228236575376481587784306754263334970445930,885430279322651726574580837366573057607424236458713805876511084625895215634,3533082185742511290083910355533948919404541258370356604372123173127207169765,2752928719179212115202205053760604697172268205614643041941947739223701550320,3480211773858702749417920727978009353391542845933740974652167929752514991729,3143569855080311861542340574216408652459039675108425785264937557947171402658,1920170272621736378990494829294011965642630704353426121434009726612389904983,3392839878235459447879376595904766158728283055899263910727132091849548424647,1311622922434665635154264135158310084629466852155185175064369776724576049731,2169455299187620217823236326515670709550274806907175621824468004540950163833,1754607260041209264065653484256539273615026808417393811993987682175477724943,1782555250920455403561494401542650832377985436991119726552048518081082623699,2221532797207476803746143272238553100964833181818765878372643320652608322170,1421475496562045790835784843151770174111069752650721735187777419780043549648,179192526784653685315183283294190221787667433570712616038088014875392692785,2546058786049829846361363978008786598708489074538459608176508297539475986608,976150477982788858580923869148622676297065028544641995509675278965863472819,1737706407572828231815087121581486886039106701048783526946196931358450150714,2944064115198728856982980313880155697374297326495774998681630493869419144748,1434743801512511245568551802356279973115144488095825566085326751343735789992,3398468074194028702056207986239641034419207650433258106055203888567933483936,1795124651894540317208394812494110734011178352459808834945825062666501575733,3573496742801372146286489798873411224677206133379978725597490789549162376934,2584875580040683047745952901463720415909962814885200677983137516201685853556,312619862909967741398863651517631402371747296518884572978522366621990698180,984035805198252175765127969561221685352966287970435267689177175394014916905,2983672905058165585483768812864666396756025878304561996839079939424086943454,1363088290831541670735398015090257466684208087045529215234540074158442957494,441840567005059324843410629408508177559334457775253773158781531711156332671,2638730690743940863290459459152386545982225057407022324534864195811621860107,392904884457498119342679497048977756256326660054823856824077262260728754353,706572231053170843488026810901746614913007221839585974134748882119719004,2177017110353105685926059891985526500802410286323854354990759517627376606226,2321130641141008066202030581498217261683627713308473348268959608830695044882,2838900155325774331688568171873001493193731017069913117369399614730856073034,2408863336159681688170692008072186659973116571127881894526104434734626230484,2854452732091825876369735956704832831935175982963784733758846172830949685285,1219383350029634046537186407078243942809514160695131477639272243998101066256,572084957912739085449520690187534159002059497250403547446603147317338158060,2528092290613186953892630462610519661956796180515819365819594696799899622015,2029593945746845297933118715042308918301988334176405499131579854310628747058,3505716718130608345236765149616552882984748937873930098603188196157754733733,2249170942557086383263044725144815507229483901371487685174987928181442346125,270325696609724559891660897247970143574501264280270979319800040738240531903,2516768891818329078040577136268846453780212235014195890438368315393644128433,2478780576507272452019811897987680407482466065883018460311289341641528043546,2341457383341473225430100797526357142799824552449461967095968426467435196023,855909765820330094561989252034344847746639639055402690710563308485548049516,434016423624906415111960296075422076899934101216547594062147325655389713345,1512652583776835832032514694457778632394042786100518518497050769606673740210,1401356887824613675790416684872682994689968878794024763165745392362183471571,861236040879591487473759859782113786742535485961070813651857637795760396986,1733517294821328772943050415816524189572620327917775957624674714726392900805,3605010995779332734941014003155717496022790461622712733087518497459112799212,3469926079926184780231096131810243667836368995852712831912066752279946595009,952053170382280071157590946614377169627560949284776390561557388705276375730,3212446293886768877902978964242540775886383771873346952815006783748742236883,1142862132991359036348352163429030854167978451848047919386130140685993729925,2766037812671659756888315147521502617059250697892004432224646533043198721195,2668473775387272327687203588883492841261156678005430617170710558657338513176,163425199595748050971981354500450833754854155937072187277387057935542420664,350695358082091701250130635065291205989987675335808437311738595741066214831,1417867025873051801927583585558443125093514546315846035362799888106838195115,859900837980101675056102369371046933888970990603094519628179003995065758844,373331456245519712987778930020768346612664219080763048634086558873055697644,168566481360853551089148143922927125364658225811235256562743310081986721837,1064566420626816484450291412842355824659269909716529072637419662685669662117,1842272990685492750761863804070712534382931755081942073253989682422101085666,3213606871917498661193844779041428475006825743845663771141619508526453463148,3182999520682764451425360519675844332134494678447592766173508764008371715967,348415578309466076139472925806891378178895752836662438931022026085461465138,1428173075856990034161269095882601046860383385487059412318442701818545112656,1958788887471281425745023431396988855856630186040582624512150673166480226119,1022178185652879517430123348073358197150676039363129757838677968058012118258,1402421060328446925491862868441967813716815528757834996419928118487164638542,1584993243620370374762961505819397118218647385343398776550532642077575697,2963881823361471590947391522052932304939324365410394538115349749316786154301,364922217918319304976208104117616040573330818895491278915870457532448974171,1966933864075429835699779987402253652957760504000151722767849350680082550352,2586267684684718454621319851052886591015882899318910207367580354935126515889,2998479982746609166334262546901159652566095026145513559842867839712825717667,1968714554100445912319298115759554305806398739344766573972119276725266941526,3159852824969556516894108382880705701598400274523818396025016275700567983303,3033309030156142416828190373626868750164245103959909508346177865961579838220,2819164570805420887789916351077285411819676597969208612030452804034575884034,1476652874618867695893646216176787877235890936607410545221611372360182516340,1352714648078088958510835752370888624716016236541873299462422214933462059328,167007293944574088997938612911468549227127435979384234672645853481384178983,1758766191252841135786862286226252732836572564251729391760697958372060333067,800833858967592858482482823203586068949447150199076941148437643588916200156,1860828420541545952488034574675884285451741764916720775241056516618347772098,1355467515281683636284730562622669667646064701850730010644296227566337136283,2131901845979600115025513458448835503656162852402183387377672375313943694969,2290156210059102150093902523530856411042119018721973081739688931192052738954,2418503340551417602610285287011757474609790736955940239397819793117030383527,3388588578399651645761754364045224665888769115562645794875718678137234269600,692161794045300833293762694482301986804218200480542337225580129599329270666,2041014065317327365492227322338018723268375801154230202256190495322347102927,1671444307047241264817398756644271223635254917117020421709401017546882949713,1158380079139428370500244045529093579825778380911632753599020535826865387760,1878931026005201232690053477655111894454896925027315856235223617715631022796,1941099247087574576365024781076820647423190901194560771804743478881419254769,1974528139740544302314959034805276536339825441577535348744637085290582428515,504478973147809692874382713769568942457210146025774576555605027183096196138,2439822231937195790032920154539475057194014375075318316896382258881280386789,921491021374668246193941323691766992859669245308358497699013781936163107929,1044476427991418011257146459991503483977462520055642665984782968523334667978,447284432642899440097348108315047063759889091448603963044548098782039235783,2966397196628128888034643768421178079114673110332239455275799695932475147809,1961502994806231627481606268267978907155580200335090232104068373421429515631,2964503913566311812755007699917835851748225960797854391668425148492239580094,2010233403510586381621001267273396115470239697439215224782581869694043586730,191846663628797207973276766655101531045410817185864044005073835583573654392,478443752895226998915190446017628990327845726325777291284107204869706773742,2869171710128344824205465311975897595603679661216614664951970874338761104446,2594628890518538395082247468343585713061828961030668093287219151727806540861,2853906842870985253735835695960708750964980053310056482832344678011302020045,1738967391165219857626255318073382121421627798324714400828114301437576424579,1679309201410773996923424119953628480140122768372656029840315062842204984771,2348120726024750237676122900042829793347586148303882363861011814607495104025,2220762322532569904904518361304781790730933309618449221410665228421418185919,2015554225193650896573817453238497526979507451117829028230678544376373697004,1864748401592193211923245540479045417289899739546695975069768097418496777631,2169705549906349468913924860546410260237653842463006165972382730741166418464,1747063770256655715896510312056770104416476061239516434097277706911219197294,1745226245426575216336821457019925967599615887076391050749378618027952929383,366779018064897468124811162602958458080840971627426401337959312760111882968,2062412157372243497551799000012933512583388102580483790292140794112322662903,3009418641835228046034543733829370271764300806422762476743202738985049759526,3515971273457397785673317603258525478593671542057894423214919704668819182870,3554367805172396453832310345956997588213651996649753189074329008521496611083,2610953822002134250084112718788040939159491596479776479270005996709547274980,2433902790019699998314131177415868731750540006728254313234925204590445108450,216955211923277517662600916258261327165444405694584340160269687578936928746,2501874635295091562893854893529902444635349270561233445124731735689142557822,2295905512669881763815797924246729906179677979772588304341147272559738531588,674514145715191312996075625049479986184926372893564537105920482794426337627,1081517580088060168363343239202904184327046189433116156714271825290705844257,1356664968487242528279106847928089011940096669459408798693974923530129985071,2746660715887284421334159417711642785644357575084749660584943085182789310614,2445582621210148914108273917443028752940256095085651292850217486987758414061,2765043160272347864965623202761117611592612835554207296463478794894016532319,3087503470533263249432045063963920668609862702652442955360013112760602594008,2865603584318727469333365701465764711114924098771049129226726322489748581416,2271945235181924544209572094656620003059065533313141314644485079486903325207,885529196350699100261828081950694584767879761823168449097178911911208153554,3578281526058176225268818817386788375832407122458671319967252202573031474119,457541448491209121024341111691020105376360786180839827787365936877695736854,2604048907540067321026973050928480885407442423534258566726872150221294227950,1910888394323103532877876567652694679811248262794284912536506808776736679669,2492458227492886779005488122256946664954947022636596415925587722247272805377,1619729055616964292288312114342285858950167452663839858835041989469997081877,1760004157669805602472338980500419979635149555488567531450670266353106926805,1938151486764812547594014977282779507508755617519586497061097201953471248749,1241908174369674815736253465361235916271586147516146239265093217076290965911,1921153631886650811645589700269098529846513622234268892391561997058974567490,624480328612204111057106944201318872785018390077884757848841795095004003762,3302754211879930125007336538148758821795181914578076823798215159882037292708,2979763210032808038921568805951743919083865317626686261663962562150848451711,3571971228632376925522443752906416687680955110031230451215070935830617223103,21706035319511389374161479576247295530134476051210955710661620540430720730,1645276354449944575247230041088228446350986972199205100869269427291009235738,1359298917428524336897379472777261333184238693253493620625579244008874570490,1967253807269233550998882432033517291298148444508353538273242516946564753305,3503193172036715320869355106779343417485941956146184211378667668964926865532,3219047200328329300748630354143278841687778037476092537066513752677313669552,3015309922135480532086499721731779759612238679672334176116148986689268667231,329375975390686634083130391846315947117481484210638117357955099279201868228,2700741346529741104895723661958672395074706013738299322584612584210901225778,165309857543369329599214928543981689751015719461031912452042948949783518268,1866497372111667473518068557126487907924116206970608765250910234214805902654,643772233092219605548469551400191555630260929334451538491817558558280259713,1611786719393936355131653785928404635348393472469628900257164939948339210195,1134183664802100312794673804750802578286906566200166600501950729901115435595,3134979357732372912109196140672302999372249789583109292325873993832131568825,2557588998559493825578311377358486095342072983426590902603848950274881718191,657749598397837784801399309841505822527388611896952181774897988100210093213,3234333806671300283452141304605435699463535359312638677928037520810387069397,895418231140593312491217539427089929417495827040430532866451696184943728822,2149159415055793918858149654600991908380855216618050191348595901265532025330,371028178963145117073594039406853671043301428122276156179809134366958299744,416031608970060457413267688603542359953814149608045225775624030396263680866,2868470146049789760624014554635317256090887137978385246829212651574030584049,833621445657387818291524356826286763788287625654805358764495588329739343802,2637323756820616272404832921732496010946824393657405043322412137214175464337,1628689087154237013745829616209485107783732502724565796897170943700386431962,1254877404545924996361186390711780210069090442093353966349664229817096921804,235793877189112902606252685073534927030870444082927621843212481594698577444,2951868921439210939712553802206488070120393529222865475093313906547042917100,272437391310674122693786695736558376951650288565943882305832031472190690858,2359886320708189433908703436605339454444946513404225964477285843452505054936,1679296122694024040112781716675677337479046908895877022137671415874938420530,414482028862128547581862249734062716961368012790452635874353880978833670099,2297722207615091399619321172405989016248033936627715060657545432322451535360,280581203449079428813709914054620139425898137074394489730162332302588996635,1904008652180857718265716637099838114313424217648265035830212660412624742011,143572218256242943621070895301906486996104765036589033377050743586005308392,2917794147132647630316881753908122281537974002708859783414201708086127186568,1036049349164363187210884498295557159457328301959584151880217413940176206985,3401945941733194309510058865463840996205486775596798091979711859288632507699,3078044637775264523654148272279775171015335616497922045826037448997555898711,2183884924258367017989709570992967562822329882874006588335451286752789666399,1544759496902250692634357982810873559983307304425925151200576457469796350279,2544681595293372604781685443003993070895916765037860422151178445516345190364,1578487166614029395005964777738248145119635934544151177557097609093034323468,1516264653129722123497989381647107334736157513226093606407065029281483215479,3339421847370259071868865062512700176179244526885028281132342414284397787977,590252767123111193176318193074866872329636167481289190288430386124791639838,1384159247986408060119114974828430759285791734227960077287101426136878845517,1829874292294207298510302340856497632840456693159238887682092882719749678716,779341902657033972195089577656485560060979554773661879458192144568113457194,72381464112141003326671477810230086238397377530807537845599070687834116370,3277381962853109863806593608649527874526584585603271423925422128288725243876,2198475338936430229857652256224164047208952983499127817434376729635377090258,1654641445800722749751121782606907808444351427446838125832955746473833898416,567216968526074174591545608065899139122784925618718642492947662002071204635,228214229969844286937736513057104484096324136165409272975353468842150867758,285847724171197918976929978553249713672945959249691285060111933351554254806,973026720268718521790513818280260500539025442864307174501717265078982052850,2421771185880918215901864009605276035587133755648844286162631551893791429677,1922824683185164406510853605150812508636322659317800554509270330065647518703,764288166662999483528914844662170643430008967874861528207711383511552174699,2653020353021998972957119734825888422266072390016987566318258615611106151881,2907765582393723220284197379200956412169339994267803753631033421545867157963,880466462168221054372538022706679579471983814648758699152153349955261096660,1018139684237247922149975898724463987259706832629437500164870837709364882644,877229173508627868682490190060075095828561659490994222463842917636843406166,1845985395006569745212310578696054219393354391298207534207024103993087930794,1118661304087903309120014483579085383900362146719432535590884419283558322566,1377295291376601368528405333421704165703175349549868405306973241730086891252,2407771716357048508833737996196526215707986607129380265234134268169131486729,1064630611872017237349634783817765784402057490911828673131588206423278854642,2446867010325084407219136101633580155487396071323111754264141095250241487392,2349132669411257760800979110507312123218352148430684123977134208796860407322,3479841054019742684116596491817106503217309673329245706367915214925009375176,1806215210299081812066696188375600647912411348533175384534089410317786016343,3037644156762965025084754321958692474822127279341643217450233437752685667450,702010558768080709007560564190128452212316058151186053879981658443944000637,542729897366259456141107279468915735758059908109939924467732179489863736770,2117575004162755905959883429797998289515788633004023569689724374044774799625,2574872423504729252917835192587281822288560880858409737072927001560473617884,626014595348343101163788431786156088298472710677036599986580283711895313408,3336328430039047265935175137872536417839671983879576209084591402967445437020,1790674473547938815244394530494546698377103680206410414252326406585346794553,1089465206099988181392390573219240811159983458112239381774584941198530510917,415118257818253561863314567469273993489032829867863076318968174835045824273,327793343127640829350090910029187439991393201865617569925046769099874078024,3215134193298279394535460513390828239884086785507654412857328945558675151373,332882255648776594355508669256509042507190516824250766325204428178517733816,2971223095499951414293317855219031911898389395678925247586590005650887108158,1512745717729581580217168386542523024796305950651195290920007805038406423859,3089786280750507984725999048690845991456773354962801399620917673765407878704,3412257521518121274857905125819429173195195374239818789246665742731498182184,432749327709066299885227666620871699736162981187354803392554299188999062064,1866138281053426577972485136476841260529520506951751471515544532195589992064,1570338648193177755908004468243881062878208147894934600368031726083392045833,374478233597084276439923323464519364233577425807398442964969967163758258079,3127279750277171036887762884768879425799501815701512329896396787452072630021,1559879472853002574621456281501582760190569374415865662771464153962702898824,1740450698079870044776039255694775483368806221565840058125816966841020889403,111994763668561041726809883445194037839080076183042449019516877005809736493,270773573723519177341622770394034684364651862256241754058000264649912848957,1812412099321238549776036068237086833710093028462504671678821494554249534033,166747036741898978606598364541851046612099652761882251499086282005143919727,2395340441444557091932126406743231740691700326665974542725748490693037584840,499279085628675487693452281666882963903599895004305181261821755575924622026,411809629306678601725560301501131581598805046694206508514134802295765619390,794108145810041204698435169001850615043647967308994038894306172759853991053,3268738630387840354509897035205576489299830908370330570292306371039495279280,1087261377305901199462172301485918543436375474477391918557635160957780434556,2176449278221863988446509469319651760416304448797456146700670315627867758640,125413586922415851715698270702913752405440907290802868799023404258975568921,2507364369391561482630640334526318865966731214566030818738237327460008273072,968490742687660987008162858329123737139581169058689891652991008436716912114,3033830566353264397673337990326177205992764673841041208405151839665198829612,976262092780375999647937676965711025578595167484724089042505445814412185132,3296221977333114598286656847345613743034442295910948767921912397512550553658,854227700064128643945485952342326056241546346133521945672973829207282472725,3286997359713058515689081132532422045960187144463124268180776305978183049767,3180495095555774738274411346994021072912740543197353374896009094441169312929,539333649170932960089254189663838137331426074900461442691561583683866627367,3544406220750706566149720230680803325838996470477239465278722804878687556069,2472219477229615945813570970440173438475497843135863298775070136464130290244,2656661866970168925990272945012816582176102697700062690973191422763696860976,2500884806434249361849098622581287271589438751182838750073892612562104417742,427892300033545112550066020587885731437775022117602857976734406264494421211,1467060884772701179185187784026266034271981906562542443497316824855149355415,1241228409164578795389673555625272429200707342027536209643593242983062194099,2140918067329407656626154583582888217945266639808717767671702241416152424235,3358937679459513305837789068727895406386348130211263759303264425100705659590,1614022638423880946964413218865923627680568211291750119356116370327018902101,1917407553096536213275563335641383770288847154613481994344671747356072171933,1136450085194583257866244297862567279519077361717037913898889764601857534359,1173229238454860451179883738449889177886698167825072379307457039658772743175,3561795379825701695548729877244019602147102665645037658304812092053324018253,882987425343971283806120061293995662914217852038016676945999507641043986471,1322436757104626914245308789245542937620137836102490793909926705926318363832,1630951542857263015515211826810096574327141107008346939515179667822504760970,2013165530510364786904891201810787229488259093923332907739048058918203870329,629385335376284977296331510692053249334027027048248470906957263276806715777,1192174438023862667932280136527310070824062768835596631770303320961588991689,3192163435622164302948436660910805811189889345000372239247344464469760851868,2732334944728302182734554793104137716251860428865096630741355277163965880250,2500096693108197413151019697362598180935139636124706478152932793350473785170,688151952293981912747671317697024695608903041169252225606809983752259743665,2038608546049102848916801451610443062513536524932954573866261835054929338594,388263794188683934973329324150455575312285395843412824014405845125408036238,2804845940952741207210676124166229703314779750647958792690027847636281767113,665969104305880493522554515577631044527547890978766656213601137850025223146,500802919547595591027275019689469374006363641044438575872864833491035295131,429277540042795924901373610992119487625151540311963724922925430215685797866,2154424326187851363736655065074719835620011182390691268792679798670006475382,2968951296081782590959861363114692784189947193549724370486727804293290231189,3307257064944882758164047630020772491905245697733639653900997221544653826256,3249601873722303508711615124357224347554914546190657254190149696697557448134,1545762213166099848693351386798280966117665169101232928647804111590971381960,2991022996598153453620470548656904290803077345906283146956382912410916667581,3274242402406682151106421906847170687591997575770300988083694449395139447594,2769841384670049302537084821141527846867362110876066767479686764766545469278,634067442507413516422448863308935161665667592741185593077027896233859804476,662617497051176497932876263546736926790775400974521503903985320235025975403,1723503011197344084235578647743415510534693094108228604431059367363528150657,3117916442987185175741532295134473960167998797446514253920204526865848159394,1313837252647997033440117043536597900070525193593829839080329474814166132701,238730102520405702626507146837228553628517296170307000694507829703409917512,3193882354704418585026075130017088500500708747354922325634966438733016265600,863754042561591653583193534130359222827816081918366356639369916274917663102,65899966751934810034094308796421565119092214801366842634105978334640169662,1179750332035823548403362430675432978716315928655543507135386759689568253757,535076177313204054841727954996817976341971750777327762697423491928656778202,1905811713953591838988946389053264973088755222208411824102808801052481548998,248918297680883172612873159513854165209496776951485169958640332339102941808,1746738788109772388591665399687264531213173664284658919290162714426821561838,681722770471502369254927399063897317093267022327758807769681820385231282121,2693241124221738968039770760787735436096311776987884349531214734554449158365,1468854555894685125770375633123434901264507255197715833868339031031305666106,3180604116037793478395455820956271875479707398542749093242204200617355819397,2359895688526599784197493465053329335984860078530684886034012768056879843835,2669822773753351294616966046794906501108710181186178562838427175733032902601,1340171486830552064267002313520469981684223552281156144221676879926915457270,1418666151734682014426107875007318876083585957790412145303886871706222737037,3090687741834936833662555827832826164384848470911344614846676163297215194889,1430069322902356500791003428187643898683746311057644190189562829358551120991,1252635017897457209895449757901082514084380077467868715224571907741229041275,1784814758141722543383907018533070334930280119269047888227446919024618977107,1076355418860752669774887484954491818955735496853467987292189994405485019048,738581494625131720723812665415380616423203730231589650017438965392256772310,1257413111739034494537443074395061503323400678818180861953296569606330523663,2621146851746962216308212857825224739324183501698855673708071700005645038491,3514403075935547924754630934952140785030920019586813424961334245288840950203,2729293076396436039683144060049369080025936466529375163947411152485153892225,2019391389956242214110187584592500518521828599175381877824814310725764807939,3194595990878905132454944648983922567233300966252841312731960553065200480586,1959343940817170345198859547076965170889914128287688775407177210244266632460,1660074589403146229788042318156114258600886721319300645341640723962853417009,1944271635346055010288312320064045113054432108143491822155793464535812466040,1499791988101308667753281627979030217873867966542304058990876806030762153543,2594158505459940030886127966220941385176710866130135424824394932508531806022,2037464377678546156936892713981032137717612047620100496185544940639401537122,589727353200080456869690654211984040659328699265474012309423245439061495198,3606354011839889339987810797686267850437505244884550072101887655862214427081,2057973995032384724907734507303282293715671512546400133165786578882452035348,1556743917986912195022482774545571903153789967727513413713823387998898830425,3367693906709319604264293116471691888017558990061306985998631433897651111631,1683279861193497756176237071902021435860670740518688910079358839257236537705,843795522426107748502747361041010487243357738805408383664887260643493450359,609527216197306542237861012779781728775592450921013355442252713916158246684,869316844232900164284356660295487997354773623772078072123988111630359287129,95194402094677810659259792439538950928737660852044569320447649527305090400,2201127945263246276903803122930675070649066055478648524653463702239257649729,1388213029135518432995204624709870683510468529140291977654212171196243785219,2275835969398711808074013633636716787406518689438651402742155943409087592269,1572589265796229390510243315435331753692883575508070890973778648574627842309,747436785269022489513896181984500510380441991870981825448298817969378990280,3534749378184539511989651729426828491117675933415085033251909019297109370677,2479897084449861073713236580865844475780865094971521237940422687389100843824,1340232952502884902237798261371040734931223792043808828776964087177592670662,2794802592365922659729631563709162731953827406279918311523115774860644928011,223020826360378710981945799140061738272088738717017409302944180432637667991,2775328343568848972389152180333813664763434281666482346606839080038976587294,345031585102786434836155579691599186981485707067029897112808215101392918266,2909166812323580667802948459710929680238470146473655684217466022236906979597,246767906449252493121665513833200634454461506713588001999543736223577684785,1422066675676895087962343059925575677512940533913436921672506806821677775529,1457791289781660017398941428226895139541011202832476216612517202445387869436,712715717068223758974722993772655508657704497472926257298427402810967676874,3215243323993380190163254115995701574963898272680519645358372799302719142533,2307539673384770122479795200834466182682829842026293989689473539183159931419,1391540207200919556906377570111782549978314097503431925472543817490630226927,2398759021802924812215101843897093108611795657926433202773107127483192275912,714286611307056480144397884528429819374814572724165335323295073849881813786,3171273663975681749900673729754189795117315601069323997636054196613800499298,2915188073115128287504252248019063497492168991010199709292122423791884179246,563986370493621330549618165572334977990359292777701536677248177856666888321,3040845488539985753906975328359367070012179746827389735658127544809066263097,721936011454422239933216385781144715719259829487878381118030021572116375820,1202433059553358578660516567473657048708235613224572866710940306604367557637,1794673384449629380215199884124887670296146533245996039158328947795462514811,1285798817598075748181809539399153912076144837996525672396986092493501332685,2378379040900101177349625278366263044133661707959790339735762640832335694350,3556204083887850149696823214513367076317835504082559356003099332439047454255,1881883801392601727498507084177382257301997740960971327984064587194607050807,2552683345006520644165234097197608999036841342281768938510098285715108083309,2642851160780414461685285054458903961727151606400027426941140021829759365826,2377898077677662807283971592520580419509208948923648413722124049516304092978,3243447371231168499511955345793816936734388826532863107733990921219691983397,1965225028617495202967176838981034815669535293569072714949977900989746072619,3562765251209502389296965400502828827706624685792401628990184240215935415429,2624338672543381460861716565609829111510198591695135408318565290734796755493,2918263074047289236026691404932089481192627157057324025559051196640982012230,2625838553161582994852724178580883411988200282850963541574458144240772959888,980575824802844409074628197115842829496375308492028329054340970817717473267,2762465262144867059807717939243503897521860437808627778581371488714848132828,792923873875593625274511872765903124674901508065211868120619363221516127651,21196367158622807122316677619704478653297470488451535380002881409015289979,2165541712181163157280647225027414325213514116021772433636154268794115257376,3058197645555544554541609107797893538592816885119521340343256599156042874732,3588206728435972811025147532490323437320410836838400337845960577084954288541,3324509603748159900294478189532230482912389500932210391246495167183744412434,1721677299502166612454580950772838589438802372596454278447477002515052539849,2181036434700019140741469589668899314905823292939012781875807427428584469168,490073874460663214010632491907782434538968365648731711656480859176978349033,2088019447558125026720413629197541423649784534252250779383752360774741187501,1952914302838269041978698316915212618534757472955742354348815573485778485062,3258536690599901614040238047696828380597267604184428424445588640073708846577,476473496890540737056492280175228952705756970712351948732389896781453427338,1601049650894610438305132947574354515413550766924916480851784710321571338948,328365803442862404088852187553807716419910153820439723840679320429200947292,1955206439427081994867202278219528695046577793457360847529278245652673528013,1697942803713681786639365034597069378979940553142776843149760289744397193125,2081697833646603437557227050947051316553113294367386503856994093179238932368,1973704077200523891944734846987658984033530455442893679336741373142048995121,1293088446530226185128126427400565175703358090482763179462583969041474032436,1146257528112456844901530094917419686413448975302876273217470883789436713530,3390032680827644272057836511527639117645885374279876060834979706962411070764,1045947290325985714252723581326606983489560632441538993987698019066804661153,2870693846488811935331306644290951118661591332081774281366397701704469000700,170144706067752568712872237297438999859802793754528112036715099012150127109,1392764265549176509986657311010895252649255596115602803840164952754060824427,1126384957680409144304704037418851698960329950545302765760764274729267837986,2070131628183240464752320818726932647489524717940559680522281180427319798817,3143142859291992161764705359208903074165054591355415631055571131766930001655,388923113139948785936285338596774559252738084240905744974304833086379075984,1576607869137207060342033222605580582948372858172102501377500308872136154292,575685387674341597041094175262936475529411623976393052264210324341516321069,2175741714681452392906808708965481170307884213395351059732852328660986290585,1078285646509036203249912338279760254780398404896190989319832551086571939006,1730592328441698959842528465787882602335425993187074767862012163986624125873,1586212217633149131735635651842129991633475715139326872842601094140309658389,1386177349786216311183241961949645547397723223855271502734001031430932423208,3317386315623012113802975685939730422277406103038048028651282159830089456462,3261666602244693345229220602067722862983999415196853131168788111751437654811,1617504053671446668076751300371647391628869269304212441747965476024722745990,70381998272859060321878195488574704557625121320602289505292424289756702539,248690809925959263043486101656326803846208490888825182813694875171217938319,1842978598691396003984273497729297258900783690569739107354172916918533258541,2892800985731867898892102226853618254997339534618447075310312001106346429065,3270905397351573069637968451843501646037176446719011450189645878336590701034,26180641556413905538744441526013844605785888167776093752127546201900685428,1307043870279507842527496896536049581974042385901637189006993052417378392986,3611264148194031375388550505099814810948235068597219682084699542758804056460,654135347618085087234100571634011962969089659258396746734496209679582017840,3501238618848239832566594885942295582977958470770120946544812937047620188543,143274190475535915167973959130860949050647551823733146426539324215093820217,2663241135437864157528387819568806527818257034498605489755358155553504678163,965720199582740575148491809442945557354388120764312553729276625991283255950,2205944903929865405328023589133685347243544246702509302975280277402059993003,2344898857973449116121039018677354645154428070225968655597614655024582093013,1345543929104285274396982965883754125058272537447031552646393548077812839128,55638483311047531815833492667595217905319558021671424063756130350880004396,1735898428690656727417852679289380885794230089916257524823310573469164787213,712814299042275779693814349974822321289247664854741702553333705342657924736,1218707046019069307799099575051970256066931378120145097020706912542735515363,1643522783672157048502243963512152548475459757123741548391089178240287487007,907876424366784469200398741347046207864689767107993104115346073991531596649,269494147144192745597342841643837826121504741017692991379555631478087849804,1154445078292358970354162004766283241363738469637668350949851366334413355152,1050888566322523688383719372175998618437300598570881098907755950583947999312,647626471428488052671869571358867923259279580304935057520130302686905011799,1145904104714971616455222548456012030582174113055487849670419957379568604569,2575371571096192655548199588361308715957355859172203032119177891732075672094,1492242940601823670051254127384288016098294319162815756155218207155707599346,2902265026518641629339156357485926994612862568731207108099814067234452233261,3080859151488128189356528639993690306110103243666286517196192803136486601817,240751844754226250062046720747141522177584748882555183847670365020718862977,2284489105577085575057658983607590567611918779795951021906852424765195011547,2584752180553619005393539095577250620577869351905336291223966958155019592852,2694268019875894945239649809152291092404998521912851857335932744970324726310,1650777066841135749166347194999825676019911065669326415422631605255933955375,1814174594071812151863381156111742380960549627966719133971993704220926076449,763495955599626728625027159150318056765588697580706840602130124785790781717,90082268494624446103747935041634305270823378989851438530648668085126875916,3394260501855695228904067024396901726181852057372158960890704019634531837053,2775070659717121696095832926717138637648469567874888304327984694827267423278,1684142037948409358550183302207823053896880168720190460525377884594249558949,0,2,128,60,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,60,761746114,1137388054,1629676192,165084415,1632413839,760013790,324608972,1261041645,304719520,324757408,1587573686,1367857224,136680566,1003987058,266247240,71419938,22311128,341253002,488386448,35112963,982756687,122867602,731893869,2075335089,575851925,1061793352,1371696444,446198420,1690203874,185971131,311356862,1581179439,1686083806,1554432174,1928515941,461003840,115715994,414102651,1719016564,399701330,193875581,1978214190,873328698,1463134073,2128624390,1569329537,839896134,631262256,12185929,1544886328,426777775,1922813113,801163615,755862518,1129391155,1028849763,919481219,1412857275,471700180,1587325128,60,1420573928,1273311919,1432843541,890596318,494449058,786907695,645340816,677127525,1203133317,469450307,1679090764,1383645470,1143596548,858969010,1730034488,1497054485,463086766,1082947065,1619631113,712135620,589723095,29171058,808084815,341250870,1961117334,231025100,363531107,438464624,339976114,71196555,1653871238,2088730877,387216964,1645693666,790570981,621421129,334856772,857337957,416409926,69787007,559238489,1653149035,1235596892,357878371,91373262,1421633639,119860712,369238197,1820750388,1674249420,406300785,1464659687,304046582,578188321,1815096866,1091456658,1729571649,1234208786,1886685689,618450983,60,1500532640,1540883490,1371524688,1376889248,1851099219,866610781,696079128,1075815503,13194570,1587455716,20040931,839288924,1338787366,1139481303,143165172,136271643,2001133500,256727265,1441547956,544421585,75085302,1645699020,206411400,1151831562,881549374,648758066,855374383,1242586906,2031944653,1648905968,2026476031,406501002,1960763283,778881092,1725938621,251350637,1468830252,1047415463,1349528007,1941588658,1484313812,482683631,179885726,1233326360,532054325,432220177,2712224,1584337817,1911879756,897736748,274239846,760735338,1772720316,62818008,1375507919,1930481804,668425974,1695769102,652973870,806089309,60,754756510,2096389520,369118017,763765423,429763568,1885744412,1118144973,1758205216,1432136604,1113357973,1414264058,771308648,131521543,676398441,89914764,1400002700,654108307,211537958,209292425,1726308919,789367558,751694100,1050194705,193363541,1501790246,1204790547,92410886,73295872,1627039758,1872608702,587151485,1083985073,154580542,927607377,558745250,630675137,1642386318,1789623294,1110346630,564555688,43620820,329176750,1391055568,227855967,891362654,824702097,1215023666,1909824979,1768257739,482111122,623596232,356093053,2007121961,1273823150,1950985885,1420377165,1441812148,991411331,1829525869,845173599,60,1457967904,2106271053,1124972706,1575626473,1372030192,472599415,820847507,948084016,1325225780,1673951017,2143354067,1364729273,335338571,597824121,1679432847,1498048238,158097266,1634726648,887688861,1207994135,1990645119,1537811902,1255231407,918593222,1721597131,850645920,692815908,226244059,796645833,593992766,1698983648,1452733486,1922998368,473370053,1935427717,931265761,2080916992,2087927975,1640329721,1708983206,1846575951,225818062,782258791,2087831557,500717262,1528850743,977836875,1773264640,859834936,313961489,1799167322,1319574724,1109591803,414032254,1945221483,1192988977,1980792570,1043806066,1474828411,943217463,60,903657640,91453875,989108105,875480364,1706385175,903928755,1915846309,2127763930,161846209,1581037769,1695076626,543131708,594299855,394993577,1033247818,1862803239,2108757041,112224740,2067080133,2070816961,857770805,1866276666,1727430940,862744313,485913499,1027880302,1084234741,675114958,1825690338,1469038905,1998281117,1720609242,727589572,942588659,1967238162,674551861,1914721039,1049754262,2069113074,392074815,668128862,797922268,1230701808,888257953,1493160432,1531570935,1308611053,953743416,1262135181,167362923,580429349,620614717,1403174439,1037971672,1503964692,824728882,966279748,993888433,1477720811,1551170937,60,871754270,2070550537,831383410,1288194224,1338882327,942402590,1029225168,1067926766,681050213,52119560,771482619,758841540,2087260757,33662115,354377303,1529883052,1797126653,1267679705,1581566817,891163552,943388091,1418846079,2082260734,12983716,1382936967,778032421,1766768287,1895729136,692148645,384697504,477978842,1067700679,1163660041,1803188678,873800575,1569441053,1718767583,777868227,1915387426,937340474,1770923980,1935327299,776106281,714349803,1170246811,933260750,328656530,654226011,896744301,1017546162,2058716043,1953816269,182375147,44224957,1630352528,1017450566,1639722602,1066101254,507927336,945573816,60,126456133,891567470,9674800,852435896,332535236,1852352556,1418893471,307620630,822204476,149527315,1888719255,1856774911,365505662,175671930,547475081,376256244,1949405447,580836204,673894461,337207853,1487953426,750354509,1729547070,2026840754,566923072,897383293,1408177820,354080509,150828798,703991175,1884216376,826003575,2032247963,731111213,1241949391,342272127,111447328,659074584,1441434807,954120545,922178764,1513537936,26775953,1073357477,1127513448,605313364,1591496503,1537629365,1087864134,1628061602,1979077110,161359900,1648300039,579679862,773734271,804399043,119654943,1150677039,353055134,1362451764,60,604667741,613088259,1841186146,1966544354,749361275,7087235,1673682464,1724792811,759457784,1222903823,2088170087,1495621122,1917086213,1660539362,1576115799,860560199,2043545931,1150820373,995972997,1614760977,955566641,1161095232,68603273,1672345332,54111211,1015540039,1821890263,1005183152,87237446,1165960845,1724978934,2018992776,231803486,1666411074,658988985,1886303590,1552962444,1809429020,756178959,1584529793,2020267199,2143342272,2027570807,1826467359,577151987,1480274952,1919101879,298576934,762759359,871301156,610753085,1539722571,239872639,1676914412,393769243,1460858042,359691990,1642653275,1397761527,225014366,60,1546158767,1749088251,1583902335,1580628353,1637537756,17268472,182553116,938626099,421903553,2006432097,1204162305,1026653133,1614031145,325201829,1551920104,1739122906,93446148,1558144234,562695038,1945688391,117375980,904611529,199469587,1847762513,826002782,892019463,875889644,1692492247,1201056907,477437229,327575856,1781133975,728094467,337055986,1542682719,2054369554,427368754,287295682,243257371,1058192922,223088115,9486647,593921477,641211006,1618455380,2061915453,1280408113,1940094156,1940916186,1535615119,235935943,368602701,186106936,1303213902,4409633,174802475,1378170187,581336746,1954542325,1158813079,60,1405924298,1190776877,98593646,1538357863,1599035308,1792414013,1619481548,248632303,1721033363,1555127339,1673850517,616388554,1980729975,839609739,988488029,859710963,1410454886,44081571,447850862,959868056,1436569441,1412116952,1135590089,1780114187,795073825,777958025,1574637646,515025777,1016140674,697573068,1586204691,356724760,843412582,1027193680,1273045114,1701163373,518508455,1711489104,1716121457,1517741810,2043709372,1308624324,985079347,1656193232,2074548343,1936118612,2142993401,238654327,1018571012,1673074129,126348174,1464296632,920010432,1092100180,751059449,1892998582,344769747,1814428954,488361057,586531467,60,1365676319,136909022,1588372692,393530911,435171657,1429753198,783894704,1518680958,1096746198,807474109,1109486640,990137869,1485491258,468541401,520983809,1295959555,101062699,1062406172,1347871827,473072989,278368690,1113554281,466645002,811194353,110289519,823123490,1778454017,1545141604,429127846,2113088889,1004341901,1825000131,167055053,3746944,1362972701,1953721547,606979328,1103692164,1789013835,829162356,1709670108,305636689,1694219365,225902372,550327804,359828440,1613600068,880494659,221111776,1532891758,451248632,1519435325,548502109,1931689015,1790686174,1778862641,202492462,1385544590,512866085,1218805895,60,1881640293,1213330842,363294579,1265885249,685950831,159669503,1455051564,703913837,2123788052,35902864,1476970934,704350572,680916051,1564943291,791105420,2057663884,843846968,782435863,1731733124,2024617305,1700201419,1027416840,770223785,769414551,1424872370,1021392620,264367483,318405485,130446340,1506080893,728060753,1467180698,1081605191,1157425639,1533193039,1605626098,1762641337,1427462467,1271756679,995733043,1190453973,323333241,1748230194,1460136462,1607337110,905252733,2001863252,779039844,776757396,232973173,1283164889,148322397,1761512467,2128512171,913073972,746981908,1444224652,195987566,430888693,928418677,60,863925728,329313081,540830485,1514573868,309440051,70730406,21271400,106134771,1046476176,1459453165,1244622763,1394048798,1120708948,1362520569,882736112,1307403032,1337678640,1056525187,1792387787,523586224,2095579694,986845370,1923560297,2126576414,427475551,786138621,791547315,2075637707,914357607,1290340056,1567771686,1184041791,1085014529,485413758,943561503,1495865861,161933658,1181104520,1372351886,1039452731,614138524,500089834,1429645781,1054323443,509098508,693441459,1432469787,102765286,1772828910,1697162553,711225574,638064239,1809893544,1421404392,1411917458,287998819,1570989844,1275080549,1068491757,182301409,60,1882804413,1989315217,981166916,930397117,165532811,543943423,1248396260,2000968704,94318645,416440087,773485753,1461852740,1323944624,1382076590,288410520,1118559025,673155228,1490433151,1060824431,629469447,559371939,420710897,965581152,1231200101,1933146415,1202817670,2121948740,1966088545,1258679908,1040502259,293747039,154591502,1559235237,2047777496,1705311269,1447880265,624741898,499615076,720791599,918549075,1264610831,1306268193,876444189,231137156,1149425629,1532906734,615880083,963528932,1934767711,140564247,1639900860,1469549302,2013025867,790284154,1385729600,3579484,2146857237,86900237,181823087,2040016439,60,1595634172,1237028206,61519456,1901594901,352821627,373803089,1718078359,591415864,737686113,1190367523,1453564867,723368426,1284265172,1841569040,515875029,1063051931,261686455,1963167707,1243414071,783028227,19520054,550411337,616702592,1656234233,1629574693,2093915030,2065582363,383092816,687462762,1764937713,1418423764,1206156999,2017083290,1445570589,955878831,1470838149,514922504,449213652,1771667665,940318623,1662222108,448111070,1948149794,2081297131,41474594,2087791539,1846823130,72993945,356855787,1458812766,502064345,42892344,1445183068,1365955820,1982467374,646606156,244759637,334518789,632938278,242682954,60,2015295292,1624337728,2101510517,1063069257,1145187012,1615571663,928276455,1429533242,167686814,983947286,501070471,877644403,4274696,689399149,76181159,1220269088,320647419,567546796,2049927711,326888106,1591631398,1730307010,2090565814,180263318,140409946,875475985,1550095935,979225574,791745184,1058400764,294610194,330804839,1909987240,346149090,243055782,1425854455,1037129000,1667344983,201132843,1237457686,1049431238,800114908,1131771093,1796352201,1524065146,598271476,671978564,997399836,2042731172,831981377,1039579526,886279707,233291535,967413176,207577076,442284722,290474218,979653935,1465650355,379415683,60,441204301,1839689104,1219448626,1874241849,2097450965,1990329890,1583512243,1268199651,1530229964,1973833968,411860079,169132667,859528222,291959228,1024721255,1379663180,267789741,1354275183,708752017,115551134,347665718,297965851,1763720326,614798696,1196510429,877633225,1270071318,2119226790,1082617354,600267553,2014140933,1915863821,1390045353,262302221,268436472,1062115552,855994981,1694979912,278479776,1724333036,147799789,1500722574,1671295460,340360726,1699918881,1085716756,480204280,1429722715,1941722432,915449471,1889163416,1454990199,252356692,721733668,1304825480,1471453981,1428176691,2024834880,1127005884,1149776078,60,12575230,927671832,2045744622,1785070324,1958447287,1115468000,1843294340,1177651135,222603654,313756369,2083108006,836139350,1929756760,2127259658,196420621,1761395088,1416839516,415780691,1707191675,1721989760,2050121382,230313991,1426455762,195998430,2023294892,999755450,923765358,1159248164,830569052,1599951723,2067209801,1770804213,1631375758,1408631825,1320225938,1298326797,2010560888,148521604,1848903718,523228871,1424298205,469285286,1931239293,1131166022,244853660,128937144,1968963246,147303894,1482912070,610565268,2109591920,1199129826,1562803216,910552803,414152705,1681612354,1446773086,1801584968,1173450266,1249925345,60,915232525,369149778,2023150000,362098040,730899357,530209133,1990014152,813430432,699576813,1340134075,119736885,884125913,1149987211,291758233,763612365,269172448,1585708250,563464298,24778526,1547179313,278983089,1559797565,1239893342,1430444705,952545091,1050668728,1357070265,1861898180,1098898975,186338982,30046841,325286556,1088976785,433386661,972193165,628493567,925449597,804713898,1637389514,397870969,1156846906,1860244002,2144974602,1145284311,1531476923,752329787,820146368,1995451537,1638324188,669676707,1332385739,686245433,192004361,1444817439,1787307638,1913079488,397266810,709636742,1580756347,455131382,60,2098351049,1167149622,358568782,805478200,1487130258,1768747649,446925930,1276689362,1490723466,1377749306,1736085241,1769934243,893384548,1192007861,655583529,75858603,1839524803,9567313,213625272,95490179,1999986339,119360612,435895546,219237820,2131880538,491562314,1382390872,52266612,2019356913,111655433,874981401,1472365209,2060253478,1937380243,1074272408,252242238,957865825,1841363519,1432575901,1818919681,35743953,1367503947,688242894,974863283,522608008,2075904644,1751392648,187748286,525590010,269531059,146528239,846206501,1635988152,987520825,775785356,1436016417,1991051563,773931822,1679336715,843106039,60,754705409,1551984579,397910593,1497288965,940455398,1734837917,950942513,947529846,53144508,1293194396,1996780803,1606346975,576252204,803888857,120145766,361145027,1415865958,75860102,212686283,1357463873,1219115525,1183662107,438531579,353212788,975649969,1748815459,818302646,675855870,350513066,1659834393,941676953,467950525,1290586286,594582011,5796612,1572029623,121915600,729992375,868863951,457623034,401445814,494358463,1402021689,605631572,2031049964,736648823,427326944,1708635734,162487909,1734028274,1784387919,1631931350,1972877452,1127504634,385180781,2095420084,1736722929,972741104,1857545031,2076009128,60,164793133,1968155359,1369639352,856671474,993994688,1800891967,232722180,900200137,10487015,127585942,397288872,342681767,1773424396,677765393,1659204079,2079731383,1592027335,2132178695,2119595463,1609186006,13831518,898141758,503602970,1940246882,1092426576,777213547,2128408582,1707556700,354514663,357484232,583630701,609813919,371928216,1019569283,1826646730,49904535,1603253675,1097655205,1965024387,1146043912,1676232064,298601219,1701643250,769339476,1263571699,1696540890,1701658882,392116618,1005726185,1541988164,68765660,1140661616,610181793,519693936,936021665,1220451633,1505285939,1016287289,1553008082,726249465,60,1763651468,889887125,1595783106,603732109,600764672,633806587,1310007457,633800184,94676914,195582561,2095920992,579378013,1134037514,2145150319,433708872,1314705255,1287349821,431554064,740525798,104106420,1341110127,2062482940,1614198628,317724943,1419449541,252876747,2086562420,1284722277,2053748610,1072282523,275718325,1951101160,1606670149,2048458348,611480318,84707742,1063011433,1355966298,696376183,425674352,328010585,524708979,1748795037,64877291,1423908607,395618195,829261386,840984419,69176814,114200376,55147407,597392554,570577607,176615037,271488956,1321015766,399610154,412632956,684617567,1593962278,60,2139131726,1824756892,494989802,1979252196,673696033,960108096,191458683,1102707695,418251257,284732934,209858940,319263774,1640294913,433590438,868631672,556200368,395416162,1064774677,706122028,504565955,1726754808,260198230,34801270,1719238005,240967515,840702322,1788839244,246208862,1702120654,1761875899,785143898,1439922373,1003278950,458990398,1996543976,601260914,702769258,315703396,557355085,945811986,1983373333,1631454605,436513165,961580275,813211770,1460086238,1193788302,509764345,524240849,958341216,1302138890,822822530,1596793589,1389273864,1073240376,161620765,1122011004,184541957,880483728,1835490950,60,1046332184,1830256530,117398750,32997122,118710173,225972315,653979251,1798698850,2127979004,1344804638,902542165,1292548495,1420959156,1745867787,578290083,855396074,878012295,1960211378,1117458354,328213542,375622112,2146226902,348889560,407034715,1262905299,180322106,1010459021,962947973,1045998950,1233947745,1662195013,272333709,175268302,1077716681,2106117586,2099071285,665681540,398978168,1724067222,863850329,1154122578,1204093771,708264699,1981843768,1836632902,1681129273,1734740123,1219110731,971199647,1343415013,1829545559,1227973455,1604580241,1093863637,130983511,1839324484,1911302688,1015901351,720106595,426294160,60,1167347670,1759701300,759435448,1359105042,2030820963,1091271972,1013005144,138059412,1250776728,1173632367,289237265,1903762236,878208183,1775121404,2116003420,1717272128,1000899568,2069131631,2131293076,1434238974,1178890525,1673210925,534417677,1434628548,251870125,2006051569,1483050547,1847960029,1584392953,505555714,1263619530,1953230922,1944021752,328196649,2031387478,1207755832,479814028,1378601152,2086003391,873903916,2125354326,310346361,122539685,307737152,389015500,1949765269,434935372,1435432153,797810981,997699437,610454536,1921284606,707338102,386715005,1017426449,1058346865,2091823996,1370253893,207569388,1231111159,60,828334372,1480421551,1611331455,1011225073,729587008,458882597,1087269535,135577401,113769030,1610628154,371836080,1404016842,1795934408,1809421634,776780755,837223347,1857239825,1649683173,651563963,1675560514,769936593,308700361,100713689,1126712014,1438338196,2016088082,1132850099,1277862928,1247120588,369463318,963400791,688273861,825191049,1723069756,2051434683,728510098,1864171315,441450408,299654914,1568475058,1819144303,1744532903,410172039,1981782733,1070090896,2074869446,685672931,2068007789,510981631,218256116,204288046,1752686704,450449612,1836682690,1160449991,1993811129,1890396303,1094448002,833298219,1021204609,60,130333307,933929618,1252348011,1811807111,1404511806,1202325561,2136045251,113914702,1803333044,1318056937,1274272553,1134123990,1842272177,1927532937,1368977381,1871898742,1678021960,1254820383,883332126,469943007,623730283,1126223774,344747635,974318705,2057179155,1949866961,883256768,721064929,397771257,897768072,1317392630,489009342,37104084,366399423,225277037,1804703963,679500538,1319403481,824382385,1049868761,2038036811,1308155127,211880592,896558576,385203662,1682134175,1890223065,1896237747,1691202748,237694229,1428892328,1748213142,1178250457,146473201,164155713,1663375815,1883417071,122706590,1280679989,738357147,60,1758555813,691715786,1641210620,760907716,1054271872,1946655994,683590248,1131880205,975628095,1562575748,1755647333,753332359,118782834,1334351707,1746532024,982841108,227847830,395124170,1260630288,1820153244,222601626,1367630385,1766133066,616618240,1418602194,353903577,404996572,1155924237,1745932608,167365099,1199037647,1258299672,994716683,1497884901,1236976228,1128631332,2020658182,985845547,1896234760,512170076,1367397574,1370751493,1491521567,493729405,739242793,724632479,1785641920,56770540,255454999,81436725,20812867,2061413217,936736682,970091745,1634197883,1086489833,1552172859,281156839,1111768058,425220846,60,1577147028,187058790,1911243296,411472380,1004931163,703544253,1917920245,165345402,1399226121,1396974046,1058176412,955877287,685752135,110275285,1523200857,1843591280,68129250,1024195496,1309365472,1908481458,633899621,1506175702,1529505231,2083919144,2086651552,446518709,1190568939,669443883,178819568,1883607834,479667541,1060332789,1372972525,879057055,998770188,1467092773,783311562,1648017230,1602411179,1307454050,1497557546,738808125,20334829,1484403610,1139623782,594118088,1649518523,844269699,1459826179,1137199504,1886388285,232340499,1435060171,2035690175,1874838355,1298738665,2008232742,1477176729,1138783630,951989075,60,1513633246,1299735880,798636130,944778461,2015278188,118907677,258755664,1990583785,737120832,1691791890,1937704383,337609578,1920944301,1427464332,1423356925,267134138,2108667643,1146685675,304281261,1697942271,23086248,549213462,1888112761,381448073,1397201916,1790015190,358790918,760396146,382044843,1953296491,2057183015,724108770,1969997564,466959153,1006968858,988009448,1612178581,2110002210,80928444,2016420596,860240306,1848325200,443973723,206473834,2130829365,543085431,1794758108,1792355720,160080727,1499051433,7118212,1120782678,1635536319,1338529261,2121039431,878957974,1412557815,2059947350,1288926353,1554009411,60,889915819,1848761923,444506942,584965502,838648093,678313032,1668415012,571003802,223320634,1277642558,1060427665,703007022,1482087741,1702192134,1204791701,513311387,1205775286,655365272,984200858,955323713,1513387753,1758551679,910686310,2097773432,1126728108,105460659,1958645727,2029814999,508848477,47143185,1670147069,653239655,1989319346,147161088,450454372,1751498439,1926971169,1077490265,1553046771,1263835918,200064222,1052296080,1079050709,575893492,447857673,555001731,630565302,1100852002,574744410,2079041639,1622777970,1960418002,1855229766,456483602,201009800,2071575845,1758067613,1306057017,702642031,708780999,60,98272498,1066868827,1652310806,1063875008,421743211,1336517978,139949637,1037444359,842061764,1734271040,2113995943,86046822,1473895384,544574256,1822785283,71538400,1729175549,956327611,508652693,1995912592,958052051,471550292,1427922006,1462984051,10041567,1654073256,161002718,825646261,1198302625,1707133668,2124550164,1209209998,1307018484,965594084,634710899,949192313,450812172,1155199950,1344229453,575394959,2018614777,1656470833,161094183,1582271280,920705055,2114642324,731559238,763607600,657824876,1059173406,1422910009,1747439456,1567406177,1407963089,1582711314,1546980670,1733298952,18652636,1095364119,273912675,60,1928553329,696572496,1968713705,109552896,1104302423,1873179844,1407944481,1398943255,446201293,687023782,1051421872,1162385736,1308493779,731144016,2097215831,748087057,965597112,92879657,1379988159,993095753,1818168718,408257113,2123289603,47674049,1141530452,624162842,448095722,890350746,2010838735,223594115,1456567995,618822495,1973210452,1340002749,1012487089,1967222899,61156912,1635886984,569847567,344423701,412003393,855143828,2121833958,725759657,65365880,1015915832,1557458373,176747719,188729999,1498775123,27224905,823791235,325124939,1993720230,751854428,373368157,379021433,1152087663,317023118,1347842791,60,1662907325,881384982,502244090,378683013,229651799,428415054,444491587,322304816,1120278770,1392526156,2079694650,1880640635,445829450,1227058936,2034168506,450792529,1081464257,197465146,190681058,1025838693,1440638811,1601514469,148324945,2141140041,1997870284,199242440,13605718,1232506639,1241192728,94538636,440301454,872180374,342080462,2081349759,1474089757,288723580,376571962,442469927,66214497,230893537,1989008429,612462875,447482140,1295475668,1661849270,1315042145,542967625,1922668641,2031284352,600115957,1073253999,1405099440,1557906982,1109197119,65878,1049369913,914130916,1439500133,305797993,596135116,60,103074061,1560315176,1984029835,1498267468,1082674097,570530297,1899762843,796036475,42035849,31644314,1119519323,149627271,38802348,1245953624,264453311,445542048,1513878350,257317782,898555094,680356606,747486469,869526331,1915179489,502667459,570458382,406299283,1560249784,534424013,517416095,706367279,649702131,749884265,234931508,750828653,937142200,1430659820,648415792,1041541793,526407721,1138871545,817165619,1646505038,298400022,151871088,1577202704,1370150943,113473891,1308255426,981337089,1136977979,35330914,1214718082,762061300,1899174994,1338679299,72509766,344538021,1293441382,6714515,467658933,60,415365717,78252202,35806747,1263656483,339741077,217911912,628143935,1205521594,501962862,1149947841,1451704797,1625484480,2118126360,820487170,361720134,441365498,166174230,1304255429,666446274,1980644363,629139582,320082830,1936209605,1015041806,2124421891,774401959,2074468193,2122572569,1764594171,1949516052,1192496075,1383219876,259793495,329212294,405607795,2028100209,220925550,426915885,1613301114,717883390,2009213219,985429839,1029147488,1333429198,1403908466,2041387210,1580616402,1772805873,627226337,1119574236,1265404679,61749972,1382543187,60407411,1832495483,1657946557,1037658644,693778406,202618870,447489341,60,1338059314,1061329516,591065861,503512378,1082813204,934946114,357015486,31678839,684416541,1793702911,1797950597,339828729,1872177405,2044634964,560165792,1448850545,893864620,1209579917,209766396,21260124,1107048007,939940447,1848741630,1059074364,708040281,423116741,1438942393,1141021190,1556347479,855626619,138675914,238512239,609121690,1004123090,153410023,928257466,1178524556,903217204,1659315481,1880051397,705284544,511508576,1939869845,820556219,828403457,2002836915,2037622211,1011085297,519378034,377052929,540298524,2077896739,1601557882,1126580335,475893578,680613643,1032060825,1897275779,991104015,68397861,60,898347623,2063880303,1743208924,1273409977,270080090,1553258430,311423038,1514234444,1745370999,1528959864,1696405934,1871978053,1407255918,1113362649,1293390525,924311568,2122205167,1809441127,1024807335,163451945,248278363,520276142,1719173298,671724299,2031271510,1191754326,314658273,1782968134,2081246953,2006383624,1377387703,1681150775,782652314,987048831,706100903,685565201,1671740467,364695828,859060144,416999204,348542515,1660043387,639453400,2111474409,898434029,1796567819,214545865,349798558,414797045,1663243917,1924177108,1799885559,8851783,492104136,534786749,1659994472,1762550319,1235725416,1899293650,745558943,60,835547613,802805668,497953974,997910875,1028813096,1440770698,678680457,1827522312,1734759534,491826318,1145176685,1081800957,2102606765,738858559,903944952,1083012798,1302865202,1128174827,2003151787,1250903582,669418310,2006598168,1569778836,1782161329,588917200,99993619,1069138018,694698621,941512803,1061207032,329527565,1276594293,1563899350,749280328,251944136,554301320,1075206141,1854473873,1455089021,356557498,423479770,529311520,1668844194,1738556574,427366002,1612996500,1921002666,1709267199,1410583359,871423087,1658785294,1546816449,1318803072,353576734,53754148,2067860075,810595125,516094968,25140876,934293529,60,656027071,1498753909,1736529454,158367805,910224061,1610912169,522023007,1074969104,741034368,1475402512,822229490,615959585,886676641,1057576939,609394001,612763469,922205753,1331549540,145766085,822011570,665788266,1129655332,2032582832,15400138,1864345092,723227096,783275934,1748734886,2054030074,1684470020,127828636,851778104,2136767437,241030005,1804249254,1324052763,1409578829,1149686691,1789873953,1228336893,525336777,2098745743,751531878,1206805153,577251877,533642655,475316630,1288597328,1625183139,1605085638,716146695,1114442607,94734910,635656099,155121215,1405206548,1832392683,150875463,915236102,562212706,60,1208641052,1797816615,1560134690,6893006,483756330,1847375708,1863997244,318916327,1574462548,723929863,1937186727,855073210,1453844241,1688209896,1605405102,1927970982,655643302,1142939222,2131953174,1690535755,932597720,575418516,1874466036,734978810,779369324,1423396657,1004605950,2132055025,55205966,392964427,1778659558,639964232,379507908,224209043,4304900,506467259,838924041,1006575851,307305245,1996628951,650880806,2010083123,274668551,865818399,2086839382,38796548,2042539122,168751909,295183184,70426800,73178622,371554118,1829529599,48919751,959129515,1934026905,2046382969,1260158896,1810417530,1064137414,60,372232997,413463453,315813140,763036927,660767665,1139367008,1880077667,2132262850,1352547790,1493613949,616168554,761267884,730097319,189370974,1867100801,1996597487,1125726228,2005423385,98282528,1706236111,1991091522,1573672614,1448005124,1272125024,687015126,658257302,710425366,728583721,1107264880,1727606706,1299590036,1848253032,1069058081,2095386061,1716919296,1057910349,1440567093,2008511461,201705162,405302249,1269861145,555350797,1379140052,637503125,2041687576,1849927018,198447853,921392467,1726805618,612216260,849289942,1244391366,184374677,1989588104,2071621342,1830429351,1975376791,1546476212,243695306,880519989,60,785579654,1592279430,1971117830,259221072,1033166912,772404076,1881840055,2027094773,1721813740,1626668268,1007784268,697973182,1634888989,1971717226,1631595435,2005029705,278305927,93344203,991622882,1407988911,896740987,118562111,1645740645,352320289,1763900551,2002779920,826725682,420585720,1637582765,1982999965,1584336248,770029932,525738950,998823264,1340636304,441626222,563841719,505417616,616449747,905359451,1831879398,544553864,382137380,1694593100,156652850,813148718,382931963,658567083,361160606,706739613,639869322,1092900775,567090688,885145670,600450126,2020183946,990201572,55852840,1075750990,2052731284,60,2136317055,225562675,457394827,734157668,1529670575,759820400,723565562,2077799286,1184949557,798729902,158004559,438642362,118907106,1209755933,241072634,1337616243,10599018,610015385,572849955,2130027460,1495457831,228814730,2037878672,2135607258,590950802,2122626579,572456231,404805982,417828477,87277769,1135396192,1619231687,1298417628,725769370,1402853048,1084382013,1644458372,1898292532,1478734662,1902639559,1409615039,1295040375,1004444982,1248815119,79603151,1498815031,886412257,1359591434,160722525,1697097137,205392732,1001990660,1088210730,1209194271,288688378,309787572,2104645932,727752161,103858084,256087199,60,1453934503,1843030632,617013510,848712253,1537350628,1694644045,1247791291,1916371044,160631188,826654761,607698787,1907989283,2030201782,901469933,599802498,1755627197,941216387,752635791,823578506,155721739,978909044,276696320,1039149142,1878414257,2024827672,1527682858,199414470,1483655651,1674217754,1630476542,410489120,1910024382,2067667221,2081641790,2086824657,1169598209,1570728090,1544085246,1018777945,1853958422,1054897926,1826937002,1462419419,1047889216,301361603,1979228393,175326815,174441500,1270435934,1825873513,1824963298,1732349223,818389954,898218470,1801528353,1197440408,349963120,183416978,1528333714,1157099484,60,1133930925,620529261,1469280034,810585805,1893540049,1776998316,316416467,391645944,991598733,1915128508,1518024562,1322708288,442075350,411754322,5848414,1495015351,478293963,443999005,439976471,6917613,1450577279,583203365,2100670430,2069471083,214114425,1352999179,421968197,267187262,1605712454,421432344,1827738688,1424924792,207488470,1131185741,1640276047,90672365,1527020747,1422810167,587351598,998964377,1082056928,965166256,996192685,482568144,168889831,297240140,77665166,614933029,84106038,1405159221,592543812,795591867,95306334,503561284,289193136,238759148,1524193765,22298365,1249135931,1846972202,60,1593731946,1685549362,546815035,1788922901,365664883,1823965947,1043645276,1044999834,2045262752,1543244731,804772039,120069493,354800470,479516208,1229232678,404287397,1935158151,2112830184,508985367,636087222,2045604297,439752810,34427498,1600672030,1833960031,288677955,1902775589,788727720,1913874277,372939885,1220675392,2020543914,189610172,2041445762,821043102,2125165829,1906996403,271696113,1723822835,2072920721,1208816898,1426270471,1381674673,1183202577,239208668,2088174558,1120443897,1715600493,51900465,1511569789,1352838083,1086300743,883972073,754697607,972232537,1460688569,944889862,1055296547,958085124,1623779808,60,1725085367,974783791,90173408,1749815589,592923906,1756273517,206470637,1877484560,774822073,1166188088,2068202822,464677941,1077690588,1814864559,1600719052,1631049435,238387373,679863649,1263426642,174959478,248913171,15436367,1078106388,886920686,154896619,1107260538,1586651400,1299689413,72261357,2068622032,1607078100,95814392,1115209334,59162655,1437103734,2018660983,675900592,1457741518,2104578798,1399405257,1047233230,1158091738,438139706,715026740,1568771649,1289639751,1183797062,521833889,2089823199,1877145334,1804648201,1385372396,887397626,550238966,1904326765,1675505497,809709262,62415957,1094868814,1644429915,60,1388980984,1361724093,1048495584,1261501185,633683832,1393971146,1893492748,1133343449,895955177,2139702510,37347124,1767379821,937328480,23699873,1375964644,2063512948,1845027172,351124289,589207514,648105566,1098916418,1935315293,698187333,2027445569,1716360888,16425684,1445102902,263607866,234670780,903668765,2121766831,612029078,2066568157,556337541,374211721,404825851,1870479943,1742594138,848021229,1050519420,1171845879,210777385,583650675,515155988,163651834,639892071,346646534,1788576488,1853363290,294111602,698896629,1111169491,1555193184,2010850781,1325724290,1624631052,1995685431,1148550745,691265817,522409996,60,632900918,536638110,2128269619,1008103597,1739623663,558739459,1320502907,1839570437,1635945003,521354770,1941284106,2084824139,1572884291,1897195692,1552248800,488120093,632385319,1571658302,1771382658,1425916285,688279207,218470729,1568680443,1657801683,1732074451,1474726045,143334985,1126639116,1174603197,536689857,1743673103,935655935,15810880,189151794,1803888428,327530937,470869217,1825079478,524491030,1978598884,1559138929,819206330,1607329320,640106528,1386920750,1126923830,92787897,264956060,49853133,1318965657,1386094541,967261176,1232874861,166584959,1850391565,275315452,1720250028,1188756786,79395871,1185454304,60,1022758878,211199716,2073733529,593616731,2045811148,1962128261,1392158980,820977573,2020975130,229437105,547604943,2039059446,526532247,135662514,566432505,1384712295,819170307,1010158901,134532002,1034301355,2078913162,872056005,1682657177,1590171565,1851480651,1974496909,1935996277,900100392,1305548405,1971817352,10210009,1319444522,1229592166,1003669784,1528182303,555717227,6095767,1674214654,499975318,804852436,1015092061,170860764,60333117,1440078391,1374544113,1235735773,647874967,1526195734,986088349,1998079249,389685333,415677868,781384436,430225136,1462775349,547773597,1570058584,1807657895,422385887,1124427560,60,1758116138,789350231,1301961662,1314475415,1573951133,841787269,2097034635,1013496783,1941396231,214978833,987253101,1913265259,818259563,1939196796,1937881852,1437864548,365215985,1144286141,264507215,868612043,1098842465,1240207607,1746924871,1689544753,372043188,1140307949,1719267442,796872646,1314831181,336506479,429926130,1021464664,814924473,1439764572,1781605663,406770162,1531685545,1999139733,1296823009,57503752,114435572,1887910280,1583122247,65956038,1650799368,1010470143,153309457,33036770,19832395,988397436,508597562,1263771214,638357038,1268581085,1012834510,961160673,723516807,2055094408,1960011750,1960433996,60,162085418,1899513466,1460398855,980438005,1515107577,571525108,775247916,1270349248,1294432211,353927326,1989625818,1610394943,1445181957,948162643,900240686,1072974219,699881580,121044165,709043522,1066028385,930907073,1127587681,1395997948,1347317454,2016885086,1719775647,890264563,1556019299,185716877,660827902,212601871,1320855600,1421856846,1762929692,2118884291,780124875,1503865530,1245887863,524525331,701030815,672864857,2047833655,768262945,923435321,1358879172,901613278,438836305,1463347182,1113249,947628999,1955096492,2055830838,912869352,277727600,1123225826,147657928,464367712,703432375,292703297,734854847,60,909894443,227266684,1660815991,374590896,731176289,2077440514,1449982382,1864659894,1202826339,636370689,904068020,373156857,818882989,322403361,2015632802,1086145241,455533522,1487789394,2140463931,1998765378,1949916641,1878228361,132397274,268925355,2061660610,877128428,140259020,1776507058,1040534334,713978035,1114293505,719346275,813906808,1792931912,1610313613,624440745,1291198391,1724870483,785966842,513402582,639884821,702919461,778239730,469711360,379138791,90774482,1235856825,1181568263,1550849178,282749396,790661953,1994343784,191554034,1517473128,1065442262,1242095793,2026841664,1181413650,267068295,1665738917,60,1401968577,1486640913,795812760,994454826,164496535,953622385,850579517,460205885,1662634776,845534344,2097107600,1498604380,434561802,1745220026,99256636,1972349945,1920404295,120062983,1457423077,229141839,138716105,1919580571,418611129,1669076788,1580972460,1548657273,1780753922,800937465,1160867893,1100690009,1288697392,1857718075,139597688,1774342519,1105521432,747121697,998037570,501999078,583682625,1329423110,1646977327,1716913753,2045605460,1990385169,2114681570,1244406215,1433427908,428045210,292316544,1482091107,269644847,964644143,1843832877,1906592554,900949619,1954874222,2133346822,1769956952,381761504,1906962783,60,64534419,190900180,668578585,1186136052,1655113706,1048812612,1373137544,1601984086,2065847342,779439240,1199497993,1185494939,1015773270,715657553,1633061259,66043571,1580094600,1271364255,885146532,520008356,1067873346,1658569779,933082787,753928360,887573463,67597201,113094361,35644275,233393473,2043783747,85747605,321230917,2120702124,1161331623,256001610,1605151800,1327439678,2047484498,1394405332,1626331404,1516132804,1564135134,1060983255,1888600352,1852375025,1919819840,1507260788,279290955,1575941909,361829442,1518296079,47239187,838055555,1598580618,448116506,579475817,1508544494,1337825573,834503607,1794481681,60,1424649730,1149177600,25123920,793932942,350494297,1676020122,558535774,606527913,1622981075,782167214,1938136222,240225417,1105547749,263864078,2127256479,415845447,337427756,1244218007,803005742,1479697823,825373355,1700877267,397039641,1432390611,1474674318,687996552,1272268700,123060744,1111508582,20253942,840466511,1953185284,1702393415,96009791,759789664,1950360550,783259366,1812656712,121522966,754723075,384366981,2112551830,509358055,1185828103,1596544712,487352342,1858975008,1203394281,1389187939,1517217845,1955785567,894367812,529097774,400881616,799391800,1155288657,1656606922,1672820169,1159834943,1899888929,60,1607820885,22899222,1510627439,950591033,477099159,556559931,553808424,1189655150,800763303,228566934,1222876592,1077220367,801377299,526178280,491139685,264862092,1880278584,20709030,216603764,1437270034,1934385412,488910153,830641228,1057944097,106590399,1592058318,1660453201,1789803634,456683024,1819514238,1581541528,1487311969,1272708457,749145490,1681773159,1020913226,1525007687,1826252417,2038791694,1891817287,1880683514,368416048,1148163377,471960251,1610277465,718582212,1887073567,1930007318,1065907110,1910557724,584748342,1101034836,680964067,422643774,1155270826,957308577,1666128031,1317203900,1285465297,1280254825,60,582722981,235581480,1298999871,1332131715,503726232,50243022,1588918390,341400264,52282172,678885992,70607886,1832293221,2027727300,942013561,66224025,882670742,1578512779,107907297,258318714,890752921,1523062409,207577714,2118259535,959110811,1750113009,1254528189,57608259,1282529688,463362921,1556585718,795657203,154834647,688396723,1748456491,1369126748,1668975930,2013485285,2071474106,1275874777,526692713,1799564064,324103082,1624587303,551221504,2010172284,668979237,1612897414,924808807,312012184,1483194242,2027636488,718040844,1764494642,413326290,384993914,391519503,1248719846,2119312854,1296125168,917161787,60,1054618240,888906300,724940285,1079952690,424804028,1302480167,58246936,2050134960,21978734,1955507484,1703663475,1897871762,926351572,480095680,2125174729,1826075544,1170980906,154847730,1432997559,960865740,11064727,847805625,906189099,298693667,1928067363,1810211207,903904840,1616209863,3219322,2020649201,746218277,1220446605,1720598720,719916446,691963435,1667078087,1064821493,1224529628,2140861386,990314157,437216481,1553936392,333678969,1865525495,553264317,229496315,452172071,222632132,1306571124,753578360,1651032962,761971895,1678585190,1283131831,595128472,510430693,902380839,1595438771,1362656755,99538017,60,1061314124,1942324421,2102960896,68127210,1173353633,1514856762,37225034,156186258,2085706295,127937484,1457604342,627429799,1102817018,400405996,679070856,1739435764,1020831975,1000236034,1707197370,1650008502,43754435,136064146,1006445431,516475241,1182004283,1329983823,13608612,1541146154,2058314944,536170728,1008260411,2147014369,577255705,400343890,1876581937,2113393320,1801596022,1754711121,1043207157,2040626301,1546260686,1779150540,102714949,1523174956,912629616,226731425,832902050,772426632,1947689648,1481512751,1983265304,791720182,1176612504,945343886,600694759,1330265415,690025396,1367432647,237664979,1035518776,60,1673246270,399805152,1035599440,1480235749,926250097,619351170,834206948,22713037,775650987,655258361,2083588785,1250586737,2064672257,837362181,541579386,1397733822,11108408,1228985910,305950420,1372831042,487122693,17907680,2076743879,1145611841,1016793589,1083855361,275484154,268194587,2090353743,2039604507,70658995,484123116,1768924314,1560792824,1838114570,1709723164,295451175,1613688892,814230158,163527199,1699253344,1150243787,1729499485,288679685,424100400,55741386,2109445295,1065511492,1766179123,689117144,1939573723,975405038,58376223,1940537438,306719915,818062656,1260266640,1291038553,158148783,1349074280,60,640095561,619607731,1665605205,1253199214,1743924358,967515976,1560444937,386252308,83277996,979924303,83144376,1126844316,1376533533,862069109,1235126435,1133084547,64736085,1505381998,502750794,1411357620,383541662,961664306,1091039752,976919746,1612235023,802995284,1947087715,884350489,2039252299,1037550301,417150829,1949170609,1161750845,13317884,172767494,1554255368,15989695,1784811212,690221600,326220426,1042673010,1993382410,383153304,299108664,164613073,1998186818,929200989,773304771,102372432,441124888,1859151143,1125717333,1408609404,2133632148,730577001,2001220260,1634702662,1956486138,246972249,914899896,60,1816359053,1832789798,1598682575,1438115144,515922924,179455707,843514378,1283828364,714050481,1100804552,2051666361,1943289252,1455393285,1962797137,773631663,1835131546,2039830170,538342253,145149502,1170877007,1222975047,1499788168,1395529959,1148829714,1447357208,1416425494,875875331,555183486,61245792,1178064449,1599612571,1226391842,2055546769,117640679,2060767077,1961837524,974090882,1580217395,1922980779,924431675,1113821480,937078842,2118235965,800436357,226304937,656324644,1990932032,254708128,107888093,1560596156,1245294109,667965227,2069949460,1848873294,1348232669,1445972314,539642193,748983266,1816873458,927221906,60,887622456,1264982304,1142349535,837867628,964627631,715169588,36759284,1998311045,48219825,1930659946,1047186149,1540454844,14426946,257792745,1392455666,862998899,1223928212,470163608,1988131507,153515462,1494212151,2138328930,1415082308,1319038154,1425371416,249987800,891197738,1347199349,2094727620,468750059,1078754090,119487195,1290116718,380755601,388496963,1220549260,226459978,441274738,1940863518,2138605354,1077470920,1579881527,185781694,1828838616,1288602341,876600620,1108209478,1379347337,746656849,684645780,987488198,35460525,1720153575,982843168,155278244,63032593,1230897154,131216055,2046469130,301346225,60,369768115,1151485306,586506692,1328023832,388690810,1857251543,1696031930,586536131,411723777,699470110,674681500,1342399685,243914585,158547785,37936459,862040316,1306382752,2056703013,1007918140,13723296,1018757118,834214442,1261791435,455763477,1346526873,116518443,1190493410,1773234048,890987742,132804786,1121146268,1579146316,1688082010,1787068856,1829654773,667835139,433645317,1242830423,1041960153,794071336,1100523606,1215062861,575075766,2052194434,834064835,415115574,1312497366,1437024241,587714176,845056025,1824067555,922453108,232511745,809246945,403460593,1610839461,1660151233,1502408362,337302065,1411183799,60,775857241,526254170,440870834,509890217,860533407,1239629938,264300191,1609951402,604346515,1754043847,1777819428,1997687905,1158291926,1383194694,2063380332,1579374512,1094659197,1826653533,391189061,970741578,1227541391,793848260,1773261100,692355392,1143389494,154088403,1736869389,1027216351,1298869180,79613208,1903349105,227962680,823910083,107560634,1912101471,1148233053,894426332,839975678,330399832,385223055,507783929,463967815,1963709010,1890398802,955817713,269205950,1796234050,2042852167,190860595,1287565259,1122624397,1614786310,147726397,1916195174,749167776,1682371075,1356200453,1956134310,1159941436,692265416,60,1415298142,1493295561,1187056442,52066515,1691479100,1175885921,561610800,330579785,846125046,753847488,338998762,620820967,1096013483,644920315,743792745,934107682,1067672371,1686979147,491736647,1399103893,114916744,1276019418,437398997,1240168122,280903095,1817977982,868618058,2099109711,506149971,1362187610,2100600032,1432178540,1194722260,760402302,1872821646,1599658803,1977768307,786755869,177913765,586421045,957963037,433780199,1150511090,701168085,2121317805,2015488823,1237092168,1785269266,1600117880,1066431285,1657378025,2087421085,867177198,2010039098,1236658170,1400964307,1427605515,397244865,696448424,1084332532,60,1430458615,315555449,935265726,145836221,1925230299,1985392258,1786241260,624887462,794345196,216351181,1388174805,1708580656,1684281123,489557898,1242604321,108037211,464743841,670999828,89213472,1632618791,1003894561,1269028920,313076125,228635821,285062311,328864826,1192877517,256498446,1591830745,1698466451,124846882,602777861,1409159338,1680969758,324169753,1528801015,273588320,1695433666,1736615858,313681613,1913968894,1780772986,1397727936,1834851927,487038994,627460139,1570568150,488800492,966568252,468804937,478831027,1341208370,1271151939,1884387516,1707176237,711160794,583989929,1306710590,1790273505,338231466,60,251041059,815516478,483766063,388811590,2003431721,56521695,1072007477,247098429,1426760105,209957813,846790147,409736904,271536971,1516415785,975959420,426543612,996981887,1224441075,1404712499,205988059,1298597358,1948715996,1595281934,2977042,1256486868,375524536,1042161005,482901438,490985224,622703320,519266227,2091205654,1781356234,1412186021,684855168,1425717045,799257442,2092461961,1957373585,447948162,1334880818,1312624947,1518332322,1979560764,1586653535,2099403242,1317348636,1786791305,1228245243,1202856660,286495237,1893923868,64662262,2009663600,920495992,2012794734,395276858,392772028,617552221,1962109702,60,250935802,1452124919,811980003,1170140011,406002774,833956734,952291717,960517187,1826500107,69067967,1523341215,733533636,908650162,617454650,1751474862,1725308451,1586259473,1087787023,1739407416,352601883,1204811990,1626560321,35510873,976059559,992047173,1194917074,1696958747,1890416220,1654264222,567051424,1533298082,1929346091,1392003372,552032470,812698862,86844384,975378994,2072786474,1494332774,1285172874,1591313671,130936553,961477653,1981138132,63823461,756871667,528358373,1627851568,1164750939,606119007,922998343,1981642025,1687484088,28104103,2111460483,988183803,689993063,349040355,1051885226,1421884372,60,1550582347,2000348737,1030143059,1799673358,622617680,170328050,1601249470,293305567,805681742,2081241137,208464045,1864990793,1841021277,2080757914,432855892,36344655,1807572863,855460494,59841097,43166075,985162677,1687488629,2095628938,1546860359,1077545347,447253732,2010663713,1712425393,376514077,505675239,251386971,388938040,980812269,1199999358,65341620,138464622,1206114300,621186963,1989684743,259024186,990066061,890053575,1203045420,1000325612,2128443951,646090892,1911860063,140067437,775001527,586017453,1952470236,1396747183,690770378,1015877785,2136391174,609484487,1267193235,1573621555,689452021,1723725846,60,698487622,1671361214,1226867306,523608060,672481290,590202865,1758570507,621944909,941556563,828855050,381443299,2006319240,1665561680,1724822275,439509119,1612824703,871776978,495380300,808386251,608670485,1390450478,326096858,530871415,708138270,489476465,1033464509,680681197,27582151,1732183688,417867422,42538328,93762660,805751959,266461404,1436396767,1882148743,1390397563,1559609258,1363241259,1971895131,1489408006,881553603,1579012880,582973758,95718626,1966508065,1135707915,203509521,850813203,1257685960,207325875,2101253191,1643699955,1205173774,2120892290,1996478192,540228796,442482388,365707716,1453718522,60,1492682313,918650478,1416083192,2091618190,1978054899,1621149108,1394475226,1282861480,260682107,451694059,877552355,1581857380,1566994219,1344476660,1854292871,129215902,730580523,830722626,871803252,1173037568,1079543564,603616929,1759730425,1784506508,1516013824,1447643136,980549756,514199763,492590203,1597521087,1193167342,499040957,10070947,909829442,585995912,1854004814,1440608362,1747309632,5683469,1446355664,1280689673,851952060,2065000796,1187790325,196941601,211651313,342147202,1357082968,1854729606,1525543997,1306831956,656211591,2044675107,1189577929,1526524074,524470235,228980042,1676199531,1944247940,1624287233,60,482176916,491784951,446313661,99867870,1135138316,1899809851,502035193,933644476,2042255056,1050940293,1508064782,452453964,2147059531,1636056091,192585838,1639621742,1196010505,768147621,1551607542,690848792,751221653,1193672212,1020463261,2061096781,678907323,937428867,1998934178,108038968,1060712387,2044914576,387300462,365627104,1519181995,2081966174,92500851,1433293688,905177845,1352300811,1908927708,2113186527,1583592032,132777395,1986475900,1173045085,1053084954,724890755,464652897,547639510,476670197,1534401295,1362198758,1905010506,301893058,1129610496,1444910769,1280185909,1892417252,1742682235,1869114350,1886225985,60,1804671849,336851589,2091191759,478268987,42812649,213357530,988978972,533749069,1588637954,2100596267,256560258,1552207799,1877604778,1657252308,840294867,704188326,805861002,1035709143,544935081,508416677,1556095154,476959829,7047602,1207225619,2105845618,196503512,1558267494,2137711272,1381822121,28801481,1335830138,1265389737,1222030135,2096908319,630779862,208219732,436577950,533040727,1216129708,1508053286,1919029063,1067575027,1720403379,154112233,1641648765,1943386196,1127177988,1590516875,1924903664,652518281,1434337282,188934499,411999838,1724683752,752046492,1414282970,53870526,189166197,1826326158,1189342977,60,1014304289,2028881631,1322256034,2054651691,34285909,1794153674,84720657,1146377145,1136178850,1721176639,1429876964,416766187,1936268400,243579988,334654762,1141962614,1089556017,937028650,795601325,747634064,1395328620,496162293,737682194,1373762822,1646607738,1101211709,1061052871,521262124,1423823625,1024813582,375591750,1272884495,506538178,1044737072,59992916,991830508,669443546,1836934653,348061810,86708321,745633756,1408852306,1409783684,224936111,1134764660,225652853,351700347,501047831,667632692,238825424,1163119682,1764771086,337905808,2029775363,731901310,407600136,2071370530,47839593,1263166405,276565976,60,1328142661,177835899,1223778010,1655354763,1634001060,1086616945,428745701,389077042,966587356,650798529,409134258,1195925001,1290311734,688811195,855859524,10333240,63129299,658241561,2032059400,1272508443,64492035,2032283925,1507530023,1396385606,867872898,33668789,1437839982,1134838662,1505881014,227720948,512663920,1220861452,1367759028,1234326007,726737466,554158386,1565287068,1033612279,1429337804,1807945114,201662981,409992339,260414329,201832235,2093814004,187462573,2104262045,1241474603,996540101,1011999549,110076365,1615661398,1768733838,1888915512,2111756875,1057426034,686010830,318379518,1389855710,1777624712,60,1090372977,791564318,1042090956,2136978519,552393731,2087924761,847074044,940855432,261103276,1521746926,1478947507,658878991,662696432,123296507,1481391316,1495110952,2049030982,1429652809,771287781,1394284978,1976468000,218987517,1078728078,1053592363,547789590,59393621,824055604,1908252082,906076896,1855964121,872122802,199763622,1877563460,2036226166,1619030381,217679861,1076547566,1708435877,1677816896,1107017879,527944275,1120730475,533882781,1209001086,1029185234,902377006,35820305,1771727188,129629445,168988566,1446213974,1254582122,1445303784,2142932810,172484735,1159644205,2007933210,1390418500,901059575,1599385785,60,957167860,1981186019,1612486419,1084434928,1186709623,343006907,400580609,1245733268,1730357035,762703606,672220944,835432201,214081436,1263068523,864660336,823116863,46329202,1313286335,470755773,693591019,161953949,676080284,2094251486,204419269,1520156352,1856533464,1362639136,1279947934,1417418830,1996456666,589648211,1675459188,395423887,1505472465,406721385,1564828344,1795058382,1454062474,512432456,279892813,641742618,1722948468,170222307,1078826281,792926363,1705656908,355482107,1369323810,553328151,480941872,2068398029,1980920898,1459045693,1909622384,1756937697,1519972931,370781393,1642956632,180774143,341534187,60,1233405096,1011146859,728853807,375545091,946773952,1118857754,1858442539,672550493,527798170,756841272,914660892,639514346,1813147343,521963385,1270430389,1544754245,824364947,259017433,1063661263,1810366821,249662038,1129179109,942729343,1332545382,2033151915,1134609500,1745658003,1493145281,1890586884,2081542060,1670639886,151829785,912561177,116957476,1454262037,622040671,1044479627,2101440674,2083827867,1152397536,732373028,1226617954,320669988,1491076129,1410960739,2048469507,889181594,1758673995,824909655,507281396,475009980,33065697,218439370,307886280,242384766,142029135,1635133239,1385271732,2049937966,927292373,60,815441441,1363695923,1415852917,767313656,233307101,893732333,1894013996,2129562494,1928184560,1773096031,1921189725,2097304521,2020184730,2066587873,1087763913,997282718,927644085,1780006565,1557070459,2108613106,102699100,343540543,768251795,1819419232,1870453003,1320783526,245518254,1097349409,526775907,995104582,1682714127,521568004,2084486923,980486415,7137385,1697618969,957100096,1406054962,1542776882,1749963562,1419390432,561463521,1259654008,764762271,1657646742,835797069,1166806608,901944755,1642875911,277431884,1533076552,2138453725,663864036,95360872,1296818270,312005189,436800678,1230189383,1421702865,1113578700,60,1854291269,1990867179,1534693537,1114084847,1354505895,1905363681,343549334,429977053,1352179377,1540298006,767540712,450892742,2004132262,882253287,1312593066,348852882,1467736487,1525791826,1619299653,1151961557,1002393908,1994262471,793420772,555516853,857133769,96534263,506318394,1072587143,1771860383,297284545,794708990,7582280,77113446,1290820494,758339498,482322787,1639448419,656038823,1189483190,76101143,1177047748,74323085,365019168,780206917,1481412206,1001576194,446428379,1274870205,271097640,734395112,413186175,293727448,1353595202,1105047176,1055710433,217055747,143260768,1884370670,1188799132,2101150670,60,1004871329,1852756314,35876080,1433028028,1229134911,1500509003,1588003791,2066580836,1480887493,2069171218,1710859328,332016623,1188665191,1627016085,225053016,612358111,1993340389,1048876192,608300884,1953695586,1892511613,599187406,951054236,1410378765,1033994755,301288484,756493998,1681985160,1149617713,365643710,1224571573,433128046,1632353747,896140391,323471395,1596912886,1441572253,621752774,684694013,1209231133,2114758017,1189826564,1759411276,668489499,502714855,546537199,1292401606,1467788951,865031458,704200704,408886943,249546455,458558156,1681726446,681197493,581713121,534055185,1523218578,711240746,317251537,60,1149449542,1329488893,1167707775,1331116113,1167750620,2058633114,299540143,542591033,1864045099,1738788875,985299996,93127166,1386215459,595688381,1204034171,877250560,1881135820,1627025635,192064989,1635179727,1936020759,801403528,1037113617,1077177431,537519642,954625023,614770020,566140459,729192514,1080213769,583082185,680838903,1484839333,176908813,1107468415,2092272936,946718289,1389291937,117082121,287216315,750730869,873657008,2142026543,1180259600,1586321983,621641637,388366860,803991147,2128432418,451136499,1688760833,606171133,1682288081,100700438,491278357,535107,1014248247,1625300458,883756468,1787041643,60,1573601966,990245749,1682452164,763966121,57243532,1578531015,487209724,28492485,153056693,1870840811,1884340922,27589191,2032360942,1828082248,896454750,815258206,570544698,1454068,353962035,97591074,1012789849,281286277,616012985,1986483634,1409509824,1190387122,1264131796,1217434016,1845621965,626070724,2088605007,856539127,603603435,1045930794,664402493,1005405071,108453641,295329106,372922659,1145881928,1323717606,1029526460,1432795709,364233926,1454775902,1794998465,556452887,1352413617,1562091416,1989682688,1335712858,1506223351,1405820111,803246911,1408250099,1609252608,1881984076,644423500,1608904320,192652886,60,442846174,1189114088,1676811831,652970287,1902543563,789094034,1604246749,538268608,147547687,1633533922,1204136562,2072336326,820468021,851866388,1829073878,1000857964,284920651,313824997,1398784767,1674722915,2134939786,2122770553,1814739402,2009595304,1623237481,1641715647,2127249632,1762716884,1029179156,305744347,1953415432,596600911,249327536,1775467143,1474355504,1436344100,1744935065,1347379551,1218189217,1484435754,645407452,23337633,219441474,8435036,1186028249,938744596,1943558366,395050560,2084782783,1774305049,584549594,1232816635,2116730925,1169057989,633681559,458378617,597141713,1858005491,524558635,1834674424,60,1277775492,1014217535,1061486736,384912994,1327344503,1132555786,665580128,145639605,1493822304,784978401,797218802,108351211,326920110,620030869,1489605197,816024108,806305200,1583731549,12180695,1686292529,796457972,2062082846,1589173719,1212667229,1507143118,1212253043,1252021167,201487078,902833171,82272758,1568824734,187289361,1655978886,1465365459,378179872,424826950,1062300302,908307644,2115044212,1890375960,2076419703,1835434475,2110490475,2097148377,2010823462,2065423828,635893786,156499349,1130149113,1788242724,1375740377,709543957,885894765,711899027,1660845392,1383010024,520832581,724638452,1223938976,1812414728,60,697612905,2096854436,2001021912,55461998,1170040373,888040928,474643671,711293835,290575806,305577219,561385539,1691771304,1191252668,461391031,1654977906,576674898,910391955,357903756,1246853525,1369351460,60750936,1252300795,811227022,225874205,1387213255,1013668847,1324538462,111616830,1306371765,828522448,868799573,298419531,1330223859,1408366609,1083256643,1120216954,2089186333,53659767,634957275,1648233358,1774257911,22607324,128119970,1573272424,967370375,2078871492,261867964,99767946,422448629,200397701,1934946684,303885167,872297219,2058621538,1111258857,1835478594,392723618,771957024,182027335,1084779485,60,368952287,2019547319,2100453585,1467033175,1846147017,1244976568,444975101,223377066,1265716397,1235062212,613353931,1897828832,566505770,2137724290,1884630631,509652129,1949292934,188672659,1360529871,1151612060,1642028054,1893240791,1239898811,290097872,64148298,1019163127,1626849583,866276032,162931753,677963838,292629387,1592720554,1877550946,692361859,2044023948,1096250020,1796021688,1692670302,2003108281,872272366,742146493,278660223,730446077,289237272,1578938781,1804647668,1551973160,2042933965,615678464,1334879896,1994312403,1562695234,1024895969,785151409,2013641611,528511101,1834071585,624921531,1904234163,1666656000,60,477169769,490070492,992365665,1896778728,1506760213,541487936,1927210687,1013574099,1283611017,1972133260,398852731,761398158,1124063813,1288509866,1419873183,1872966801,1026895514,792624480,1803637228,563761743,1212683626,1897516761,218095048,2022956234,13596830,1759492312,634940410,1915108322,2125542264,376131597,1818112164,680352903,755386983,225788164,91704984,1327789305,1666099144,668058722,95365493,1124241397,974891168,262988383,621624788,1115715167,957681529,65311706,298412320,891704113,1849785849,768096000,186848169,460636345,901561902,316136920,1248006499,621472841,74358159,1389008803,21427420,1638960409,60,1910625101,1898051107,1797894826,602742713,1772327121,1887345133,202094541,1225475278,106363955,240134005,182313315,1909124257,1287477628,323584974,1617441525,628826120,1681431412,825124912,734401231,340882091,1316550253,784036620,1595520455,940046628,1762886477,1114908343,1022164796,1862211508,1285352873,112910038,1426586781,1354513485,1753140448,121054065,1532038832,1517439707,452782196,975763270,1075618604,423989784,938986235,1330502750,1273713114,538628329,346945845,1241339961,898569931,609554830,759454495,753232041,2057135520,542685985,311780380,1320551707,563759967,275512142,149818071,933319305,642078640,110667490,60,903574701,594164560,1366343195,1720334620,2100721758,545378832,2028018880,1453176379,1289018806,2038687269,1441318098,1053230051,1871922662,1579155783,2091663479,923202630,1494846935,2146316499,238412803,620600403,598014984,1075430,1209929836,60263865,1672317768,1462151420,1877006888,1208467528,152561734,973764408,1418784332,27934513,1890107938,1587849832,488819348,237511992,849723296,1861053648,1041339552,97244946,779896163,916697345,1888385591,1065763283,1008231892,602308402,2038066659,1160575229,530033639,843938786,1178023577,658461777,1143190852,1006496579,370608838,371743885,1761870649,1556537079,1928604883,1462975021,60,881557257,1890426928,41118312,1396645811,706096564,417693930,1073162051,684817380,2123107626,2062266069,930208665,732782785,806091304,1152072802,944167662,441748182,1595150306,463983314,1873537269,1083880633,1984302137,1536940290,1640469610,456972692,1144998547,284579641,852873221,1465493332,95124055,2100036082,846847133,1292522678,932364207,539738432,1118588514,1832904046,1772815916,1725807757,619586596,1119488205,1659607889,1401049230,384214372,500294919,224763743,711884638,844374159,1305660556,170911032,2048895259,635365611,897890,238621241,1499640848,1062445860,654120819,1888034778,1932499327,1930720522,232353286,60,1095033564,2107928370,1269568792,1925855469,1829569131,336631319,1903856396,1568390520,1920634239,1013209591,1611626121,731100096,1335115630,1332410422,837937587,1525026555,1008391984,1112812824,1392060709,1047816034,90506503,1036256934,1046772284,515882657,1443097654,695228146,2077459234,2049033792,55375758,1892507686,742676149,740720025,2044366223,1761737542,1271637980,955184618,1690681826,1598581261,1360512730,1177935165,364524146,696135283,1572077830,577193579,825235974,712528464,7396396,1870652527,746306805,433851954,1661075114,1211686756,528845655,1433491034,1692661199,217578283,1622493149,358619792,1983371189,491065600,60,1479545116,27404833,401085720,1772394342,2060815295,1994634850,1924966348,1690167470,1085508853,727446566,1174729806,1566460701,1677814621,959955536,486020337,1859961274,1714707240,1961908105,1471915963,1569176653,1225466458,410245303,136676363,1718594065,1812365928,117238353,1069887044,456959699,1254304385,1796270521,930560115,1368301166,871438579,1732860564,317687468,1835407795,210413743,1146543500,544406592,1746741254,301758363,99794768,113210734,362609352,1184370031,1664920991,1619385256,1788165805,879311066,796330707,1992239060,1527045787,1482816184,980729006,1498466399,1156853413,118446696,1559131258,1411066777,166822677,60,597308606,572418935,1296924358,139441040,1669684153,2129199461,957180434,2128190606,2068963810,1348427564,622182034,435715253,1767282932,1791778494,774955409,996148266,2004750356,2064760406,796312764,958123060,1738605638,270001963,1826825122,1157146901,260777620,1010944515,660021019,1724902331,1670791155,1772236296,768215645,16716519,1849870697,725556096,698690569,2101186694,1946654982,1682220815,1510034190,64989614,1870938866,1983273873,1822724499,288365663,897783752,926414103,388160662,379101982,296329265,1007003813,725871191,1392625193,1810182580,207434669,1826712256,1358037555,99673845,1905447327,1738467592,1696937465,60,499122440,480404026,1104516340,1879935144,1110655517,1793543118,1401881615,1833068753,1404007054,2055011283,1014793845,1429323010,771688910,1248249258,602557438,887938167,775185041,1565107415,556359672,1386671184,903345067,1845548116,1398387031,918342783,1817535133,1679912355,433254294,516764891,1213258795,752107124,639387270,874113194,1688930620,1833579016,202096880,1687885799,1354848305,66448511,290094267,62659305,876227952,1886289843,1399956954,498192401,757614747,74475080,1837764025,1741098544,882207167,1796106215,144806584,276121066,218921069,268071751,1238437963,663966938,1049390340,1046238173,1863857255,1112267504,60,67972448,1854417706,104089329,812877122,597023218,410087243,1285878819,815391462,533497761,80931256,404708255,1315870135,1973796207,1339633769,116392678,1968044113,1140737699,70780851,1333240243,978304291,1998541507,2002419662,1188686472,961600410,69914054,865744177,1891940674,432550097,1317399962,1932375549,1650950693,1776392704,106893868,170601040,794928686,87494779,407617645,1245153569,1135724683,119035823,177674335,966924428,908445923,1247774418,57339257,1475565329,536523037,896051823,186210287,1987305670,1794594114,2046856183,1440361459,1313314860,973473098,1331829552,1650146040,1197938706,1896040045,159310434,60,1643695607,1024927348,2083145053,1763276685,845310984,205689280,7359791,948152138,1610826307,157474059,1118738477,1492591717,264761006,1519298114,139937603,1213292310,323155375,865968093,1893625734,2132005196,373966108,376603401,1481652906,1562680633,412782953,838249493,459930499,580088486,958724824,304902883,1192603856,1773296470,1351460311,1519566808,400360244,1522007111,1825421094,1601107282,1503868500,1214113045,398198589,1928069963,304410049,1663893970,2080388468,624981234,797950536,170369601,383863735,792561369,838887155,1700294153,381584163,428074420,1687208803,352427150,623187260,636180948,2083114847,1699875734,60,944713514,10506195,1681184677,268303687,1167556783,499823735,235896301,1619051890,1207114973,2060209786,945419594,1830032519,1034985331,586809174,1706641690,987004065,642940038,1457765863,279096241,94533169,1088200721,1844382994,419235383,1303789746,2098330116,2135785752,497560598,1900297171,623517192,806739037,161971268,107423506,1493266965,2081226099,1097587628,577933624,1881465989,1493237029,336807918,1619912277,1041345384,551849715,841638095,631396201,1394764311,21627774,1815941945,328464152,615857027,1107588591,1513639651,1365031514,1400360744,778617134,370354144,129566424,1252705386,1599691119,449199898,1131023835,60,1747147136,130431402,929772711,2009500177,46827979,593217397,448328757,144521280,656801717,225623510,1594003910,1269660229,1475550384,2013933234,75666094,1453898130,850202913,1156385582,422942960,496473641,1645846495,1754245445,1360269968,1885155727,884961032,1443264869,585013280,1622277784,1565999621,162987391,164071603,2001559473,395259910,1576418692,1538292114,474244648,2036116432,653572865,440180583,1264704984,1999736536,984432810,2022749905,1057263014,2028499032,1515343430,1884385433,1542634084,1810856606,162893221,582783167,682222103,628344470,1673103351,239802134,861123649,334475788,1181608863,728740285,1051906130,60,1241885538,2125235740,1557068781,1277942134,1104212183,296180744,259382896,75191777,1829847309,823638938,1843187874,602454945,2113922710,1375864950,1108184434,1456208574,1026418249,1144237472,1104243278,76071080,1343604730,559925091,1359911395,1119789652,509816149,241758696,1485597139,256661866,872030352,2128056298,835809787,249671401,2081020237,1956142748,1183970838,1218305224,1924951722,537270164,536181312,719612611,1568301551,843646756,1654244897,9778382,776678902,597488508,102655644,1367008779,1906791328,1014039857,906378718,1731762355,1967293708,681869556,1375651034,1529685031,1832142381,1819582772,1551352188,965327208,60,1619777379,936941730,1336890612,945762161,263658170,692506122,148484440,103982582,1439858920,1387386749,419516937,684452845,1594369322,1858922624,2039255008,1992367981,1850566483,1521291395,2066037209,508467706,1530310431,1640592261,368664650,2124622169,1726889706,1271898087,648489383,391739728,1372662236,1152969465,591419732,1499940493,1390189853,1355815400,1407052546,548482366,1092285894,536201089,1107960372,1689320006,1780238805,433673743,769014109,286492360,1871034801,235422449,2020146431,1125245370,503268362,1338966321,291288494,1333670091,1461729770,1666795699,1510281284,593879505,947499255,1821314718,902724706,1595040639,60,344821653,396871931,1934605042,678106020,178334795,1450307452,1687389603,1709564990,1972919437,319989843,1591232445,702972885,1943526244,219714143,1829120515,1558249724,1926772514,1240563922,298164526,1759109086,1251363566,2057926520,1633273570,1613671300,1954926099,1304823616,1600209830,2114464950,974398340,1459309111,2137673501,736409099,2101887913,379518576,74857928,150258641,1828955306,1294005236,1409869337,1084350393,1693826001,1936595449,2016750873,264943195,640008995,631122750,559482873,133809971,672482289,714918053,1746050591,1950386464,1663214867,964175136,2031989676,694887843,950539381,1698128640,1148497433,790126734,60,1021742834,947514665,1557642789,209356685,1753683211,1442122077,2057149908,206644044,116626588,929850946,948850586,14556497,1791541688,1204028462,1241213906,1015478345,2095061004,684600391,1325476672,2124673519,2013497258,1405122000,122858335,1152664557,1150586413,20084012,1036089657,623581966,1058116087,1313761026,2039509473,1214814473,479601364,1127937979,726015572,1209091357,924553243,198444551,631154202,1281540056,1491604525,1981047192,560176397,548023965,847828444,674486191,624453801,264959063,1266099884,230993858,1985332644,1052449262,906198439,1116431931,2029903137,843409071,263465747,2114395204,333092766,1213190969,60,1578439751,1459315647,2050294041,2106084623,1275061529,1287519923,1016813803,1576272215,626291155,2043304042,333054421,1027143208,1495478922,198635834,243671445,149470953,468584920,1488400876,1085490335,2009850494,909300269,1137473116,1029740673,597065437,1095829302,479507122,1909673737,559964989,220005296,864141206,841599122,238254345,1506343980,1359470605,1007417213,1887890159,1494781042,1909094572,155311238,1382129313,1446300719,887363451,1982991150,1897045859,1421985997,580053396,1975019447,1645644257,136310856,174747482,1180300631,1843752955,1018250907,1925318037,980800993,1084637742,1054195032,684820913,998948817,183760268,60,1618666273,374194575,288741971,1878412158,1686297865,1383417531,1221723449,1996212681,633787633,1809393710,2059632848,258183515,51719593,268177772,577118633,1979614304,2129705750,1321241734,350002647,443816245,2091235093,1545308518,1401334095,1427973096,697636637,1583800126,425812426,2103502693,80781274,98213263,1781603936,831307143,369515119,710702114,122905152,1636240414,963187259,41887869,2083064200,995936192,1829347609,884602975,753438965,576519501,606824371,818877712,608819196,1589080270,1083050592,1537413043,1083402880,1703972732,1182162012,200709124,1836239234,846623846,1536768725,1385099020,2034656378,194681472,60,2135746777,242888307,2065468175,811102707,699600984,1700948806,840117779,1413291922,209646076,720815185,1321323515,1323561832,122087727,362251679,148521600,1185623166,1404499134,311349757,1746466138,407959935,838801255,623767188,600248518,184894439,133152565,1189787596,1509585354,1107892512,1333938896,1156222066,1781542509,2069016420,1583672571,1299730278,168658363,1432317565,67831900,1296959613,1256415438,434083698,1234535419,1978739157,1375574978,235011315,1959811438,913555889,477859617,294813822,1622454544,1417432646,1827375451,1017096134,488030758,1529867401,287557161,750981414,530088795,1968890446,214758502,1901176209,60,1358275072,63490036,1352861371,2062376397,1011021558,701511518,377263085,848404248,1403941518,228609251,1116392690,1045660966,434148150,217487960,1967889031,2046213282,1801369791,493347143,1472709196,553058734,1772418704,1806566913,1699293950,2112162145,1926695184,1250579755,1617641791,1970983002,296560170,2018265337,107326018,585348688,28961848,1532229577,750180251,1716877709,90794145,184980985,240700823,908235014,879572020,797942357,1966434930,716922647,568897852,2126946087,1274323479,1240647268,2102716617,1228130675,1086283567,220258947,1350712310,598174890,93009899,438905612,1945046206,1631885157,666335781,1579777750,60,609171086,745566363,1895084448,827301453,2011819191,143298468,1005214039,386346204,928280409,164193005,1269104367,1882658591,1827288840,356712698,1121984304,429352191,306576282,1381842897,124403267,320565107,2035277468,493680337,1389477518,1671243092,55942292,1302110401,1813357264,736526596,710165964,1990523481,47678198,347165000,842780924,1933397230,391258760,1286176100,2071260513,558635191,1243624364,1168802893,4103061,116005556,558469926,691914274,1389614066,547674343,192729109,1274069509,99185080,1692594188,1147567725,758396718,910930608,249000626,890933868,1726070319,1598025401,830605345,1312477097,806031493,60,825772321,1607444036,1229589343,243210697,1145871651,1559680461,900758587,1123786509,1171077498,2010668929,1914458634,2114441943,652444161,797440562,1595417322,696280065,178001762,2074916251,47198472,201625537,1656678661,1322942578,1890160206,148033320,1009730828,121868718,272743268,216936828,1010332954,1552330408,1739822630,451004195,1989295337,1383686309,1143190945,1352371187,1075884419,1185968428,1695169402,1381257401,1104346086,940771386,1395337772,926421242,37468272,961019350,2085288350,1778380996,534867923,1440920195,630394740,441908873,276748019,1740145690,1112705408,977525906,1624313006,1974916991,1829309788,688486137,60,1943708411,1770156465,421429490,1259678554,1987180893,1482468492,1363372791,1065573013,714970317,1587046573,1080295266,681100164,177806078,423007695,118462890,1425019225,1676736228,1442865393,1161176658,544036268,198907205,583277531,1846523116,1601236076,1722618023,1776956235,1889061540,2018992471,1472199108,876397822,784709005,621771150,761166447,859048230,1945605157,733056029,1791363103,532926525,592124589,1830768519,1156000941,1025231170,1585132612,761221284,726871700,587931146,332487087,1637306408,135604576,1285497329,1299364438,1313558891,1004370301,157778605,1341499007,347110847,523769306,43812998,886297297,1784250694,60,1244838522,1162243774,580817144,1125282017,2101912844,663552036,1782069987,36860336,1515272750,1672679944,161351883,1265093761,51017761,1286285332,937193240,2105775790,166843990,927967273,587719904,1097407996,1738981166,43182405,1616383758,992045521,401460122,1828873721,1545671291,440371061,10672279,1295018646,1925687636,1514122372,1703306610,1109128094,1728713470,1789572206,1888735951,1650291877,1433448392,1268686532,1349597601,397942111,300196891,444117392,646919717,1563500223,5596788,56895775,113969114,1612500584,1195946755,736774178,593829263,138085353,691448037,1622657946,712420131,358945494,2021419561,1459371346,60,1492875039,1963746111,2121642871,1770332647,5742680,1399793999,486907039,977709446,1966302054,475475497,865707120,985377569,542194450,417762589,1832925272,1243336666,1627785924,487261906,409811123,737897364,37280540,1921715360,665948930,383636118,266510626,1831599524,338101268,1688077681,916944719,1167584273,475664131,341282464,577537607,1978938145,1793711144,1706901518,1231178157,1740183551,2090182253,306503540,1714017256,391935467,329901873,508548942,569774007,733284186,1048376244,1498248214,817730586,1323137110,1432922904,922698143,832257819,701273423,9865855,464790074,2119413277,1686922155,1464833444,845757826,60,952673477,736919134,1885730981,1162888,1173128581,699810882,365477728,45054720,210160298,418145873,487407386,2020758156,553062514,2139560263,1951730333,597758993,293268829,1615067404,1144399638,69425736,1985020153,929269592,1036043845,857202150,960143691,1487040127,1201854730,1086096878,542652380,1191147784,641446635,171332519,653322538,587735599,1970696003,332852591,487433414,1320294370,316685507,775221916,1596964773,1261332715,1009015193,1086792409,1795544722,173506904,1682792625,855365807,1765408193,1793576011,1839513933,1958184355,174119776,1884802769,1515822736,376647510,41291878,2013076609,1503433519,194464965,60,1545022625,1651122450,1991942310,933285675,19409389,1250378506,1579480792,2075144700,1395128602,746128526,838846711,1082259509,185008139,543500329,643350383,40924402,707975506,259322525,792368816,41621480,1182049312,115536391,1603973339,112719408,1273515454,1610895757,436160174,1972551436,1040800014,95165175,1156175474,2001866089,626078993,224119345,1354549038,1420044917,1792649448,1875593509,2077595489,1930222040,760457262,1137371569,213548156,733601432,1213943241,389290197,927344252,193381825,1059507998,928385838,1270995719,1983618183,1135133655,438052427,1857578220,394238718,1190947090,1333511824,2085686718,192209723,60,1547991677,1709510196,2055726076,1624325888,1970262765,1016771290,1955302946,598787008,772874283,1652841657,281419856,410994957,1956119599,588660838,999662271,966134063,786375737,428828854,1020537093,1076863483,1237503016,1996922505,1728706966,1093086619,185194889,1504724293,2056867683,1523708985,1957945856,1863248188,232011886,1332128053,1167839012,1517314057,112805027,815121327,7851630,839952873,1379234968,1314896272,714855414,663011805,1167834067,1570747327,1327639386,1943229575,1191535261,362800857,839968629,924130973,769116585,1046193829,237974365,645235948,2066970281,1612173290,307698932,171912593,1406142381,1984144244,60,989123295,832416676,219250540,519483135,675168143,2060995858,855900532,303734514,1182908551,1890261893,2031214097,1935922437,11326286,1002574035,1847645114,2042644519,1593501571,28913745,376988257,549153372,926982684,1757209913,587142786,1840884120,870341646,1703683826,1879862483,1926854341,313542685,1816590695,242069587,449585991,588831166,1607610007,429412126,710416584,2140381812,542111873,1160935125,364908187,1850997136,442570280,433249886,1055220835,15567635,1821552445,2019018932,1821669384,2144176799,590610601,1538595798,1855446882,559300784,683663481,1583193461,1722655661,633372489,156727294,1056791447,514022572,60,2103584000,2058909751,488633844,235992407,242533341,784200459,219768976,744894741,1627804190,1603008631,166632572,603474478,550643090,176540620,91814613,1073437536,653881092,863650046,435279967,1607630558,591664498,819971932,1221437327,698052659,396045388,1781630217,12732383,768663661,2053477216,718763304,300303318,540672665,1105711084,421232825,112923383,99372410,633070748,1044395081,1365000614,300284290,1344728329,1370416422,405257437,589486556,1911565500,141789312,1408380373,1551456823,1539230619,602804015,1356022100,840761602,103408480,323017229,1144073007,206263438,496832661,542850210,2064968659,1338583644,60,1306131896,1418150920,727259794,899815315,691120291,1916922173,117368090,3728803,956089836,1863234100,1956255682,1357286154,607777321,2041845618,436976679,31102939,1629635317,1265146206,550696766,1726085213,1261589551,200683385,197179956,894191710,1272304941,1124563944,215433622,188234315,1169196041,658525475,231656361,1821710212,1709422279,1970575713,479996248,1280591645,639929949,975261941,2104455185,506920825,145319908,123446859,742222358,1119107106,1157695114,13742368,1563743567,1010609500,1948514989,1961151491,723208328,1683711488,1578169556,253884985,1367654730,1450538845,1480442904,323878570,1832442526,2011555139,60,1547437060,387598947,236503562,28275858,421562117,2136217211,149909939,53281762,692088784,2079909675,1701481234,1176639961,1278370666,183932895,1830239581,1411226251,363400006,1201247061,1245719032,698794987,1396582983,1787436645,1267306364,294461378,1107662048,486810690,1015903324,544756595,1902015509,80875451,1034981985,1083638126,501666449,154844312,1017752278,1745479112,1450699722,1375915417,1816709237,1942455605,763092564,1331005906,1467684815,589788977,1746800552,168782473,2128464927,533795312,2139878584,1208342642,1429900934,1484924975,1890352497,1586738104,2000855467,1663418243,1536787347,1109732853,306395963,1212804332,60,1786144629,693020353,25226759,171644500,18421279,944188002,1309249849,330768542,189370434,713325829,519824560,1785698678,535717350,1528689175,477844302,740071065,611537504,1297469207,802178508,525625613,513104841,1396095888,2077659066,1774076761,595950736,2040210181,1800789967,601831199,1984929520,1728056699,2101641095,1234962776,292666810,1538480844,1472966596,1413827552,536040505,444086991,472470131,2058307891,748779858,677494355,913765398,218760622,1019918019,1893791682,496483827,2140611753,1451706987,2118172095,141820728,852996677,205968449,1071029348,1211872533,829161180,35437176,1742421683,688776244,353048395,60,1973445422,200420388,920969144,63513580,2065025749,1347607704,1306765743,1904711121,267174907,814666675,2075080827,724946587,2032729861,681765333,1483928376,390451693,2027868378,1641405495,1800018119,2047312037,940339347,2044017827,528774426,568897157,652543100,737351056,1041667229,2024596229,38150485,1654300694,1335112901,325280108,1098684607,396557,344684595,1153520905,1132826009,1790882915,1312059664,91043241,240444954,1165447766,1555811577,1333346617,258916944,1640107157,633514629,1954717366,28325395,477797374,541108274,861065289,508395673,1634037921,1608800417,584995830,1858041596,132523255,1351109860,198646354,60,889570758,1891333970,37624177,1237165725,1806606290,1152287787,268886458,252614654,2055616358,1843029663,1563943475,1596259400,464264806,605714478,2005013642,1418763987,917847430,643099303,268322815,1146630527,1205899166,260393870,1161695854,523099548,2068063576,633348037,1480956874,985951348,710110510,1208825654,2034987219,1878385278,179265889,1525134752,1604860860,41590220,1512071199,1302619348,1101452014,1128092033,1830867234,131097805,736227776,808444063,891470311,114168395,1206358187,1919461978,662962590,676854030,160092686,1739893086,1259430389,862015329,518139006,19264121,1445586223,1758574978,119534422,1114938336,4,60,1187908547,978096916,1951858578,1932724928,824425019,1097794941,868009464,1179683975,1491156316,1880209921,215371896,42229313,1524982258,399528473,1953327065,1410594596,1645766820,1118146811,1083998074,1326665675,591432184,485292210,952510318,1572178300,827947541,752810417,1593736588,461638675,788866120,1655149218,659819732,576220513,1498222475,456313902,448247535,1365049556,1436541743,471696551,794107843,1937383731,650765979,1361488049,575312028,1231600497,344101895,981997794,1166057069,434345412,907849988,548718011,1044856155,200067773,89271589,2081825949,856825881,2072346550,494908043,1340031167,2120792120,502143984,60,354985641,1081022382,1225331646,1063225460,663382032,1429620224,302337781,939548802,467622669,1927018899,722560812,2097566148,1610362883,1818560427,1780437712,1669066898,1686912172,2050812512,728536134,333278405,2084986616,1225842089,537310072,131136784,495182831,670143524,1944021093,1001963519,1012981913,2071390130,1505304494,292992680,2088715489,1212720739,900309760,71169942,1581796516,383110965,1421341449,1446687568,1906625263,833253957,8747644,538619127,1740228774,1831101595,559374824,1793226541,1816326826,992906298,687249268,1677818726,435636874,549964503,2137678129,447085047,284720140,192048498,499943647,484718729,60,581641021,1295693060,874812829,573660050,834875078,2063639032,321006887,1132615952,286860928,1315402431,1731963923,1698914794,1756287836,764629454,376019203,236868343,1596515646,1173018189,148327546,1520731337,37640229,613505676,32011799,40767399,1839345625,1136780222,197907081,2011324012,1581097042,1999691209,728086279,1064157561,58453665,2004511878,659793072,958100538,1319576730,958289642,1087659373,29658198,1689261405,1112051260,252935374,1924845382,1243559877,38975805,2039993852,1282066528,1150715465,1309238295,867649396,1309625672,522671273,1692042424,1403689549,1553873427,351107219,1416778070,743936171,1155779934,60,1550461044,850226137,651060775,1738183843,1217366894,1166014884,1215040611,1989730292,855605497,668539270,965005481,776939369,407281488,1630414823,1861172562,1026976814,185196123,1765653603,1219480058,2134770750,930879758,423591099,1178286286,2143775085,671841185,126703449,1787115177,881952546,1216323010,659429133,1247197347,2069440971,1999848462,89722623,441001657,2103708195,2083592956,152351462,1507529221,839946952,223999542,2052510375,1286253075,1400831855,1147489870,155961199,45694211,2016257337,840218676,382778611,1733005592,990475784,1855965805,128189585,1142682340,1281023649,36285953,1062245733,1630438434,803698060,120,778340660,1827044295,253143563,1606990561,604591749,554976235,74578821,555292146,1977629805,591266904,1447413226,553579101,959531024,575207713,770656471,1459318256,2012890897,1159271365,888858103,1925795801,1530882359,1321808402,153040314,495367481,560738873,20784058,1080482127,13439127,1383566672,604044610,697071780,1883170449,1436369805,1983126078,1593287486,1960226050,1923833846,723326557,1691408248,534691269,56593063,2060531715,747088092,1593912336,1629903316,456606718,1953413402,2128179039,1191865269,2045265215,1980700305,137963516,1312650366,1191661892,1702159651,2033952063,2037813200,1911027145,867789347,757693208,1966209111,524349208,869047173,290016436,1223289001,1896571,1613622437,974572211,417680538,836802984,255132367,678231720,1438369503,268294112,265551965,455914174,797509197,1434781598,765550403,1187883735,1269285727,582305924,1933761810,889311170,371888418,1160538689,1934696023,1136770393,1100113969,338463739,1930286728,441674450,959968675,430123065,2047646454,1678493598,1837571018,1830344718,1652897513,2095877138,1995956067,1727030662,1323707440,777641548,1014703922,1666583618,1541854848,27930856,1490694124,7930062,1044038383,2118398144,294504601,1194229849,2012378748,1753308517,1531572816,1332535483,1667231519,1438014189,786839060,501195703,375135349,806041484,102974230,1007895554,1864316193,581044869,1445348703,1314195521,1471456743,1185291689,1782271851,1246077948,1746019964,445474977,1942117940,961309207,1924750129,314682535,613643252,1687388215,362975745,1654838529,2067119466,1289321580,994334572,399217353,1163664317,2021803336,1231484617,1417242032,2021479779,2042387904,1738852610,307261840,970040614,1560216260,2002885151,1056713761,878134462,258589644,1182994420,341660524,1526530662,1047043547,37420177,1089875102,1734981048,459737189,226381780,1712091071,120911173,115076770,1368956342,1584743222,204450605,873455092,127510414,1606949476,825279969,658508072,645530283,130008738,2002365270,823301524,2036295334,889124413,915940615,680697141,663460848,925886691,1968149727,1117350819,461462665,2111709795,2042975351,2001873821,1789662142,784240720,1570075001,455773197,74855715,20917796,1244818532,433483999,1214947506,1027364107,483582808,1764620218,1850253257,1456035977,1953583938,1937944504,1757277679,99782908,1457716601,209191578,713428249,753530527,670569096,1928761135,767626940,1980029905,2138403290,79354060,683962145,1622778007,1960880350,597405400,625663699,946927911,1956927672,553870328,38986873,1106259597,1682812999,84664850,1366721828,2138429719,1175762379,1392644764,1216047994,1188239618,120193162,1813050396,2119375669,1840947362,57561169,1035074447,210459375,2000587941,832049327,1176513826,1332387595,1511393770,444973695,636141222,736798430,1302678745,1156767734,794549895,1004863666,870198014,1085450848,1111437063,1179440098,1484231307,984448083,1502460676,920403532,1282564482,530935770,548388843,1893939875,980966264,3513760,2112205359,1387780049,1194437074,1738694701,396690514,1934956630,97348614,293313761,1462261793,551166261,1833940920,1024537924,674469277,1616438800,796652511,1972242444,1769905507,360563698,456979465,1780970820,2011826407,1873846405,787437389,1600606464,1810896373,88366423,720333310,1302189483,979524931,1474103599,825355891,1942918819,1404982420,847575407,487792187,409848343,1445809177,402219139,1344657400,499829584,909358224,778823812,1451048830,2012548977,1238048064,1483756001,443047497,439232998,1549628043,1341824334,1694519870,289800392,49302851,1961030816,412791174,1432660521,1348171854,932152101,380318074,37254244,46134204,1713081807,1262409479,706159437,269611315,575147820,1896785266,567043407,677033258,1702181387,29318005,752158355,2026334743,1405751136,1694650568,1371562511,156624466,693692854,1649781140,1412577479,2000327409,432317456,197959915,471701904,740694305,1319640107,308094561,1090056766,2075394896,2134110517,913648537,1046502941,1307012652,1853444992,1637169224,209708492,181618926,1195824945,838250637,523375723,436277955,2059525200,548687547,1751014226,1847009155,653525902,1110633711,924705488,2110201216,1148876249,2063167847,959631981,618932828,712206748,1748774867,972703234,578439783,1955276382,136040561,2008164457,846281809,1401461045,966592408,741113151,875939351,2123162375,1358922010,1496536255,888833884,103344137,1919039422,1527712459,1838566450,322440244,1904539330,841107972,294813777,1006629401,1001179304,643229609,1190125006,1480499134,45518294,593838483,1787272318,538340303,523362322,1424799038,1143251339,1139688763,371495508,443517596,1256206553,678224936,1722469863,1358075985,1627474186,1932486290,1998304424,1817180063,625340085,846995293,438347336,1838867387,199955621,140469656,595825244,112330978,1071424559,303412153,1517473018,1344898451,545393999,55571587,2107777584,1207305721,829045781,1523515906,1561670466,224616608,1920471956,491612009,692944626,1715132018,1835647028,384579879,488115140,444411878,1807796051,734389427,1818522548,1189807609,306109838,1651002462,494720163,431341660,1276516816,1554815441,1711434342,1341849866,872557942,17401111,1385717570,3467798726847840666847861106780354691848869285767510470476189369522222837838,898,2279306744324455103560884249215741328053297027760001767996146951790808250011,3128750352792466194035135067109719921834363774808371719132803867705759388217,2884397357343693152375349753371605549975023693929832522446574499056144602290,1186522161835385904192724853241490548402463854353746837666959189386830744422,1468667075418652360686393061725426896459840310926519320005642060124047150265,1353759483117886479109579740249775274771086396030981043331188578115156132320,343279709869658564591944284259149411699393492619705909118078618965850462684,3183112132420418630508613130947052276922594702674688411620046944158191204202,1564043560627860938125085570399503137345618343840093030026310579757751811950,2941907534153542094964009787745012341068833336528636189508995679376585661318,2018388462558239405472528424407924965424562383723064221432100990602071903108,598321725560348199497370850983910576958044659267803128722659904057235305468,1895259575035998914624627048529391378953534199203905909777106100612063489157,990412949507294793988490766322425109891761005032429786844951891014798289263,2068971335079282169704176239883050343910725871558974952152080228427651154641,2800029586088005574048135784145184087727709170993275630004239622640860316486,528481246868080911591957980500893964416412337273274323790466050760987200677,3047117784885092739260904299486236062386484263528881794618758128020991483377,549982866418743052560182515952638489848570763550673661932860217012312427735,1050714030215288984736235631096197122130818350767143999245618857553109177926,389071961679754231450564242368367627938446495354888625207655653573512565877,2049706178493008393996634525319552997258441456272992457206742283591148413517,1344651675067024839794347847530777836287496328896329364135271385534865036895,2067523890539438961928760893115677617652775765751780750072192220466411997888,3289049118520363539354436510884859937386413258122724899349683532556926945403,140396932608198886483536714861898911639364179304770932272103424071375081942,1864395809010975509699579861616128310202161033463751198668177442814331488833,1658654565325106696291544749341110133825879904414260910742944401662791923334,2232176789044065554609262001103042207319028854046352229789626442811734243514,507163726599890152267542253653674966574980947629157811393377119288479357260,2878364965002597748316321671233502560912324722263156447158988019138759230480,431734716862838730530368214634976013277157914226879044350824564276927980170,1933015990750251355708163386009411331862629162121348403457148982594488027691,848596301939371185202619457605207991870231551462557126689919642429190562689,2144498000228273227513248014406974542503078561650620570982673881932245768010,2599397543130308508438694866037684606910313261504931663222967330382854589574,400343549422929210737670456048438038461747193449293196322273715654875447578,1893876843776149028150321937013761212685889663855666077138661408130609960247,1399704416705276225314679578817547347382721454873261733225655986052485251274,1948684205768500559216821841600722996157182620670785671904880169130044012501,3369986857888022101328069176490479440372745249716831359871409588637848531750,3370578151070694849938818155041152311020953043480298112869688917738677572853,691487954868527572913849596337686327091257437735651893246641076874411967353,2360093877078466601717566828340386201350004277136222259231967788190125044372,2484746107512144774865894623451967286024380251189120353985659427063719133154,85723757895438923074487990531877882085917154322638289206969493912490188423,309776376086234276300340426116173016531513724740154197606104352793990433420,2798014701897568529541272860924406734872303157197473375888394873452897469175,381877616571000710629965040466130759682777749336468869588731548522601899279,1382522708849508889946051995320757673913952903715704777517917786546003760917,1102334878330732939622809324471588363301716198646651740603116411094720094191,432665122018648468400455218388783264325367106811312590745126127903559068693,384021322385185134420635915745028564685569983547396088119517591134449612710,808676996872427318974089499687672501362327427320619747347312113484316399318,2517721737060666630675790812889446050502051653644657328646892396809832559873,646227136356367731446562859269477905423168244056104281278746311621575532449,235691170025169298470785287257305273787809097998357550651856847448141240220,2861238809574231040959458676572883960337759555536498825282685674949717089651,1708352901266657155591883716842635926119533047489908466878399531244069074366,2067819598805995904443060951065850660983871616220750773358575828145716616659,309802572805704503354018422792186567059859758589476958885418981351026524765,519730022067876255623728916699227533086640210449309308265080958925834879203,1061975500338550364715034578044711491412381642736151137200175103245052483259,949272111455111126057926021599600440691670065588409781218554985896485498195,193732183384091915238240238191563998738485511382046629107437754468089939006,1093184173359815826958705541443660226118883381354436321199123553156072157742,869923056708618203876758570585841454993198610134241485750508125343186344701,1281344562169078864529865460244774526913324297275389686079335438245424867033,2378052541347255333030183295591247536239165291476284942134449249081211785415,1408538107497301550057971186501857100508864207048087941132020395309279834469,465293402236775437610331654731875538136059263331559497047589360248791109654,1199387010464514490587959465393873996660107923411689169301805362040320303980,2189078306092199055988936047414939233995784941273577031880816641019570663367,541865052704768957667807143941251951738484367418307111757818370267020284374,236716669300138663913477604715949566705827635773643946698717598064078236315,1791830374900867898705233515216462703167388625006189443364186737501004630262,2551633287204411958707605710203311104419802227436852805683769504303266755958,617789466582818028408202047904112724546825878805383543742497005667618490906,71879752824656016673649564071472739554311402753287539409667659948762139954,334402956817800645012873063963503250408621086537296404088123366126261466977,1021541333348501926700774385720748740467533324101580448637317496543674801683,1170871281154355323560757794900186381785006783470562813017791476267044904651,1366038694846554511179620179881986571724688200796630588084943904909145712988,2689891655812015095073546937138713978338875124924866758665153209193573653627,1067255391371067544510338502289983896701523329078290870059590825618190092109,2583997165622081385347180149921025779049546862494611212571857050960010321345,2549173749080836789072839812169394544745955967609484017590617902794658903578,752881817662005015988374585262262404933058842278664452206955728217504357178,1519445176469072143807437726132541569819486247167753830356573259075105604879,160095101215514759335525696701423758411823804312658295363039461119460739157,3153861296200767604005785120124485284097332667123948278839138969071314018569,2429847359462687578975448413793998639677281334625673001429972221835227423990,2465297589662589446293307014275594915715242781520871238567797202720617109212,1451866908613727573351316274829445160013363185721114317728283643167347486888,2743072783127577108200939629261598965075234454118333526724056039574426895455,2016107644963643560478370403851876872603842463289215683835042187914826109805,2065696236416491460709151236439662302135312089984361927654763957453412154083,1241661197455565197788916228303124079617785785927176889571134549932801739562,2413356883242185067680071342225641043204479750400860195661248368901420628682,2675612430532970269985928685305165279448914819228010664656801791899329671738,1899407427953150524572617546940115257470372555969088846763990068524260532430,2843859139927559516110759072653427617301460502034223631478627983425371907341,1549030137800547414710315790261055548290245083458295892825304796034330515211,1405915857726005479434844755837012966368178997654814099723297103058803524039,2829693198649322660250414681141404169815474571562889336702655943374300506053,3134551156893074023913267519118170189037055947210079138751349649737699824660,3056902997669463078995431101099956670721129441598473710762742029015936758848,3140763622361721734981254664452993623978111836975607019303769832784933470920,548067446413823655729576703520992350370869995931092380280645999720958318764,1221032298292619754942790824243955687698675988642261246684708309896063234555,7580067927672512367236380178261307933363007072407759000407497799959257787,1291699568206265145408607038439986687726891257995046702201485417209381994351,3473176207001008503583925756291708400013196708591314606846176394516131589599,888423469166446450249349213611600233398269659799467451325144023795229482466,1054973583800311047662434607046482443432236385413314770540958491958252993893,3081931997500750651684394944966850835584857813417851489928000875410967722112,526455838031437772184085158572860308298697145992682420584248202072455310280,3088782817459585516696063663732101507584321532062816293523212186455645080731,876870863953309671693836981417458831734205682796902471732795681342973667927,1965586247297576672142981478012986946300495758931711103502288578427666458030,2215383124718790878262372783919632808527167773923955966055617078345765763326,656808426924849606628639681685645377436568867072488791131786172222502585542,3205091269803518171461415616400308568656949173496592632424987686767784960215,220600150284101208238194991034815769274017870110567035110491650200792771335,2391964231101275342649731366753955453702732777519410243272490794920143059440,47595619923115823984459228403416437109844422638172447844430607972514054470,3439138753896449000771291833165341764834924930996572805141638229646859842750,1362242560454922619938796498994163332753426126229937480633175654802533860858,842467767345084419849452319893606305501830502726558274386440320380900277861,305180774657242160198529730689944823216491305906338498044192052583454285403,2411224999640738440200436074104388700024729855720113414177913014454319615263,3404092739475165841242156986006568447773483580048476954641053325536883078534,2887060723160994639476052429863270499305549761767999915720160306897407030224,177521307339425256675494621460508744946320348675392527248909295275294809269,2454572342336616147302249434409396667617334119210999708636062491736723639126,1035418727006666685520993136141763185337635374856977788192331075680615306748,3356745115468066712587856094156072390354263879260207496708548687077560879239,833753376106499526358871618070833795126221953015220043847665528455436723237,826380821030475368491112537269730404688293362920696602103759347253134778106,1524973017783885489011013974565649417244413487379710366697337104421956159408,801013428669302816561553634033293631947743670626613122739722431704439185355,3163661669246483823376220660349696970880863757599808087953695692869725430748,1968792921822334616891005046368243223262701127341635315496310896484635977646,1832983572449834278006922009392901577994631835352827160892722130765084156076,145995066666489031535568588032107062333328700895078226119528685687503687070,562761516691108646969645720878607599533267670239754626919189807176252244805,2615741494831302710991685746841691713263575874384302364883955893155347759446,3327493076838345747258274688108898226924926865231923315146590981914740569447,2290907556001780046350895953543835882732904572361614725542012081581412638263,1688618290925680972009219781112276560472744471797399480804354663006735554900,1032371580040260789442766605813301193161979984447996143419473802467431737526,1922677591123183269292782484721714987742219970210174824780357618755971948826,290599917656222059242043727637194397396659335184397769928845250726492453873,388381945404026334923558857185643693574248192555476419069575433962293800403,1722346230379550668183650984368316055846594983493332228822038880346793508020,2707352579649189011300104851408131518931094576754953302644034869911760367768,321927485509136321070289988754037366215365343010705093341192815942395823741,2064129071968960805606834287697499454740713815576865742957216960108625512521,734388388648634912411256299266093594138679743892260340817148857705087437028,1085820509406427344868288664974530453983022498242077984422373387188331859090,2717945999453972226020216527827686109841126669178074621038719485279673101732,2579285415716446478781318325360405822188423908508504893904850133752139468378,1717302753442645197273025707324715123306842388198438438804065402034927929499,600549735895222740703120939871201858589265392510921294703797357925796468106,489631457719498570923604804122412469537170988268294688132280047510331762012,3139998915880515325902428783964036845179233068384171447815197899143933582966,3563283340191255991079791665537944098683717065278119972540706878849668755770,2137506399879721364578376045485841636577846880405747388716107694444136384942,980503857713047070175687191207511228164701185765120406393960375819586755905,275459915821993948918827684327457862019555696077984565580052253930697910092,3317127865158914364833083347404136309049994214567920575825088993802045611792,1374002381206364719368583028154605905442536399444141992582638884314075584515,1378203631855101477383068556194021728703902531056426853291753070948195438957,414880553597292266840447365588137256969466892888578088691142047430455670427,1700309055806697853002744928605381593727738550865208604987213088922692207854,775804174647703629668539271584622821703332117123749428239879786971582122691,3114860873213830431522885588315330797231485945250981746828278690948938334083,2796518100812017721362427819002959181802694976284152192679169574823336479672,1506694654907131943192582849237010065810403930553738833130427660782338400221,511600258283587067013489095056661695196478728909999677902331960813818875142,621402482512608495497032600487762829266664850951054811205431770054600094643,2042116876428351912311120358611517785235873388216339157558331781093488008000,1469073625261712693034245773199307258306457815402524745519856634348413206736,679321565013375441661738621170042603889050735610315271648906051534957933714,2656995524620460741680439696072573839166492488169902692540187223167178758608,2665648730856650604500736057048573404215247650081638446063170160330064824537,3571196147565580665533003393150581050348166237830551290948704178320444062203,1645696655090512377708683710471880438987901177823794969736619035620193631866,947217684505336554712872913027635037451406989735601953202662543776299765854,1038993025331907519562988110272695969273991349591899280802790077573033323015,1570912662409264055241361462765937065222214887221561568962803012002815405273,2997350283700646995597913893412621659494305286749732686020177818490111416077,1317026596970256245806885214911412067769304273606256148842394805155315421435,1788625584669176774816508032167513515866232844625886792934297340880571153088,3176488732726844396418258195025288205144739597918334581053766422311176809290,3335142800809054725666961010451383652863207782404143772744424204317848273449,2850247089293650469588793420672375712980766132367244303255215580357575660975,1051618294061025452562882569755007559825480270232537607553791753060314508307,1534643602746886457338754099582247224051791497943475004476315676040716386038,1926570896005504844958820541724661858411344433980741359244621590835342446305,2743652471160700041775670101079723282237910604397796617374074948759020231126,1615521084263774650942533423044710858212559422147688230980778370310108123881,1523076266822007015535268388752581718372489116888869061310957977107484444962,669365255733288668165730341675735782284997728678279660608535591452513564390,1542159927764338376816537211604181568683389646569619828847253074870967058483,2523086866380231775258494669545299570168380387788356685242722011886649644425,573780198506792300150435277409122855080129256335142407198448526407174327639,3416182890296535288286115038150390236033172406409684841290246734014195397292,2473818092854342650929668124449578982996254179001382423899146760924064813013,2360878114561352030878376567460535229201800267102849095164752196604894899324,1760505666502041796185558979812246492053843887470829801287574660799155266727,3289523746301951792561470763295112908610714106519733803964601777398973894892,1352789517712389990980075130663695245808630630524870085938807195458990711469,2061634137643864063457428433378949699754351085329229194457192171853840444298,1283025560723651460468377721654048539734901789069353174125013380754682107178,1197900963617566440431934705040750971797979434579716688965131883750537060303,1221492791150695879227314780533461947214860520820700983888928599518010408180,629027719157013383386059108873576596906133024916773033873891072079552929114,322307537818178416730823552575897886185239528357687985062110606397060807580,3241228355425215928056891900212127161111390142648076385301185289316736713349,986415727441393970984770184036742538329654803337941407483502352039938016779,3061335700162354959210881226517623875531296874380266548634437987663167418487,3226651679870778474088888521075335410281970128708222661727709637903661993269,391437513727003201690425530396737521720656809221286928838183614774150735608,893488570310151797577339265616473650870879001734796775283546440821982817692,2583608506264560730959664507792410947051824450079423846872180363631808837709,1556597860439259366852931590080149894561508039249806752344495782951806966081,754537711212128181386433599710664131535098811858381747787451479484760297707,1498979486805750298811030952603335537709916434925659055142373843574347549459,726992611589922910226909562169360896829208214933651850588874090287929130919,1338714816910882806447428883198201671637554289582439856881881396308487478141,1162979415494465035091443466442188975402172748169400544442888855711113652737,3146638789182774657201389217434696274820366578241589229571911928272406950027,620496517987904109214442910459185029307390704812465475605152431339852122917,1040857661921152719607719409063976155955846692933498260124762161720009416395,285454586904346680369173825198403398862630921465095279161296603440149710096,3127948755774144997559147890076035619137302043487396857516890273355906463419,512013935360289486578429334257111990790605014751339166310791900196422669641,3030298243795248271745620670910106609632058678342528118847368155061868251200,3573218006712901309377030715832925459503424620775119896743987910987915839801,1735996827594052895391848966642743850681230508855892875122497816700525635089,3509669788641360565597948416394904192627684424142262360943274394111359007372,2474850455283455445811047778713062991829452398933792027346702367876544021999,1460622016637721002101604627351306034336341665677342850194886761158603756334,1295293465821336810070365709851769599333895182196407389050295270537538889388,3287104912410394506397605336487637680319087993261998708993744736503691346096,1498704657088063156076153400610652863789177389693402000349437863394935912281,1389804632887235306552267943327658468370781887362970899214391359936916321864,5259015386144470256379833862825112838789745581625190441461046332210326806,1447474353158564902115472479525302693449483764754454410667651559671133165399,221535449398947562982779159659551930094726756600708746069401752031631400259,1715099345611570326963416601538417143957894062574719527640881755282397340286,62666851568866680267312977343210202833013867872195755264821414004970547723,1767867555061767265756833938156675177153114260630821401179435298964741763648,652379444699408832543605226666825050144389849634841201992993353817399105513,1471981024387634191325413202327937636733151730453265239192726526423033242460,2483708904501651702005872152210030293592910290367859831792501166194724251158,1027644720681267965031981147344579062692049915294085815823370827591062490637,40176411801377142312316142692857686773396474966667996211055308152966755178,3466041016861058817656064099483781063138026132669447388988932135974317499713,687879571789331249876964972370697988860650034407847984139867732456035337390,1304962056394165459741722791182608656953137518742594766731207377918146721889,937582480793286801812677028539537840530919591746053389319841895355951844433,2727188937179735550084288846069871727325447511605651636496625127657165612228,3364596370176919554791445721543193769307347751618621857575405419247310374201,1871095559652014258029036503329942126281984096874630500284129652716014099594,2167552149214240189880639466489969143657715381744861626788395530540837254309,3419513499406239412950713735486584043562450806335089056026120202118373649648,1329625960898989081931738972526537305589817312581034225291076731960979163296,2325531632939800773470561053995200990171293842912064980489187751369042200486,436783702976092706628987154899251391871164510257732509178287672930820886708,2044060306444606661614677312429415864000562562818995444321632018385056069948,1723257929654400250681243837042220386514103285111736538244330899802953477070,1379635757056095958005698271086866631589887648681464841340918669942592266155,473754642246360857747990417997005729951088194582516317832689359379398645099,3156987973193168818197994830317202051317012846484753645848870219471791083067,3516724977416746994542687024629994357060036286458802071066167982420658955493,3415053859770382592243435648351894040802227047297105072332868856629998283951,1273783960899638090513697578931331168137177827316144357488182414216729379605,1064478798179125950374700202412705400010820147287878537613027938842583243231,726462505682835337239892640217312909317380059672076434238730992468931707785,200463804234006446351767953152517995664788598929859922398483805213662440606,1160165735655886380577352207712929649086214818521399629606630523499344749289,252980362149758000427566409080516354848532669871062645328496755924005477058,301478060324412068718465709093868765166144223465810299339206133937826576895,1873893787147511509632716080596736750609760390457151416248680910711446130358,753634387346334853818290400739776671141988169955675870923808205086958861810,2240287752432331215797387785001163835384896258020904995945245350029692043419,1289917246557358357760015092274336715812504656612682875957177632277808798772,2987853432738028791366261821901781003311872195690165212971836750621406197604,2194647375724046089952121048212108008536338290684583737078984304571268640697,3035466794162714463127856116514812426797431595399198702096694416523395897707,2272551337427694810379938981297128539619711683742586180322535451627728598796,705964889366579739853824691025565336395696327793112469236571753418303575092,2565016941774723891973835927393413012801970951636616341869113085687394195211,1373353232315317193522913609895294527224925407499579766337382163925760329268,3545514925480294761027004356206468928578054158627989926548093053216288119275,3346851082500125282702996258652554644337567406115020055815700740402945739076,3320897784879550585585855955789060188299320996138006335425417499742821274147,76491882360346022590542213443437688878612430960390837937326061186889390101,1990611766841591399781693295088242898079699356288778579177082311925245100432,10805009203927621171092682659035739819320353930689656345980720655930292632,973793991604657729151433395209636503164119553156587193375402208437356965376,3159372633998622205343298170789694645320158582727174969875774533966836856444,1262573827818300416450243667038549520086087673837645342802328170358933354994,1340737269198951347320063795329383126543016670499121048049511958241691901564,2955082971891269360464092503952033825358654779680363153995887530738685579016,2578812391243619733851256912329275929092950740303527838680991405407653260366,1143956090062892971216590037820898127048853769677012396645468891380510549772,230918080472909845197371678344869758159632171193765445486144779920049740189,434724680752648950514183598875050924526815082206511731963314850135582535402,2529522183195635838785873265977039431377084417887452395649592763499635081116,1053439725418890957651046939175141595590571341759456292391297500602275258723,434687132531382257141948067906108675531319007532415647578148014080687732791,1758168644857114461869445298914330943402497391040979197262209570937916256223,1843051050376227416183662800733007446473657474260907584019389920423184121146,1222544403832977200926365451797248290113178826159389578662988471167068560963,2179795875072246398932380308687498595639262905100710573923734377226487537478,2008809932293006336257154223265804104274508208764949527340427862679610940807,1424642371406686298511235754515545114079468063201848252023536492614014991853,2416387382090009929379803528900858865407154983141668155122103861832613487272,2628515010078889370315661410481214900227635494001768066678007231234245086062,2415633275481455079090810800125187174437592031081878969231070404291239335338,3013058391599579740427034173608365134705998751595638944836949360759372523906,878111600994984418481130993279392263982672448708183369265929979691840745607,413069088369391801195154702189656152810171730290688865203061023903542053353,3036417506328566964573700086675404457846752035708695530143788130174767313304,2447606055868674011782921364000944412522574577265694210580732192694767157818,3522061861179455581571121774454894445763531745036794936085925792464019417346,964788272947830111230820746739307803657355410976209351903760915811783823945,2318960855351502288070632162192589335999705790539623483447325683969992933154,2273750749114888816631574900373936982289082935770809034262056550407367919180,3397678256218344634921723975956374718673412629178912598300838658237534164429,33326490091808006483707071270858346022462659915871126538176986536061569300,924499618314721997624587243868547216734934001550448500083275103513032665323,2091166004272103841794801228475655108994903421912937779588314196169229248777,2681201721296997767461868826937033437873865860380626932385280927798569595603,3344860544084941686772283717745557822234097255755990428894233156378399875550,325992004804219343153554158719069369031105835362781916569906255394602418947,2564469522813519949844658391811794184338891821640452443832582195076838172642,2104778083388465761009279127467405927149273950511055393690793668670205993419,183981559955952565751506793484952086216054350326911896969380810490237523254,3297654862808719031788755761859546381569807614548671876239867939477686489634,2769949149672034035698847643891349426756135550039619237736341874714318500870,3459801736320978634501263536631414646439531170320455691011605531582610338878,3532950893244545110981721933278421056237731937192414416417544827706443792114,2908045473865750364587927024888095870873979891539429349377062505767510749572,1164245516377337820565826912558317436479658446384580392983624879647417023379,239457092837904265539385728712522867602850363966379778145626157639340355861,1388247560881721686270931018219466408537817638568299756102450986361790164962,899852520216990214980730859736084254767760359719517376766260499956872025862,2581456420116382604122828793216798930162988787011036136237361852445935293578,3455137983644582680905971989797000529994329004144081170288317487836378533960,2252997592069937672197935176080542009509778901370077674340472133118372497203,2014362819332876044391033042782762809412898319146174728851510263031211122973,3362734726209398757824512066614262885465668477704950993700556111554745854707,3099011766518201674709776153293579150891783095121257608598966233126660184421,3201711588736545240106265691720203472910503121304191842281032169375560553983,1064847989836833778747192905654705896354791613936090299540272529684402922963,374189873666708514211988704329980090714030573567775966322375303982312247257,3530882478032023368709980013365508186246011279142479764037394960596521257396,2641294599045192694336512895985324180419118404127348651954927599483814904691,474910132892404504917296064325618065513531102818809688808224760327170488154,2052109144881399775632204190564627153038580768661833668111968142423833798679,2865026471026725634763626692811848485101420557883712962998481808388944610167,2203002977684483536652138390133260507464857180368854874031757272478804805783,60534561446162088044602069968272938979115388387644448871034144991788204473,3192272538406654657262795973900011133007602952897666685107311563657767012018,1022227341982415300420419200847224979333392494923419465363456709270297707976,514084516429151868850550300989524498429932033325098627216627288245931608626,2169340377581411506234328796504261265034234957189212740350873797601662156390,501003172768647687327571049889137145628841272807036161070339884627279720627,2049795653894344740640076987213099925998354935993816546308366651177187059046,687104314368865231725217410121840478471877162058146302545851679845419932064,2235091220458251939366876264076858825178518993684993496828889490459288274889,903158172361605030832952311864674176194483739586570974972074013255339065263,2698492210277122610749764200852931781278403271874026543001713106880128399855,237882225337088481217351031823878391847810990057642062640620667383732006890,2637755453195803417887669793139348760428210440172176552085974846076123149378,1492556868309930913375522676262394119032101224622089010714198406865851091229,2599040499499698788839547294114577634017857295420927407782358113331170540756,2218163665202472706932391826360521176232433602833227834195010305887199382782,3447866269309894153753355525261415402428555352574720951274667054789710077962,1074559350103357487674878098348112344263719155453385319552343178022214026961,1290171331016002856685393393791832482830055756758104692608221397698577645320,2840309578235252274862541739782976472277043367082823852638453501862947567244,2005302014886377713360848368225807095404703209661990023682466284882175636609,2342484223575609886757732134537220420601033108644826216129714518402956430385,1933865545025820709236275492957732370308117289737296761997394904972225448758,2921699811330456196445860360497677866911422170453296479273606088753759850732,2851552086999636278914451129360018616302287899767269605654862418580012628305,2390193447401533003947530773077565614596886700484089408734616132258327205809,3593279938611519061416601916281445792486178160392250990497884103953970038021,1189504460024879497884909524772083251944174958683492946174629104756152611844,2355664282401853368084730618624791696543697057858998739801412100911970571212,3350185903666066784293906035826415327814064533442499781259362186958634263427,1867732445948269901260123911837416743742137804118035634567001607066122157953,3605172831368241064553683083717539356374199059104143317327266953925818252930,2298766976159383305303710486028338041684196734222128297596479937846686678850,2261421717297715965750770218085497909091384784807201488856601001833082354853,95925048070036342775242089217869488736494700970461638798614030220917409057,148973718291057916826469232288838717553684939936128314135428732401281926253,2719365913352303003238447766805420924274137610152969295428232399449968412894,2081052368313425402933119343446763671991285036625525915421353492982618323899,1779619427952419397835092212168772903771425251004430625177382618798610264215,905513121808370417527359636346205670389263300648781872191326462127932226245,2171186389499471037513770752900452559416462506555426902109018175018613957152,2760959188759851276134356548919079622953000875407242961281659432490602140753,2041661901360501119131879376755014171020749300321272181256356887265288807133,3065271899822281040456068686864428215351728682791735859349872422111215139916,1352481235574393840651123577695072855872760001053940191790199325315152168817,364893356327732175247927193704449435288448747393587156268753778658930010585,2939829415488918911797219636242607890382034013564957723614915382160855687715,3124124867259832031182361360032980026661436892013740420722287264374564092879,2220121231717839822591028274514624419194414392317263326799258538174426388384,2976989619883162300487280289252719135184166327885744267402455716335572143063,1695307222166568606247937446705362825683747473886137116824457888876691557047,537741425283394400285650089476893662041699404719067195941404190162651973770,2740320161491804686663134138141954248512436062081425900435382026336154216410,593423903594834238630384569145432211071279220144528917995805790771537659624,693658319851246900683461616222764432519082736953922480416764255092747849326,16881466826262798995014908006911138578856557241404566008357831539692393103,3523443781314836914001665347588478977714570291220552171059625804345793691225,2153883803183017601110402256925635724424121631870310549641507954081153940039,1955209712373045778291464016510347294568967670457402903098458897223692961296,3104923980338724881791381579967935751486810154837244948219528428589273505526,258420634341698652056500385805208942753239223812171333902199747219834143186,1169075685424043354191893811625949907525258545275806191430047714446625608591,771546560618023888146734619023531480274202064612773053590096333453770643290,1303153878905968350992568911353896237224864311932504892968974338408905407222,3353009207649232732141849896536778766868763953468373353849764496281062866983,1624523374342978204914448847262123304411723732192656264814748009196623438527,2774745269062175646561745749527882538027495623476147477462004744169485973982,544859892295398796625574335168615362689342857530769432115400892594568735295,1742027002483795199647141724910641989181262184451785464577945190504992032802,2842741816372638574480465660881170124372420589315011118307826183130904686669,37513154242906205530721109684447264921473681559790374138598645078573380579,877759624704331713807237149094059382983313468808804467967972598840460531749,849483375364620124010698898763739214252270811016553346773896001874619821195,3218617820006487880730805660829354642616211580784871842332882274948782181682,3488027474813563537768517575031539708558051404748591355434530181405753054981,2543053822064297870689220741237684689365181893344456106367781723965435332815,2456656966107659764705794275600487779389284053452700944699243110855708016025,2981297395202897385955165174981666222083050129873960247727856540796021581550,1475172285143265756269339607351475799533144391344113553694917885856015482189,353110851434526537877452741803498862720890280650596715791595677263700367698,1871891791475474524385548764593114653030972860556405536621762282295006824384,1355123958706892338619597111481304705068260924600724630669016058313496392606,2209395496139490385475121400097137696877124382282260197680273983184356567915,1831401420668745784351677160657918063391696091758718157281592245774182040493,1298539042155394051042358520905791564636916832965166456165119231023447513641,3434964264947895696480494298604548711608878658170637818125836556280521708799,3158043374797317126582176655564636164849920776055715071706267326318955757327,2119241684477459517650248139723650555414076791184353768200104055278864639925,1054568315318073491819748515157480194964341540165824343102929919726283904281,292326993194435594222007422308396978853242919019698701498650665029986386946,593689753329788138702010559462452034653898128497112544115639177901349490363,138370713004008446103078640655675083006399093037524397047943528499665541714,484107797255938692401348237104307642095863403224690548624337070430504935902,2462033753366851295812715990987880220426029115334917581282007584957990214448,1957260239229133672731635457569299941332717982536875942540146896416387042808,133520918694056076450518425192574113432146483304321605613605534485125310578,2817146647604859670986539125714135049686639489612568606914652070662253209626,1662474981763144319041358919631333447270761040736716786045767793636249932175,1147676729941599549081042128550614623124224218896854913830935753205689372653,1058153743451742121634445853385125714158470504712663111817906741450762178501,2336772290034964431584622599890713033895849543834772303350440138518490835011,3238056454336493194592842881871026282487639562308554750176531232063351978779,3268800222604957088211408278501041772964632871095489621285055557821427229603,390814461516199509596556196414827951241873827148284667388184616710471186979,2403686415600295956690045879964852285880867114279574711849084780653328652128,671283859506949416947439904073087333615428329854715791054510010488058614668,2283847459127316340442048847059548262057343500836889931568305714882481870208,3277214542707320325529968419128353456834995509984141020357515757296330067459,1081769445899671949744031920172194448162077243663386309210589265147456353114,2028245191129197666282320816579694995305197100827903240224090831954913717144,1552023475261042940921930990652949235598605652564925175518142692935969651862,168586807145705340816670649957658883522186566081898972564760245941118014507,3066810605881791532785984146220187428500238209325926710383199428662451336070,3240339996727117460045008437420688269607263358031708604661090273710992198522,914119725324279846351937587855551328970614147950914988650599144676912772284,1331324724559978609948514030344373876621404251213919134811002328883319447864,3397524973657972358043800373600719390673756092260007387161011886001265026234,3456017112231590126465340330819501360167609013966917261926244004506468342461,2622431764543870443897161430293286960809788284799746355665663331444438001037,3425556255309857792927676079340990324689496407973812900043249095398132983602,3187893921871186247693674863573273360195659532240302454728030211634476909101,2669685810958658619279907953246134873208124500203255457336317686607062316844,503298859626697906649993943864952382737723195045506694534762438887868657156,3514970713170079301038019385559824534246261074342409040251652475191976082129,2104767572859663316706775006188532348197895825054248648774543430102406057583,915468148668179471126385728342133445443416859458903225736182190117153840227,1713199410827859205427287066747956712139093884895649876427946964790598482997,1578583140912082486832660483318544536886925739268413388457674455753337433842,1752582511264784569437654026305661370941521912139670139520284701987094682393,2170771508880880330859747027850215428790831076415033315799610974882600617865,669444419155310615676258808057321058100648857787035724954032151276277207222,2735769960945686138546132933491555727354380353461840172418517624102899304736,2205494394448948213826940461487669716627558099195559523618214507477350845746,1460438950341230437341276458130357288669839333214432375296817296711560494436,1306491688333876460979783397226831524646419726824346559309352905720153843787,1306443813495456493889370069241724333150250735468798264089110507406210238073,186982221765919064368761220372346922669376398135083822444543460713562681609,1934181806797639006747447397727680460712119860353065328107832711849530880531,2268704529932384088348489246329806644363813359938052346625615454297189868015,290239891129279808972686488023305353108187107613484371078680421314493604280,953865143044730487125256145057572705354220640322451139356765521361425722064,2611636338788744191944127105821172525498744942427893474902782330140194906301,1589561688837636799384497435138035228401468669014515607316123540036524903270,919671973882872565002247188189471340686601330123660986499654197583062112245,221452367789122479004322728884976437455883819436759965318182475994690217686,2280011622007228718148194244779779964976511148927176284302879284262336914968,951926672630531111644769781894152586045844854479817906325737809948872148037,519780738043367171681783789180188098336357215534283550472771946907782354649,1053616832637413340007330865767248041803306910244929795240295376599266309813,793381544403783084069545926583799061149153871898379073318661905973376642884,2280954083202400980436653996626966258958340279726694444276787677066602013492,111211406630174005346816258449237804901331105055673662006005826247883142335,2376802885425982408102514626098784360271146355849521468985887614481765471432,2767670015310110971321914359752312044539205200619980265559641602805067764936,139434936725182663941309633813736260673562717758405321449002852198383262941,752585010022236199112728117139388026415996598029218828090336550507521758723,2812486649178222322312835379564631378601186466481584231296361159444776086922,2380863417127849435323532645054746605032179498794616382047329145344955304615,3014804291384850192048634339809697240653192699502168669926021981314915344132,2642064598183598040866501054332232942066624554359131096015161704245462238917,3109809963494458471888560214050097687280560261600881067057867607429041987488,3115788399424222564391773796236593880845673926129376698847631492429919054263,2817677105870076995895472382880084721598622054599795363088377074017147391203,240109805174155309653642754754510406109701952578616396575719932675958581695,1314553184610730652601427881209834035175144695665533873666517227545299935552,2429073160157943361722430820205310363029489156526418160859006333657777695944,2337678868693937848446097746664036217773665503622670366701387283385426811077,764100994694042122246185294214682732188753074431194496926112052556273142158,2949245132689530288217398636371873507209773168448050055592617197320902916078,3145129489591027166379260219468988695337212424783929724910171036193234152536,3225977453023422225708178058113683438418656879739283596196529772518499612242,848791655820926903144245270035014032025433990629503409267951733092910636294,372884037523970619546762454603887709837788147851637031656678101420278906024,955277853233069822359897190372207246663497449309330036069131774016485402299,2708982592623220310343413848185126231841911868774242377424584752079683501717,1566234387607519983362719446460446930850420403781879070794380674903276690410,2094224992332044045241445157955891844503675720549627347845541425650524350235,529809363166503917324717954454994302862402277758703387703757316873446006146,1020769181120392406053146079084032277052777841940617082998236714934177551107,2328198852845788544805126174129360020519348810275418224743638238420233330950,954714267383591085106211326394977960663024165365269889763814165221864373663,1473404130219536435107420933908871935910897447836455188157396202295276439578,3057769539630118157988460106000715820746882396022133216891830425785309678178,622511792545097364107358935034460039998817824425632564911691731586245588573,2095371011240016258814347973988673178160586480042449944782886416313492804430,1140565873416042633618781924066551106024388847430292512660119468569107491706,17467608083976965246470911218746625290303469027293523341960950495629331975,2579493883381455253894459908696532879073037452147231807392338200644824120384,1169510752085430657701865033034359828704546593887598210926592104018844224199,870200080319294688236334239684734898962407747062521744544343901406628657271,2102662184107477642523344064391610665282304382068046256188771748495690771417,2373146580646173246897108701376885652837767348468782927133000161513644181399,2208344229197679687000207812500875841586449936215520678691102762208452885065,683529845002635234670387031739910375125063545278245140233554446325849226634,1423542345557385981492835722232690606348197728058572798793808980404949277604,3266398005650140040559800362163252853116464703135741979016421991220890480541,2570919562320983529660381320361680053947859995462075188179228952951488663127,2848555306831056728723569957348496617612821745706473391590022987419746855347,1835914535085146261741990167543805637981480538856397372740406088059637129789,3457789410169862415505671324707663548733905425328922568959947970991755511984,3476476316511015704660445612508105427884066013412221116259282251087905146033,3426856474425884826957692739755014052740475459317286715343599117210830026210,2845508101345972723205587767290404771610145731780524161102858543364124836985,1070865657146486348727323950617656801770314964266527117051416754045183417230,433273949692070750672714449366001148147235632329373838945345281213275841129,878723921316210099261529481215785116821047823477510135118037596579813614529,1552097899237220517135156480844124740605269337356962099611792401383479153151,3426436474691498013788109674602712229213480105948888109452523880845784731089,576528998847582567064636105214253280564420069710725347726464771670784662764,55661910002629569537519043505455262483614867516032514712458948880932002053,839190713667746706916477842100891209532977090970862635804273251704824103363,178094394236718694243666543930199298451827350258866196429351786286136911688,2777201482172661614061080243731123987569055022152886467899393114667400277286,1503291990205410516907618002843946135098288835532984168838029763689637059437,533704426495614046254197544235949901415148927352786164664576413859779178518,65300040653667076910020397828132725600018886078204570788016567467104482599,2608928483427778628525212731051942172462083429048125810200022591978513098965,560422781209018604712237726432549703459783714308894355295374424000243970506,2925842222612344872163249966834770520505484047968279941097291360261672500877,1556923388400182734970295716986252886400802130533564702621424784696790947065,1324283702021219083976266661365371464685992893647151520129715052516672097207,1852788573807649544519278067984880293952196443872788048537043169505596649361,3310713289294257241083395801610191008917220227518667227428860077236165599141,1215912326246160618932259402562893731366693849559431090790065776709316015206,2431156087192334934201846949538779632196127111915375137130877155963948433389,435722754837528953887042939204135781819386334323183536643937022193406073969,2841025469935378229025077470378260971693068093121635081816951385410225888589,3211535487930405020778209832681364887250285382489531009010234307714382102151,3025522347584440060690921905657777357628251383555804177810721974855065223745,3060975443590541022978476311934651236387216300734428412496690723531295718168,711379679078652725934411130920723919925923645103335015327630597427639007645,2145268513909300474832217446484987859990537196298787611532257971954015235918,559312597228847918576485444455340180304040605694610754997766964499709124850,1568582612702875394716076944891455849389474255616396956528712196284854707275,1128935897925262115413982686689952445133265761269313919128751027258293065281,901706260997245185533024063198785671080284988161094118058748063733871408017,413646415556841445907911872261924636160926061677820972249714575852250666575,2544349202051670221659213184618819435982919162281475137654041551149341521944,3149434640131420814330920823129856784507413352003900095542076517342422168220,1881037060656267765004968277279473451077934763217576470759092552337486412546,787579174029070246880958091256185213194350126366615981927380214514419283656,1770546750821791691942954167237673657204631839038738331936164284850887070851,3326707233091835826834678240880195681340595391046004056744923279771606738046,2885934971013465692485902253495650006420311128036743281976307425548909519882,2745738659587747931498279524286308150907567571237135282254911376188298876883,1524332269158654994833084840804151409050440173026199308564312964445462518934,207087157331825458535314637267668148080037900938620848755773063689396090296,2456583958772643230742605153754361729220993659978603794378163760976873032221,827440444297158865899226674384110115229840013523945063857599434075805523730,1673521227708159335777302305162215974256540161400674954416309050737076337992,2019157839001814438359793622314949703863458075783205043399925305804802792158,1625984893424651599230408672967681745876963672513725531028381133064600807940,1995059105830814893679147814512846119580851819754937022854283572269932297893,2943037026203542609825420538370199176856714565722516041552031106443489479109,1547142837746656627555891901910238728333439890590608593904664124275788413761,3186064232712292146660881505240365904476247884605123608731380777131446473953,215959203182523598465263606155872678991541039984859894911763956018224247594,2478792862406616395754834590296866821408087947844423557465133024865666655468,1989117414162946629665272220760866311183809350513329903837956508050970173765,2961533894698812754963449177881336503273919112015459183921949282361835139296,378447849437477979220858309407194841893194137328420240164731821889162622501,620736103540743061695366281474091454157428823710226592926857007919878795999,3154101452257698936913881542087744214494089359266967170395728433874580019266,2791558067027881997232124583811925518939825035745487941679513382233965917212,454511927022114887118966748994964710276576571084007653413523035174960608427,833249748748704324588617637215855090862175100804095524837015590293818712197,618708086077057174914874857696740286991559928570028551176619880521461236328,2353750100344520724434340543880418756361777558988598454065178998192497205067,3049677794519799530528578530769983335188525102357808039076010651662585060170,739974329600959357007477315737049760360377456610303315221654013809545265951,109429724068013592715906322448187703128974499278231925058146500788573139762,475692263863075885451277349687809461707192510091535632473654854365440355716,1327323122907929146012479177330668312614436570058248593279644198047627654773,2856927931961298356737261838909055690820380235444818031076756013013872103939,2320144615835017761068162833220785165292241150708019803203711862797613904390,3052292890586153652854842210514912267223035678607861516833434008239016310452,2329742660229902086743690832343980782285945140812182851473366208576318192473,451891636964201710697060178911653815682306810271963189107566389315718191079,2582504244637041027878452028105832270539854901268137932002624344014490253178,2469650265745453743207278890029095367496704430791287460585980070901086153019,18182821772472086895600782904480080968019091765935718100312900400703430248,749612307801014657356560042472906307814818716190622617252254287021275587927,8705057987638334102863561118856650095892581876163310823365149315465552958,1498766292049244649757687659720732484834538318537189422762904274220813289122,881339112385274521831499979794322086590728695722404914959687642468785671867,1180869198973533905366109253938258402932417026345213728782909528267649947123,2853670530203523929321511465945496654274375607425310841741630744659354730669,2261781691300363875989228630683039461771834807953660540400329309324580209797,1585956781443099011368499879978819181011061369658507338716911781405256990337,1030437484580654398387575582351794043079010445727926960299933190969538838384,797268041808955545646261714381780794996189030017652837812339588615453259022,1539771219486500869249981746379359865627938238783694333918381521867166608973,1188522244081185700840877477995745793022622873266377904881898089352107212484,3187766375791173638466502614775675501513437297362474323392167836676501523681,838743555232565003631981406949660144631719784222150051397345617684747975101,3233410424006586831018812866586004165619136698458787678025248574809066910794,1183180109283665391725755318996148335810480300129284502843099631703834309608,700103657391508633931709488135461903885353074985283610152581307285669187878,1436162994776246727243694463113790763220242194967367423148120792532931466162,2486634120877511247983186710981232555958720951731611001760997629238445041270,2304255910584493600000167018495935574865419704924529822405390243340115939559,1946026539008957585776277213124578575405192641435542231084633335092755784305,383577999987589267705159777809896559085397569351638570550017625186066995701,2769180274347600534645883759422059859963537110647330129518517648732756342802,107366811237544084129714264494989829223873430873547569307085092699771979453,1536624926848455488860455176905834048372700583135800978615281750966898385346,1751469612956147030219534742821286778817728864346299013851499785315980455863,1051818369116906029041252468223480138564803262683985326092376517691890217498,918282158964669193123034770205599486130595228543501363779771909128109707100,2609826423342976175448974629255506240814043369586280230976812155944388246848,713522935738135022791653339333064971351649316610669378820740615092289996580,1911525554547872428047493339831007070459358549965115416315318406828318875609,725707494044707754696976874131504526771747767561480619333414597214435767801,2770795446934290334714320749061844518289239723179510165208341030974253156585,351795592734767705765726275061519063518415438262276816956174659062068625958,2571633825043563193094211780492189332830236342883381987426506524884897972553,729513152313953630332455868670776263883900207539286418107028739042331503746,3033252039984448529529034232696506482837310052176705213008465030477930255927,1292602435023193689063619270363197845107341322486343868817354228562967029620,3062586130476367805906368047533055375921026541174315251224563779330703458729,3233535922453961831252111045754874484125001365169442103706351659018771274796,2840780208999949449720807283048277612854592248988963101179832091899053572873,2683106456404679932212565509205088283445085143675601289873305033804423944139,3218481595996314412279559350730943222474603631661409909311759598649861940341,751943513355680501594159999023965282446257965297706357788374788085017779321,1371190805208130966004468157031146509907900911922485390848357366159916449877,956925786565906689728251989155989487485688284220901211944192322176428915487,72424195055201953708078070810980288233317446792999164873071363662593762516,122158020603008665941154829560666675439907735924487533281552377482621211518,2570231523177422026564756741290963668751482295569316809422517123514053769746,2844209817073459750270624216760021978856833455803841534981658977683074407565,2649875631650302906940962925302524840992817674856727214094999476434494252560,1165317809658893443371947992404958834261969679505366986431545543760036934319,372502896163524264141995577256293047657386177646882161511397878666781329177,101455905059840129857932580805210040790004524694172646067858426237198663842,2551670613318664299911119365276304039738578484108753270886672166944372653545,293540619218358963382021977918778384262669964782827415841462429212237353617,3483276605500124536556532217801399430922977187179341448768266636584357702203,1371627146178946331287773495153236671359337148098318351614192435799829729741,1434408331926535856790348551094769905032322200777565089686527960857784226516,195433554951343536477679571000745666958654546143088632644947064742611279468,1375473269073974994159036018552759564817664769856311919044219051842040083245,164551699160450955189813453327005538139573806842207218752012579602488312501,3500535072547398631448139374763809367401820063167663896450278876336286535995,3549134622874490775312427793924210975041388638657337553436781278547361741281,547449712939833921397735638322022286332978312085653836658867502091432484236,1310397764838475505469328846161162729988541418043131520195166949079971750507,3597223140373767660949027501958171399824599454983022886124387544216263875653,801318866858389087464377797102931305605203246434305915553182088153246170029,1656907439333708257058268668497480591697827652091336343144878153160767624201,1714531242859569281537213351393342741779361044064174044559040150426736116507,3252198815805224154024665635803426138059609628682227610395589419322162106847,1499842481019397683842630045978778756993859747587887879730248919292010267526,1157726542215525750097506198067521059427263068794795534370309768766711033409,242624769245523208484796532193186489425024683977722552192601510542874057122,3475683597270792895221855213276357200331494031842187542098097925642954725564,374343000243587751171289044077734343294924106584201642794631244415531354646,1295980605114589197527494570997206609812953272098826526349994300314201683367,3199261901109441056211373088855001462829519396313739856659290338214623805675,3203295565920683907064492257544186787792646489008459491639248321845172497253,2977047880654786785545647970139642894414118141175646315092402268327793535640,231080783919725276346765277167055629911161096725535691180539276295624052097,1653783378972207817091529397365219314000445545615252796677656704876525955343,916670349565766439485862794177006297065601558643699735929465661301583428825,1004786945660470924494531793724672719962477664846092075541008666311995171131,532690983903368044450902833002223622451393419562058809503434475112215431854,2664706597293989107146279609954665481568656274061068103573776021474238022685,1498576492504054338232076275264374821504443501419555148432265968296998047776,1834139126010860683737613967549753760889266388582378335516374344648862244446,1861610204822864373844434807430019288870272439048067218760417747360838091842,2682479749111824558730610718730809287179207744606625660265714132691210163394,1345025088149913238097177406968026101785486954973787945289790889203153825393,2038957029656170398899429661078653059565742119672525548338946817461673562221,2244173699554021342713485633464125759673320566427259271569420900755693359501,308943305835627562110757834954212643822186351224315999997616849347002748003,1933659829026421420690164999392132266463323244034443463955515419232890070843,561748681248737329435010407097558080206676467631923096163643290285091346047,538720604754337808882778579670564744205138834463336677817127466256822969464,835511228737047386434491959394174752027937823457530445376757351585277576340,2346438438569792295544813765614178652168959790960945326826694018994425659841,1446240294010914968638191910676212231776264424432691138544328340719711422958,957090154099230620244246117065255156057954656699113208642541084483210170511,215496242566405164105476629811991633806120739066698909093739561180870215212,2500898158334647073699401047051042432649568679713376571868595735551797501788,2137874107314176309126064332529094174324446678265501179818168961142565553670,3087961390472983507808538870069147718653714328485555325375636778685113714810,2102634861266791187117496450294055205878108016834304083319451824384105630143,798623448933411588630306966971717978777934120873179853794576476107340439154,1286090425312633448324847218042054463795571000613712414676549099294462047939,1688107376505880981355943059338049014585057664554166937685163644105819118664,1825458622170076269221908496905227206160926241798235463209400603516590521970,1938190157090118479345605555572330262206236776604495455941748825177585896818,2127304820415045340693832752757141053006325607239207443789769575612463665976,2649992608764133614915306780157368034898029538892775845378696171704475743689,3556179787499814328804587570339999224740157974051457375565678593817831137635,3552085576894644020540713877433091147698058604567546723444150182995062202220,197669738580085552712272615175770151534907816762841975093422096962199874283,1151798113052767917860912438782734660366035635177836034173851988368683305609,2143705358792094960537707748980939539168481280901559892091592392940941542928,3058232815792389527141334836876700590747682846746931339606813237728186454668,2838530370805047135655765451140943521120857738051310464081094431075973445123,372271227269034867572873893222042306179026645845308241357670819949716114599,851281552435728280056839123366114917927516726566673550099302032130482628981,2049028227009419094212785384650783394978591401486893005549755817867599968936,3081368619026785924439635678517354826157052736941431881092360355518560527306,724066034405118033790885489082120972954071951931335383748157665885075683962,2170331830642619314796106393909581073983726758275734579939522539949092097215,729661109066949611650265229622515786783184602002736220462589296117332532310,2156956617529039673010968448751978695192497134950355877691814927602049180488,22273116202566236193787389462447023851721125728936267305455357498059487027,2038197346317683370693998524858649121903013579722600898801239789884645155363,305183601653110246018733144029556606032979236453059014522958579069059097292,2661906496810080936429274821739338645917213071535000674709293921122926666061,1538796200740197778463780669814558724333361018878103757023598473525282802446,1857414211132179874850245941599464147854462953980388098710082824477906156809,992792178225325493918075704927210400117649277806376107699760024191026300787,585856729707280416737441498432673790638276596069276454227563930972667493569,1057708342647811349233420437001031426171632928462247546962126292683938989269,2213076055245848068978548945665467056897712016727773779785283988420504190717,2486561963204985656463832008522958355850481619522613157792981508480037416776,1037683982054830562875180699253727774786669687536944388184358052196016788568,1513054466626578167238578999406816510304424309462045959904938204173217677456,2926255666189597356576221879982423307330219316836732581853343466730626152622,1817536417696835516418328750977415741705325797794462592481252375002746804411,1110601904954373288468280617638112265649277703246276641961183367955760663610,923712769271629654152763776779410420390946869325453509464893259198484997370,759891705320324355499065268602716598454208743570486373839961853936754668076,3159806591880597831018650150451325119903391043602064325786246304618560995260,3529456411089693567416831945447365070855344215994244646386795965831361989847,3004067679076117512577089527295181503379641490809381692128712680417463892851,1761038320766613849224999192908030699964938053903213035852570831850043127456,1850510200438819049646174997875787964349946812014658564290560143399814791428,2848042209642583022785211905484496430642563789521390769400224496915185729788,1068998544830835573373495215730137656738890774999395965769875316150635976083,1505297815831474032557837302081465859483759347092314712196702913765449143234,2607141352172316846777632288308432996828251314812321564087982135987870567472,2496545860406800106265480605602044474138117877142804240265365255404743660122,1871408512644024012569120642434688231319807988683852066981990804267372678370,2319974494048753614623960726887213203558098843463983082888988993132686004466,2269303315773621161208172962635573616100939063317476136453641600303947138036,1421262441444628272955828102802364664659551577120727319881788889328344622176,2335655651169663708045700145193704253974739156352369778459916907386391685837,2703332567847008396298511816106778791674635858998488953794058738634145748270,2874205417174185479291318403333098062437887820943159282274087527287708005986,3327730151938932171570358913791460404822372842636800213415136220311362239837,1395343240084078679187914522289160592067959161647424649647006478837511652352,2808330072272381043858252336492887343765344293641712954080504121277590375790,2403590155439089670116596334437576220363806500877378427955733245745731850849,1279688731985913934961933667921307953911834256665266844997669611471513183671,299247942402803867532214306486911752604175263333692680381934971699740631010,692310866413430225556241007650662466583294081313118937835272114415121488242,873175801045958554567510012529971988171167736823288182351981918308559015004,1472286819627843196308591452261284533577785943859314713399476314554436334030,1315931253888195394213734793757994318956448162279736961626834734188763628492,921081043173396697218524268271700599208696238571415812570903210646226824913,3001263729829638571825129034442865032551324259643788284123829803463886367659,1178319537558832496422064067299085419598835795615291412997363591278947329758,3445611999331949656236230612729440444147377274201673412907937890085802504898,3369293471889088072216074916851067721350411249929145599156197176829214106478,3574931206469095090397269116942378577580651446999363770620817469124812809333,2908129815440155018954653959057558452279074372414094264419591844821056290184,1311528086898534221841545428743432825900322192158236644399103893314110442774,3315913662152401606810429843439217667958205692116418294895512195195306500478,3460014919264366354526788087549259758613902532653188384742743289271412481847,1998089944694485613311380004485370339524749697483436371902632664908538707978,2812558214865315753577727146639085993213386759366709285301328167360042791598,3122425629719574646134761593052045983208550696100274820281710249308840725302,32945925934239953644516533339400007129504741880931562770766255843321175370,1703408496665660175408489337877740418257644185564362389033085570803662636076,941135905054861790116935953720738182960336438138809273891899040694953962057,2865879944816929515470761723729577848057500540020231838778705052463590017620,1790223950792167280418018407160534158485212959780193492155239042307765370156,2901071221541417575351525137533107122381086643865531675451660232391128644472,1988816718614857747783922659305854621627162466334524369707748362308053460271,1367347290467206889231954254707466223334234204040052767929095889392048796692,969002397214777678418670854970551620703679724030541444920753159615498089522,196077648653711363995697049055695607307219256549019558375297929505905141436,989409414932616867384984279053950331018871773409459957552451973325706234270,2660061278809110925280542302814412083387899890679384752125852267200115079919,1112575072888488249344266892297896696203109942702110141364564077960276506385,3420049978719389940726751467671574576951544745959494273274165170233879817195,408949942671586683052295139682744821410322017899613114067098280608039815798,2808360789317193699116751899467587492025006179920890883287968884604302390740,3431644109082325204925955860156791769707705812900709998959710522640559698506,336169258350615111062258869143172568038889731122473430461163574083255185823,33437422841349355863558224968923483984331457439246367816304517236549707742,1539233523214137514036071409831528087220093153488375730263699313133278715442,1661098245943403499331982990324130243261056646892416847700395071908405425682,1984648706450936693690027730631071737175660084968930258654710236091385470908,2587100177283576013994461383443042802890142234565690076272646548573351671631,3334067121760548085037440067536198009686734782122340756427392620154434268998,2821986691623507410440562401561913145446154341521243912667433755860604323075,3422746730046342157596384455942789567205935617660076889127596367651198562674,1355468565168036409945553077126984019252183781859972767002081861781752533193,3172774306031547831060720551396367768175931541140776777477183874157359921838,3586170671150010985271315514429424708527054362755424593808710014927536756250,2926543734117509313340133818059688067667691295545012227091350678973384118260,2245261557845036657140546788083445036873885251253645267592319343880609261638,1632394598571165097183460805398898124186877563583018560955573106592345160978,2116135602765230639179212778313542281215116581566409569744518084420602979994,21227989314076937082174561482187826763087143300044912190099047231739609079,28142484410406927485234303650891101783923560634015258216714111989548372368,525998793355488720034666571805916263284308452881221154792646847851157434896,2294977670892511712067024253025428683286228298303741562336657075751018752933,2428831015195267411524844845718228588108487242819687056273930429836082014846,2700923578171182820368867047124348221802277438109455248143199442899603394392,2918202077135012811708303839811577241630469607663734240698630760729426392272,1905186937313332679146210301121490311979272017381230387713696605200026908914,3231622952723666259725155170777251433314574134508954153397212573798052062263,2073760308908101736909918413175774788727696996938453176449511415410570195364,2026599837446869017470552902816153952680310493268192405274089311326339878334,3609049969545814759680017895368062481706709217222815298268803376624748403718,2081415722863751563860010302122021708087488880177342017234269732394984330001,1997374667892158091017560019059727048762555593494999504033432360705598706129,1096388217760924707533088145160254526517741809681043637922438688902699303997,2699773077861370216404897554440707751525943796409605745203239625127250637511,3036885030123203556516910829190704410288545222271583606304466508315272500108,3414264419875651074112512888432637601173416848787839668535050935398434670512,2061222573042966357090651456362641537632429835482646787016749973157513868664,104592576163384588385602822556804921890484192984566315304507791774587885035,1816065424040383470417471120300874495361071796349578216293564376182598713392,2659549705327356532221895765200222492310174255078718816004241101144088399071,3259224781483118772948807508503564650641848088404090266065460151801158241369,809578582195127428059057043662513770526028394030418021121435813405665884309,1266181407550775100209979574936701666460377628447432390481443952494413001670,3219273446281863475551461790462903216294390707550951141969926984158374855816,1109153925282800879682054345827184813226775229676321320554971298047323322898,928399523873190586952298680027983099716374809003472989567620327669551893017,218025705106865434170884252678127176821857894675059887858425408321804063162,1659914049017779584946593515255201216188268519155067806059738447765905045861,2246611958828123806699949338209983356768635284330680437344981693001067110602,270321713917439129098507746998824871524287418025074748228049392305780802807,0,40,14,60,1086351119,1068793131,1628956315,694838152,304446111,1293997826,1010116724,1912880911,824977128,258116622,464743889,1416085267,1999505487,861556957,1130877412,1584787516,1446517832,544108603,827156139,202540926,1493614588,1571312246,471557504,214266674,271221998,399616378,535996508,888318935,1617678547,139188122,1943339958,1903606241,654894041,1354333428,1267037411,1741398627,1597213374,1712103998,395807197,883361718,2012871632,73522090,1382648938,257318933,1901717924,252865109,1270292544,533605304,1103902539,136665795,1345335924,1191576441,297242119,406723329,442578140,1331369844,1152996386,1642819762,1949932729,1086773928,1067500192,2137864899,569597733,1682024128,1283869287,1276813239,1731648712,2030310416,826957282,667699240,1144147210,588439130,816609673,1799843071,445463866,203249873,547128433,1741131185,1987316030,392109777,1205089452,1613876341,534540940,2139757686,1272455941,1064215001,1103054510,609383197,246571077,429608385,2070970009,918241727,1287567844,845006735,1114066336,44925394,29242403,1961241847,1297655942,1171714430,84142491,1295797637,1501150359,1412797153,2078170561,1060272763,235266093,1386228145,457035139,1033993999,1446718048,2097229287,1274748715,1731823147,599625847,243207903,1597510280,1527698224,743726030,213436641,955298543,1727899717,1355030175,1687205924,1962834619,940277339,620647218,370268604,1328923111,159167978,1619216676,1519916637,427688788,141036426,1120193449,1166972610,922027899,590377476,624730787,1102144837,1521041255,853014207,1159705948,1470155231,1905765052,509076583,51256693,1213960517,2076637575,777566502,1376509023,28636219,20620574,315981404,698152067,1834845803,986647987,1426619028,408024243,879997473,2011298975,1799264939,1742184411,1161866927,1282763707,1348594277,645354530,80866343,1135472389,1321660129,1081867707,26017093,441122228,1693711182,380273623,915450719,2054938579,506903547,1148348025,802474259,785797548,1906729561,614263061,881445931,923341370,1796158459,344951127,1457880302,1908925094,656430370,1993470420,1599666455,936545246,346485710,1337507438,2026292389,2113878192,1280211518,1602212246,227543633,2011004865,637652822,1819563830,750380353,136145036,843373044,1101112705,1595018523,1300517576,1136253830,117092180,994891342,658879315,438592336,126250298,35500862,638616298,740061600,419204683,1879198216,1136759474,943559440,14344078,2010479710,2142361533,2143212986,2023535710,1430838259,1897977175,79351259,1978298044,1207050842,134440041,766912129,554416843,1744181130,1495821464,1497037780,555187556,2090611215,778,1045340353146948971300067989944789094866270395182693463851514270565747953911,2476076343679710179495848392806991500853163729301781010252629350759903898812,1558043579078471176373053721253288180279515059525268473759881150642670479177,1923785763259127899542297623084048458902965308330420274474348129583315803568,1343087764869209320011022388379591910957871468885341247163787501558107700489,1761729241370112683174131581129873743358020912607180684359912070769512469828,2912952738007298436532563895583477812973166287036548984119905331218348144100,231386167140153261723264543644767407664645736545651037458679054960941816257,2829023351050196366851607263742145000671274998362588121737299076796107438756,2606963985723826510252459282482519184506209505251846630935149065472084299027,3477051717579554266333847025206779955007328655866180925550903176803808995794,81319889801372984404113081941216518582246270869760648583133918063583676603,1408484071390697068314210599563803168103320030869553685195004230921677419689,1552521865223499593733335046963555391627800814930320681976804415209136734470,2075801177056548882328846582684332086862639007259232047325928004413936718460,568102368046446146153164363281054852730005985347683220530570475660837385683,661884357360964659568689952345923255056445822295004143655764526531598346183,2478056652995594017316096521697137264835836194136448713522744717533783540795,2268067475611641373867903626331010765576355733097561131988691271116984861571,2143623496587201212915093232118470484482290730082410017299082808059595714469,1078955887868017123725444187763372347096559220337598252422901533762401026314,1896425945106880322222282419444676189740873588448107982935702386943757857431,1890911283069150543319912057398815551917311305686945527491599319146990822903,2115285476332309873249002543506098468017328324249714871645280850734793013984,2215971612227587710762318906544823483484369814913389022542231748107211564885,1679582485190281380721569911575320718508632148163658093070152380534784042192,2110039269240646432091590949941702788864036468557611752744034306689616332515,2512497192186362018940686941072697278088738954427608438099981245698018653728,2881241318849436152764421743429009116741429239129609535376502852790925930088,549628171559266175545830098944495837726825806180413363569882471159417737270,2815047403311709175609587059625614840546027715423689485254769317670106572674,1774717875314931555708378971519986588011392243942827384818695166985344076478,2211154450185438619179293270137218123122530820108526895305559505696725370876,190713098658626801955122031696724749089036362084133521000642259387219489137,2850663016134823585024413080302080324495109324594222866473179863249054674729,220070203221046845451375176795449282697001858032459410132305274098105955948,2690743015592429925284581452107213035273199106463700918045532936061632118017,1788518987441562202440146072425537705814433650379555878786485827328332851522,2684914271894136980104007984347264953660841808218982551270392781955568651739,1677834629387532751105021162646194883861545816168956985932387616927440946282,2811378262100656014002146109875688967264143082186973548536980318877061729599,880872699026712713859450504190897477881601675380354829274973796233442125656,2706913243020652124260469114900203487117763549545587370217975797565617412551,1147356982079635736622518605601369798232315450826279712951968848619048025427,897310358364357558615094773508323111040543821814239919333783487483138931213,1826554235190199927853923880927197330319352385762723678153985224579425316266,1738036954764243344317521104530032547945684339079581445386344782508994872155,21450013438584699040144343981823375399721375679615729805720113619043553800,1138764984263225136881057569640058676597213006357747958419564191659333466077,2896310938319304981078728277971885765230826069090763786997620399053176780146,3065871655714291019029334031962106617766953572825993324347276074398594317522,1104788361662634099106086403742198362445207097936639313315092254119813946986,3547942211666567703006153900411908899861747332522752391507033449455927386101,848105766538483648194971138303941938388482518031677117235084501771976115103,2202497250492675302246262338283260163064635279713631648161711130104179304878,43099076966659351456766864118814323766359732857239236875125773844079904543,1062441039296974533111677090877879230060280406853504025369436982794928986647,3349493779753426175153224396599504948336557974443929232428022283624658757414,222911161642766376034397164131623665423750739609658780517675667990226903740,3469559675244766251601858339615255008268803467615676483425434852525037604419,606524671218375850744873575490609596601436949198875017569994210552894958011,2197633582542937601272393376602406607428133465384435112119491381884821791624,883644334574394230247569025140954030125233816741647443970976751054996286340,2496369879898108733779084203980566943374890977256103330508261827629688537371,2560855442085958629047145495509499202034728056328151496421617540387689824459,2631790548911309062736639004090012767003399318986634581795095090720842502435,2407614348679701212698946857578561856681472766982068776694992265152684465067,414144269069014515232620623752873812953776767545522850995582075364835787491,550247411685953709079531135786567429755270107856936967523876437774198710044,296107070294250468008381768865206927271441984692423481833680395868593060216,1081779688221637762297801598306942713733203076026773545167055997051010840196,428151751939353028045099117044165747790855402895411363357412910512932194883,2948348129449144291165728190525152316775404647455046313285062816975940697219,937001819693327246024681432603459938865263450039003320316028060350119183207,332503737764583128179616725600338255138536025509734256483205589608342665843,433286166663484790142505676582693110620734958484566913926665479015993468022,1564440295717099881404369275657433930683563715774323220667735746884865453806,828553804846265678256610334822539587262277293432269990260762415143922210973,1125292937508660655710635970517574409428151758960854947832173678426829900707,3157705936418455018540891020549546913324860700402820865301239395134686626260,540309860090921045652080228473144609524483500878658018867774828114234069780,3415697001588428311895193204510099925678670276895438067296725579441431842847,244295707953176014596635358566817521221480763734907341314979812178389295825,1935856111751069089973933591242093176252801805208540885211987058457380982314,2748595338380456020822109044904722228342203278698729885987269283708852418711,73989506873618655698241133024420077299648349344978311775651972703935465425,1236673297055439444351752198446507242806327050291602536548290557839365435781,3221311112639011732671972997179436910279196210261855225970130851653559521846,2585331842772655953423302362348471382301929367340781434971350697471250454882,3118480508013394579803187122380499203992005640165780097750206753394035476772,3552862217281067429628323735802541172217179837464083216953266697121096680150,831839486505940574129905652028391110577614606270340317662057829337506505404,364897852594723218402997578775418402945110763750121256492388123772267077647,560495349215250544680215771349798136766818950320432233406180708713657089720,3319322049445034116434887468275113608151217633675376938361847342563290797119,2412353376006349559995094286773334373783520489242081996767765213542490136354,1031814558285919040304770048670478185308721292528614504921403960614478825020,641513728926645615541349651861231534609881144162864356282919306074553469339,403586339912729483767162617245432148109968330018089394674545113401568844979,433150835111180021478225314346440160891072802439724330325380306697049325732,3026813847391116518716564033518492941052608960619208103775282739926403780642,632261288176994041322456457009150650402159026561813727612665396362899661500,2718625728824200608850910896462109684361818316883496374808507290750739762740,2500272035035232618366653930942645117001426195944946270015488732309497862012,714881650118907653091894661898540746130839149918184466328334902389281657053,239434899678718318604587340742769954772985067580157108297841063474788078710,1607760280035624017708420964332270530622624136563380638295506795827683023834,847131872790576776238768123907058931730019378550154557011584237576307200606,3443466567844585458929058021277176916181983148721914899624676361371421503397,1788967347759271325339477292456372071380833056552516122169369800423661403934,1229873140737345091165728863068391297099799249379473437701266289911242818116,1964506919940529222685589980940627948082416887722841159024602157143330506078,2286417810469588700537403218383266010917373308856756547887911181188610096529,3146763384696346897909311737545680572497818361731661772504631498826986578045,2274586530532319133124746073742585654769429021709041295663005659705267951535,1096096242469757819155778922746693220946423029361279062950592088227659177317,3319468543552083902169495933231845690991997151414960879186571821369706135232,1282820257309887941196492387989939007274395401327312763194210217189882825844,739905410135784547428015714519849960409230498940136971128549497209987822608,852684178719908912786276124437684520385548176882489490318253759032598353602,187023591385909757175076172256377018158582960257266183956299674989063822897,2842870523129036496116758515899993776576136410625799600851433897681270619701,3139123239758375049102719844303499580931715680827610342880004775187813970829,828937112886771763091156810014814796082022526195263443758868229084638542115,1712912167800741532170240493695882984581553908824732757671885521612796635355,1545960832581353687521812678572610401125834639011265032063418456032159449980,1205580774290972050419092888504289490292060879863826083934400958231948234285,676701848524707934706174247793896284753059729960750129592921242617691142154,3473243246932789788947143058990031445690162794623460116448570872829588332756,2989049733134636048191162128022624416429478345226740225409673893628986955436,3577914020782276626097930578619715461947676260495632083650599339417876638552,2461417236483464161900232796117081265506066002235359620252176273652567076467,1034524637871653780355360157041866771476487646876580163981915221485719918663,3058904682617656809688680294435378948064015296481065231546886234684064339434,137344305148755574220550168062501119793768940236403448735684103280196065310,1429270223408381418850779066016548969624491255429657297107621909199166661086,3369983534955367301425954052479389030688984945554935970399534007617803895553,1468185376802047834525185862845252946396154680287873884100629473815508354904,2825058950649409047620201971559009086321710053866123886264497483530802844323,528850787222447545853597695240773081754140571749412095414346984524908394618,1000387284960806604841405830171968717005350706660504918698143186659116884946,3530307266290833115439857415561445458942785490862491086588967906540657103826,1669516724384086648038556833287577494485859037812947553593179581038471782743,2083484858097509205583982827102072084547484042540403599542577155469409337183,119970542259337994889591719435902694217450189571457807045382132875119156817,3269237644539040492977338028963695114074492963015654677532623343896394629496,3192364712749181107848761893254939403517741481352977998531357556324211935855,2521507291759379775483361457079548724875274214770629564678574831226861873729,1110600290660403696862381500884228940694449797781601110806674954012710270254,3460874962876628405823490282314428483192201848076721103284649093823108519267,1543344346934602427695041427667449701649646698739090124532164196757891204857,1820563009348975510194266362458412798514490863226246172948294491124538382170,188042993778957506605497649792193934722095458890936594921638558438068706374,991183961330537969220848454023822548886803202557357757813734612568988043363,1879319994772633584517481614843639028669706459017609875882413044095861590253,2183994945109423560300931151723802660424620635591108467041608286966593787461,769932319242436738386484351310771355871378917883881178027163887145803277646,2590034500921989602848793924599519630908843744751887559570956097662670050397,911190118746973603314737035565753590592911845852364937541177664332534392276,1559483410840973668556694969990796422736582831540513256671599394762144363608,3264107220876781082253066533809187527373166990614692721577595208029305735422,580876481969462499668822788142584155532356438864817921572803592395588078264,945236224582535009369671461998579794947080354544459792113600632893594450171,485584958888985976833638351372840821569511521206353549002945592354043061950,620546047644596190773047896518234991514984365870256281464862371052746569541,603594009010171948803454158753953195130738218382830898726349538436785379810,2500899882907799439337612142193984642770148350959244926333958921353323172420,904718214633574998444129449820388859485798673050522406817590353622938188339,563995860425332612170313480851053468885881747092734096326086081811217649794,750061086077481548667611591947748220500189690265080540110303162878829167958,947261037129422608353615979369328309861301051115188311843177080097366237449,1830601756701686685011579046885101552298083626046164761380887759785747339810,3510128498111056551544960688040434248190952669913286732266372524852828369068,1751136855733780022183562088722433861656360387699033770015997528141065406488,1991411318301287563711242445473152199289207989082071396536087164126621036620,2396677178901729830992260570712275405382041305811895718527953708359815118593,3318711561299359939300002832496332061705581743270924949060631858489221964509,1268979406484518902907787166070805600484981641486522942819822074593528794335,981998420606005258680973169092620065086140995930947437918185324526774379596,3425421057874893518616302513783829757047790369972737576955378636063266178428,1425027379747895862058370919595536650813436938840185515261352920989227267500,2259408538177517535532094542361677063326486197821076968866558584316742198231,1929448494884980993817299742316758046919631539768766379033393767940372806380,1100016489350189886286707950439193606554352310109974216629787886731086069086,3471309881724364107215549096673581965276987057935254704289964345261716661690,2165511684295621893907497386420594523722068742189868978408998966359068774153,909535910595200193636998793179643753118827268366514473794890678202719088804,937244717328351195558669430889261011825117648452532783229318875304092195089,3536216455764124955826551083436631777774858979783784184821897005744988596583,3087458756334653232784590768155922864919595667861054285926397950937391976976,222495529775268901783618852273057256278650591994013749026811560520993861706,2671301368694595676131234126112581850531903809377945468350093115195235190731,2526541547736741709778980031113165979799243720559852002398206465330133263660,1382296569700671948537799478415744825545114712063290488796652992012613134676,104229152003779433589207508849884437305020383423742174550985640410510409525,339584082213514976766446466901031442071588515657539182465490703627707330150,3257947558254229639889148976771896961953127960699217336022351847099598150639,2028373036834695428942692531245038996096244872685822365423303430890647588182,2533721712792313776767656327568075978708850086061568194098340769073333889113,2078878685150703787462034207276005271365965250493276074397025837030583928237,1059203524151743958321062281589088235479992248368538098664963449668596035076,3328154707241267471268298949680438821186831011743731430534928682774515371283,707785464188295696965973282826750022919672473522393685086561851308086311601,1612542526222538871223452320509914945084029209480249555912458103457527338569,3307021592759457530611980771554563313672694970216052096059347886229495175169,1999540924356482188317306276924079461980703023060468192416091699925038925448,1906455374942509902030641883514270119069748530101068511099967092628972607261,2156300606478480744983559787858297202065554421989221600734906881167450976805,329884454734429203861615613830997310694382331714759473086092712390088252368,3121824556020420640940361746821044366079850998444451262233122559445240489725,1432796801623299032569061262231320832232992162878451753769211341310293859656,2163350808391799785073123976051118721368313392720911466528261203347826637340,2815466639177117774299913745708605066473547738365487804171609297800927995603,29445561612009161073391449805658952761482847848316001692434826352171555684,1471828596379298034383875209786944326233850152418015681100952148021728723182,1196720283728463522879687707623863808476787709218776276127499073784926622906,2073428852026494227566749242662105488363074831657841083575766595982119111772,2251227386150542350641582417473123465266471231059406773753072903689184339885,3336162533796807121599160538663338025986078840845090577801263033416206553507,977779590010677845284022005939129033542432434130612526158642925018456599294,847344467185822328662019971912045036545148051062996513162521288566623363405,2046358081555021049711209889869757954653485730936412277848126395007436669773,2884145308241111153468903769063387057186848729545491233204428686170611113609,2022558708613886106021604417918713144718293081697645173518374515161927549279,1279632454016740566820219617670408112129479309502917068209568598000496954508,536891727645915132563108203073867826811061110247679023891473091559832473721,432421113119550936627468510155345344953007717367218667021253751426276149516,2163412822102780882708348508123412280845891262284043020488962944204011186906,2637673349600249844615738998045143132270342249851338303212547270847451606732,470384375883751625533526645032113886408471465998003819756796958697956934263,2338902829078424784713835184467383124772444743693746972308453340395903919703,1642069771091833984490726089936037026299424254271768944666979153090282237224,713054776720024539292093442235875395175143734177656896102623973058894633276,1231723703935399336637286238667348650988785674890129563403631567895098771779,2228172149288455931535579444533797787804186615888227812742449805912474849684,1638566780438803773888360655811646264930588203415529761394848791736249299350,1693837361121910524499982104557664607859999592155218115828052336566125034905,1663357030968734653348113495312831420817649124544640393042979494159385433450,1336958798303782279686405239238231981983152112478162950124566856727625336281,2722418047398225819181421398401502961145918801515166677960469882151297690665,1238024942724399730944766175842537095773881492923741052596229703713241420562,2418526613425027364180123160019543923682312448776362677543637579013271016027,2445635306923493815998797731102761081325703401406727780398122917644117795229,3365957350119402805449723071210716767877896171136257849803362935073409713476,274043308915110296371641449662928327055096665422977392556176804547369607781,2468559868764648204485162776145735236042128064737370974374525236525193014772,1954373177729188249386155955675033267858817197064373144623677369684918800831,2840285711483522305116216849257112800490776453056270345629166656154281006009,1015543555294622807710754298668184706742530268881955210140755644872589390037,3402761994310571959812691826942148462817190558380809289456851016523129864709,712738044727306274937186936031951761016059888106702283256503044355661122251,3604806260167068771985252827140437836124247840652787363110333907971719387830,1198279446969647912520783673883248708328716061827746839343805608240012270019,1648632504734327205262010732822715304816568075575192900607662134277651247605,2857877846029465950173203780379219100438620305272566114152652127111185093062,3195538999708809727588964816172656063943469910247932824614233312149524102508,2388081436185078695966707916897809940431411309651023589132633849273451509866,2152097163376385825313229319101726694540954643302495194814771481105889445319,2289347046352265598594454143469093132573350702232540467793409505176520713767,1391799089790661003945158227586108834869765754262309071018006418867977933020,166087990213470603303239227296657463913233990426637801262692333757989079031,1160589185798551048622543284913713697057495928011691079110528419657082053537,986882024415202847411072880659813431538245229395193628930209819502814511871,3339937088819922436352843216275158901658874094038236640470317286801085376998,2707811802857021509304668828937734043318809022629384369115040910842406714203,217736587620459542785777300792829916732141261360740233329306415092567627414,2030684492836259685140795372215771721371157891355893705010418396684155028681,1417452282840058337954997625310837590370135234539270424872512928509289726000,1174608409212198180424783934385793677875867588543324032589266726848782279088,1273825066102059048913797195637309998404250445019201213366683364867494685230,894490986763091413598858231107019684793528945041112208994509758027598897577,3342071010447481973752247124042483884330651365358854751150007359321292111242,566183723366710940114635739581304883070991384575956504993559049664254248310,1433332176107621000373753210191767746415255884795133185218598932548819501071,458013544299557099981453435418658739617669984465823857651743961221107983468,2322823194099813092838041946295107469228449390565854814588514417288271833304,1193044699375568228114429141448739240625723566835254239173593317586998046946,3036170899047699951101810660317195831096934805378933374805450687564890475002,2407521593222093406668522024216211658542357547818702233571876937119396334376,108945911985592566931818223940287030577616172760024623194276481696226404804,337058398994233484373195537656604105409138063188545578589680779898765339826,844419543485685373685391298768402505504435874779985270066842392472721983193,1467364368241108631189498713809270595098932811562848967957961844823832172427,2668792807592750426178219590370266183055995856824908167227967540546555512503,2999124968708197946565949491426402073226213810427503113959275003862705931588,1725870588832843362571574884182788241009037110976612786506599670030963692748,306140061381759217263153399313722106797699792138566909357952106614466529423,1627703317225370571086002247220165199235300819713503971757253399475375910731,3384649620144294442243619161072960250855426015232150512224591166206846595248,2349711011342875264663853526987100373886091042319330156925320680320110113552,3189041640135935453907333352897991346759895493252948498872992367167947412248,172558031801207166812373963925965703713335319454567485568675795588516948806,288073420200121040763435521245136780179365471636628454323889504247333492293,1413979952334890877427329813877475830083114333491035346309804925551231086554,662890161181663314214549547711311717292100583081141166255050724502690919379,415303333157191066886164238397443729868906971555377983821707013679786625927,3304642195960605682284852366042659999571631735533465862990642806027258917533,3240871168043649055589665253741316351790071609574571163702648342358264140618,1311864048987835353017829601712961017347322606710799022348501959520241143824,697358979182497078626413768638519059538914397718557869519239947597111508609,1513125318243030725019107342951411109719719813725128050276874541556397482718,2879749955305482577392109698526122576633129119243462928768529377877351818641,3589064979466518497242207368071360782123399336929936054941075638641396095911,3572379598796759860691873157831047195718466880454432909365909224096102718888,914023997972861255177970462767715862864512435526574078629098406617832100806,2167999184319361724906177936785808868185428008269237858349877557956345873053,3290434694929404461476812400205575998220938397210131309729059585396835817038,2716724652524544798467842273844335289612355334989434548343430835777744375613,798025168879203896217535416603426562838489584853810369874669078135511858339,2049344284535204020705040301183410032539523963998295075105453384774137794848,707429255242174528841067685268962933877985344983406518638552679294102574344,229185111866057976622773927078019803083262381797422501235333429228928149518,3602046919847030692955557426248088056356836438825795534514894312436946360662,3304653029848216330595947934170144337733323764397951193946949461134728011386,2612805716985802331084777945170371039328956941364612112255485695518211093568,1601997340215343964237541091478621202289714242795581256453148577748175538340,1292379492209818383959147793234942729950252550250318706444280713880323812747,1898967271830001925928521159210965618605126531047049782553143982877450079878,3479649888087687455493176276382610751887950798063068952060009318183183594055,3318603056055211426352055767597038089389041245025300079697480035131609338663,3031687996197398680041979215854442196440302219406187506128106403594020577768,3109987686111949445971145418765305815005909296919347647223483553407691276285,789801206336106773906318263719195328729278089792514133792156966657163970901,1120423280507910125314635536727862500689468885807548311248761581611961059958,1593544300953671527824437439934865292164020631675541901672955284641729157473,2976631538819373486723531815785568599071029158306973990403955140030836751360,900717406130397826483266343747761547330720915795000241227441240641611539939,1493844242194252883507844292258947180127712082699455677571345714116555646847,1267892439399354232566483267972579106516597398851436758418572030919915750288,1001489940896960122206236666679432203685934708545674028820605126136462325174,3019666449278042910844228142446985631095312491963607107067798282830694637971,1608892787480281080356055668127763382420388853980713918418651091711849833918,3037196112955218256975029187009416207749925260669240957552282583965021830932,3551090849853529458390284019454857837225517425099598294642272954103035769379,316128345688784582701205558208872317180412821287447297789727928862302941910,297392288686407583260063164486862215871756698463016450855505202912919977288,127770443095782459303056312046248550708580853084140090770118406825006179641,2231418325930682953412916891725488357213540030864390728933585368925521923393,2958302097742314891153346214281437150027380679619561899652131312910678565590,2010122723629416910788975362566732009669446445904773245388695556366586153055,1675268872050775111999052953697530284392251316526758781133513329183799456450,355198399267035734512519829127907641464432754118500883699368454562630007506,2079500330324281396326422265343914496544569304216974883861539296970360585924,1033556165585359470076239109547605469346357295274540366812038560871385928275,1666284526711282597997598391466654263972883284151823013699736980660442154932,2096083829161451614309749245118064547335519287725248554620979294075479707219,3168048655745492963370575840957893976153013766770590537881898898809259098055,2906755229102519855738464302885845854861130564274528875474068402595805858279,908819640090469742194083876560287399805218440195160198749568539544217938969,1270921530398958802309345388712339739729165446933246012148132004736617157366,3544959100211583252434560192942961783072434851995575443467786260816406605312,1215425783469310727780369885059603407073756875682472254083039886701717021712,104879720717145907036005796308150592236871204345866333147928117528626496345,1913038853530902987443818181861094103877860053330545002988978208323189877366,744873334260331350510898608210898986323953198902448793199152715093282075606,567972967556111602344535616811062637963196311473740528015091528826315356232,478810066170431133179402626816000729325466938638822635000475043749207337034,1341751372381874669186532390155575566855204567171910664689055994243617691492,270472077466100370633551066450631762284424793315339284193414838323564016984,3191911211590329227847505154974519550081902805767402409120769276198058143591,1273230877960680552580780710853319872113125755470825044539109722627730392796,3215736624285057624922374947619753744965681366696085383291359230234638870877,2712203826250208334687057195639173147237808936419177797512616431476404998812,1757654700380374358882856793003069891261156993061624412222575875060576807593,2806915223445806324506080961527011881831455876511575659046704232228772443618,1198869867307847663810045026666899535594656206588327432138772704153700711097,3294106047614995213586049084088358105336234035191193032370443142515835214869,436709807401915082631271957897333933074002635796113170006849665141054298223,3164946848083654786486640112085337259029631667343613599795979462398649412994,2063340362208921459808003138509103810481022309372109907315939587701922197577,504830023649252991134193748179890648487998980817533552825351163877157049400,2005836675588898087913954332996368123066489010806101926593536739069255661173,2787142298452787166728629258535330468358160404049844759440730271740916468448,8614080592986113243542684032344624780168877685260808204680108266315321325,963883267683329379696648672032574403553223951703222422634246148995244310867,856263125929984412067941153276425719408615623964539627206829274277600209957,2027793228845656445179981452718410874094754017317330290455419855931550522528,2830173304995036475265593474104735580265250722087051944833523860588529061565,2644965693739505437001837464228609808008694422987232015301021314058228936550,1531634857141640002561763302328398221107239806305167033252588007422284664236,1437836759516324579593470918522835966831776724506191541781693861114435143585,852488274887083617458086536573769491544668694379956159756441618561286737866,503311131215918407937627466249716914068589089370701082085836571160521940611,2532433739068714361816941628887869618745564219242726287349571681558589856451,837202903303670185095476100202634322042300823798504314648978654200795259873,1945090282924955419728230663529562486762446479355468684268495402381649754663,1023116933198563967541226916191512818146946887710075447108679678406172122485,2154187213857477548209688468842175390448214838868011164752116483814324977382,1914226638634130853779284263808655234709464539719658133760589617177045824541,2008011203199677903558348258790563101830135413954264918504677577592092700682,2113671776127365646774232130504408776795226444892321163969931851016007557220,1273466909533493174612107048092105067962723006543190185054209366478211250202,398400768932703895692674196333018370705287169652045357230318652501871608613,3585136296093680827845627635225066591994440747615018717120303469650653442196,1789489946008898982951118286959084058140166014294071889138586960708561706226,984157589517349896517641891129789462796225892012868955188953822477661097844,2633864193608794269825136095324190642435139342429136978709885845545381812478,3422603466218419757194467189876958623691745609318644634056240735759845206716,3130367119979851469129539423441186984376018253108455640610958087296545372470,3388674785984998520831617132888168026451757766502097719729675867709274333464,2366922096858701276931814420158293527697345650673926665709786369350365563083,1927280170973304269358242050340324261252268570007694561018489097296541055751,3557629243601739063595140168673765393347927629184199761998939028197668481012,183432761154282119953565300344061511159409967956255557917472973515922024089,2535512004555426747414304516525892983936892014063052096184475492246914158721,1778448511037793776325000971258231627179064140121567354568838349035438332767,1468574913184212406940620420372866790279784879686617160806950566078428866427,614888292863353362779342141171911731816956558727286896783278013808730797042,646965455322466389035147915297252939872627701536432855982784789448164340856,757126938730858484145558824918978725769498035951924018253477404332997176699,3532125248172543946146646305090203469061516164596838132538756481292322714333,1043773887090245887253397630448015752689534925836916403818779312332484212640,2930438095411093590673492407996454602688467726145118029000710030406609299313,16048350503059770320171925971221477342361361637502136798815422149455954555,2530742991422286771539117910453062165805620866979325425755014982486417401263,1324142115257531428526487382939945823252037462366512374903734345644148395810,3290865700280921725844242698050639309397594696920602805326373777919281333257,1702700017359030554737980886867119087826336102387860781685712131127378229140,3522378970051870285679722888975272932050283492934458841087449630246824706638,534012690442458433876557205325676908806453326804214762531357872248929766772,628164953979099746858646046901605033624200041998178270038654717915355492036,3065487409513554586846206216061924863468982020562340252003710442536048232677,19804529099848690149877804792578144241999849602166466485752239264483419111,1133676938695714310702188972973770787139629080743239351198386307215472807108,2624670442868956785591061595201414984194097490182133270188515641783080932737,864115567242342147176366839463343969643456568875389169508750111744700452862,3505182222551346436526073948370568455573566538918340483119291968848765393074,3367160708900154092871373689580604625387807230186425085753959563958156378140,2458289236634132996780883626431046908253034936823216669695475267046638112567,997265741984282310641542345355479699609901027460161396844783319185796774114,3382721994325009976043516054800361212744388916571770583507391643528483827219,2214815905206113580644379408620591903321281008018672593726793683156131937589,2674286272225118771531916114261914486324260088521350932220447757412788804993,2962477540554681652825916375587646198079402770953618149233065547780326696279,3541789139156840134655004033285550846994825801341225549662630665985859394547,1290881527725221607896418062568704438146397198224712734747385564180787290876,3356699564873796550296500246959755181523336229279618570468557995177740076927,1315133817835585677209739122985298851103937420264078803889322936243459587741,1696344439201342477561549849352048797838181013561497338777640225902136935306,1906864508982263220758613148593522174110923604358262739463364042935640658104,1789194908855708895258199791026193653892900287095602565539790547602973409146,714898727123362984681176777381152046576475614334474356380462481090529122529,3026877053513101626859104375205788177578779149603910588678987797098379001519,3297649093241441154870463105813853914015025501550998239861022520510703650823,8126493529622319243073136196675297841021362250501737222959104911732805323,182754275305978391254635976327855166762468443569078370810674693682920927054,965361567639226428755483678912202178422362882262163582915536138268480770625,3366448111366425325301966499585578613599963785109218531386917192307761765869,2212702341912765423131006523572151199036898336592719181141140818546104522009,1664705749200204779481851227008971293570763180822317445598243352519801107088,242803977809166599006937592640936478115921830131991239582449073078564302968,507531079605561241496906289786555786577816935168549912671327838741882091179,320388894312946045312996574434961875703257676073667387668491360797613052250,1712337997711513211621190592863234892636410598858812361198242213068092923526,1098870633819091665538392544959947271010230837859324171638627218263544438485,3381452852742143251910434937459484806473938079778730739504976855734556390954,2269069056386977929787816938032565148564307388889112798485090589982696033821,1641276215204215454457302904843319116820234426556652234042289339475945258892,652013913485924153667060955861866284066265599948013433020881845030617386370,702291453474789328237278442151024393200902486507743993648800475744006722301,3338102855738534074540583631279257143714518150409205800916377561086697707120,499624244287303668008870836193305458041178003522244503003768350375572678928,3494622505275843961295582629118109544885994470741119714824710847193462540488,1965910479161717821548563898250422914886080282298728138616323023134873537779,1036943972978126623463581568143537004393533809098306318311975852322079132330,1830833247181156038454355778848855073464490650919866406294792986061845579591,1135871657196710453589634079338389417656758093806692827904033137189307245596,1860347869893396390631992026525224547658601457462480849271533553761832047231,2414624107565423613910775042994784389878119898667750185193000533612162627714,710168874484710062468944692108384331436045164536967901535314306290652206088,2020592804436502577454879929946470613947501474353851327590523199543859097038,174089777771036746663496889619947622193866430752475794449183477526278622907,2932954586715671577819091590862461116284502355937919360474479350223991211514,765327261580988472491519827327433322405107914444512820142751417516379481724,2109983450358025963742307995226520714884152667573905385093582569129024310156,3457115268326956549614988884168892644371967042583713786659817683561359095042,2682068705933970838688595340037609752968518733819686274176112886511973291212,376026222220420153735728523261599151318582457425893621712116078976433740858,3421696145595031066171307763542822609814576718134933046515739515549682557862,2773927744279634867366501945989619842552902954556444346129512733411264259813,1736624104253938306316238206916128397811291743823462624099876940972762445470,3508057125947639794913455927769583138733948972116943682823575915787800531025,2966017072534411225532222793708598898768828974793988662755825202259501837723,3547434529365604205565114567673619903264573691312214095016981179906551543597,3548903045966394474448641888244277472124334136090031915276058256411505551925,1064706877549074254417743600492434478848252584053846323521322096876607664977,877412012332186673243456673560397682208640411904047679105748960541557067505,2707207186664025368014357820624805052066040354066275036834061221149212476435,3585378441545978685062459513645670438643120121053157787800384855508859059588,1214380468360423073849833227875645191971738482159577740528204771554290417357,1747750645546094049804989877786264608188923006275657062348044855735710194456,1855914090846140342660121541473445945591888909020400350813424564368347460585,2017467012213082688333107157718621901018734231042080224874172228377692132191,3340140099315037066086003530749106485875412622967253798997281276513957473598,2812584737215853499584930043277626570814214602440975473508980814001766171506,916500068668777410377405002908055296554206621694780414822530269152021059242,2705312951750972548905804539654969466891568903021265184073467337594439037754,1007584049006931129968335656362734481431937568831435032006575056984287425079,2688104139777715528220708752082211881011259462270608970829308561194092005408,971238741545959399636402552899414168119908434028951285854815211055535309356,3127298578448764786736764715545745391807436909930628075078315890792773980954,728862729567605942279053290459789126127672204628774095464969288967277390270,657508715816329935102429113956171228448782912354027774997646796429231109459,1940742523142207919502911398319063682770353940512049609246970488991711287258,124049958644064157133252128821608930159740337412460507203551819689927711516,3077360059565314505734158960707732940593003335969897440748575723208734198311,1026593833102171663275821235944353546047069018037077016523341919399966805077,2708894207980178379958286103543769761063467600655952807314454333118068574958,1608720009563877918774367623589817400858070474336505124204245158834561972800,2370695154243738736427654331594354029543579532330764797575940870186919459425,3275986835481339355729630981028735911677995235797849945846305544316623454199,1813114353089667357406095052488835945951380732636663030854150454695075103476,2847767411214629205329542262360510164495266434749406735230927034566545425910,3500123846671822723223327285910496990077956884596712180088606450287792014696,1021742502159931324170718681533689263696793441276834086045098050723748753211,2377306140782600844799365906713455088415544193270187944206471121356231605445,2851944887343174972103501977085744322333379762895675356409612430678265358715,2863971522293491887013771465194653936361940967447012751705767107763047973381,1609922971934758925455881966653242475780189838877984446623528339385316154729,1088718870225556993712923217989136631027616548740901646083372058995761457789,2048093968978564639564791420234381913140135580767089363161863987860191382028,2891554479173722692101541236315119889523909446821676766476815058923949416107,3100933620787639049891412805957450229301941402979587373451319741841105014566,2098633753379792086048020391055567949389806066299884136369791116062284958240,1229588043033482186166192275586298086380065914764247687274332816844417740772,168700149037979198012452282753334187736731377445174907058124276800807889244,228894959101838213651006372857253763563285748893675506388333877774077980679,3555952468321612526776812412016922458069614329213460132823892595214087430834,3325257383770122412772041758808978322046863917019267623521252081119099868046,3049839951038512913819781541065409286194970105530694983256623189657029359077,2462772283427491386632303456108694445618192394481857145985861169466578842120,2578102008587774095498722159614396077431016039087775058599050720849240786468,2633271048180941674785472055215320580875638809531684711431055657830432509543,1263617647870403491441315270806954721236955417306549555585938046489241129613,3042882236761965843267429790213080957199677502749948706256521921188064469998,593945670054298045176021685901433088688433698045066615542635384976521314213,631239426320946554266643162301964721070216927029644108782547691336143363992,2415532676910998183281993658032418672399969834283301265693571110690624993656,1485381976958285235722515951403231856932433391093960517220325365870675780700,2625609909642661121793053062087999356162128335626139656435334492254728618294,602011778032814417606218226572003453130661642869392630359605520429993676684,645134513361198725511175903974515028063294783727013005058326152758454445102,471114377794811332399588985013978514621026738790795280540832747903615393166,2578723589773188014195612640267872852306035544101632765662543970250361674231,2138613600565930524642622959887116421750671565996206972391367748269336351052,2661299081897868052092810625675074214429894049899166355389082603873783047927,1635363692636083780456427985910905635438286468174866674464940119899406728637,2737328884435367027642088689577341634967086829073797901995146099394047920355,3334273373040674245832233705598310453820536157765788593562239500277529219550,2587208084102961216729289950791799804964990747738043693046204739935931086654,575836252012068892730151307764613844290844023454931373860466762511527358606,835450621730392467760455787634923028988109918623893078843810446321998291178,1132302695042467149485870316182862819742724599307417501217137415206963982357,1287270133731954661303736824280014683201740498835722105241023545154927698801,2506006247987405078508550903333335242709417246147291309483453541256286310551,3425206177246971670804092449040115121174382805866418145488564886062311512628,76750052951090082976348078183588026418849500524016118449967970540138864186,3545163752844313088607668320118505216091277597495863931294749328515196973624,415050839762920033514717529608923237122893158616096031531221315076870026140,2155683492099451666973767946507825254521867479637139460864373276421927210316,2502367009653424901131228438128379088089817379725205236458496952703878734209,182818102014511653635255634777472755976866237994816513887396892178930793410,3484069758791857018842192888586397909512938034223601603176963680144392665670,2738093262326733234968984502643499249145083114114983183025059864791035021371,2659959351483109806354034309635098030804506681678805456856957832256663198888,2892589688872753842619881541963121326803204636878054539279514083390106391494,2221289632864028059994033520769325621967462337480728014441793038865579656427,429451199502834323010776058399818769542844217847380589881941835667526487003,1778230826484826759282929360265119095155683205243652527338898252657115123268,2018485427325612100290608108595618963022011506798491249746906445049943288088,2188533233643172568102339182619496027239138282269922767600669724205242368323,1026909919383192593653484882139927576764340791272762180718597725180752780308,2750507299268493164977106506039150597652891725395652272528617862641855190036,2289652235101900302783032120851620306447535795892336254305170400009456677346,2969415861501492370017917158521288362845589607323737190221900324976107212264,444509806610631713133343777045198939300300241424461247971528888344704609077,734458768290997102449495354267802691116326241937766605359673829211793938941,2667646950435682239674318856964783650205318075183797024129023112223610878108,760614896955734346854344462094059958588157684083723672050819928334980676706,2692604709109983761058984043414217181212882315972408794625548765303071024078,2867383899882132132698441807360469886614359641235821236028678629176232860625,615847438899453177662879874218100955274689515099033144404531177952416908535,1830363872182917773601241894999662353543167756724295293496007135530190206947,2267943535353405473666826271184830310465509642190035075314703017830177905311,1053764193145391701483852659384146394036604018621832285345408957322385409913,2862841163121320064086077868865731931863412214385183594543702266364575668745,1612398976287861996645473271888849265283389288757619501413495762683860746226,546716395173991565810480941894402925927163487966219117059450719558361573909,1364467159306917474136351375029158805768142218025425728850488199189268201407,3499196275050894305027456401695492030813082093810799573958176690196229379513,1337684667276018462895853896685673277652068560724410038334333478255759645242,1316240671361490235727811579915573141985481459303389714937616145567102201366,2790669878513696609854145195622281822309290055029320799843417272817048639510,905511819064992120379695339749850264206024356224931958930741306057117641960,2073159316131811547832947756069483356802581066579692314701390913026578977105,857427508939592351848351226017786158310638819993185354782284452906321958778,2545323761992120672251044713302327621647362257963700682545692761456561936834,3465379839972660304042232922064323433351245648023834311364101305273427543886,3245112659780464646613349930395887119532260538635908111410228286386888268499,2861450679297182877477532787909067595646079363397365401752282741862436000710,526604482944379874947277605490205714827582089191471491852053843499573276800,2408037349269814572123682633341451421776531092515705380490886722333486452173,3013118545204613953636270679403749247825398006669801962420540393900160538670,1457389933619978575708216206567495489819458264007818145150430272580284701975,2461314032361340649777782372354809008669441376640704080793424856552623324236,2585792204913308064913576249647402805088880476811788272264146000359289580123,1017991277378583065048415486849425630270481451369563736556448754256635527630,1677142833297579224009375027922193536557432109079205807401674934929666132052,588630804241932529516196426471260743086124151999947767345762368349034136033,3295742694700501655800150600388435269114439767401112749897918575257790207970,543922895314375709324735517616279548601293299689845679201337411865689972735,1584888290805344572299465734733925071306446372500520252572040296285061961934,3579374135657180194201341551950403587386601488691656479953630844825343398436,1679647458907935529027722701442548554910631294632766784214100294683307527506,2163047078313621554519587946687772734872799222431796641032774051962715578104,1585542943736829689937700153983040869597266882447309699608203517342051055485,1091971368068376811213917970789766168358262293400391429629765245518483123656,384407395393427344748437348108306108268449981946369701085862456880408406050,676408863123193471802459320079066968902430843204356433833626160736831234315,683757297313868319583834387568920274825397287800095803637462460027127448034,3181638787678533737604693471647065399049298729125189410957324216569133444391,3084596023374900703218916687494065354148930018783660624296307796524716104180,50294674994491045514202513337511567832727460482295640988626118300274653017,1265707025224217925125130533652349513733196772149819937360672532477076174453,169517164567928373592870746243011384203785629922513393615241253359463313770,991417822799331441884357877608315578599037099475896023360295210685829479405,2621378493317854103127046674861297192587577874763696368301322787798286060175,3323516480549091716982532832762649054583174660111369827623246267585824147856,2243495716713424542556288842944035572183321386413618828586646131368493864436,1434160567006429641528551476489601299820013211447790042219420957084174576158,1573880934059926091988162354950651085904218145969193572632880595477984430378,3158500726120715736930478769760210372768417254740265658036175045542965902547,425582471090836717269935354786473433701787896288441994706583468587333627291,2502289605903644277512528878988206478717715221005712718320891772760962252734,2301962086653900718011630332106891922284558150300705796403849386830411411061,443703045021425110088914363597081063390554783645778570970279872544940970400,1840827815134721621704964246804132651563683481124129820727756616235476605156,622160391975161100806726653982388711658546391491741146147797261768019623422,234204110236492205975474214296904213323434934327727654934078537290384586532,120559144594272706797595675725306203106802421128306997387877267639107098746,286184294079650351750118496225086722802667892779008782902112891025454422141,1002394408619648511834314066620993072757685124038905304997354146103990935720,806222622314958693840588642735183119242218782111619778700448538797441166259,271543247660039601372925501000742319205296356246324035630843886855101726004,1571821841731070234050937705168848165290457320196174625131173549521748938592,62733433749872665589208338768166147327452678819202831828460312280400532548,1441595971371396711227478651606296293635979693312703350105417683978982285153,3515129120205926390523524377502150201263948558901812202143915868193117553987,1734227483729056399344506810355413862208821690625842494135979372598918860467,3233757951240755122378589189523719788393072526750867831208006255067126023924,3466010568712716771819423327226797633217279486593763077829245184490347779029,917149780357202670478365280650453024097450543759071179355747396685970681832,2120981635175992201252708868591412500972256081503218598607213745761535609996,1870312764553841104753632462233612417986252991924924743570027730606349260319,655491343402635444533267326832999052775639376552952094054364867588501514002,917623185980614223277618388063024759249500169446229283263096934187487927674,1608997887966792765243152164956832756344677344868758448806247041222285877183,533773350454963892704992889979561124938335803889525814851247530758825343361,2291908498240881389854819934573404495873400193048017949647744800799548976677,2741663930059901834496961962067896950420462085813640605014431157001546974806,2156518905271542608530954022011545114488901003751357774884459672146360193333,166377617117423555811514771475830500636176204839173730935385655669126335844,849347414810468200418000759869969078148366554468613151654209353494223382282,140085532856183334141819884563196883561976448970884085076000835708113876671,271763602907697060760594828852256466526653112436299338759341755578773590104,2982674553936467561048323854302895986218575300866465589065189005262855077436,1766418026766389560194591941250284440825587034411324174231435325377212223230,2774367207187065541590091360646657405010746480710844378908562172938334836607,760623048663645450423110249527955556565840428794097885021378677945440809089,2657064738689917018551174873300922994809958079082775535666665036613908578855,109296618907048756179968378912694503851248459428955448765372469396666786120,3390864211856936021920516532452869019559925643741194323491691718755830823312,3193135369429412355462597608214302102490545268481283394077242947764175537721,191447127064976280770601738724480778891657627701603362777240842351072164809,2161509814553185452331740717112890377597697811880927463018307141375735216136,151813681483737201107725188417992563498884877827822794179517972032272439438,1399862931914400153453643031950848926100487981087857145356841063325133758876,2658809838569097012640048389345451553370565341878582055579407569805338974427,2476644754171606823453505656258552630020561495667161334824878033487741440095,1074951269507144141669611837748598471606253924406288470965510614521425800813,2978943531414298631227084531829005247399947539430240618426724351336999693488,1297426333658825909751062251832739180431643747489070184851007000845569815796,2367158035302295695791295924158321300171276182159086625401982386555399956328,992722509191455642090201127133513521644798162510955605026216161106674178700,423232466627306486016578309979573194695001327650806114606790849474071166702,2938768614425886480446630667933529480468010878030014241741525517037099816843,1547259195932031490755927898294509538871002915437634812338021371413880237808,1301402130102510385848562635066968145782088608924756398072000534681328568627,3599441695816668580712600981931910896292015196426011877697047329120858133319,1793585118709347980835886194285459998779087882279825060861937056776838032025,789780517537919787463090618759894113251765007717122060394233784021799990022,1149346748616024475603828920879100554379574461770090647985849473125872235734,3068574357621768496906211838807455375240936299339760621189478302990802105459,267392922045418173918158362960920114607922695181658327675360914905569567090,497888217251475044171391769704969001522363244347440297916756936949079484582,1744117788198287529978888384731396899874772666380816952800221294220467483274,2010616073022167212706050514524781348978299237865178243692064503628398396519,1174447154272518746018698259888124389440466168523744716696267423492892337754,2473382193913431841097425963215708794167080457608846355353643552726150202528,1875220409068251228329592466924070493593676205773451691267358656945110059379,435788963448495941661564996038926405624590835765050791474848228992947475766,2972298407150965306947549402056158572949469197752438756928111202415134819517,566273841685028553404551049915913863745750169798454106082225191654306245436,2383099373408608382869663574954155420477704987610771792520460773110871494381,3377579343653566038915782037115720265810786507800442200466507947988266233217,1442157270814793112445175674706025205295095697912341894047477494736896579079,2137801340492711017566832302587447553629288784240693880959115698888909465828,1558671960783823969104785714295749935850489554719316356205991607339670660571,1292826132663771102114569870690281548198314959549291959980616696327006078009,616838308706686860764606123766887731765475070325648679237879309708133651113,323916491204124681522966862821226872165670495464504421686409205104467072106,1300977960792632560311618345136013841211874331271271941525355714562548079594,418673972206642341998910058763296336075023901905480265535031355598029570418,2458277788155840204074309518764934938730251974406699729806840997262406219616,2817499994775648156876247645077533266786875850358062738803831255262129138921,2350601146674171091905497875689746638593462126271650334025687932029658948890,1295902609452180499360347450902524439794894460901192131249487530371623919212,1213249253940543921641644352512307599920642857540187657186044862671373868952,3305642393872528030063112979222897877948583769850508895106139987878375815888,521752035309736706835374328552737529425760263797799938609865838504193833883,2414113455079057029662693086798039457105420554794942596388677743316304263746,2179050904844101471448434940127985496368620687832180522175090952049226398525,2282603261894456425037820888933704570474670889575024771942409550636731425858,3282012357511547064750597223583792287291391898359158041648286840641025253596,2180262218586203443339464537205843489430597580179600210187909515587975056835,2290420538053861541853141667977314750787152335046711007682613575539630053787,226879710778390865598071266109650341814492033509145972295475356970876500113,1012779399570870996210583842083506530481205265758676877379363342719566431298,3025671561768277008667665391392920459451492594781347073037930628747885703463,575790408779501421463396735111554422316763363720731305530806633365146912038,3388254452203881101876840718733625641965728551578712782997729739861441901106,2636971063165889260817178717115326336773137465309581059108201258329166581538,349729010499207976897405877428036104889373808918546821793410671418340572695,3353219136262257307315718112705821814474271149734975487983569583080847725812,2958498257023489667850400556553694911548786611284260418738219614583325924650,1527806446959700326528114812292326751478412843371286661427803902984560576028,2661270662124811773067945680312190328919705606534924854597881708001966575479,2554883726003080128229453409056414612896846677465836887094901703315404460000,1167688541296207461849544046044233057858716618490545689357839804137943707136,2674917106167668300096285936388286695621212529208415769825889903635749507027,1078354134313873496288813453874277391724416845746841640067630130693490690056,3393601116170389218728771689961077548022012083075447043396910524684981415873,3117965367880412130247070203183531300847207725682657568056861049673618736777,562259495515541488553436072590915976355466635200498014482614373208966418577,2713493137880587544438583677393527005761929872479753043691582743194412294559,48539881354198885769036220704465611615185078772401301713239086848888893215,137916786627845137817911113903757194783824482877461646837444952280682385121,825539267140919594159076246363641456057327472083822187849219492530956276456,96394007608786773359395056178006712672350541882056364199633129762920979377,2797961936134579834567815342125114912921805666653881058795373448021245825583,2008142659855894602420871321225014587472550656015419382665728113408162026798,1781261149216991187875457505512343366831507803013163115292494859149602136006,656415264337786939607056526279764415226921306461719974418233302294658287162,774878933405308132371933227155889354949423419674418504834683383072544323122,670228719511739694569795031739767921794411208668000814511215909389547526542,1728637834418399399693982353965780629267170018296244948360709465457928340293,945043267407259505828723124926814489246053544201999081394422408242042309746,1018619616998968897142140059618537516531268982650315333990440611755253176758,1312072454335600586324318543787844260334578598635458369361326195893126504874,1466482138913864886613809751178538453222918360589328407131282585237561448055,3472236104614887253821972976131428187158948042091077833498458729529609654444,2705632543510126640228423365229013101272899574446005459277344986229462900270,2388790552032264727920794875244766608916965022200010405065909115872066366394,2077906892912254445943141351669286943979354718144881438312710697674147313479,459819024425719363171374695588706565217366820177587128511605575858619363964,955395611333317464601185584957207481201618475342923143879041029582712475054,2551442206836361894411005636335496107646068643927857872135610351710566045581,2568871303897779420494946567069601144445437735872385281786814415596221031860,1662056913738476495972750037147632457312744949631337478241159340946432262625,1216413247228823261696448609225323979226827793053035099940873692205269477954,2678111144877798095001478337283247708573855426487455527870240362972264028517,2637542893652857525870865274836946910565454721829224908261602515174319286044,252665259602835383379130144015958396250202929974000327588042268791534916856,2638480179457177036902699513854420696486542784361521491722323694787071381692,641134486231817943405463878631818422190609135589099919643577527373931822040,2874634374247462727692345367466856773484840704170092943362097403450957728856,1686971507438030458842163557432219504960595940144393695391314286158840823782,1413957743536284611362367992452670267478262522550271362442506406956939812612,0,3129096218242139397212656540272582795065626612804397463022944193556049759312,60,917577703,1049496368,864977678,1131694260,1433937124,532997998,1011330104,1967474576,1540609019,2119376526,338937711,1465274993,1763141861,798875952,625221628,471931280,414014777,1804682768,1117212717,650343995,1051919351,1269836363,2096108880,2113268672,1244161656,663690413,1959905891,939403671,2039782109,1396725087,1411299089,159224337,154673309,960912983,1645209866,870077465,682720983,160865349,707719158,2048082247,1304643520,669427346,586567053,567320715,1670089959,1868694710,32640381,1582845280,2098203872,749614048,420659002,330421298,233857498,107588021,1841246100,1821652105,1039440206,1997492145,435837984,1291291303,536913549,645652721,2135612795,2105845318,1384054746,178008308,1517279038,975763978,2011520993,866900978,440451833,152793542,1851562621,2005073728,409224617,1983143867,2097408477,1368769287,1948082251,2109693853,577234666,390978808,286184674,1746775275,1056730994,2044122175,134028381,1969174234,1851099059,1709510005,613618914,118777256,902705256,1410902498,584953526,1177955734,1275961144,1352112214,1954972064,955629290,252191701,363344684,1493432264,899003721,1207434784,650633157,1857093166,979144917,1381222556,1617164567,99349460,409235434,848841118,1731362519,1653032097,1203961623,1690580512,2035287495,976471149,782710905,93887725,1630884690,1600215129,1763931652,227672390,377945733,2000661031,972142903,1934015147,2112237739,1255232474,102429248,1691568034,1968268556,2029812957,1135713422,306567951,1000276661,252390905,3116916,1239993892,688615329,1045910801,1786402777,1869522411,2046178033,1746604518,921965378,1440402726,518952528,1975435291,846390449,434295953,1314109754,219292506,1842187487,879864928,968230329,2007413716,1040493281,720753463,831270618,1419423646,1201884046,142482451,1575547016,12812640,1841863496,942129732,1376609434,1179186190,1334077369,498024749,1762691964,2065729224,686114602,779345868,625589108,695576850,2146052633,497283116,640202017,2008836098,1095851730,232562361,1310657028,1014197623,836549802,1694346503,331486925,2073873374,1173213757,1524460603,532805513,677916384,2132767556,2128125327,549852349,420308544,1281572552,426362451,1401403361,78762523,1940335394,1705283959,1539973917,2014018700,2113045585,1703568692,626307566,366794661,766985566,787209635,1295372559,1545412574,2101326844,1595497578,652007512,1321367081,52624416,2089769963,251299074,575014282,266099737,649548457,1411065310,1412672041,921869119,769595649,1753074367,214286814,1434965430,1962140418,300682730,1012020277,1053055968,96582739,1498414384,1658745447,1969869998,718,86224483031509246967388464529923511860705213454310857703336151080644818603,1214370275798363757958047572311765132883190691883019975143038924392967975894,1475080621190952826920632207844563261628991735809983797434896556365977712569,1855823351022352637236701314016048335554355522133369955035843530283979513332,3557481892923742762597945663284859777901289532671817080750530232244936232046,134308005645785099784398531445807656807267074798258877341139649889959863625,835694366292780293588549557605787545250965149257725113816905918645700685292,1429896688096005750663284017712885659180927403450402330651848750719512977889,3321805989029643088456970369038855861435186752032528585365642111583929936869,2555279503626797586375960515136746022206609988106848402416591213500680183918,335594662338966261217176194522052409573496559769589460343542827294746745577,1407131600879392957287137455487261156725695693237270822460026549795052009336,3077199089931312779399248491139288466144431506829870329516974538880846936489,1899597286907477220171565575084346866375872035927417137145123016270026204771,1081143628640977707313815660574443894851183151963844747405998524583541444344,1982986838530511090920789302028404047064804804048433641908167237622875147789,3449622932385828532293133891743452455761905144627243717558608341271186258179,3021007726763616264598778632330601950111424547520104146565922702211979942127,1083930058211189043546648493122753643053040509311684935424342933838650191299,589734123445179886063394874367909638512012979399044902324447663057230835618,2349333391550444625054956544064194879646934515508493990635177965776008021199,2427527132298041914975183399936223735839986470909131270752391086698487334218,157343348738951756700097161512977366114310611698319132939334486841449708051,160991085590691604967142335174361197280205237221436838434662174265412662315,3367520083579510225535339096954972020497326578203131343474564193223292614394,2252376646330973279602366359244943132247003770170924145465843508449027383991,1462589484113436507532861387415437242265543909471755960078416779322151156448,2136033369025211491757248496721639939499672584248095898852439699643819552783,2916365198582933056533569841879882437550335846847276650734114589280131136189,3566743463786771145642063983632520321039373865212853947399043157396074474141,1777295317297193591192986962135428549062705574288383047305896087432885018976,391082927215435659173146717535444047339569291780365001775041253401365267069,3548046555073049063294485040749467126298809348137316031007431851980178873695,3147412732095421749288708394450831551328189845752551123153310868218330492793,901380311241335662159387133514051642868074900852482085674606469814561098414,569088635186497826269679826599546778224987814580505740786369869357294682809,789837765242751701825349300238244774198621065749565627775596479832709230040,1793184939678096956536292657532205584275823927401285461995540165537937090606,300094483538169314191547290213733249051826540929745663246051362310005674936,1713660235242629164811969972558706176506332274417104853314137940271359235680,2112915852451529067238838710706248477723057440821355474037515371296641284709,2102870848956176205991117122680490534860831339514837184269113306994315296072,2576579567368149813352671319319392521774409018631360665649679012873518660988,3207324426393577753053673411690330462413781275017711311873513152498721939409,1448304380242038601201847378746984310498254660803977593680485106906422899244,3137916553597009134065894775105300565112892187501085912325928673631992453273,2253708376440414055408342813492866551240335058044904953957770073997069637528,33952865757349031811938112891756642904028262097659969616815795328904085020,1241326383701935777571378488678608154715908378304733234152937564938501812244,1251375175854398911579570842701887146618631053258690278435158772077071737150,455217234320677235668479099377531365061030362730774936068190633431983498620,1608864194160051932240936491401922571021213404462499115108945498310335880230,1895354341199327947350263427520242946316700978885330121885142783060687556059,2920293137510822738868059205564211026653151772593803599480158199784693194762,2795683836208092805697330610999281385716553782646558809754792521915951667223,441343911840977902350097055590236797645897190288477074449781529628355582443,2915544819548894280512327207979107746626501186103593824778250052375584156092,641302802390050452984585607826836864652835507294101308697623788362977814214,1106309524449093726240554423864292109774252683058033401269763583061933875049,2823756789715764527599031953907539046036631012008940261603810577622942046115,1896632679809875632440504419254096266489546985705813290198141573993676242394,2906867397843105964113701737206526900440287611395913802189558292300406074948,892738144020469612324705126730128427271804385538126742932131853830679363079,142806661444962804777981868028633233152798175814838357517617214667901493152,3522554242414276418733356960162622645075409209663373986683672643515280391657,830463379040857239218762092346910338674139629616252552975093584530304259829,2019897951609937938985561844057411209471233335907829718607097995511585983700,1146480081432224816738525529983034193220419704687250037421795764563642108104,2682446210312123794321786355384770048730011441223168654958990348693293683477,2242463406848931730704438914730797701246428787976611407747226233658499133729,2453108984639580833333309066508290589033627976888711627421381278083056163785,2926220011165579077630316806624692550001872324442195831647166213733875360593,1060829563837139619417651668705037546901867835811168522025415218046132749224,188745283879087134334985684472479354495853215256955595948245970559360518306,3268394579415754355175155038894856593864882510508794101914981813959368043709,2101185192343267605102017737109320579107836500208104728692877793025456686165,3455104251276525638326477201534513548772880480061670152846900377043835170506,3160575584978184274386496480620763183878881116735726970142992983316765617229,369892304791783777603078006615301051571825735568718359678717418773009683126,3599510589117559632210077093365009642451147296779493721890652948111431104748,683376577807141722900174984581947319732144477608214069464995059492566280695,440802121800845718961503679045138125487946799813901127657737055632947851300,1332033719408987786144102788207504191524254587462924418351470519759930944840,1977174409703034793726568138455801828385625080992867701999278322576755268628,2318902848000412558127744298862850756024207973156889114166382598812681789093,3421274322889162262712719951865583564281994563091594431855787156866916164229,2165315453939776868909750072183379369189672333832929366106121207277472248340,3408659936337811694671449277996810512459580942282408183239196185400214462777,459469589241730359397937828872384595449557919954243831920230909072954139109,2712957180892649716857352461272934968757533737665814916098529393199213124182,2278229878402704901827744880067010799444667036383751023711213893762713824287,3027553476952900511090476602387142160668214552854172130440088994004281593693,941016971174187316217043151742499441213873468079302408350297393029755890324,1288562722309838668763927670024342449297248783275873076350671852909138503398,2790306938083775466734662885265788296695198972142880748159898461076864644130,713441818462645059080219398546980351141621880067160347663247778657448162383,689644478374214771708375586119932266109327229621861584195009422470845713912,1892730611797112001464356176208183670790761471064631216062197223846433107408,892763863151550993563162399374677439317936783654564467712055453354907420118,3091806224769028187899746082420989201056752083839136632769451985782729109547,2088077479150868626290970051830818160500977866297023856790115802545984409553,2822803672401319753286465929418988691459683082940984536028706010303440756638,3061511468161356921934766707819312078749266203006062390587869004009907149080,3251632443247105658994821341598697966314542226120920503365204131960805161772,2609886523129343407766578407203663152151668668256376645218967210623840053830,2247991982791736680582361300295004181185607899750932253431781780990948284605,1473964203630187546432315137183807023199650296722241240761986692250526394802,83913487501588963561463050043990619093218705647758988112729739450591565430,2326526949418136487445481375365904161790770728824180919123249983443243273903,622029542910386988935128721110882019172024092244792173625359038638450075116,918644395914083187965374949007439933900001038695349455368953369590563773341,1229580367181952832419985624830139842996046803405261831568471508066514709670,936693920772344196071485495135966254581574279735010465680824514305724857437,814385842349286414361497082825606756263063335455093185264962787104724011923,1773995450518140048565960256303838699471746449098070042964970469905118223147,2841523411990922057539889006793768271401497256071368917223941863101615427387,868369896592635463811597678041422473313644574591911372618965149160760023664,3128233367091010728769598620361854729806149185750645072250422149637649224747,2604320657157833929001186685639202044995613816285288141505979537499520618428,1714562915089517060924802039576008027706583261006546913003275487686025602045,1808673115651354356333569582996379008508495558613318345735962638871258250354,662256576232448532676267293975366158344529547506581636993326947552625387079,867044261493996132353776554508770871547170946976789102990010242042660408852,2798899506426010489299557628841619760942870799124901953880352297837165384812,3595214909237497014832640424884392307576038858569936165616002357096553831094,1224585130430850681896089502194595505768118367146174157171084109354202215222,621887367664396285460718163746580004149181927757032221895833580388661544589,1968061207963842810409474280958335740576668500201323551933072463999192984545,872832465729413628714444259791628244039615525224697820591646057224901764508,37930646185476531484070486313186621531486899176911951517489341738484604619,782856822621455123589584486444610023292741865338127358577117708956004074423,970749619654627192094546058573844030789809861058153822653439843371647004212,97991574662261242703526249320011025153887270588938923308596990127755820468,1330420533534885492668108357425404570908705837619145898977259561276911048653,1133243953401964776450527664725006815732655951994926472911348891550748849079,794688037105868449716957029746674225907768129568154750033670868238405960432,219659274362784760913827019840985414464721587174594800184571508255989080172,375127212878278494233606574454842609606615211735581367123349058248472510083,1396358790167420672935916601282974803198293011857217283642152417932079345831,3268857209631246865534538278805678015669864625633054218131844872346878658857,907939885218223530290832573073513262765859876774565255836496468748609672183,2801286493804983719009640522328393549672411598620991070319097531418639307638,115855412433295090688744315574695260038503550944105826004454864986983182757,3247428134504552022674829971804301457104664085369228168217303377731424505728,1211278259656153128196310763620367721305309680395623960151855960452194896875,2903552773620953377614658622607711675076716799482693775868239409992636769145,80849253395490611558640440448952925947743443385954246770731969719246719450,2533623189872136579515674344757841061422609439443646503116523818181077883320,1062216281463440808209657902781999928658727496119801840215968544110293378380,2680037890666563622739840947038879694485345334148340359449515153774474172490,3192061929266398247028660269995488490866615792564053716670009047836470607727,1041704459172529497237439894701390263506764032468213236799986526816829701153,2182174128235613679578699441703077228908004507051166015416031261350303665059,1754285720256039167135915160708919146396838312459196039294176276622067192458,1412773090912907692215776247461596247838335968743121207660672785138487297333,1933875069460320129493243430739784038633952699186453878023415278567415518360,334804161869546307119269653378188458543876132039931955411880377770046066614,991265085382049485497486222905976159235683519679261496439204667491054559487,2543124035843782467408302051240898754433068490034355774816285452493546180953,1857407869018711292934132485171700101894601558407688567043151022930357996581,2187345774098958775576399125846756088019404554475124532557095406481850325638,1290684288875111841537559339805702296307902189624612315417165673523152738940,3161978502276252956610786929688227397615419637336277251123913759485663546932,2333856871404293879450947204931140524296257936367958402017021597599533722188,637089946602720771637612747812480865827585790425298043571431987389322380282,3458121313017878147440864279928732364218012377556737452424118563291083347347,1993300092325074780752079088004960381421081035570499807399598187786627045829,2685917286826372700133776232829660533658758385743902096573566701659307793246,151424407610632659766756716829241885694380640367422609674140418519576425508,3268876144006096256758802615300887107975303432586901645298828316799260987585,2123358797266841801153974930680175372216770429378791121298154739864815714902,3261284126264707194850097314324699620655521403472083124930544863136538804000,1437087408020321572305723855341580214070427331758729795564988821802638653644,640383440707979015326546133824457802361304578167530541546748343116928661296,1126252765214986981504139128463253678589529776075003001647414185579126642715,1390545974391297390581234415651922789649418217973959738775219170733031601960,2828981206643979087452996229652358558516673164314283403051274917599821087864,1152152672276778217638530685454542069866567796885317200476621627156082534619,416264374395232312351657105133286020195297799778498423540980315712310148262,2447923471601699197998763937761978327839956245227818323450926487302472715125,3559441458381211736938173153748866025763431918736080683220748614507014310656,2581575046255697158301220766005824738750246304393292048979753899486780623003,530235583332987555738544602376594160115460081588538090992796064805523825797,2795775808557142041648658185627829970758860886400517314174629541980220919605,2777082527239233805538671945520576051082920070022585924276146294720838156054,729382063284873849117263656209701994777987408059251560019230927999395280039,3255859370300487521929158592871650298379032132866284912870365142756149152470,2913223305198420983788263279986076843673143508922854121913809993212016620919,2161686391768901020645559781006157698788566990564940411038350719210310333941,1653609515892572867845672056480283476686619191064644469709700359910308471172,286619609904247765510889674646959103646407941183247238075872118389505787554,280848180508494357505519568060821372054073217585727730746886339411369094944,2760899690465279228872181697708904847463607170298032427858732880309391944715,1498384430731346289407723762917463905725052324306734188656061953873922289623,245582588986094344223578197331620906085378845530606709736604024178605218856,683339363570507211319003007733022664844722006774386327749969971073912945103,2521106779302976129598588683341484010506180471053802314337655821593604474749,1691685230949699580243183862571962506728547225533783249311325883329938536,2140580008675741553192621134849627477966228157098703296253497678403576264875,2659940309121978297151393788848843937036542627074054012385277221462660959093,2331737846894071054652389322143392939134738486956929757867700979273855598769,2409334100784322557759873461494671824311911666115844117407333720255724854735,1353075445964729889517741640073691384322218026620302815622943488455396648825,753931979859875664928964177513647150337147094548771733628734293152089114824,30665987029852398130351696909461015802200017073563948756591498935185821373,958416841925655825238973929419239307452236665295243383318666762181675858295,202474217370761442051112422404916345179101611766215371488565005175614618034,2737942759809380559602954123480368864398406274878490658763137160403628137384,3303374157072063038660930923582803823212085678979283777420216670457898914024,644447711504544418590894953378192181838331733558654180727342600144933225562,2356731584657304488503866149241150000228133582370730578719695733786303073300,1178466758234424354376090397083649912161547230477382679566241312399601391803,1328864302583896571186844444710568249163580947296638777839520676779099336116,230319844269319607147598290146907238214903874796927733771962146188049225183,2795307624186825539981055482181427745755041116601578949273074863695209555112,618429100546458667895377891487857518594774902014980075483092393931913842355,154448548626484506943169912979065755941788613865492063055563202547644000192,2805259207382237649879051863951285356017802484912089715479985685243341632019,1797576841760473766130211849178462138870164435337672076736442455987586338612,3574863770045429291697272071989711029846275865740594997021519629050512399487,2961990638277930482526987121035335505302565662787198092404325508208686418393,1843126989945980727753199533435357344706796322532724353600065054234870893920,602864028487346375481654382809846360972995755033565590892022574496096327072,1116474217303857910001269081078410193525812445590200693403878945368104148302,2633817650427961149682312983335828947984713502408388583769747928016333444268,1579348475815229476115889901143638879692975334639068088860850367653613815745,290609078692540992754679135103868154977254675895494818662705824370384281125,867450855202188194364742739433666248647100256490986032960917970604161528844,1262567773865785622739439396805259343969206311431988293264114913388266832537,58941323631190348977123683900658093196483877940292365675081731936031945611,2134576464928329204885116111526913331265736673550108643519047849591313820257,3465301271047654496065052761493758859938851553194825805450674077959253538989,1237348574199782153182080628373532296726037013672238144109387582509620491597,2504573946532026689111959691978519025305125123712012936792642397456661154808,823471051381057735359680958638334741769324546661294929039512638066170719240,2575614655072365236656488665073339804962379441831868759829664258071711589013,482115758907052581791671656993690668911260032009321792461911164041846967900,3338370276184888875193914861217713428082138457655057326568708785658040076336,1709963549092819326896058766718925329523967530750350591386282651620135505453,2897532232631836602561577608502847419616541578595013192570738796880855275794,285471005645532886240291589201676646486614701145360758021903432974606792391,1237005267898514076092722516683795773772102982416799051373379327657871746928,3321522171896710037645936265514452298341894890195593803755925257881480034677,2932952709511127402352219143253875023174921106163287922209679667961395203452,3003513660622828002365055850639234770683665945645624764032233161289155477368,2864664402843048489789673675707179073786119686398192475589350278984199876044,3441383632545185174424348940899221651009711908265262406729553611576522165115,801816488071588682862884225364318118246608678018867045105656580997805968986,1724156898954513378206027214991768331624959335143692276081802117021425672715,459243327796270592922024785117066191073653786035321507876462239737640852473,2655466440153009808450953320146646251024326421644658775484724464834931573283,282478591984075171383508635757877366465378639837482118670526262860145251325,2565708169252273661012723569084542108736343868394000388125675862446364064396,936336263656836766248498040212808342558378230273159884240824988512094852294,91076775845860748976877866639601629561466198619446838781124808772394875645,2266086868467398734346781425355404066750216933955106396991114626517726750585,1538660606107900007435727313281540589586351097092571516169137529872273644092,1154413383047588196861421872043330574622422505205870130493178482813800410843,2126730851631110608682554777133254848202584223502533531443233616771575389118,2439753715081204378439369949914765836317548019275654089462240664865686923467,3435516013895251872672920228661686151179535489684375737496337367929675199177,541679272801965502207499015430592581849860311541106592362076220847608938983,1478462288997573494774907060560990165765258463736926995206650425751045793955,2606008792439260505761856218280858089861559464236525515225684105306310520774,3434309590325084546979897156462556857681225449087892359718694450072129102602,2142825484646920157316149681216198677834990510687162038264142002686108268840,1089111067004746587903187198708225084021942014628545079853064450466512731921,3046543223289999831560919100788935491803184887632513122543565116081992041056,2879517260669903811853459377218997462028074027840906974124116046718909393674,1201686360552987194963634358786265790170310559659863843398242411211364872076,1529445797820943366232381903759265029436925048705849107189989091568711877324,2055184352364816109234194701598121263698334094162305400592423839012026702443,97275949549748932673023248079994320266263290469357585369538635983699997725,888005503322396785861479486809826480878296213999833171545824507425568100803,469826794806462089910891474814913776692930344251831280673317032917546667621,3361694745493304783658253150808268220623323200282085283563182238520640566540,1482252731961190049126170664052435083327938471584382456224463063164363998948,2181771879485387626492767765539000415153786248337619126203924786800952837064,1092507431526853825421521085667834603261749566496492630554789136193799729067,2037966583749265042687512819858219277485267746825339203096352128254441570515,778230344556029444418687155196925011918532318739205560488044978769116589319,2128826117035444665396190889739364819830975177748118350294944596865587975479,2704054779597924316983584394336555385479322168571426084292372368272620079138,3552031748575608489371160702490260443145792980069582171624278648843010625585,2991256711989701834294626058494918562503090901933446886848305360915876743616,955303774971916077019167928212891481463808528234461280359377105876411776520,2319230158259663274096673275178630747463853568686089408458456433303166073598,1863562978266498035917001426038087551712668494337400737226808941025267751831,197187537908163449671358356110845571251149873738111268373506794262894905050,1493792421128889961568258117259044605002750028000797933305291894755992911004,1457806681794251689554023284717373539618017322065066669808068920245408941132,2864801856062928409710110743327907629240783538090463891015033807936307266318,490731676465383225133076958634628394932825142389810607315045542307673855357,3174180327587128396807895948999868327120351278287916824972301290784987444515,3160986929340184868903226924316948693588474429470516772529678060628098788677,2352722695782078839426276983645860141299399471425460615648170424788916138449,1574282151437132275839162362771336195082453118599824080478426404323032864913,1183292758628309647512772710466759967192032505139465335719447152902655501146,1057167474830893054054842472926733127358013561223562412736416438184966009922,880723695247994366221235762229725982551663726034685611329335546089518785453,1790564811251628012967961429976717314685628608507183805460783617186198367381,3585121942217643968060194758450661894086346103683556583344743865846135288141,1932031803710600085612623161235373348589604762287985319949197156231175775388,2930573457681252568943724484337830278936273320117049382198261849416360398155,2621679601011126642415898103254260354237604604776385768544321720637350709108,2864145032148140170749072522879132067026230924696418409997418861834498680833,3107156731795680116540585904979951307420796858444401977538006732169160074603,2237884164917154734464511425784249594916231371100176826216342680476590455023,1527815849748900678956005297227713281143693250485427634575816396453626628113,1409844170404149285412592315589354578341344698514061430410268006239058776877,2044406520181943866103081256012709488590375099797760505066857151092063960321,2496520403459258079504572315104714960238417118189521185574451837896508515326,2669628615784422765945994859191509741056507479273398291399577172322564648812,508656213335836433692867999819723113726901496833311165417051773840196842465,1993000051173891384754794572406653549498204818616549828185423868058752419005,54309887109081502360200431903354637729680078335742616949357640849025798101,2562251111885672189200488833202889048046516242569635332892633393151782689798,1729682338475318283617932611491880339740650194410343564416525794637256597563,2723266970889670792847124247892474529726564969244846594614570697341150585523,1983091412401768444823524712798147729676669090563388803271012264783885705162,256095702662088863501943621825155498953493603479994272682951777536617097897,986939650506871494372047550406869120374404767772253414283753996477991754487,1034128402051975102970441417678974358210825131081451183867748262806411738091,3494304857281446396843708946594254069652681810176751090631722520905008066022,660477704573284387071316230285469033714348596873376854900988368582925155617,1320979209757904732387391922645472322885156886342033143925903384153021491921,1463256579780346804811227513345912648528850227341583757734969473751150979238,3022565643121377290773992564783455161834633241313922604484209721754524992072,1308130977661858102780891068095634421350469615542862445116337625119938037541,3052137635183153408905059716666162467233968087880665367560049314005505365213,2093096560709285260123226268885226883743259170534790985940576154401123682723,2179453611956849327362958790133693401549435966374484122897210071493622871174,539180788274022378370261351516901880306325973890945657443315193171997367415,636017805505393549622010830412194169781454227104909813274112953496807461126,388735448819464625498482803698734462943065865398768096855836185427402301886,394316214675973181387786944712060159725074698998385426355350405342560598825,2039206231815080312776853071359241647868471158451236494883514108098119217082,295955438974915904592224412252325158676376409643164626715852295614738530999,1465662065596102828069739113770984783559188785233328266915975236398298476764,2883429844793261941883824970180666906897398721720711463387496233350295136078,195350316262143524862549710317719218345099275193151525184884310513111401303,1589846586942980698000421117200233176532266304714054636254476375822461674902,2484116981576234278748692273687785981386354105195065157754639988835440593661,930320353383581371969833560960641609219554909481041255838200196275135105483,287943153140392132017314109050681355758342275163919587971517587221083545800,150610407489434109247490477618665985883939859835494130682579491945215027041,2927854181383535884968753129830535769165230814203613004059274331169878941962,3268871248072101370759552574536012346658976368991408644300507404597462152612,1045289918279848766190511220925395287926503678738423055281433200866463792399,3566707032058302298024714296977384204883340425981432487695217542689934105804,307920551100710380791889418241092514405598317634714434420483539750298566377,2782529204497188714996480571054441417783151774091744590891659584385354879815,1144625613373273889705077664338282162693564381848559071993307560809228314638,3284491056620797149641582281817345172436912573970454105059527146867561469396,1254053462163551344621332688947578576356506561654529234070375712502607474762,2009500127043477468717643613146204287155976496410624314390200430549087784264,3138905761661412276428985369058989486240959169905372405061151990673420932901,2265585732361571692971052496662388376308640243225339229635608078670152776575,1713804065869881396681450525492351499754306605375318594065898045762307532098,3303532927003746822295293016024545225364717754560328293447624990727463998423,3493749141174303830441882762957214460295591225202057771364135720119048425268,1805483291411195520039205147573374421344484423395428136999964901622442905,706115136429231862618786224331620081630682437959070570035533528364308852504,2623714366715837653426285583824862578538978187645449085129776574681910319461,370350417695714382197969363725638745408439376171407695061892663939167498342,309789183825342898959163075515133946199033432384534691911290182747410641586,850532264872899165438646997989842686598562942537431944120716687232598054791,1443609929560042065179883033851505486452553309730601453209663305351190311149,848553384513256028132645055477533367950836923457408189953467556696111129524,2597776245803020776303229858750695243035556626233688820844168656991216820091,934061029129463530263855441835867223235882682697788158286731236682991350858,1625359338011559110685426519077797252033673203059285077196526439884211705217,141195063842912102930870407992909701624100431092798346012499868745725791079,1121809509453215760739460696874865919287519005433896387015409131215576991702,2842893833356992759093603343334758557873855335829600774716032347697076080599,167022373466289980834273336852907570171940076536671165142408655892170652592,594469170783040697319211012689494620890046130943673487879660803245711460609,150046719144304117021177642988504244779956324326419108328757972962635742998,2635932965279703893906592140073250591286334302562854417998181009029847077353,1703192484032226175851181143325151958727932971204505378639499700432230335258,2949862620869604734302431555641654509143888120647058211041602628802840741917,1568574018974679294436963005958364686538682007309703207263168465322473612501,2261439238966073840904607633940988512985891653149243845616104444687981409169,2872400359179191035389473189936251654596970264384915573306966860430336653557,1372542375947739048187798627554941723163627639656633206766569227901271072017,2785332313824598971502920571594205315105456346662482018785806727491137673696,1607132465131865637226753852658503590103865047191478431844424130815280475520,1027169268721155168921249217913117929921179763249160961944841452762537343325,3514018287817495014378913714142391250041016277430184136470059798660738548051,1194703985364258995393014027416596273071681901243754859592068805323873208812,13192159627381181319297963184841168495025958842835757633383980324599633526,379450263476846811047655871230033476559166449837868759824585107237856949098,3398327029088877427806722378240839669425970278701323139760864133606853568455,2005337568118240746263823089719379550689165860657680433175065224643688302960,1185496325117076093577654851859270299306885662665997930260840544101794118388,3476651364347079765302157952260620013061270486484509018940989544164595013221,349141615300072503988009693016063616569486666766940230776169981031967697712,140607850328871826333296880107010267279065125021410211457752467168832062975,1565649551291276329016319624307306987812372339194234821645081642559890252333,3056469116497893450074292263723020502266407456573552345881888711982294005956,1030012848920462129511415233076635508907838697917590340056716459882994869159,2737617140506168444018622580659147965741452888361268621211143572665483512202,1603498927752267272846870585469979816102306930254360984770184307184978188029,3544732238913788070830980284232602660422408837532484448493587251578965865041,3559495437386477668022526302218967217386556981125806555228725256731514525915,982368120249990919515457295743236496691640938881964854206103203058724179490,1483574631956665867395815584854181061433973563336401573687694340032865189443,1953194340321041137138102765381643538595692530342738095253322073379984683820,3306884721147763931930076537158259872311606025612299308146619687867543161358,1888944794238325160767543873610550118473525924848240710091183213395749858522,696532898796137177818808831367973346714114490552300024730231007381292099115,2540655183377887823866275422368032080833964302037632493990757428188692534725,446067182902380959776693959769357270091352911253801530666263168294232141690,2487280708278938592886432551947263921899093061073149483359374323887156637146,2493171838084600165787937364622370913384147480240719000083811657440132828399,3529370026682158175827698644280879381412067403744946261420335736593945958930,250894037308769003095813126275117625762292705026001668981400322874364179740,458757960300462884125803888003948536258306995537612789980656256284503259793,3015953164397969552367625852075958472056626085508942046521848019070979290834,2146146221312798912314517567617274730582813056849192356330790623596696090301,3112819373729068971763165674317167573353938759188655890562512955063285741811,1994582335611182390573373750585161198053546675960474798250782269052795051918,1451070390356178928541381399482814190086160635168752897629685296728736660806,757251696706545238869306835441192064284775493965339281345756233158351113092,1620260911216038167484505834026526400383038861449017487108241857297074319181,3562439283046316908276508655810174151746360908899400399552575827080765571982,2564674567800876016642242661979001096243427927588042475442707472907755486395,2622521759119260982820020267188282566701522236146194493102351387037655072219,2765833229911718457520350560640250367767821477284250843348869312719583603065,2319475494426824798187396458691641065220994602189734984566486681433759414966,1272831044039361059730346414115964450511335363167323382279679397815075070082,1364376474581965724355389371595021511845284073306306459981236416256169505702,445926599271187449590348972445712557193255696726680641119349938570404933328,784156024621631905026357629718183252800019967491380075518968021794686915363,211224016549569585847051727038724971574001949988552410752048766863302041060,294741741904327101739876784193162882611687839134625090848992531252546948300,2267825879159804944279790152029493830566744158680249042352095326823025675150,161534991138665570089947985480899485114342355463960032003265754250753198750,2663000279502944680269437535233178695711638102281354706241856869401945027925,675295860892630262241664935633966628878885921660636547109354385382606754623,2000916811436212329794636289417507419213188074178319730437169033737401646692,2496332616873277350674820044646263556698040893977559589204034658802885044971,1639350061569215680274496692201753889152103014584482383083615193750866029159,246975508476503844134653109683628118522790441952969920985781147855298929565,1911442871629298352356566543942148547061639902608947204246206266657030385842,1148789942888385388754483811823724413679994867632277568825769010020637395854,3037887489014584173533901068212895674136436751720271754138382510478261917745,376766461646473908642782185156082575624714830261726347283505936264368406525,3300783330517135717826686229554995776351248281888487691634005280604494876564,858932770423002803074416712038991819539173526805210356296431807238130032460,1669233535168628180329624015183896818305750319550873534913489643660211325114,2019386572939236956183784832791745834548085486147409286384493915266591606712,1581402532510252054105723093069777784719336002906518164495011641080487130494,605807376846366965223663032566223779744319764154049598408314714214643715054,2532361534649553298872993058507940184690854134328918521566886973262837096281,1984008956921976329061472984183353671491622943426982669602039721282957541177,2080506333304726461626199751362013642670551535302093151682877727528222299491,367356702269310497085696083072732205200223321116161401094024486788046002576,3428098179972529763372457844896581824736846114322227760706119610077305036306,3378051096043011142972226163871628894295452188242013507339168011061472665146,2697607206423021114667454448524216338972405327452995298090613521336078156435,388523863087913844840547955599123567056104034361947762223905527402424439903,3082611027249857660265479225314802384939832454979460074129428765821253416250,1779830399582572314176021901558856885151149016677635945722153907641298800105,466711084712188576283821104118412740168145554440936100621243262880801426594,107927481961334988990534998965349941069475236227594700100789213310666160361,2383084794495785166008797148845058441246525334836200168682907006054662436586,10063927420237148481575898335504824425353953157377378926188223698240591573,2920383052899287236458738461260139118354484345643664234309527245196303146013,724714474835456551739602046820460503387399216098954170491584405909398238918,987717976500351933771314830156940549765495662830095969435817130141743490297,1053537059670331898533562818170492821310851926702771737003234082648913606340,695737894252616008139981368785710585486461934555786562297370149257804437671,1294780936848241303838513692127245960752639537302172649380873767786132324397,3264522793063853828791292525116525137350425663917225347680948020122950445817,392385496173220384271810955658848791945250852974672728018607443970632785360,1960778350627395299722109632521869665564640068887443723620618108896450980619,2751557152115769727026874296547656231474122324896093875655211180033035976847,3213355144076818132354248455376794315055514696697851192293608594460054430822,2042489595526264394263491326546696945219434130660434183045159056920426579308,1732597552050976899518100634493157712422120085471075151289801211246792443382,2950105187165357005771884882554164452704072196293469380978772568648343896600,1919637183293082011657174921911308201700859943718348214777155895218861218031,2207998987632252187300641277344375085262919408155627157300747348597221772769,1233196531660915430741811464018826783613858656506869544195817488075221760973,769992893093193898468318834885118577762221320132294434942422288782297934100,536898647280323073612086551199039866049605789533618657302945996812028589343,2647940028157170067618461697776194880529942890741613705138041832767694140348,398972610837007911601819602576529104467904821987599983265603025609639046813,1802948939831407254803601019813137203667602661905437169480712415169374656007,1142759212907483678683374587723394639406164279695918321873086307013914281699,306794981334352443861605192052931998724320983063535149592009017126069346708,2752706817173537388760992639320074507918369390110970109795023169822165764294,2994411928105329510971844178972148145378712628667894845269705547534961566144,1480446746854810216735902897947530899046376487295017382247300101170425412244,120965979503809180959436060175295082056130793692326727769869357683952054035,1411373287632273833479827066305194359528865868811978988784866119741055000204,1822066207188279714640743836815167735438428176817689429673441142856444744083,10224422926251624507272257874085984800922271002615983629231410194557685468,1876237254208239931865289306253180053033815622966071126263773543438077504394,875546812292005002677517874766958895432697138294112550890679458237969232801,619924045465086191020886702431705452640485903967945782049490271380660168230,1326147792879518085279360374601973087909249162145686743920209993808736371843,1506009419785648957263713237699764832769520609550479040715086841710456777448,745547627288313499647485593529906843227238362743026648035523038184068614001,2249563224850649048728118425430790549357785394528649501963964453801573135272,343511263657493073887408124325525740204024458842015405468352057240888743710,1473679648211331145732152635477424624414754149642711456401204691521724617131,2375437015395685135862003977889430222240559211740800904407454915496470171443,503653338619879913570519108059255977030463769080960844028871990005010499856,102994085677775709995574866066164934918928953353648572919143841366034492333,1088524101722751927348297062729390308773814656948666389043553950196565987506,751704221706894101308707152163178940599569778054979726516082667941820306843,402380515308584090709801392662736871857541838827950768795688703527136650584,3153154401447878671204067381069428676292589885982865210360265576317182334432,1888191220709480712711902967786911623808823510165208488895690945341551031982,2427058963939909495562654378321634077518993726988084195752399898499787113772,2322485298005005998381556276439463968986439566847154066060598275824157257878,3132554768185018570693539772409374023683006994029985200136782816168721255565,2692023697151066993935739710666546652627153326171354055368809165571385287627,1802202874782629115839288213057090273931582446662950052409428843090745302427,948246075266153824897943967880520880697015561593827784731286727830061352178,1953239835072428881175905323868224184969889309887498105751042274186552160153,3494835426883163328109105204332164714962701833992765308074000317191688022481,2920591135316954613232869844182572186746497790911165637403695807253174842952,2706849120099987798882138698273850626705338378346942468781898037079821197941,1006829234946319284991629376714464711621676946413603638227444947588853038741,2289591287825960427890566093974325759723232755247836817820986387184698253195,2282960048038592620295590197053373222640400328321593484006344455238520637202,1303049605649591348289958587891946526409769458029676594555696210025486116027,3432430944439513620238082222844530176371393809128919147084665150335551318716,2591952693016275161566414333244417940533106569292304416299459033494622172525,2708174304630003373646255403428077205035221734868046357081175498283614389005,2873709295359659778773663417386443820831990947783593370379722078908963018914,2654061370082130600274861824781850050842302894780950602918020097200757859030,988682074817851578804613280466431456479675271053820498109818762559626372199,1954675456918336056780243083793704949935946421811355044463608245603513018493,575759103201645837506610227382673548726056451037225156979660833386982607153,781082534967042829944945477936861849070194599819953628116268859775195956837,1076437994448763192788190667164921002459969431460566910083014752901062578439,1930114377716034572279968255350233640222232589939922401189747784400245402442,608001814108912043727714692784292648461845813931769917982477302039770333834,2741413570802136737394956740609500189077192895626351132342430744601324281464,161559930059730732130094122534952728053639495065256076292463333328882480021,1201560938006008452795641780890213524225354739372419321107965303340141271640,1368667561257246490982136324074531598538295391633043704138866399828615069353,3211539530019613042523323422142578286940286064067719047222764368325989625488,2432518306136944987937171018864833761850705998686314698134652802742057902008,866492560107516522373763613252387054897871687582247378468433701102231912204,3393368706914246431088137130036429912225428092084080590955606291186904529995,843749795903583311853905994940625241351056081034254423687258643356092842951,1026641291584964439897743217414416638420421841901875385940507525008313366985,1610633628421492941007634043127539037911414762478384945629489288048667163047,402416217601930128943946519173389109993926180078866463675808341253531141253,199716577120907976332929591618722316113729701842760797365823274698711904785,2244097111901956151798739343074970628121441212048022372019449693951879327786,3195440294800861543001860700571237169967260433090724365641278042204105965574,437021429038150076306900413410065663147762708908465037182474073076634157855,3148192168271860467636485864142320289826783805167088080810625676010951668063,2765143410278074047494802971859096205455341060333238680546784813455219297999,1404562152559284670970027570872979122721544068516860504377198358740210859262,1780103467132723450344229600830147259492365438529111158992611418015691322182,1076941127875540858538220778655406446254232422381419643363500442875230673273,2388543967261584668527695544453243035857529032974008315673930895879974689557,110004592109602490531900571368177252049603934223113489842859253964128824795,3465888597369084311251685725731973934830336164012339239546408057660254547758,3418714927879755184867054515378136525575514733945098656193850578060936190495,2309300769608698771387020153062204721249947183414717272034629443359978583045,2294114382961189130131827256902260904140098940932752807119893672070775138890,637581518018586125884605180446618890792042842907166273857853008468825705319,3073614833974539123764087800737499428388582017934132981640345437793378720524,2770111824345670131691421023772195690950052448530326602610532585169359823091,210233821021951109354428690197996889713085274924837473725770701892819983769,3540905742868574871175676315888969925549423958576210552945292246305407944748,2281481969394206573755100293070437456247693017741231890978378697090661714894,361968214759018967750848809640658594241682742672119990781560034766071622831,2567413712951139234989120089171310173134459822838223370429002212234634196175,2255906558281413650415161801039186503732629641973777543193679300352947475357,2766788555622293842712232216306906892027725908028366249577653097704740337576,408611424324584558296588086252187182687542962680944233890393461534775572736,59428038820426447693634016370551839067980885318417798346442981858513070859,1038099007834256101115577868700047626678189289739405463166258712043334666044,1771967921790378074556474058358176793428911106362315610909686727478613622277,2762960857893582066488634571477942730959341062318992209159298132508938715545,2660018177820448053004261969595423538390040774502790866077977013976212260171,1770099024533369000274289571862596464403184405525045858433877112060341162548,630787833863796272712433835152604222307991878686575463275643496867035275740,1700762482384722749924870270499498520270044012916426862448042958497612728010,2854208625705487720736880952797236748903092324995501992296494034436675342766,1577623078184465303980783569722441920795794716630780118469964733060087806792,166333779052741770292222093413540227518751795247819833985223606698246919157,265485295106934497429937813941690550722165986041435963477805133253723303476,781369102170236206948086679750108926542989267370821708739658940261651146894,3568612143107987065389329773102427124138308448606071141851083862308339943840,1707711311486682608798699280560659487119965492540067823847802583720257422554,2891445734889765333520031275347817224550463842313355272712786394136356801573,297943402127216482756194502162025117757862327992659955736616603296206226707,126525694694375199015136229836412564013501812720889403519167722422375638794,1532320424209583800786682301917612326995555081446358459074227249144039495710,2056039924869104855872415518824035280355146808020735352391166242793800171218,2147438256699641379792256265845722957910392402434023635371580279450170974916,1566332137506297535833754303456284826105993744210186182320239726245636089217,2039259731117679687382758350883504349928890169545099589176878192365550787161,2343898558931123594247911519222666621358778930068343312415320214859985849934,602343239388085267964022068649393492657800719359259701813166863318358457266,3393128392334539760019778060522647344450662350218591371537367564079489325254,242731548477624957546026546987897377388208361708800127551183548684025349998,2182291293645368480563956137406450285241718636667759451722674627947675688807,1865915671962255677146056397567845164356051808894352678144618933646031208250,3423150248440581077748842227425302650771023651889314429943334981022703349388,1952034353157393324131073173652490346497276493503012399655625190534874052626,1111177034042657848593891670736516754961162706506498059147072476227198279049,2454982634026528933995634462604084365568242547657886093844404580388570750438,1467537917405323649250133117081262560110022935204224886169124040747447252510,1252216626009471725551974939573199921138212108451750800939064642147089732770,203273135231959541787012460142539347339896877245406547515194340519165683113,1470813503167299295390255170926878158729936415118906352496934207202905796857,2119512833900272619072536951633300317760406535739743746493825866716252913456,2731591378882249263470028798205147641202484157208455879953389042703163426265,835334459500924187519533487438498679382330119682767689941944473101659956613,3376711640425071324166945170366117185643423582723268521048017754634090745500,1183060400853556146479758280697856985366991864241327980514107351020077667368,2468426172578318301398724338580580378937018674931247604957211131365026192615,2936336808305955314854583233647976898438253583544680237076892733553292803320,3141285476028980173792275987055824593689014449328761304813196378406960610416,1783861051331252760309531167030954317460015422401504256516138599759054994559,2079904088702065031565351451209943677260883924516746096630463265707280986391,1360591949316836865169270518193173498559578662623440470439496384806511979773,1238747333824495712495063678931966195332085338718063894416296888259316831741,2302182261535947493312955502704854303161934407282861021060762450520726124071,443726046655762547394097046033374270903016706772959902536637119372658555930,1124695057728612990477452251960550971120779335926862100668872222113597410457,3343091962087690266172605533426594091653663231331305626963854792734170100902,3347127935533248518428416521256751624845594646803025107143528597973694064549,1020968714765659901926703984766407577081802155827481917246106054059438332737,1011806731450903980611068691812921827312632221323299470488700208674069214272,3448146975816660477314809488325087335124592130806314735324015616933766003554,1256170541602093283752142245323793354979824306028678512950928223444495477711,2086397190558615323681264197845162303885145704094404165160267949996806789913,3021730163143851691424248772532771666370934962922232312288676228109670165177,1091397714674388321112031277681071769446860192188369877991181065945389447015,2756671458154123345660552868527815487800693539394565940774080952664872632091,2338434671104319384787173178634734144788847952779125865768980655460200951227,2408106063968120283540110419607660791927822470011928148571915182015005532150,2552862899406476579234668110962845597681724733971112989970548831014943588963,693707278520691198169376610632699121999975230907624244014116716523120050618,3023793188242225303825890825009609190220720718065650173109515070681403757482,1023197831866187082515138987418394389557046493030115011634380000354186087888,778673757010953501665285101860628495317219958535538651395480727595517153498,2098763653731264014041685125168357010948501975703913237562872819270368429169,1188391597040007132848807879273707965311939733806041718993496603835541820814,3417333855920089985669460799522797036885983596753448327751785241706049128887,3457163939172089628683855215686858652500405840711484696109525063423818247223,1039482402232147140806051975575734755225592022348255455083431146785708327296,34736613040617308239843697487034576785930504102513206560631343999649706098,1751570648232261279580869876365664449686090432150077353014753794887954013010,737704218075537163032355613098243441553911877174854106157493238954516743679,3259759012996760843327198495349742905286234635094611642295097971779833760220,2889971965182802050515557121316372328612177026692674608478677630531890888457,341793013481865115476726970541298674504935742370281877007452424931777854450,1274551270060230545312971149782933870934965983313919082832133962747545849438,2097660026861549809264346515467281076532728780357913714367017064304248895320,78945267416356198052066657101805615438634403942575453459507566158528953340,948279373071480692344592448279856379166255027305069713288125369932528516940,3486837867714510293768950247727193688230078307088834971951705545928882605770,2171000572081067367231288709279176060563023567092178883702000492924381329862,2051408017407618745942029449803895247602143505244108176574370974073510688530,2461698242621992719470260919686001969409937946248366423309747955161540063027,1332758376975275439789348727954331810245769304993622787595306003618756375366,947903875213108830979227173565093923077880418116747114106450493703629445654,3396872623121654645004294371423324379629376536560413012355207698140200406065,1945916299571101805991528923306886859076170716301608532124055230979189862721,3187473244202630722436028810651244797688350384270443533436657685863155242614,2918561508478366856590539570811342249624305606767997962339635899752754550404,3412509403791188993957004704449132234904637030557594473805735915022589213175,2699433713242439337165852928783706376375441739862419576822705452706938849606,2242820635361960694514582346504267678732486505806873531436030222911141178537,2411511924481662158253632167419783191667063067991974283371968460246937568253,1758636222076323044213630512555855990815849149994404772768235910189155911096,1811803702815396594276973462243306397379726167800862863143321643076699417501,2103186756335385296038927366242401218373403802443963438092850625269368534985,2815418154779271276784174725309951038237897909817477342939491106861864093865,2742583484114670017034566243687504659869376371804287514748940409149845923398,2384939396640793700737891889095794906200812711447330146844815316325766686800,1807232917705336702796961158826019302823170108049200534848618211950389571603,1741034882434547513919389756637571554183602339436349746295372604264895462905,1610431331095344913115223598233913840657796762920075760677967845969385347312,354373003857874906114343948887382248868859725989395406525533671007735910573,2404180279920582318323391994044756628559180723990584569853925314299776188255,1473091603727439113599972715314823117427861568815355511970698867731665394158,2655387389383852392288339700179778386030458457348016345943494602708055380387,526549729267014609780270348913057614152571354451945084972972534623931509010,1467704693005495890178025960180367857480993150088740423109193862032805471499,981889254690402885038490943199647003641708727283586820538540255593943232655,1463357249636443916481165326582391162827052182620981978464713046112650149650,1131907863355751656799413686884868140399857472402182355809258458401255998597,2506120911257017902517572721434283667855230769023649766497208960213928965435,796714892639701811087898235966225977261236449786680196890909272477543296942,642077386642709885785534697156519946765216698525598146596630432571622111522,2228879012697404543191220291176412298179783758446334150622649682762110547975,1533419585234566417868283613037434113986230117309223672568942675652715291967,13568622074715417691560253044755228223014247310210275190468531724980380982,2539112156136053107338501239297402791850220851120906658892165652154198897201,908360357917623531905286784597304993042284872815112558375324785887638919636,354321921534137224093394106816716766026984247469894502825087797608576130154,2823572487712708198524624980703508191596105920296455610443906954892868174237,1826765342272941017984043770188629764881218570545876887669801382667332160518,1318308856479982106967124913955860941450936509162156068764437369484809279570,1778594459844124919971995279590408490024430133422232308077435678212854926559,3070940375334451814715429031865207910012633121719587150319573243978729862579,1616372833864459189424110133949984491819958050658957509650100423258216604743,2290814247374347533098117199584179848894079916231101551091440379505481115871,2903173917298875738798273920860869949886429292365533272025798378563375778341,2800378311325443482054260259770492973534160538090055826029172428658632160346,2043791737076237807494542520397504857035423809263443212364915557609619518857,1649216371995178187472320313805029268302647228336455018499095789813013803886,3554984096804957072383635731924086007440243932541355590905905836336291755230,500120883006176253149966559186907317863505651258668660615927651566400553576,0,768961678865551140410249114973028103014828441561642677387937187097150990396,60,1419706785,1769809446,1090060802,557398645,1678074166,796559017,312716137,1841342454,494010166,261629891,371676445,658534926,926316534,436602498,1764676560,1095635267,1687171292,211352973,561009558,1468990924,773609258,844590161,2020187119,1348551287,15584666,1839870906,1369381411,1474864251,636385312,641616785,1595333911,1925059277,42616423,275204145,230511833,672276094,1540823633,679237945,2045781167,1541337874,1091209078,2080116848,1614496360,437716830,2073702281,1595935107,1644716411,455794780,1796265712,436096039,2013119715,1848755334,735599201,769579615,269807455,1198292742,149959743,1282868700,1709620772,485193664,1276503826,1541048212,1783937598,330935932,1399763590,272779225,381278190,1131817921,1299005535,1893036268,1510343103,16346525,1640856128,643239695,1620939146,399693674,1517802312,1505968243,309379152,724518427,524985210,728402636,1854951099,258044892,627589126,774189698,1649797079,1511948358,974883813,1083822000,333552726,2067025136,1364855014,543481701,746556534,612905349,761993001,596311512,1933084338,317505744,1797808101,162196742,1245882055,720243474,1840107033,1391834990,539143709,531880151,1444492222,438404414,1054600535,2106212081,1344004063,355146252,2023086876,1124590345,233560864,293683779,1191254764,828993960,1038592776,110301851,606494771,1497419062,884208423,1015210842,574901676,1009650298,1482876383,1281869213,1878360339,1957406794,1516760311,1214448294,1801137990,645925476,1070380038,1248444139,2031069609,1168690497,61199132,1006900008,160351490,96568633,1981344253,1779993474,765392911,882282066,2046509838,827904836,293706853,858174620,1920084125,61692295,946071528,913592340,494878570,1211770095,1820281250,1099391928,353374362,504864927,1981106492,438451649,848384080,1880287149,705357068,265509282,990989749,99568269,1617698905,555259164,852944648,2064724341,606188462,651345906,356291269,1855285043,628694473,1484220179,699573789,1000504149,1316228499,748390136,130903040,1039977504,1118735215,854544978,535278900,1197220206,856727948,224059368,1180814937,2133380371,1859455866,221742577,1357614321,182179482,951240436,1542455959,1515474843,2080559299,978557677,142603755,1845871096,823025883,1072287153,491375268,1308492667,403827336,1242883944,1008523663,1972292392,623865447,545165195,643136398,1623584186,1961009241,1951215085,1393207776,1244696078,2035850178,1925905570,1931061383,431977329,289689856,945006570,381395746,493079898,730957114,619821020,862789039,28603028,768856748,526607464,1759666169,245428460,761374484,1907686985,2004253719,658,2544210030666967569406098402950130540889026523305990942750029572040159250750,2879155446647022128858938198561458257333015351965246565461896719409545930434,1298985964092749367026052826502060482226812937927065571720392586107249331459,1028864586199265209343583769031704126916552834149616965005203481260306029805,1821952053607309839300008571475588197799152738868504004657110802029203786244,3372205060935378730092225329014208925237678299730708549774915087815001826020,3076704154164782766095472903600405103174500100734350237505048287423402761539,3364138921923364739898787054031062302859355850724651095948032952173902979447,25955443005147034336650526580768422665957066533932021187589596998875583234,1836838703804679435769585551270881464533987036499604282242544533311819811758,930813242272924900060239517982009709318381684102637421611376107385673128247,3479117335876665629015816281160501500036923612663307225525278296657720735385,1848882419588778245579989574380950810903244192038048122787459092719686842941,950387318167420341035093538238881869630341446815373525317148767349522476616,3314321559531680482616634516200901330931877011312214492779120796115405732039,1881446068937985902214260833862061455180461699662015043269961820499231928015,1145721878963870469887687663030035838902650131508331748276408712244015906947,3135125640366016624984569342258779522299872239166100176380611662663389865420,1736799069645436844042907793549795610550209000759624400321199748758794201142,3045807214791917461748184902833757633801647430093302224925287395833746727275,2474203268432310074470431779903488308289462677433959104610144637847091720429,3053249513623725152000613230209137503869897135674385915646167996615602175865,1732929956567392904159647291984711405152892293279089003972471043063151379330,14786011521796197750747448489764945521023399315746042871444256944662307028,2701291388039573752641498306198325779979158712038099467181937947116905947116,3034543900889512378675564585696023126120952120437361264642708526023721304079,1592100902118839248499471482652355736921631495914915409562859441411026770231,1983345747244692562509439057221060775519323998637103906203724451814474328921,2490028907492450324236491102885044758713852283557159037802722934157307132665,3334703941598327278477097301754893701027245778549907442307941768079613554486,959158843127134933180850720416248727224904678674653932735450437139435784192,985071267538125117569432157798223063699999853684245132353275719626598650140,2875984708156850681152988374070063981881706443013753753484479803744738850664,732981420364143742429740782025228767897780959072316223398500454033129177866,2624792770760467696001603485157500022188736783493957871671086822350667017111,1446314282130248591214758522155171986297715327457093721171058630013045197671,3183423677424780698410423319987832412552831165589171925187676322893630932020,2771498201101861507521404451781312600956420192403692199299759529058749276513,1359304449912276502623483149291564675280826271059382140966253605050292048615,565332197539708049976974775378673500339233999057930785750685213912340913053,1208773418842560667850590841652112773209486491184431675804474362366555999286,3468204672879057036066665538162036769802811152009383360533605652710951474726,476794106517275426327354627888171806156890556688645421015555994671794646050,3514318833770467423926748981699373426795141357043612087304496484335219485058,2396578221741439167115781538963508843807840077231508510130790536499225924160,3490093027949675491186424801942745346211501351713366924826592877771676010565,678709546287300367681865065977785202376764361221281490508384387752935441309,1591861029947134343519356987182113988963200096445980996367857247712920561032,3008119914492309036668169411650303351712796745062666960123923899016385661504,1630856071790703015816627406501050722988922596300319235244885536998713879465,3057276231256636284655537677875101747378146700797406629038832715856160697808,2321165414110606808161149592054084646491788691171122480692380049285153296106,1091394689422293404491514390613720021627756071851853287803004862178399356153,1208407801373501960054926736336488403038778919325035422791321516604369779715,1390239682814362614883914876668078695583619020241234673087813508548780834668,1027318891638668654190697693303496704860816998772668926895809119353125800256,1620074184056027217044079466216316322907856107590673326106175854986611227517,527570218900161776895650325774556939988852998186378031398938916403664951766,1436527044088477628161333050379036917452750278520916073630873653717995818191,2122292473138463347361748713561632063586295791928357175930809755640909541718,45020200029843126667861283442610271815671247951240418244457266615009144185,3057544941657562057853872631288705725742294011653757967461179505421113714884,2183669023723830739284068056133034920576437171169719521891699602778569124332,137099218942057305398393240928548903829724431868478311561884052191010530489,3468462881655735286277064843750054349660767901254691068802960808662200831251,1732091276483773322968054549358886998201989349740670250823443471647417144866,2044121099044850684463705334205903967618532665700785625655827343997724887410,1630959673979417268830356870227149161051768552441624277492064324320697669604,1007550792098891511377925995441418998384763808507830645781476287886518306752,3600165322798087881774326143590624630717520594014568662853783865821286854759,390373594924151128001397604747851765198916723528984877192355681083687058265,2289684700240546889017467093449599200337659114990404409343903295005179463711,3294835530099295437012409021247918189744912478616672104315429105922030365647,1007722011811942509381074095373767187364860010012790095215526813272127345642,143662336999797922065007844423068126177283270130598031929689389883476976518,605472043021230124728559881840456262118885602166533807431174064777848262411,1226769725033547413788510652202561100229651666975434686883996340556074274246,1717159165616561198294369560725747319723518516074455500951934617487644559947,3571472776559948932062475289106553672771838173117164294113442029564524644337,2118690588466820725104752128492232686739528402360689894881004989417838929196,3193851229923709423354855457009384065237554121747647238204173451460697645223,1044388834904092786658329469006087203285030969636128786998660125201274689421,737970601860372727452798392311078574502128810616804770504242358657971890653,3282372062434981216944138338185920135109715473830868041278361040544695698118,1276752214880387002205672310498368478826110909125284475984401316168771066980,2195864326496846656566822113603308905275700913745002729752047311550042147728,2108612227775470780804683878042478477005873467747167221488889094317154622094,2297580384761736768601357846598748443252685001829979358240214700488284097477,989933503679712658720112922439116530376291563232607422302232336786776075800,3541651692982729542544975948142624723755284662747457794889842324422571045491,413294599671899367496106553071645420762354074403324326604359572661699560348,2426528022973934682961995595684687178473009491147037491007297561852331227581,2569459355836755689192316689816957426777346046515648172063875739284992146950,3189362545122831216790382445771987766499415898389504467145965017268058382742,3063053348802351327487381893683004689263648039451248871769926994468842660242,1919958674164020375672551657049141814330720115690822323436364779256364554533,2418732133577411587749419287327703090951515718627293738162872773515834403150,3553009074109712774337143051335165594837020807686825622372452829569005748829,2788241961648373142352611019194078351023573752854394029696913344976655774007,2006323297416692610026035695063887918901389595535667837819493635037604678997,3392356019437058219002522471477588904695396479220148267105482192215654312837,275464544023932783327920579947070017203591727567387739209588637921035752059,1806937057885631103912455839833662862266050547248295598311945430587483015870,1925079727502553259783783479786539724462936426054286309424581162337021311816,959543720851369234932736976609964962446682568888014187199102081222482413332,1805203035967066194447654728207348987968126805280645053975511351974499762337,1830063783735509487732313366610332201952449609925817375548412407824035703020,1694808982961102708934947190644138130157543694300441619681998162450073622408,313018232526403537872207959927576405674120700651631393455106299921841381878,3570873034329690501156358801067361283454292659538297157690412617136153782103,3268107563410816648432307587733123843032548438981655311425174800227113651002,3237579619737886212141783739552602432263679544304115744587419818859426186398,1499230932470757622419143509644765703858591433537014861171769034541955948077,809671068610904326695815436753760380724447290768346615987815622707739366499,1009201599561828303269310054505537356452110402577229337521868648985415247746,2746198313421714096092418947979346063666585475652078169166396026549186237282,2868581567725724748188444093215768712694628862016718780760845670603129712531,1886626486839549168122735224046781425336426267208373400090854503610804314654,3551453520392607768989830165107753896217625903733059455912304243731632999961,2974362777010634360690919684332545262774351323447864155911684610118110230924,2820558971604905751689397305997338460122976792116537241489918611585613450070,3319519693922933738412599314044751682299137119598067843855923753301811043355,2355925533595415980006978111906276424382878633347594405277127136356312133803,672087555203354879412854322556313762527235257230870024671702671354201167124,581791411905604549055730384214754917160978147378138491927716049387336034521,3514864027987324024500569816870473437571710444605848609597080694155068503249,2988372417733733224972595993806973725351101458318512136227509599499800217115,2346754766843077664248861650825708888419116907183785357671189274380339244597,816566225133930077349841754301871290445564637932707159538751994611809823588,3488124406377827424132935567298838653863547437229042065025655314244709536901,2778237374254315187932373492731007026817553195889359824661355239924235872316,830396667001748015296605150355239444767626037478078393364536664244993869698,193592989509699136300112554089933396545354370646445550337620472520969102939,2220627697434775006236405014920767681590258584229568035621308691931017816048,551093991949225600895740058265589240450345475702814472865370230817011810044,3013278714172130901013454779105310345146705895485717027362435578979364662471,2309773335847014556900609466615869774164194896529542404026464979584864478158,2017423108204760921939707234386685997242532398965485965262491744456731904460,1441839340795207123251822453632255261928550192004444201854854477505497683093,689859464805689845453921599594310163336819098690533266691229810922578724,3234060972346930492306861266387358122286040127624722859348036549996672086320,1634941048442338640393422733508319936515971323142449475225075055426887184623,2074083405878397150206475888271303697723300155198031422913144069196327198620,657400729103412515199367979716990158927903118010778062093093369206292186220,2848211439987507915687205628954427717315456494668260361036727567688016052048,1029397425300049255359160685844819158889445400259387635058700794526844974075,2366212477481802579134279933271882564675973746118004422944502845395240560488,208654283053072889667243038272439897840236714057367495560946499768050998083,2646674769506474581045574691851098879339274032894573405742266939576699247686,1976034446618587705110053943895958664897850233775255032638695767759330877056,312177750875001539089140770153005509677235300455311256799475308992875538619,496237930437354515027953814443643456698488202998542159241594619601572450475,1503271253079691942610417971689552273001665815960880723289283969023069319547,2952652019572650238017744481113955014919347396992276402505337655901317703062,957128738631229467670329691244346843829527372073700230198768196421070876905,471501714366699002080655679416203483944735320370720699504025979644326588974,2232935099453286842880851686816802885308625265951464183612643172176060327730,1075049436008671164167635733291235617490130557307388968537178468800631496989,709373765561810515804665041438941193959161857791219304495657300847078153419,1767828320161499073088069823012820794294370555286004666686898244873892293894,2190757333556338266067405457326622548259612033844200986746044976525416999669,3332138255459755559177138495200576511402892303210161321214762712509893875262,212972196430553564619273654988681428797671317177484988008575291695311097772,642834815240718693914784104218584302349086275208635773031570722548989111976,1695647532638792789836252862744535698952503370264251751005913385751658052957,2402571583185648578193258196679554853353050290657784147583971053010475490192,1875010958559051118861244266309424904754032347717617039398296311978914902966,2214628974003421117937590193941083291554623449139258670783169293290392579516,3215793567346239695121948603166527921080409960880151591787523098054463024863,3159623992896429033108436509536832287919615458072056847347359276955626580494,3251210981669158285893550475716196444586626144766023603921272862824914641335,1721529626351388602544039518647120057830530091573642703819139976799029017613,1744985869728763528341918064056501740170909632799627038761653811603571125766,923790957283662562183140635188302103943010411466357952730857179868705813552,1452960173063344944688867514663470297879192480350300353834786593166372161127,2665467035266274116587330369640061819075721853779873123454339964693985546704,1533433815192251624212928382205337633575747775804254487699293630347723252372,2956760487817334019055921651856673777226945588483965287374345653408135069894,1883594500973445882776476400618246137128524919256401944382488431927512849601,3234922789085254721733994684998536363129025208171312432457642357804525991562,2206916528826397239654351486486823875397777327733442947901990558056117311928,2058909690877252425336373136918289975758594289669728298294403514523504872456,1788718198135463938612696327284722494045702655032737738722342315408580499000,2865653980035862290920778922287639934963980934470047355809692056859853150030,12939873664223395614157875295342746669523813468049285861560990272569440604,3080094739292298728474799465333727437151492098183934665656935299069784398894,1887935935505603730397671156256949629595899839057501363910493415543558003060,1680219395517115835764417822972016082330852068106283365220477951216883035862,2095699243873391593482115750094143299517942108735819132780584376807168399690,588753545462601908566402930173134735395675647676424262735130444230412811638,1854804155323309496840386421228319006492805507536786656978979765013935099854,903533820682219471575131851951575976636285085539752199666972746116908238245,1976094005430621498050008601857923374789494595935092051852414764954668203294,1051417022255523312901911616581831957920202634882527231247101792571617703505,1977276565617016359741720871916471127417349365965481103123915965165759371032,1976194356164358324200184197602246067941343394556947932508168581240533169448,2416037041800957763967569775115622428980085738157156265106369231187649751920,750512637504059379584384446839350404585845968504312360263315758394113315086,1862424654495282758714382791974475798902989890865539982337653432500828452734,686794755511236029410213101449667824762598156733249567733960266070862777610,3336104265757457348012882198324142853755339758823840653297571466439378473032,458481896759123750126431624799192078096965002226584091558080580190519125126,3292790974617131293877090270093410387093795758689397435773215017997064721356,3205224245545382897747045066991054934847285749091191632284414082876019472532,3364819236157749516482641144466822821191639101531350942963925072092685832761,3612464739986508402225842574432804856248630565249182941978571781979134620747,2298955850569775257190364392552825859475959831740796573448691886059353180067,3535606956702008105902384355891135125888301538708987988393827755070821892493,2588892570315602733173417759813491141070170594633261849483910050484591551896,1573241093128544866558225328150897723740993727887165267694783216037862270634,424527655255322289760112543879577209461487238341839274584391472125946220101,2865193565918107976417955490976031696254618148925723484043672959478662537239,25688234426185994839922772021280320741913947701510213221364949748178979004,1820453379529052872593119154990333745962421589833397292103851323188711881450,1518987597946108347446221847299787197392892011337952647810715668337049548759,2543118906793625990189391950920010244165130187169205499956462084894709006899,2157515436142401007446554106072234916133986209501871780370428434764511930801,3288152846251559576937397123753635439638262349284692487163633941271537076490,2582874543587837151711326471708885736847976319649328905900760647158884753279,1249114562975106684283311800539836329661145413652694323877359380413021833382,146442263201139704717871317447563347934702178065028852064279320861782585492,616785716666923904908786578807707833215601102505796067318667929225113764794,1366291773714149330604892801810429392308801314879520438337884978368601744114,2114728075410470997667738521006438986787399135773698676273986328816447408147,2349535531467107722199530737491284531722712372942701682922568691972440990015,536114147950600191264905716290592614111276785678113451099989638746604338565,2307559554849951820236824019172072942322015755182189033342394514400730706377,1116384600212788203898910774072072400079901868455884897799523263467633464900,300975443387833958569958704403238284935304571020799343604668548089674436363,127971724686377547907895055592122766700182027173827546654105044871750740318,101168086675811605252479679348096097410275018972290138464515698693141398257,2303784860066787263800841125054595697749793570399553125601922869123738951660,2292790862403971842251781519628857060583110189900766696362548327598592500817,1910870259110239244972510664874994705887895538584977469512210728555243299396,3402696436338072757027387488439426659073973428572439703942586066091232534737,2489921226050346704179131385854706593040436369255829406953338241612996472571,2334950816534331358431507175595010751258693704153595288890136688887697862193,1634562332015607583494695965249606173421086836768021927311709566344898562093,193949399462370198646013992527079006569986511693504375094603196147386813886,1441561805514487908406154164796162088548176069324299845766536242161182399758,2737789899300785228570910828887510482970595184835926311315381412855136323389,103770223008303925424335668574562162295940812826334975441917584083753740576,3223407309959384899189095119133337555549785131946685151025574658647411645742,94666915086469827096464923699661315434173245175428160192169892027566669599,382968603340183862124112771899182279364947676951650665359061643510448153154,2295733154897304710056843775332606323715165885316224551237359552030268633737,1667757773075598947734466957111324936935077295846982407012007160190395544921,3197116415660179325701435809373892285344402072252633962912227644030469009473,2813770414605545741522745277051861537365570514762405207754344090207504812961,1453960304269201284563976427544632417244146866715823527997856319358608275758,606501768386192684942641679112301006950311436263450558632891114210393537739,2284473163142178682462609877886914748265328824550543651893432806323625716093,2006563954286971880543672961394726821196608910156863989674028681011339330690,1174194454630719463534917946237926097851856329376587456534613172572640288009,2881209981322290254783548570465158688981459618136033180574002171646861155496,2134250109660342461655194624869545882979937257763003023431778763026125304040,197434893264310559400783621014244810968146451890762948061277858931426534459,441779150149322701118785717337470215072942036956243009434402640912017652632,970605895121488782269642476558600526617576103959626167873847819213173311131,2485269678036342309679026179257211929357556193685692936368073304325658936318,2386451637747766789715539164603247776847267375585281065161099087360582388583,2477716883580787463960262301969434507280870347009203836104511720263986476884,3450002334215416208796775807082232809614245763832851226675440496676737589755,378060844952586792437295576505904473519051615089491392255001918476721192679,2252004886602180747270304327059279851304959276611173246175756074042040874139,308978365777526322694457266554808745120853277726982941423642965220904826620,1290376533207609691469780671062017510079448193861950844436021710836840566406,1528791539169624533741507225087879173523025358851407852419665650811744575233,3145624948972317982297291808677836373031274288571212724992034867154423324043,1236741410180179748746438169738256669304652601231289453882794731486960407217,554671777093031770641756192168298346450474730180362018132718126354971020210,1577684502710374136415466915911662641472456307395098961349943234323086518127,1463243051200198423415193214681551828608755026566026943100776130870273400838,1551663907251496715030801593563815276197072237215954951946070706094860029326,2348746329156521369464236180958506757856908140593721840993329579831163801318,739140152106564363204457077060447823737700665380874942100913879245658328620,415263701259423646650816979320207329773823106021482999079416699925255468880,3487919084475313075140381140573946885468606664391464119713792852811689989404,2708729985276104908512087854149192417137700600222610816119101800708112539836,207602499397622324834259177456246353260416789019675840466661497066419141101,3322389463472567529828305176079556972350980657051394504754575791188130978604,1600958030952526246098955656799683675494063190928177599074786158489955732838,2316449828135114345462963988157218829893502043757045022217022425199930579621,2600456045948746477540641955684745037396395130588022546136911083141136805934,182165465608019681678074483498327790286142289128323475938759132515700777927,2279809660795746509424576629074547848975362602337351644435018884682513053140,2679361084797053233417238781922607109470169358658438254089691585028915688377,2583116048841183612467410689911170356178120213803482883137865975803417182283,1070092022284983376448760520831558322559862248009789234104808226960973769170,2935389743468602793643382661216503141457489105352354979509526796814197781605,3457801036742845656940548057431475922193221584908762945270932414832647041475,2240919536184906097024298169395200965686296489985542239146584301236521891274,311373918324679603022083157767616673066981747583196830555362655658130732376,670973782383394508353406896410595745240945826620796367346123160985332709891,3119599936474334562884759209681466498290800862467076464721787963432778707703,744137283955205499648795028092841643958451033244391890220174962085314002196,3528235254751837121096152038444097334368678498573627151811978299381617877250,2426663493347724709991290400208228189543001585737567600664514452385293386847,3137533097929108264453441026311832193765238804834758034822315200149269100332,2297824742340601149968284037594878943571791607525809325145335631248538676936,3371588604316729350594311089452414817494081852322658116939765707093212367723,833380875733757966938738356726578220756895841024568687960779866947984412548,3062868337467376519663960412666264730329565146067583412999968647628760763398,2040689673556887574267057843592651887062607062870924955215607215572633220491,1488052891047266888933722590644624451483488316304331295281687235954564524891,1864120754781040985936860831865481115491446424062819697941765062439772087623,458435790186734052178235082411568820714298830366954735642793661956863309044,2851661264790402369325923929363798165665751899384149689441407073082255585100,1781668751404087056613528137113534298692571273880858646665630200196882588893,2133856786653159957914894927399509298490946518639505082703861417428218547191,2264729964125396496470151628675962702912845004755855851983193603242429291792,2299739081427014341560271212092925550164052461838980051605760711259842546136,1748849437993597361639280049848812107811149517810665630775973866406862879390,2796535750092353216915853364724732621721747297022602399531395445192597266682,3399666748334753648895334869762406067649657961423222700327354841900858913785,872884882187146957098158216361379193415853512405485099043482219510426262722,695275994714177990303314150560321936727087416575243699263304974527535324581,41258007645170233129289598646365989572024475147570664355747207227786177720,1162699800239517227601691969545552579177824431644871958180502756985654689569,308378399511323816692117382943716863907843355473453397168856400052634731866,3275965821795848586565690182137662466189591117911642070995812576270478687835,1665882629558479171559057941112377808157947622060729625645701901276293865597,2827623231284899113001397443256263804255743997625747554859812577842074938042,1453649968136852307690547405136468217599275097944597806492272647896968262143,3615168362218530922218134045217413475201667233300718664587129646078328856592,426660902743621787000657986245448300554897311968361880843312116732753062826,106045898300629169211198775100460249116517937591784459046743246668814389889,1994284108121733595691992360893763628131543483120085716119909563023431271126,1751714129483787397938735225559113492340097523893118682473269152374714219632,562858442270586555118781341965852715349921249981686121702108388558598518886,1122708973757279762844540290327521996066666538390238116198781400437706966926,3270695085167764191714843789126390662672569676863028027651532558894447855862,1848832833137595549587604837570007417302006450239453183092716787511112278984,2289490417864084147053663689459307054169644865040966419558562262236330803611,450856372962657252733566828772637176560318556886777824620364900939331757974,2219208492667530212999287732493014771632514789325194687052921186800114411204,1433322854167132140396189249876588051401862409681195010563270779081270390114,2292735890144282927080996453639019733761473830248724600082629397019646235969,562174160530948100459931982398734487116921947473725324444240595208738977871,1807707265069061903152008481367823824889110855027611653101628303705223015848,2095561661727834569821240395184158958794275477860884742624325111982191603496,2893921027432401730901344745891257479167095056670989088039861552322212235137,2999034105691693495486594732251871328261355794179221735415699120408166451797,2947314755186114176596201935574295607076593624262662126624363369542348790685,1434583728780954208178554459721034226302196208068369279548494065954053855053,2477976569525876773330257250520021345902345693360849903229283007817729030218,2386006910009682042287852347331890200429669662812205385983041811982635625512,1024299604992305201020848479721097156755535740232925565773604673473575519220,2421924192780115545235880474317976769037371858146157669674135469099338284337,3614459188049801638047118489860311653602053577112276889310319121577730882981,3536872760991425649804247620442296660453829519575054842020442563985939822916,2625467694233766998750943605186493721777672115618432837166134516733955459897,3218383141329481393227371784013283834574217358790650002055926211305406976740,3413848406136330491599548979813435448703869142036609587801516491782200362681,3510783333185771160746836480797353708534263281236272682841056027779111100741,993950674998101679670870450920957104084987113450918005732463118787477351231,3359008142357784039518784238232235905241765033999882809232602868139599208000,1162772948369033480052857492981060317138032623847323386342553841277880103287,2750881771042690258611383306906145222567544970634688084326217626756489094291,2140833229970196004663300232391796368758584086558273502005149562074611291309,1172398236025443687738260794919270332053931872343469403531525408812200955856,3291231178583202364411377847880016425642839436510173179455248689514878467167,81604776835866896331816328959952778627776524642583860739667439198594052193,2853090401577654281746984586671331896832199469655994541777107280608319497680,1621978750432515366653743519301398359026657442537762552100649948962951252364,3330369576591954392673004021433548259427126426670154248602443346890269129930,2804110979467608386283190871193274121571536802548243484249100874652957919742,3587074780692928152700797413986598466351122800899675397428930843084347336801,2895366507917198062656226479931886818591225734386938125688198057582742271924,1346991144897177648893936907247479509621742712700867077536751103055036622720,2755903151113525041195962839640722850662393346361131631173454585804391574437,714049570806331640185363446969365959309108125755440548799073822614999243916,2528465538122059803708464945719418338250346649653452615537014922923909320172,197525551647571171909691920617513193720098506895681720821363119283589758639,570217211174666327723771543357758457892051451411506782753447990631947522635,3257412359283370677346736392848446688390793563170141240365283786635224719098,281124461406207593362828468618518988986845596489850657505240173762076618361,648425142308625710069655411062442518664502713304222169830596433761903924402,447540837582896487822126411059814495296350647761844470788740139840374296638,1311410791273272716995750361959720600299675387927555725868726286980612965646,3337703670696405510781444119185648420009658074262137990138134075423483076095,3231819115732694642761256551322211024495112500778366396763318190690036235450,2578505086614134230723962656145850170784389178350842746800147193356206365413,961705806167732340502864397017015971391373469553274990086261272935128508190,3429450384496193742319057603708119051424913147171660303346401210533208334088,959175495264439203356539720321548384078114583962577548532184771141815463578,3549019922499859009828854484302701458344613428756858677503574831798279443929,3501480161916691931447766754491637630162486911579868197910892296547173161787,3309918171888703377190912710076860477349438638458186975569747773627373823537,2915936838137030641652645288912714170445089300309081047786004727141188872712,1184591047870662613270945963141730837709041561909342047645592945069006188300,3159505320966830815686236813767289772622977088936994826341631581901805853273,2935159724800656410817308357709608333358490183428468707050647888940256539828,511355031155382793484731411849040017960957691695312275014247234233749267812,425570160023055392198257308224893676843742480407705328538156831218755061309,2522097339481020327414093689641562391521307808274165252253497761839372963696,3117660125166027656744747362077904453330479631343649619334108444364003334190,1682278255049757556262207894099919870930735072420613326595697348256055769598,709185743803472363298563635398664823288496075773789710202405943593278304342,3131318252142833603788693165536302354118913842150258293190235884812170736838,760401840604455686972093388940959611130459115731535049186449197083116147972,809594027211127450936028687062087598881358523650308043319345843280554775397,3144431227876538723922041703525149870015086873182464299117146279872548290420,2519829504913291293732837503426501221300660270451529227473395312595311848706,2652263328563998102269303732659310845822052603455066072686407678672842086023,3368611200758423774296462819375933813468113847314611555609902849419098273669,493281569360070910589916408211151178908672463888215916184249865815334322360,1376317840799100249379646341255620293416851326508255071793434827323912329038,2348108344840725976712609897937522594660186621240710607701631579033966828336,2792856010482228401340290153565653325562282118004882693544242952714943007156,39230321722735912328640641301038241204376750391428619054859011186678620964,900079400489125537799602911782810080120035001051538989948506548459662848996,3080882722112340889356350037732058588089633054287910476339749897204183980191,2215271445155728597634430891533779279964980410299000748127179473992229445014,1977486987211722875077838750560543081661538305704332286398737077014267275688,3457747080466352938068167952019675709981252123587187135044327589275376329594,3022373450000796984606588160274215391146103128589037183705651153879297034589,1722354650358297997802951608522630368688363899287954373831200239344969511555,3264206892241608118048247571469585690571958019515037026285740494184573350357,3055642005191232300508610250677579240772910533198590243721048613749139162208,1190102745376205715436270573038386887654000762253184438341474039438898719733,904388496662699972367322848422643043775888131499051923946796417062305020467,892436121188200157560740751479035113348443731037381261856503418768548000947,2640758272001489634186797845811985709060678782891068291894278479208375860325,719115227432225309405103036786043749032831081834831060909590020216970600270,3194366673020848766789961484094039529912216310877390742304717469576399778605,2827674012439416765362615495474780647458709413105190134433230497896914702284,2875226899237693702139572131524056043289622078887441666756595595024285361709,329192008594353976808823225769596917896682424804446577068781621456498969261,200461853177685565009356845975741764655114549931070329740299325741273169453,2600424024846606453726872150213053190143698726005138544147028474787902823108,407435876910378930820682699419632807834536923351515202080945845069392668465,2626999345034872062439250715885777916597101679023877730803891767376667095271,798808522563896696948239310546619370610135688743515514364987973770742669298,2739510549487383058520391942830068710277912377230824465606380471818553010068,140101842062380256981811970480590800425192217209357180063909835176993808075,63389060769489320277234120043714987208029565831114538693728619098085752162,1897864368534645243858410482372447718787153155434065056948790941095513824592,2976849769590570530673148693681764298368157460320844573998678076631407354750,2693423232754456911197567823611841681569353434813684233712928570280965760985,617887113987279364512188154348956685134889586632985504009136765761779768351,3482891720933832089052924869028534448904022171811815531605139567244674414349,1728290213020932024355763417334186743407453635868925021417076373925268999523,3368054362964754274194226682833645540662789116869895002384826855119427949972,2764140762401192843069346735569099078256573948834950506132165207262268733061,998423014159406205361896529335813026310483773243226467064905251645919432992,2958746667932974146488754919444644816603863942688868349969153544578134834091,2065329864023519712603174312189013558949765274892384998140797005837753042827,1342301348248768726990827811308531780946075483830717285115520504371970238922,2523716212285669763983028588050857318393117591928942312305652285505542277847,2126930984890409846940011285822120845550682304969775264815882236166279742411,2961556928871810102425837237432504649943936514225705584215008927361430749763,3427398887083156548911059956326063043940216589422428377466036383607150695966,2396060183954524724422409884495434581976342026382973564155897182441513031226,2444483434948485718449716245642920957667401594411896764642713861899632364373,3555429938769151523521301718007162042963018199121491561162646864090834718450,736931148031470553450539366505968238481638811314350806293640249927898578078,1927950751667990141255654782046523371917689859484007727611066859575376164197,3517003330271565342454940879875407381485738581170992149575240188173981975189,825245078420923226602880834180503843595986809211335443551660599781418426433,2846947248344687188120794096025543348252530195785827620766171390785345284231,1744169576513323771961804352092038887729339972443471483484838831557941335599,2983884686666100123997948933744229432249472040723959863318226547448003256743,65978881585101157043562067907250234190337957553877083332561335571704324546,3262247212952596481619252015894253265002184341272642640940703813953020133443,1699070799065774652059294588307194916469965956251347297629628369119993747331,251042483046146470146617788835548093078175675131094946717463974086586647663,1981903178909149174391423065101860354118501773309201368385748145403030375830,1777176540044526478237990314338147690853495908840316707717952484056342967388,540157847234221884182180211902872379865624699110923817427526438153555859150,1835358271868258602953248884069976807415172057508797101202496202483622191683,1001789630551450775423384209592674010275721336443697983116881967845784747179,1577415707770469322743940206682978408096538119487670273633418937313846035672,2617524034190127240468423546535730844136319636399831143733322578010369577851,1844104575772276947481177220417009352711395253988448861966865790646486031171,833869012585316330531446210284170109470313770271782413064375589140936730730,2099055778465021221897309168012028024867268439965083979968584504466368599105,1998817630423433180685977975274822060878836718500093048998286700426326902968,3579514341790052633765006518289316857354522549790658803272522211884369281185,1617851772908779198163404883970419449143840426568935956906442900071240175400,1234985850160593414382626925874256783950119100368485856851453890029866977191,2515843233782192764011310904656894872951554076610241651618646303688912350119,954848346091135617030019697504337554688379745586473373810982669795264077782,1878908360120466292060068681896327100836751549423038017306662263967466606142,1306082097215939261885802349836225355726268796054558221637193879032938523532,292164314446284886584995248653952565342000203368672966572004619705393168203,1544603714155025338549942363563592348365299267105855602817427509984589966760,2244129289275072554992364824953119684308664678165194007146260723195706915227,1530535422904281008197709861565023546952325524338286292796231247928900568954,66835367504354248578228606196330444035606664676328558407250595528219935364,960581387045421602605327154038664317974080793203667248723731037309899988299,173799820021162266827454761199955426193374731742394552948094357013506055112,924586468524422158476306933251745186597088528532908061904064903801009384962,3077793375799476194335047275940502956830162245353529182876011745611777875352,2950321206666572037361475713470825395685085477374211263365989232150536850712,235882887282770815547733988582674900299530891637703307854781369308873380375,1624695713002606997281460961792206805217953858401634131639978980001749156132,757008229598711642809601259653387205753979168231744160839600726553519109021,358506174216820194610119586508368051274366440964717281204766542366541844741,3386396858449822539636201221684229064600193942429572371034210618060034795597,3388877739597766638041658375828807344895225031644595657550236201574947286223,3492734249514792500559128809092572487123629900402136775816163968517823528976,1409317267793684423244833729152590427275532997196120162766989206664797391317,326804549684781787347750364603884193550333188368237063241462994993472357778,1235591283260714767587858172141433690218937602111906445533104442611040139576,3184946848174897621364932007396451339279618376754313722408688407361067121434,795459449487472798203561127927150820878321943888067619421604224043740715104,1279204105193200653299673488284926512450412931262101999001076132633254930781,439549672546179294116691760408571223710321647084953454056186078948110885242,415670034358759824643088338331562640352965913458535080803383902974451132594,3086161951549439401718562804400725506265620212055686319029726987908045259075,2502988696391283901679081989130243715532303396775928310386951148135293428214,692293974347946237162991556788988109372645914384325182528826819190004977248,2604781196798019370543581996514333020887188109024588674879718405107640511287,3368769025894229963274194715414546484425637089532125441167570091485793573379,1733365142722423793762070957538781684279175309378945067919560797687214440045,3528650204256757472623331195514724748113732171763917041518051383217869040134,412264375645750805428123982511366562304586076649266834851259383245264398645,2497730138301713077087144810071272917354077237837172740528495897781212316201,3324277699976589991867043537828296948174940417333022382544793666954868311117,2946410525989598680228396011621828821347068502548260131305504835347010146857,2560319272218763524372139126593851653979811404663235569194001551162532962044,2893618798391238439694533060811848383534135601910736258066870337010563459164,415034011805209594143345332209289432780438676297056297786298878865834018879,108596949553643094300907741549044569139714771490411777208504531767318902838,258591411144830422649478276399936187458607697286120566835763355530022228305,2717494269623620131060091512836443817588311688983453155435634804563696164640,1003193307123440715049710063545826099252657681190432945664332571482584152899,1537619503328168851309582839306077727580207195582752699563804240562309895467,2505094750558885521781748511221795746613539638060713156176971978638249643034,62635676443663854259126248889330942843390151811374421057254381932667431032,443837275642290772483407445330621022968338347022526545167014507623681919611,1653695192376546601303956577005511302398325758012019850924472738514183226140,1145925865692209293843735619705149558258170194446777921247702642160799341069,2035728654319374104084644871205209694491153487198343936653106918634524734412,887323024966529337896156454396404736741049399903757167482485345552344398942,2497812434655601684948756487177114105643113768624952676105952186023877703000,146228412235261229263212704810610365876266094035881158405705402373458913592,1994704772787088516514828556899274133230832868604499684177096283718063325703,3489353107407627057965885706178672893899632490621611581387278555942573606515,106421099262705142207905001572844152545330566038085222719024490642031612954,296232513758558426442616561732721262760528977140995587840381654797884632778,3219209655871383599356855353997368591856650475645811239421350704993247193893,447508598963121506793867309794416056196620789118769839038146766482353093276,248891835039967232484982372259916504191382164740275258698208286034705516633,2343316998091028728952191157755031911923684275106431280903691940972759651842,513120750323058420328351536948401845139041179735000965428716787881137761443,3053553821083538369061152509391878006767859616387245132353064369196636962780,3167666004094880495030975594459378172358704907508897337571437230275793347637,2155202098064594658076186815809030572673264036690390052513035272581147487186,385637974376362648799710154828749916488967190152372823568254245339795193967,3277629289446569709932649605852893562971312466277773079934396094387330833192,46592599733780150258415127482209029642741769500921200237775641819069880347,3147706641471912569458222539689848979617799553728864528770752522958371673853,3314284286087794595476697733370901048846402881252794534297137863409916788141,1017550766122536531584947952043238147089045952827639666797007949314917365640,2427864576992363471329161023252299018105562622631431216866024326195815788828,1878522621362909765356267019680938961476809700636370529305205627520598071059,2322653707395379230384704955833590446002280757560704017764144737089420684032,3248421760581831400252132211589054613502346292016625221634284038135110408754,1082681184188642294566585659843116928588834562817555558183340888518474945742,3422053881084228149703631423658772791271650237203257311278415105712413229300,2799947756857469350509688935960630762542400070255664057885465315398043930580,3263535437843336478544503587204315040470255268840740888131394400546531621000,2172838025031149393114629914307461883664001719876854064810626894551459001582,1067387418993014295579367174820793530942106377447984964250239304509339877302,1945626117209955186509792054158787665106917696351193796737988048726526599338,1543540870115418044994574697459175991954401033564794262260853277115159664563,845863042080955791670579661151612952081505679124981025423678932203164781069,2842627404115236981611795591845908552899400090318092467624967751047158197791,3027557357596008364725366722616757614443926789220569821218438505214174795296,669797146760415549238848017765723111378888891820679167244183565832575364390,331741870002968808550802555439646979001326265834957687665722037990636643699,3390141371462102442964140571733961175337869409276519890894393695623268359066,1292886381394664428070493681169949264816750364606518366764427660850163602313,2589131256952729476910428413400903175977557628503009492673701648086117234663,3121607546111725483983348594390625207933789295789682433772336137994752636663,823198128544589946427009825727689611846752963956472898325698484764601751505,1933692658656206161204121029874824301302998379540653371647947304734382755149,2697746575297257209744209238755712927498613477199523635442339393809823082095,888052522551540622986976210563233456479853806936864768809294450468858943951,3089179945057913742513061105077756059526013232953869746955981543239880224032,570784057834217636968953046601132430544028159448315618994678006326106095431,3469816949197467017422755225434915149763101151566706096516787856328376331861,2693954643603512611715250501403172745903751732655347037720754720942908343538,12303604857322984531800287347283731248358542042527494211939566403215593446,2059992551120804454433016997602149615045528167557257424239000980105540666793,271817825207346862178236896507126447266400647997311017369422895372422490020,3161479294979137430459948836079339524423700511765516887409758615602447729441,778677332793993805246837966468447402160226401812655718112015983561503463053,2703910695476441298964013593707609467472854684270325799373418858637133056000,1179118038625443199770635563719075820617510770276283852033959760215135496098,2508973172411282505929942077525541307468336174966150257428554603034096546325,3065379943985620831551082804350499179634876961781996001368912763449410322393,3576335182980618431621841690548025227587511043747213506880867581865414694045,2726256614826981320921405610555970807013431091374167807487319800348887143053,3299508047970362838100704910074097441260764202308077075800558392348813589731,3395396776756640977674875005520383770491988714539826508477857546364338153656,913718818327866436005717454556994487634902087938167374814840875550128393043,3282624770177248742248199854765867152570120299428402064455728293595130567241,2947186864146672623349398870322910350035149418504100787445189931396404053788,3517560751780393378307037431712628300820282515063399907257180055341555424217,3546498459664515436577155114843939078970202392060970839788827820124765608139,268825709239820703395884767573799567813123747556905215644415681728495223772,1338378940760498025357696630963320261496533725251848081778873915067118399615,1792669999166122278794314112558404722191633776506724634942334939355522971485,3434733349354330852497473628359125185505335337177085310768603301517987239152,468655929173509638048161336439130823573324949666468270635820811947611916520,2528607981471809457934065606486038834169451399524327220778514998829651374997,2600479634189391158659721662348498459454316287335111702690285576382958381502,1457439049652488234166338170529151246118040821256489305771208344364263562600,622055198384532912271586792724151275311313520475129153442266389048289703517,2189103792112102179481524676262812844721629054187581239036826525561578264659,458169615589913680612246801027243007828699078455094584749940172300198210979,3093937631329695820503812995025322803405403427221368620335865712063788060769,922887335451370197230602567907030347411428284413806134345987270316253810398,2256075812849654090540955397202728913538843467515951914538233374673153202715,2314914528612270783720612234859040974116372116681989464960501250242789259432,3396920136773332521039275414733043597972946495745984658318895526673159842101,1433868799426904035111919510818635148278204230415676447282752185289977150700,338005536630234170968145985604841799643383812961230586788099990047842831780,1897204316409943414189803118915770309982844841489987875681581532100663498426,1493561201567571246458097245546472583730104277641099788322609415694725474411,141534798609367386899847908058570450592319851285597762480193262030972359866,3081635579067612407212893072814592691345098837719331906160951843514662687176,659074818312157269836362541808902619102136295434300443853309791730939817279,1120681188404521611540509161616877465775781703574404029512542968202968251488,2751806041765846406626441682045779954006434425087876802151116663216905112291,603544143132722485307381453903919078347663428395464206909406372138152415475,84746036501312113317042400028204584903753125269434765759696865533921029168,24294407907420903334291237368344668486003669494609689169777982521062048249,598106027048003765016433077820329917802138259940939243650998141810368324451,218854822349944435690896023959233401186460355835502532664142654656817419390,1485856738060484778115239994895111883077807911672877459802539159072481139833,133307329673886429035109522884045287992000456496861460468824483669401834060,250245186613824457987227732425020311903663473321674720421374575964755607288,2278322904531970439307310340747736427289894240182255012488415121673574806706,654122298575755814655762044835629600290131974557057655766787328371386892405,2457646017101611365310900880269159625825149631571026133663403649385028416332,2937724803123020642950915231055739750023640969604093522522954001527818480730,7506136176354874826903384622034062018631478143574410860631750827561078696,3147855015222290356381928510910674766547106401187825746829605734610845373156,99693932571164137007869386526569964402529458485219418822989604055175233649,3373562222004145769369653083533478304641385635594877401272419847075889218938,1456372393947836993764866444014321360807717384094234454504883919433274928847,1617636070471016543421865300274902292754937739018115805759805433355111504882,2929162249552332860957052677131753545067119964910655525755039639552939228843,3570426508769680561450078536509926987570512281156363446632044409926043194499,1333278738520547639986165221927070625444044786352469069658788146062340725342,1783804115052832988270250011460482963768905774159534786779931388537228828086,421974662850067373393642502765462067856341637327127143487688700316630823620,3290006524445280193116820370337744483033059929243420989493730265988148646580,3491696855327778861004920213272492635626237166721887869256970154695010474898,1126093197162247643965539699738166780327639565630825640131160143117639282684,583855883812352401030585611532983028220721633383468155509129231550132710904,1123217762021851999735903970898980295907407464718340699807940437250178054113,795640958493116293659565948748358241571989366029837902302843033046268678270,3606862469983177479608295858080384017100945299894206305642793491380888482567,0,2345106831890110485872616817809227197735854238599372564183237280263002945956,60,1159805309,631599100,660237732,607234187,2010652677,366781678,1029528220,1639905885,1560781676,943174989,628448163,1532291801,44151448,815605706,1394314116,403256778,1251699165,423401477,566209542,853911094,1691893826,1103753185,538938056,1187258258,1984529407,179426070,2128347339,1589597210,606394946,2007203955,1490449848,612669761,1060569986,1659542169,280734616,28318518,445486641,1525257611,293701684,1175905716,2052008783,734400006,1677316612,1699774509,323946783,634756060,348537958,2072016572,1139586064,957120662,843714041,1702418889,361114944,698661135,547079820,818489606,1588229643,2067394815,470583281,1700347608,1414617787,618500020,1432702074,1087603165,678738997,86996285,1687196884,2123176726,11770234,1586177514,735475164,1746215299,768650163,1776103378,1486058624,1217646113,1972333606,260345521,1042602750,400439266,283700276,1840569832,456775201,1412886038,962289900,2069817333,119395860,1738680360,374915526,1335826607,1024173836,1031495375,58178878,370228456,1374817307,1813806916,1596457422,1428751764,1028892463,2102912150,569357564,1596590942,1122821282,138111291,1747025902,1984793528,2131680797,1255254339,2079060370,1354546187,1851780047,1112526711,505788727,743338528,1054331810,1471322657,1075904297,424638071,151278355,2024872034,1732753102,618132175,1339164310,407402704,579884242,72905972,1266158742,994472739,2123514362,1192853267,2063589614,1776261518,1003164416,654865935,1391991036,1302091530,1639623062,1206561310,704938861,151930923,754193595,537471126,641624756,216812596,710415794,1121822297,2011751790,97851064,429223603,524392590,76904637,398765457,1130236057,1632359817,290459839,679814085,1567736032,395846138,1964118901,1282618513,515248768,311452857,1197418454,1222705539,657398143,964298575,1818775033,71979888,1564824425,535663796,434058840,785138545,1121071038,384348983,1499221696,1259699577,21550988,1930983861,775027446,1956854245,249533048,541733059,723781295,521436768,731235611,76580178,867969956,722096189,2138339325,22320270,1278317835,12770580,52629116,150022722,1298551228,2068845067,15969569,1758661580,1285651356,1772723154,1470740502,1756293604,1150578968,1025082431,498827604,1831090996,154023362,644939597,799183750,1720767023,829720822,2034058363,653053216,634460441,1094929587,1548051436,1395410539,1022676549,161720729,184928783,1297067327,353645642,515496834,1783002073,1178348727,1690315545,1334852512,139309606,718183533,414175651,1292864928,221022682,935071524,1358983644,2121903281,190641995,709025345,426049182,154172738,1001803527,598,879356164006469930565698296654084845206840912792705186695494351427785745586,2305999661992251954242972187640584048247292323529449764420878341765425007163,1283858537793238365185023947297467827675077883531655488235228753256129485978,661352989433026391800904626897894487665010713747568164393143064059507293013,2383282569342921634367134715876664509352769264983893271569616779450445938158,1912561747424540946566015231581637117374425902797291597016047348389614258171,1068845337647425276778994271821373074742560776069953042771659041185470642691,2350014715138521665576368205627477710149610697176141494359493078282526926500,3395512235994442798055905462874478801711394282289845296860588295448530685470,1382036713889747898419079926979403767949026889091696130245817093293010674923,1720277446086743636945313952414895914071188444082818681801206844833775693270,2608946123320901574228873846793619730460446152060309237157422562653964008122,2884993317049065768043269226238369698277787600319703335465924729168518609193,2914478075877361695239961101292301003813595270857266196227129652580354133126,1368083954446343896592495382870920228986653592623316654623736244411640331682,11385168374835274891073988773081007511149835119579805989616923983193096117,189477006924855861693779938946947664353795932281286023264275669604995920861,2209137114614638319001245077396144205762354571588430578497043877908828219357,489929178908672355604406988424331709536945785062637211651086996888022110117,2291753614046342128206846467347728663248475822113273837781643863655509310693,446552011744797862510559597052242030925257938413873577983488222893191005952,2524384305938711306669922680015943742939300212546842315651404975491648297406,2002514959499825574396148764335865516193273946757192067591968899127153135981,925909784761606969512770112523182639578513572782042720061103530960443844132,2501414636124006531673719420405486368490887990006097551052476191679174198737,256865681284819025805652856960337559220963437218557127051432224335279666839,1324190249826278879190112930160886140055969865292155393138055169268335160927,385041808641671812523026771156676175507841505287742403307185659797713939505,262317960437399581862392457161949594915524407794590422283062349770237198099,797211606032809885859942627485778265715594240073245567905903109222470086538,2589132356679869257237855080064041171625301268033132724489850382597917633938,1187129549238244978361741667278873600192025738363778460419815405164980472454,847604601286752720576760566346311221409647783914665112230419515099028696529,2653291256920323842182877181393267340586662180614269406871416575790362132778,2487084466652747278386288891895913849671779087908984499037905308417371420093,2514642127111244405338541147692732142534273812978775335336522436316214021050,175729357486995471962782021591658976141561517020362496246104026453559590998,2015802971691948099976853717701721653644315412871711672559569087218075281005,858643696871422623648279954625303666551492165956900218505068453110310840072,2199814020396412291960531095219970048892796187838475539776548413929207753618,2773729397508835146824564778175254029989172471842615161922545358436747418025,2693145924240611629104398237672548659786921692329931022113037183117547896897,2008356050371603291738003743242801676557414107270469405119167393173318931522,2111336905059501794989395620451157598761011359241412490301157587819336872912,3177330865446779596828783451385389614357945421105368746956225780134897422132,43444252501231083296202989324308804990225577563240680248790880555804435608,739339057479085151224347914986242754282765318771357480798971924039779533410,2422388550743041540856285892262864244080851145657228667740794714608434807554,1290356056273306451418771813433622662393396381784991074324375444612635104500,1080196419995713931092259918031898125016554371018343404904374959139757728938,2882247299586769406890845830361951570529026546152029746476057295083915081699,1774957262844957657161950158639932328929904728347051039383413957879803649562,1953431661375554567531981798848889472899328551368632263788437399106735204832,3185430957592637986338120337257018508754588191619598541072856282306266788609,268307530366675141646141002351083034236353778724908600343850230553925099887,3169577704504478877395856106865980485343276208381129760182270445642571677924,2125704926238273006227575161423777332591446262343337148402104100408284099938,1578716017875349364066553648566810092862079761047368929337202747954901346799,3117189655083342707470389375120345088069895816348084108523429702118039833455,2485362475089949507103583373200069842666512584368798859816261832621285159762,1369308090559753139089424381865647393341265926068689243737416811050364742604,2669185232081466048890318435430375657283614901646547203936596643068107485862,2694079075362456988521193017982349858484280030972561284110951225918038351605,1147470600089465012287113106889274010909784032911565462181651041556063576250,299139547647216591365860536907435049438713317761577781153599754865606196910,3405680761556078464500571998585962629301859159215235301669685051128491253515,1620421009615294650080984166489282110392568768194785001009273352944711580790,1997933561629456225176697169682291163796264707980651633153385956534441876494,1404613510042086511115751413644168442891689643896114849478572467874621526663,1110021348795697712825371434357210124690023730480209008429922226300309886278,2475852465508669978976416732114545114902499717583612118236455069645015991677,379167017501708716057604568051880117873895717889736402780883152599313365736,342211280388513361952441321538054613767194859573843777558509544929519007129,1266202761101348568473734940927061853210653905125016101809724333157162490968,2210223524869159355140962379322379835839241574313333721974622901989509763444,3431321720863057905887975395639194754840481717618060499859207539845762237721,3015106352355730833082526579108667206924512506548880471257340887437357394089,1914926672154871280289021171296643000249170290835296716424954198588533514786,2210257680712218262085041695219736294950082272226432164898180880734129826694,752034702975945373186828227447636312386700369113351199580754990012060226716,2338522199528738511289162769800034529536236798662100235792265378667158335415,502828400389132189145148549674040257902731080341556641729118262209583792798,3383310635517175837715224207669052500185566386465915500364355231858706069081,1686065855287277530515872056648383212384373917950832130476539142524953768294,2761000459496628061156867163469515983982375988147100363449408472390268653989,1040529915952869903885722130948449814698963595333235246625080184850772103887,2747534589746846383325339898047999765949878211453340352363251409194470250519,2068892530515489486928887935747251586036793150357406841377159598736541629305,2029600092511219986392990648439363993217251840769484479542801993097972415204,870539125142772285156674978792931891579087362259303947176389994729403270158,2313497599353584974359604098255475267877040746685831708806303258492851863607,2926564101014809739574847050271252928572548305965995775706303172989187828315,2760998200218835513237259222026505756821927753184682852264850517407737386365,1288148837148555220897996528543895052498585378020623345204775820385019769607,657719732160766771644454733754291563535005566342481468820985052082453496085,1909923409562968759612960350158237434909407338884728230949985454282517504954,2303506892922259403716798888571198618097331758831550124253864677839014214850,3240894168570063461146456444166118602417502803432548646056942140876865191703,2933890035518070583651940221537679648070841905314886985832469530598102806818,686051753898182887404909786010575330949698371786626154206243445466794344934,737304790610904186358862628460252472322048231104589609257739935914459200820,1093018645505202107999520927419073653218462734712349592642483745385839315868,882371334897584907672148466044822594698067509262133676499295918176675344832,2381091668853670848558572688151845125482399808343010601635517657540468777776,2354584066897276188617061306074831411003686110404833683688409344819251581436,1161604557577166022520213469187168755834339090599532127326694200357434478920,1259628304213519273442949353143104894049517349207073791508377156706865028161,1709177819884645654878337610930732991184006564296415968973708509095405412776,1227193668497478858700456866909618133912075360977016436499950345936780904197,573702650505749891804780023155135532877863301528976606806308579758246713555,1572064243945387596472549864512118900883505172137000496051443978112284884160,2808252781546754546299367432667480033195677745119949066133225030562279694181,2458697424771670047676415831288064254627693751457332018421016434270416318751,2061266363751217948910648602630109547302362977817478857485415549824405504308,1211955264216591478112591633347560120204749016102378422010168240311121981355,2775011239339998875806486089423799008595888933387870687902591742371127277557,2355776414111426392751121711814584590499899217138445016600884106223865953038,3456140341847294622428300941346072800176133180519173829394937071574180256766,2449992102964488319339739245252688214645592787096699783026199288549297609464,1337038854578910009590631939990984301625693707572708823135798660695997093735,48230971635887334343383488274955377565270368754772068535983268442787130579,1620908253376145152659718484733149349807052560367261677966271008406334966164,2137708960046472079250490607205980097888144510735285223134909479732821613180,1955964982526233610521725543556851397285341431856998265658295440407592908124,3236381067939632827775197492206837161722333103190952390507356749165110205113,1518366680968795187686863814241445466724416166045883066557727943160252215610,2843345075040858540331379590195647067317859578097460612975717012356242145739,912992132682481598076851835492741611459690410371802012181940785191932709461,3156639811573730600331641103200704763241718772386752754502254549315153192107,2882226337730414164708488749574866382198079927446322532834793574717936567075,3156866282364924685636982503111661443324806191977019132470264239734359186731,1018288673580632090853506126447342313009587751222491381305992733163772972654,445041822557005003178891583350493286990157505941441797580339209422457422145,2923879228630658421191229316466807438622993278840395743098594307111597539388,1045096681772631546523381799209808793484675775816922898253568567495578814208,39160003234072978788463804142875472670749527399509542395674616640817392462,2793683639591985048944607708454818409255664221104729845446833896590717742945,755469549037672479418448801750515139737582397616914097670089626464361446832,3009767329805686021696449795289313126848502006448553037200305769640919465566,2596797224680312886152752149187698316655733107145483438699993921353661358353,1386005488112969649902741754174150349530326852597739140694087623183274040717,2151219424635225592741619928662852075601073254756738889827887210820775541532,769809489272016732987984372056715915394383976192150546787985853618041138874,1432656664670508048733094708093518579436787276056006675545782810874706714901,2418301307270620854287368002467342412620691874557878192395891148735813998887,1402740733663888158147113427050439692543860852853686022261249769441808294406,2985666283075594267025790127277778508064754731147196554023578209416324627078,588512385002588688754603557912158446784269115292686532650766270870722353509,705648874216859202001281244678630456699425193521888349974756006604527562315,205541436506092573951539213805039112208040958416242665482407007341607985852,2884928607414844638366831483506570935582475110972222984141323858645045749996,316335986234662161722756748156615219285903602037792117202920326557727425396,1613251303397281388862021136578019085958827519138020268586573691524875181325,1134324615153660811308504351620384414084891836360036683641372145463678718790,1876588861054925589272397816347589904744641114469744162511461864123953921736,888044296599103452841961461766822322030147899100794382636913070937371875601,1376053340779151011688722954658468201378157688469812201895860140541739536815,1019124778873241911418375042712598900643050808489359022595874170473933182775,2502687421802295672470102750243559992146781247732776828580131945048104295609,192773763129872983248554285498013687685126802373486050295249813484086606255,3425823805766400980945123226801674754543898164196032193717158143562247939872,3143094592643914369360797327869515151853185644775434644971528327231385979707,2716004153760350000656326229870103434980119225731129527271444960097547826453,1277765570767875986034040276804842432869302748601647197979558455677748740037,1051895947148218035724616231067977917531900714354063916662760932826912149594,1650459120877405586890804413903992508039341971144838409549661638299896219293,2795893476042469550344767328604923232511364481295841940393252224770624456440,211443915810918363584473681460687650418739266674572918042777243306337742030,3212925526870211710515166637330402499512944771473568532708303255693714215670,914677965033493714294824626694389400903843508358868113064815370312478308480,1733567773085744418526148673413497309395564839706479101585380339973799803142,3467410777874086844967985564723462508976720620771698334361725842237543413258,1232829929146452017960965351111570179773043003529521073046554824836292341381,2796394285240083612668105709652508802092729095798182386845385698975752073613,2622184293110611242209699041239093785260218349617076846898482380577393043125,3379009556832482592141334086261680705861327195110954018962746078921777119356,863547967618451297824234276621647025347314445703473705150953875510856184476,3035959572631463076751463478612275869468409143882650619637675316670127508366,734106376580603252154805604000015968468501499656388006795210105850032332327,1944962515335699957102462194055311099183640803815449482690016528324442106074,82966288199344599883244786693371404429770608068058193993469948829535366306,254867822715482970402058608190628750081966963858405010417265591942791923555,1311157945293685135873571845222934686081244471605858163692704630998577578439,764328031864228358490542343924377972615862600874301102355752272708093941224,2747653970761059384280373991845439328425595580703283231730011972797041919953,763109962788544749249297899320469169032882254402552067093892582622756834840,1141182847151261932973566767681598380617868967109433515871261405443298609662,1278554554544746503785054402434096500293806910010316233917969816615812361134,1716191126654404128979049137786322825152570248553475978269168377740500008994,370686035266367688296064993528685727008179652921026754392731480215296938048,1531100245499692396654537710481195124785974889307009288558643846970290915990,2535098558967803980846678316015399228047292614507607235456395631505140914936,2901634995934680180196377752859744821493212097529114286596610727163796731835,2905427790054909582818372111522263820203329659375342224627634687405266896283,1648772944600966583390138930028053445106595996999363774417726673700767184643,639120149978487333306356856726046360229562387990532445117447950512493225868,1821016221610871227209667819870472736460515238413092517923059298670315302757,775644822804845113267406575734485053626961491706948364686803641211534609451,3363549074401289843029360730829270344477790959350784256942899008975084390437,2672155571996013048425965357443752304962773390674805699437157928590918480114,460904981245146244623480222599147510171925360861971434987079874585606168863,373640543686420481132583488054434676159041632427854959051027951477645030237,814816053457515657020672470773231327917127742521940298073840974609723843190,2778446179998059118783221641545944250014543498613888448645411063041747220459,3366694881197176151942348846522295688255029827762007331722514065820656265711,2794948670299907817760679331573626144501498545339661452222726269514793163912,694802986536855704047119167623573141041985558857027658856520364136254424583,571929477045085433907039234364859389959318016542370951565952297716509282212,2837518583950973409290067926101427709980864806597691931368344586588787035284,2434005180175403301639503401834532578388326854189991927207404604611336581339,3377018445184519935727509242509758397753747384452961282566979221849377291292,2689539390309348892054528945489334424444978600059945997492743230431339338190,2456330939266875018753423851723367953842323925390713985829933064170656963960,3300246258196655988887375781631854118910296176437682916693529746489087496474,241623505551586549674656441478006182050179649776151622589461308813500045702,1528536352832951588224090517350736418072608140922021255240229577635828991209,116573373583750332054542589846446525770279106914291703841124691530241030568,506484516439540627670903692817394886990844067152144466175193541468332505950,2092154719762525113978956846760904201213008839985437435716308329559259356175,1649100728742013479916760528785169168094207506473669119825402069286401210735,1018589265374686399541461896457362678748662887533879617504284596168379711876,286113255755768293935111343354648135101728792081447180149951207369906498788,1784803555608406288745211084690798741791406531990885837908576544698023301088,2844478164711573196153063179468332812498304261621407471561017907130084009068,2726669329309861649007685082035195717989311235487107583954181800842730220400,3212248695065052429734530984416630017098082521849406533097136647084204326803,3209883953757516319007776833336273635638221980386192092930486791735982392859,1910472851474070229293738985894308943044932005752437000468816786780955313117,419909978047533902429019985261382205636250838536722047290148684910518374562,3416002816747567024416971668194850305069433945953228088898979786759422521489,2936979127724067806416861984974297644804122867085312247215578110452554540258,2669192720478122013064226398002873633673729377097751181151271613129208692159,867923541271444060819283682370087301518251815731043127418254460941432306244,478734480088670530868937477161253801613275593812644072499057400582082986927,2059540078231616312720509572837934702073169748196702655780307729064629269669,1164271949727458213470753110076753360813728590583420316723329726328788126787,2720406180026039391142261200333941721361746682067165377884141181418772806999,3596650839125187689391864051086483866245412614097004285288532219792544234615,3019803146380931793983085802865392193102316615144037579127509127986452139679,3596277257535922603060976775451515532167582235672041550417311056913908907580,430782758029041080792670753617848051620493453758358649903249206451679172185,1259293283892013385685335301025480941920700892842124713827910073522627002768,1634193517399858388333824165124314166668514503048030521705693500794763502697,1642591921100363424990963591681424576072267696238501441445247397527784853615,734632032220344652006145004475991655142074784985959182115685244294825323494,1749631467623423883673410507360464317775106899466731696656712604444362425769,93317503323396096546151968407793747466448798640628872486940140596927868526,2943747152872225337444679871193805265184289396299050722607979604998616517602,2580336907600650237746340447078308988263189773575294630953973377553589850991,3209310072489535057611238377666680678374349227618440300015943776536762151716,714788729760882032906628941187065457998092898907350301550466910332694254188,788541544130372598971895703948398387967812182778639517659835088350056249360,1854914967821372946943451600598240688274987394348518109196019332964155079981,2503507086955472054738196453998389790103169143502096638959661474156807957194,2378197739828135469965801950138290341889963988363893993549436916356444178167,3576995545681438126139159634886352112121132241974903876356337011016050701797,1836287226490450453290548919122940028930752047068626593894974838173363706429,2233294903333510407594041151396536788010824216071593638845782159343154062384,2064911259918105808645829466828754617233169087848564976275549854251446543189,1844315069986504055208207555493554969580543124253744669091139134865744771100,2722289264244145914131563131252664684337543104068997404107549713148118808126,3066520868852608801146738251081487565641379763194113194250138177356973801665,833870503198253062548312483659531826364564047350513950514319602141885688618,849082124143064627866100599797772732257506555312095695920393167986160630707,2752626239604669849904887668722251319743352387325489293857866587906980238127,3547372555960936392253412856541666933950292609432073876231819320763805593296,3422380782213723149747938610146164464798985327495009636810601172080975440234,1032499532474833476281133009849197617563826608247000461328336618415306978617,3428723961539825425827480622532887126945738373528290443688406401513392082712,3467513079195934770389601913843883913376875491100687739317589992691960560810,2097489375055483025994821240100163122233582015842869558744269243520927594632,2639920366125594900128263974492976224178113454992427978786195126686963053654,1504927218340322088139747659576681602876380433399002678740985923604423974436,3151422309639042124098716906652875028716101295280911970865196731363980478257,2150494698555074785510469361489857442232762516038674536751919677424471941672,2155528366419692384584623972491074349091433954085830111252255251251779706008,2658770371388012414772234622989547634594387034066662252115392197266205506968,3287427858297419999323862901507535787502643025458576475591336961149450667027,2098056029776092546425185642100097547609066752587688365301698132314356074020,210330052979813458936801830107495524885432095597381912770654579951057020538,1127642975207545155906696984780558646391837847643369919197865635175578057282,1675717115175917342839130410591490369349972943866691956330647493416849036810,1310514841291588148877385389915183467318147787373031100105308787802603480558,748883199448163497293995128607872864966100975983633873671807533406252859227,3401481069119573526357780050090616968105447227065636439069651630343026357299,2546572114336520045713234301403883269989912254939506720389666762065469907409,1026847619402198702766257020900475132234565785486129322326004369676399090865,251075420231333870056933051508819821063378571063557898546995888969636151485,2091947667278300325492330298335493388428224001343721383511879528508162384386,3094143485606068935118926913363955042936190341004316737277191489570074389712,1990054230838996815672694833548413982910546974181519429917526231400618203226,1867278102532785733468879235346464715093937757635495819915098205746573690085,359783189251630371907553510017250603959430151306937001581279777203258834775,1438674371288796726311241684018766714468944891525485283070622592764997498816,620896056247943943004223452647269346586169166015357585874594138910819166593,1411714821208751841654233563078274285649716288329266071208598539648563064913,281936147485644791889263303366737361333453821195512100254729492234130316323,2598502204173324598886789606750811306922319093568410284182998568968948282067,3565551884175882670765283872848307192683873848448752166340122854078107608824,3160015196914870461949028540373237552912808408803647095595316761543695795833,3468827452095243495788321407730836129613015692815005216618957256171997012211,348779467264661328612116440203105956284747115682871628218513496051392210177,3342507935990913128309331715156023205417633401874344120385436826624857666147,3165057548818854936257148837621834295249400176680854059560579924459151564385,1587028340616732384191239797151651820171683051879894299686063934763252756603,58806006717384600254740333920048697225233102905026705680772846367573836532,1206026429842745147136768135428605050017133599400250015352374391173707011872,1478850489368531877398103820552949969253778400233192357194600669163763738444,1528109804871550425806132684012244091883546161004201342548349838836835168665,3162421306511488196829108414538696971259232971946490005450685672298284263880,501760687195304303666923285783798171518828323542803071170172407389765109749,656927992701538769819622640551695178764849120311590736845895638745008390979,1464113192531154101730448307108588791538279499936073029576439898692264087832,2531705845934669234780697413671142833371896475501530940079446480133141779456,237088703389920356861152370292977557253071255785982071117250109124736476440,668811994303675710247068613217336206042562463518209827786691663716010837837,1645192169840390853730758162922171677472636151272861277832219389112253025650,2714265620180109676011851622335077184121191942322207625626211647589593191138,2763613274302756126069045767253319358911762313107338007234159880129487837523,462784449275028320911270542417879466043228376817347123062178030341831349736,2467227563269307599646710968875332794530053677114225383057579915833442989977,3042908446150914972312983536986279344428913333981870259170008861670800596371,1797298478808644733341307887512244937620742298958242280566059370307328154494,1785082748258279070030644726247659756175057578329740638336066281754463237215,3409214429715914509178078832082378856296639527746376386458911471027048631307,3114525406360250297256405955226855954560638383924524004502037355488790263832,913711423767115085493740953623870489681860022065686443108708299877014769997,702720944857462684429102355273477560508127415319696436272165480551618412772,2759304431459945343856518443544140963830609688369010244976005045824097195756,1324910771467445812285883031368091534842405561596292541830572930564337375097,2150206240137050524051744784820035739888305301838491421455116051938959418756,637188888178916782984743674850915706956429416514852287497262089930263203630,1127791190271869699209402560140254532721368475506655943272549863656091329635,1610493790316576647410170580790811585345427144218982994486091344264156453161,148057216497668356104757917576523194628881863258494167453316718699056202084,1697679601302024355646591177248163183229597625776562183531576886436109944693,248636626850204369384324881914032064801944390445693779294515811130362717236,2376003061574998767653155344565515749165511986690920077079126092258940184199,1887453905170518316828729758334225537428554339172452672665520294165346410549,3218048497241648148994548538392841021657526646606337542397516409824899961363,1238489838668720320446735962712559050149913446680606660406206182681704414183,422550002854177495598572410497132771126639449654393511582728302842232710721,3560872509223332183776765947879904739001432465385860126430622688951041072722,574171779813257745793580592143494301608742990106579568022649148955009059757,3581849612192605652571012016709567427161134027918282364360599520433266108979,726208982711261649091944493595562698890086473305264103094328925562050597906,2546942218960855739507358514595757342074289837923154379585148038175080806264,357218925284156149168923441200492452617707026457619000130068677005929279365,557125090197376553902284673887118070115071155535944627286148077793728778139,2244870750968707876495836358133385216892618972019195628287239915284696223206,1717572413874450689677231019941968257848803051027317552933025314609809132595,456124536659834750717360432059724658969025583891435918575778266502678179863,1047642861663967794264287224691467255160815894245382041807523400662539094151,830454979140100533697439332385757897922467878514832884131024178057856163968,2492091461829556514321289600738755382231567024898264252746928664903621055726,1358993683438645048918287296483940060287132234240708682816168185881051038523,3145515476987129792922925300091221588524874755259627978070365126161204894315,926094929269455333241403745468770799570235172418632963739141572462559275704,444316480387380614397590287803272035526983755742603995554256049938534838835,2221953565104248934857377887947761745147913054377502190319977637577578780058,1851433656807359012763592655465137333552357169931922368915481645047051163116,77748872683165868934253097360966013471321435504552976223384048200541964895,3049324163730517933038405854808980229193278013361865714954212963233086780691,291314111301412893458937960344045863487986858930589581662205652456718837889,848400225163185653958984973601912323130062051040645496626225823303936506488,721754463120956980801119275639558966069669724688187717164934818386055252064,1752496905882105371841940892880759878981560605058732211776561883340049626342,3272261495866589314509594730384617269971117185511953580720987969360594906845,2331034026479914186179142090350295297844223797234594803323629899825417432750,1655253640874166167992103104814073491225880991038787407861219416831703063673,1832760546311798026867145664763987360862109434522827197076839765389955832762,2033334012341405234907788006153430993671745997944972203841046797191702794320,3067534495603780319125132222327162779122844553833327311577581794235878417917,2010416967713945153537323151604228744110972418810999862993591453035581451410,3614770640145661488870511184340383416580296621131345246480905805674883701862,2957296088694581878756858382080105210920589857985323259739372620414200419671,1593567793866124691275108562691024964707601131278681729930857283340041283816,3556690280514750168661767363482814185097436302700579503017122882743838482207,2888763243656301115421006467278427243385238462196587955870138097455305361075,2220348250394531913489161111174047023395286237357862802622493476077607201014,786419225971863647203830814385372091247523825832210822772296524865730819372,2879715741837507510077449790665084338990507729022077133562351178854906580324,73013006753262018936647853643619335467855750719507119783980186082896689559,1072884069046485260521424683397605836240320362156340388603043876034416794119,3437250743334914839532735189205872350689965829723160195083074148027599407273,19873652416530258811491825031939589482793624864327837968168946506611359432,2363646040248018202855468727605214795134781003649089819152985304889723017956,2603732249896654222173255037058210790736649105327104529299043239915240492750,3114076329329304240243604562642477474472224741756592521835483293433665850611,1558875927673006286129985740377614656667321330592065467098668613456729428913,2871467097195841687383969780377653053379350042026114375756823647003405324465,1700977560296376195808379143921559504107361525354563614991725070682007786974,1550475958061115541646556112247778045190567115023801859626674612850357393509,3598492478890813486506912150999548749111802343951575385928162794199763191850,951957856297512593489492662139054582520592128687615786320186225833902613832,101206403213798053965393308193775436599770939290221365720392093783711962107,2745670879873771217603223950047630388541415317921070842360366424535019001061,3428246961692616043787974786853225178316703640904381925977150136765711756907,2539883440399178310183168415214245268455988061914505461256092631055651712850,1115035133626948920399041243243639461495633815138709867146316415546818571109,178391256690019198637406717372937271310594714037736133426309308284969232944,1660233469531636109786456609590287151578103719875220671364544075082846125917,329057738410671899818940475846897276854471845361494333534695754992056541820,2057847791392069538818101265532218885647131065656243302602594994530059081379,3518997044487928188925030205701315619821608279468503513762203561829376432881,1172863685382408396312888766235136682445390696401483944349665141555789720049,3108132240783630981557170682549682695642969779003288095259622004616257141961,38248169054631900369631086156752165280311356376637909048115163979657526706,932355039499809157030785688364911597172764825209884152275585091374817151627,814508382076059134398353423770426018704625522487145578241987258086906229574,1403177733484295088448077038995687824995362452427882471253909634943595653932,2615519287942435784351245544645611086204122605415366318273802806374167433307,2917119042829466571630269219086602508432621518194681158934150103513224551716,3345658957189876281074008699181964054411438184477239688033510530254194034510,2373283052631928501134932708399780072935257321321092315282791211875179798346,148182623409721685875393719450287109690535296666793235608040044853576303578,3416414006328772294970934630719958103494362496146834326669311758525818567165,3580425557445401009004213946556928731390472583170091553937051695327429337693,1451523348713234010239215980187889174214996387490427677681130747598960950569,2864900868636340559656030494375110163785685245452103201612192340360050096068,1637039954344112571241485571351698631669984251633514807732869414369081852147,2538955589557091914131099760618522301413307996043608928201030023436780328790,3172423389912770413732252071743316262354475828588373409093361131486379973434,1656556087960639970950199417258297166105087868476846559324162172132574837556,1777080347611909594274096957201656850712457686850755302655333272927910336405,2365482190908838405475869734846946712498008384074889147566310887588799453272,1144724309315783770320194491521258257022817850587241222669482118991206107042,2591205402768687268943553379369675729948419706181676791073364614289950890824,1713113844144158463588217313191521227409532655380200868741189803699682079039,28098775336011153059449325526183234039802197473865518990700359176746658837,710847382552264622038394825564504987993903968000995374165457712114885816266,2970444749172677005639982804841863129904255662744013313592486188376092401045,2343524847545873159066456853155391246178913422169027675999828418962599833317,2434148316984153064449177764011076005647973200612988907409044740540782450011,2412619223116110775208386481305374035701807533394734789436797828541653843561,160896347415518918081364340598553149748381644367187512926176621995456511200,3073666175662583268603634306244508930582885376074182859338331834091286998509,124453573979347889040824892565044821158948462003172493377739978426798012878,1386295734018717224660954156431744698008692051825042549967317344166136910449,3242934109666159071786802851372886822631166513759150296105172336055646127253,1465318264616959095320671306526562977815874281358311420497385319708412343394,553902395630917506286101402607869376704138686846893941417508614490847619082,3264087954388317481776839783502171049071221668758943005141648545573118538095,549705972321432455093298338222630376042991606102934737514667084665235406687,3280551165857785135208914529223102109986739337920277910624762996494225364603,1229413067781093060353987410857997951383586380596865305285386445538885710126,216708688956249311918404651891912669242816086904080940287389304449452754906,1446351453954434908205333094704323196619036084275796360319464362545029453046,616059555327164822371177203524527546811541566303203603715918928250435924868,2427623809203859717801986715404974142944704473030728448169141217270412840539,846724169413687298389982301046565582154749274982276058307729535800734941173,2962460328445473496211832526417039535087773674729763622172057609670526293148,1529926294489384028680381133116404263414861515721594105213954901134830383976,3151087716596367534147233560117100873333011552206260876340104423952041829790,3050166095874469595138878103150375852807061518889776425518892771890840826196,1648809561127919820017351365813412345554547798182721588833721276307224650595,3321950060774296605576458603372128989775297026102113956767171519160628418387,2109729555299495991326204203432477089861405195683568255220685484728619069090,2638606201510259311458208375693301827575504123479837445892521618505267824109,1828145775358448991423914806130046931260923007357378744426099107192270858642,2208830567008517449823670075075584714687986022832722428498048537559844529947,1224560548267526632087599503596894199410893639117582548626259466645706872422,1701600351450252297413226060320785496901816627064849736794403962162087703501,3098989406293603673380683657375349601179744196667660094106644633687943345895,363712177231557455439430475362114319635432673484263752044540397635675190859,1074623873277264897833603459367852927353768590895568487018198030868877237802,1758140273154469997946470599449441994459588342642886921438487711757346230288,1039438938776622629526444538972918423828628237484758062612112587590709486087,2142329149087029123146840490371681242583198680233324650990909412502691897681,991307924291858815699352920413223935789971861513119449141697108546418424887,296365821174106835783934869499878181203790255789793236079179376124823994577,206711467503545296213481828211937433086402864658264624783603512283466114610,3373085410608423736809647503018604645710909563185129555373924235547039795876,566126381247187740607148782732947277373103904553138459211656790206065192157,881715092795460821628200894121874004593864198554831699303054376711016911811,365357797470855722021401380480468557525589879005010533613330882297272575948,2434034120014980930132254813863000676862835401777134734222910928804269056383,2291213595054654973784059433377299619225685156837839061833176921549448309447,3394045341147251455619602346294556354053774656385192045013133462408760272337,1477136340492355206639402480357085030785414442538204131268013624054988224882,2761667247566786222094891170191179882144951151455119748079484099347961191227,765619154651833003632823837606230474347130258131725036474652418713763655323,3067591406108708905764606411117698327505892312684160049220115006344401218767,2371983105090399546365993494146578961858665999383856880525748229182575179710,2726552475192992987724510773949488088964548823578298149137266071950837441971,2112766288775387131147843399226873165840195484772340401462881438833801835777,2791965148740142842036133714845114258139151716160027659764360849762735037466,125380259007215576046011147056600089474417506245335932149251448239028342787,492104361353237748325954469092700649424677496132426288075958190538397729077,1136087088753392611662230653636887809419956579697904330591231494312127877093,1239381770628693397652858503547214246578484421012504239748817679956195386288,72184934541733060449823515486592564646429529680593969983588520247679001847,2096988472211631793806707778109138849148868128193283858829653465791716874290,1290711312085184054941982386309427936471466687532615384379407055243762810135,3402450294068522348570312936686872476048932371987508805933237686132486407461,2784521361685942248476290372257000794561753596666750186813686237320682837217,3301369056743935517622210928256456562663343464007920349227510903087495644379,1196587109081456578583909770634613601830139395689430507648493577344366613848,1870189239131980995837801520615834793154382352605252574525869392588274529776,1986991034750911639248561174865834218567638042055624825718368310899283944929,611599194277520152981455969211657480749696015815058901368228135530678743650,2085041460026165446833766833096698023326164436758820723137960275248648120578,2736551033824240168809977758886778391412551736905546982280822667830910371251,588811490569240552503918654689215646592087828254909180322609303730493038337,3577522823983119184315009944422508627898690909015715123821730490784720766413,2773318674647629938036153067428051752669540044763650716962545966931657833940,1985980336821013398281328797830660050161596994293316072130882884534251375550,2223863130751227322268138042470599390097155560209609910958106983145801965149,323181283608544782554389345614098285722321819025149428795789126487992680225,3266022107255904691838087356714835987616453204527046233956270499840274285292,2637759543301321529226248014838451178452900051649888177509356612853640842745,1860897045646572852514293242260130459645546144087026775151010066530259407098,804235126206328396005964506395104729040801447435528377040114815576970822217,2065665028290929449036133955313477576035344167707623897536050873334836208104,609208309252611618748147143253254688982990110159999204935298681362198053530,2562952592677409132748276701776581657967265099402050006418747105726801512215,313936184380721891671966033150559234038832464091505220957494464591603025489,622807312971819765456760895248203681372648323542796879985445513263170223884,1552135867516417564385063519918382604180579013791513987291173043751437834451,3276390816065637705219513812135169590004716536896393502001511647109860816216,2316169686535700017674031260314971070021032106832252083057912662662752477514,3203612477052994398482752476919417902838256734447641112427881096040525476552,2045346102523279367570186732536181802225691399835968368427396764764276925193,1711341680184850428966235877231194704598661820794629090214639975137759878817,23822171048819012248661435221999260119047811551885679690713411329910174170,3530497145862680333544572474951959943032970891438587725198153063128679025202,3274055585891964228157121073541309125493179237369768257287144121824747359252,2546202318246203996258529375659014966720359458074960738425719412415093708374,2960771553958875428134127479343149338729091672141709212877988257737350110207,2626585926648026841079189098626996255868244534034913612073713143103807811504,3423605157864401736559552450228985227222704939210967482297105762427677791390,2216258038846832113983002954914763821448648532459211765823237805510124304489,3147100008313641612569213846293250034211491412494494267615207042668659211859,635455060070723900320980141921209228828142696341238188589648294618088148366,645957410833279829581943971071879764950610927117473178765449222856033370899,1295586683799697059178091151594416207968466702959792102306054147694077490976,1571480252480879342575059535716420417323297091982265990109039229675271082399,3498245632365097969419768211521825812663198286294768658599150139944989403432,1636957081976335910195221138002446031793193592277347715849054488846802478845,2285194129363977806138463843182436590967339609447383455631981198161438686234,2972847491479282739026849769785027633127054544447554898137305864197045439942,2828709904195711742687455577993466115414881516061598757668961831330536677690,2672981326195768667978227129493921790690854561684033573558564655770453213648,1636984714273101808533934535596233668735299331789647516578783388058437194520,2081693063373077175499188380584506961285074433034377699308239710536420763297,3292842689431454900572946507339087859085663569266743068794830331903325111458,3057725279679213154268081046707973163535276816600443116539042840838132210114,1017707319113709731738935103459129779493501503993509947388386391507448516491,3135196510926621190943712301114131024082025832899802952568308392834113772264,858304463014530549188692491128140036150567579253377451409353595404979620404,1650616522570442333635236523625534208038056575702320476765978947484044494087,1468736244928323141636733088468244327557166392550408555269103226690743817787,1084807530350399412724811342465667829595612503861671625007039574649860694478,1274279433914371388037358324345018052291342292043954016243359342029809394372,2307905057969292822458224475118406464941744971710005449349388791078492589521,2732230942285828532918675994033135331636675851773007977443235541283790938602,2183329861450324438524660906559667586586124027426879390397317904788752543066,2507751030045868873169319267302838217525349395526932621094646676107226409247,2630391236669230569105979683179789268330183872939691548389272994717564786333,2206411082136079011854550651234914646183222157417998193726456633020504924615,2645230452427239557212487637221323307698342529923981923340813248037518671988,2307249009578431465996802232821285624066442640366523295502225800232551008628,1214391298682495309483464570960776692277942052145775144754758161969366970938,1121020701956211468286728626937316732968368062326274650493618445465657205562,289247747886266776007550790761408190653476899951925508831498240436614210333,2886466627709711692362861521094562845515228052423474448729392590355511626693,628546673008845615022489542750006712079437297240042575965082843395225866959,741132421216408278955123130970681918600842115420205868618513668755500857736,3363618277095417074767826976461531262489527532417482482165148581735882416180,2537416339858648585860232501995522371530457418669326554246179805990254905434,3201411954299880121234113613761943651276950052444496090833091436926132918867,186111186215443037127554952414582065825270639765826732632282934645449794198,2512989816408813579715600181436804058078528051335146660974375280950082541959,490613724728725762916103904586719484134326043955470694766407106829932455618,3361291873636573778543525668974959489291042853311956696053546013232271300755,2882589725460133168726174922145879865110091980234525683058600277513201444083,884121471219371334463352344668871604381480192675080789592686586278179127919,1120305257143071474641740016243784643719864548387912060649535055938063612418,3081102357012239926353887522437529105704689306635692328041763412244823273338,2895204008423497764205321498640504952114122643477502505858136804612786395551,2685313337775926018305345560553626919147400201144967069119796038505707127688,1756178609669154208650713117022619319405687986499487945415049334475513686677,1683755718113889941317273173136106458034262227491437213974688571561432972211,2168954524410418820788261704933272026653874532001432338279152586097334779559,2491613451548727648836436494011904691898201785304762518937924584729829507016,3386585042009067963645649014352621639931649286073794619116619182909869385698,2051909071263120224160981236888874370683532790118654808162516518688493825149,2421430649956829068771958422269286018418185217964390608403465641095095781764,77374231297340113984898258131277492610136475522622165556829912048224385858,851160937347451564709552950346316876754950274009338387070134835992891429990,1994250524279146763512615020654894217226408282788849636538433072183669026875,2611044335684668725042158586418758899199522689924249956150063305012235807785,2474758952121398261139163567258895034343772083200039158100236960259731546848,3324544171517904567846755617310497603063156312587628529608332799680561365810,1054109645667496474157839434275642543257528466540974550543513162513537214138,2855969471901121226323303341715760644254040947345798872569854794625364536136,1057302342651546713789190978430726262131369511040077708959397197388607392875,2611565042659558856956390574335102246957838790955338515059634037759912999679,0,1643765386084886719285382985667555462355119208951627661936733795740315005812,60,1654771613,1155979177,1165369831,1599435813,1414010089,1321070510,454852226,34967188,1292252730,1380393825,1663460828,1679590571,493077165,1584223204,1119251508,24506760,1833790795,1890031547,68114304,581731384,185966156,1702503638,1999742462,1035397504,1918291283,1407120762,231548083,1308635184,1607667453,48916508,1396776537,115627159,1573941297,1227135162,1386993213,18416609,477851843,1474416685,742045869,2001663865,2007924035,604290098,222371950,2117774212,1677301183,1733690719,757866798,1573050709,1388603738,728864334,493658735,683060861,89355689,962781405,901538318,1984252069,1484989407,1299881584,617139459,452036876,1249684047,380580175,1691484743,61361084,192309779,1157968872,1649701321,796949686,1553302053,1425004759,1672475872,2062069550,1627876691,554427738,1264054612,673264267,1682883942,1929403613,1593622807,1644522039,741245902,2025416188,871969661,1433088806,292828335,528041964,1463014901,1708148585,2108668234,874609939,640881519,1331248520,944632159,1605193697,312144035,723908252,272474718,445480415,674278061,882487113,1490095533,1634357714,1846383035,1213185366,1500331952,817109151,409014084,1282112338,1595182062,861794432,86357180,10150760,699046092,621198578,163714708,2015989102,1467431003,1762520099,819816450,346300973,1875960554,1915745449,1808837745,588910091,1834775812,680697958,2012748795,76626859,301621600,468108877,853323655,288117715,51741535,221174145,1463424963,793407137,26876068,2078561434,173506849,180894207,2083502615,1039671179,812999435,63027520,906803200,1205374455,2009192548,237598821,1902789714,410398080,1729584668,1408302901,1579369860,1908034854,186176509,1439776606,1413361873,1850553370,2102007602,1591959034,567074735,2078710892,1482270130,524879886,770068120,1275295704,1123890697,1082669522,344645700,202956594,1237783594,301854990,1313812063,1548268972,1770988279,835271482,1005427308,745670797,445076906,1836482507,1957454845,361871030,2050832027,1445295214,1630242166,322232711,842626055,1465293961,459823394,2036655364,1857786606,74490062,281691316,356177477,414529827,1067682782,1647124992,54159116,1320092707,1429464730,1133533374,464622228,1375041438,358492220,2060110896,1523311353,475423617,1432202009,601228661,159253988,697551182,1146440988,1246138115,1978466621,1491894925,330236579,973785114,534343169,1220929063,81359713,880649761,447763213,575593583,1118493551,903071132,895584588,1032380599,983609072,555807462,422145545,252543437,1209470180,2029019687,227675805,697427479,1352262724,217306560,927064162,12720412,448572562,538,586489892176108522979512934363843433452767698905670174642943452932737513021,803378570108613281294666304816158436245005567061873644895029302240946275242,529408821098305735256347496643131845688476293963288181781039102899813670693,197874690485203396393513481022048515806802288423774888113853678138786413683,1621009723714641357147701991428811192242937047180246362150957361579698723851,2441503111548156926680929918388901945935411528877462252057436502072549272973,3438153757604245752421883697426776835186848587864076416254007247054203634398,2038984742049412727836549081669240296406623322840511253191843828668896679191,290722205481549743185705226898198391671741090646520511517717818981417503135,3410244831443411254432165861975922858056534945652797257558232803350713261982,3228513568777655593508677100956543390384905692821460909781699132088516910165,3385598117095374219666985212309910090385156327143001266756915776293960422427,1240677721622438456674338765489134375835814520897634755110828067892077582550,164191290504712937267749878498594449021675261772972837436909552028312541957,1370802044948983233079042384177682355252216001150649112017302051480979724812,2096332321856458630304774877403761845077311526927644731785267586762495270017,425169577399097967789931814551558958487795922628572362445908202997579939388,761574591062881174127267589801101441378122716885292728923567907702294585956,30420718232614370160454485805442967882135813942677985561808802727748348399,3336488622249672140102981287568714061826604860764974456124435154524953887949,2637872748809735333785908804357525112959601203868539640305898844817105284949,1496526921389934306558947605237573290536299300438633174573827371133974899057,2536758454359226733445197645043026185244686917921157488032228519942677976816,947475142308577750449430905439669046126007194929200279151571351201130173286,147719555203958621437588404486316824268069834911013349861015392849189477037,618020756702410995857501321469851720201028686527814974737515593874959572110,2298409103833228055736273768432657708361752177143229114868241568636349011901,851220329003624925137700163197694174955139640039001224117107295525548806790,1370688445812263937299372068769063615679245818380712330368671352973176988223,1803998572311237838082458708526413536438412500965646064474784043741169683753,3080518984782291166240718769299972394481108905079192982581592343200056857463,1146516272427553136936800974324134873112784180108462094162095165899115570444,1135688585669620593337915450234709866456061535637140118207039710254664308966,2915508187161754156447828456667643543334807099895367066632635159431941986197,2052046606045216947279133750451462493547657829891697146580094534419053186431,2068794657685078704834781615139351307953149170829969083818738960705357477192,1445621165868999231663409983877902447703034121602618249403683616158621939535,1289539415571335584308154524565557336247152327564023456165179528744979458295,3113297112658625803756002742394551675743092934707849034029094773950202935719,3270191663280520627223155326412226918107022578137803212593334608414913610637,978572882389004985662079054074631234379127968701340480779420638259494417978,677263076279117936209849803252022974375558301103348436895130271774988754537,395814777190407843921464490784936216766308421314461239651913300981295984963,3337619527424018817416906561750071848404803082302906362683432213287531479661,865474730755554802631850686152173278059800340046090365940371813101607502945,2517995234602184651848039851062113435867553983914120443840376452881858235116,2626081252929099249666485763287623741573118131913728523862128136763206397819,301200425855334088097825952140851132451089361210930634180751672130434056795,2660272566967170502055115077863017927894308734171887910749890002605027750334,2189100243294600247705735615202335915757518624734985762860579771625496671030,3353376358082552320313832022778865814814886520370417091341331723270191323433,3018713039059826708775828907674690970251025936155981633618519723759160065907,2632844145293678456624651025302650454545087843592467166640858943247581547932,2526764937138893784279627951312227296250113346660694176657204349266567778234,3267640839500002790620664135271397734339472970584959914942642466361171967064,1912919478565130056772190170402597856481272577587076479738633292932650017507,2545517786493935738611878643403469821676732715331425393825468358300841234823,2641157051797573594075160247347112166777173711756086776592991887307340941826,3390682230772087097101216399238639489550714396909001677159499164695262564191,2002679971418244926342524343366332981902404457404541413950969989499259779579,392262208157163402319466779391881353766783450292419990526349590150816723718,1763449662108848906422020862152846182609312312407715827162918960976681982875,1320475621853389263533557658464245870702938953664204431460415969529564022453,1151520372552334255850518751744577341693566406857324222025561064465960819811,927084968145891837522975311642078905258471902612809102122284801050770130709,287226205718370808821232497035207838263277510940693068239606282357929768979,1276364290665627233623676840620149414990716453782301940953529189306776202347,2107110500844271890820388950920601704518636399101635103955445515207467656684,181849888746604329543923594264186029153698371176119189287181171827144323826,1959755868788224820994821744930403076318690159073702257720253568764475763801,744268707272393761424388207723351140965876202390703211050423791436203749,2835227934775731176023113153957121224353331449126729267157961991924927641679,3335004947398313915682104059431094629478038050433897425258739097562238845322,3450632285926136332031329639090904475785816366119367012373427515845895917871,2237687697690989992621378999001455371676860028659556429841855755146544810584,2027448561825329256227523751337872888800734708574236514059810853705155950122,3516798693344042507649122576402573660726979233594457343020826079809349979381,3084941343640206314299317741613265926641574384138885526817545232329390625621,1843472590180171728881034988701208302897013195386368038001811529579678332605,732744440285086738397632886183674013286214783471572813028497566241378086916,2132484485084234618716914980761687617821746380160884877611806438247709610373,3198554694182226923332613817564254000751475499329383514485829857212867925856,194436652668339047271019522275792950256842780683805854376002398257241893480,1762632918484289848679916838906399465271744288244262857500342486143330108742,2391187239308216582448246924459417586652382790264927225638583872827332674751,1650905768771804010424231259955715769640346565567378372411440114701108881958,1437308005891090863689486310814398711731958721173155543030624636059116456422,1434048305995179281461757096936630930406137462753445495585769977914563615946,1242081902714417963711182782075989704702039690195925156601342495640372278015,3522749443008520826618181097595571431427626536838608669942827976116637513817,2653924808918029345440201314030206353079468158536975479522039297811806282692,878825522539199249944039385303563889722393635569531816418278540527584102615,3103562723815482476427660666594613889724915038462047258666963338139121031581,217171257331994344319160241110013209200003326151378097022092639653853896110,2612717706732652547410784767062950495700836494949680756752409140197239374632,48826932619905199299795236987724713755198640749371465031462319164985076914,1480385803701090052916899748180522027128861246524350514701499912910543605366,877415350056956904289862023775897613984890854888304188316286007036284702648,3285566828118515283348782538294545536946118297087594382459962502594136645757,1411693261597244792557075265419318236431055897758998181377285765534762911824,118322439797647019692058389757852734241724809522222460368804876803603037630,988017642561041619505322871998678284327204403189341383674010036567477292477,1639842165163570031855355949270051104942099688396643186059265371014401763777,2515902625766748325637621067363889324094163684564224709438584877118723083758,1737708717419493609632593326697736813322486804967086951672264471735009909613,1263330616891016573479815806402072223698494881758460285880159511184461420374,2551913746635821609745573958590612194819690043154444728854262350008374530937,638680479471276221879054454990187734009243802349337321532782521676898786132,2403486416077516645435833369911730200471291778021482598791389010323708141343,3505806193752073239939546397131582224381665772473134176366456148472680732776,1957523249153938474938916589258862399288918224145216043005745798891300126248,1888743291280916545602621946132797117384430751880807135804788059054914371633,1813960868869099375570327861419501012134965596809761628237422358555979002662,219943798009829107574282685904741732012866595583484516756616554008208345661,1139514792617930689454576996360064162884690128867973158947248558221117858722,1048554446000599183734767844075673861211631298701126718679354578235828619628,2742176739501983796502459896834650086583217628602512373994340271109525170764,1736947934001285058720694868771857928428012439092380478370987833643631735400,1786503924591399355326127163576330654969680299804394820497624017018268339630,1947752412052703378391948895180668978439903099574759362312255196410203603116,919963128197545879212376125573903516309627798141664529534741649288531890685,1276833683810812181978681756967419929159781758837880973567132036323422450607,3146865444146894783473917309986618186585414341500919744381926990991735583397,831215388674773616125504425640753125914827320751295011198917535199523523906,2194341683481025307851955128354745643285358673902914300063403397906543911573,911222409742690016742121960700679561448427938716612275636045781583378080708,3343516839239839690108078832735125820606583483815335988353692513846307932426,537979131904896123999149446210322037714936364635900272463451092548898147994,3291983637532309172496256448791741026825619560931490665201870892565761540536,2060812735147213224555863965123975895532304211272157212302203381479586620963,1661600917586392307124067128388087668944872749584398051249497806456235235712,508376333143841235953756341629029699923406808682608008561685512105486177107,320462195845690554858775502303040613824319749304158126016156885379775818251,1385696846619929477420503809705394916557160569263132944327174050701085421571,2676187121542883422271510221764516756764646745924979221756466565085505492627,483529993938525733903172600340535156315890180461998839230184544576337652259,3205297028605533841393868292303327629589931689391003122845009877620758899166,927063249241758716678981722339576970264116594639864744519477373867054761724,579908978193605750345883956759935763483395657735941162836212983738803305176,1717441420122399984809326437572353076715742562432911375336550952454083004606,487233104415851333493001283109329148395837298031557326467930105011444310489,715183733026251239337610818418527737008034009333123783272711791026378575842,1395743227172747086647787375945777111782670714985979222196470224993133748143,2804404380166390256966310048733515180750722337379784770057388268942945234417,3014427218417505310386642984927453945507148971620440137063860832161594291482,2349943963141013938332815065652957771431427372419023180591167882384959598448,1270860875049461175028172330610746199856055794589119302386097551724492599249,274402132728998789209777666175133271174937009615198127195452727827721227119,3414763553953133550238694241474610879083155023931964615576726859806275916907,1285333262218168612994410077916190660592663803315992763883409534729548281154,899852807327080416179537091825680202242016677861143409537676292912627676766,2137045324582822759265277401967546774627921322683167072223114044084215654609,1815820819419555873275542996668836170061419096487711347737720935671990377635,2825349034584051779732927188636735024646299480258527692578354335965281585538,660356549902057812810149683157900079477077721419726590507048909457001595894,1001435148131335443398305631346838790629293174030535223925312960822740289829,1772211607532413462405550916822223008728658141600128292081773434414848262624,1676403790376186511191755355053383145113031840342953223987568138729914971763,2328284085028296479013122533871560937545715782242878328395921989266685594452,2106633268378827909305641125527827015248822423248979857645832121221675974972,393374484234423126127790780691171388106445477732723438273814581406004544597,3050901176856405462029316732215864137888075855034921020203081905613387016758,2754108226477245303126516229547295031401390613405408587227876811097632844130,1182351918313814438240325477849057516312818303576193936340557708126431104532,1533348294241702141544652401228526532294896192387670241058701253110201486776,1271243063658436418524163239479145009281615777057249939757835599648782472120,2609124644400847312073094717294856221778223766825899201420459864527741941736,75546552752667356763530353467026988372177047883474833432361748974848880217,3305118285720940469207714332613636370213038366826743040697871047167603645298,3339180854840464848538662282580591765719256272055301739317163535214734032071,2761512062653897596169322625323206728953228745900571857015053735858002399032,2538232848780406555975577988076731922975325461527157812124817263951646523495,3558055518454910668888535430653028710440314558141690207555835567100837534569,2927470503712650394009828524433849383509127261983485255690623455710186842167,2641973900738535097412294757116626097297006592026193326992529715641989289936,2474390601926561206148012648913621724597948209341331761156009341034205929864,2988178310917200927073150820444292484871832257925496517156895772380762615880,364597967121242846951740616885812718307845235798183691424032866949956302649,3398401610142770296335355773573330784930359020838931159453852736419175032508,420650242384707502037237760612178815620824836585513527700902521546440713488,1943412867373150278676922434872014198616625504719806458183443521626812630227,1818938661574389004878862489650095314702819548558698290689756792049583512380,2662372258825164209594368207959672751438433528151092351225978397749305340901,176808253396987534175509534227989014337162828930508202521898678909610500459,80174503899645139542511827657455891336476404805827561540915551386396843596,3516907334673570758352399067718415374890772815520865145697711683682932982545,2059667125339868947495752452121070470568377799743023082856083771287955085400,1838848198990841791708187028161589111027883264543662271643772455017518791257,3501480861158770497827015852592730094129510462808157390090775680894347745741,1429268637127722216131307988836344144525017692883619018994230375712391231068,168604939621406285491634997433943174735287698560705653535838580985820987895,1892445272740085437414488367267641596287042718362201259534722218129009860554,2731150759050781479690936498645512723243102036768276372343792665946362900687,3186267345224895567109943968725630151329820884719938348998466536590853457458,880519644034708475573320464292824080602150136741479599539772177959819639315,1275136214250221054154913896235806892951540809916775660571668604692170148106,153189711028783493163859601308404669333575075800816055823636323419420553522,2088327846438981968846221408967921408244581801923943076630611258888284553153,1388929194587767846023957815998028999448238801211143499743383682293536024863,1234365300816307267185328340696773276885344705169290282701577674748353899266,3088947216349015053795774133565214184748367232185245046606644784547787647497,2648122498346297877197369352732846216789022887904186915571056204913622876188,3251192895395903937655511087269463278515951364882768280528376969751457215583,561366085346503611568265210011503123204407876037460187289006515768216180798,3545930741838635549416812782931301879966631306721531608096327044943978905053,3179026890565611124088594502358656252434400597337202634978169379322764482901,2533487903824974041338670318705384428459938053191964101536357128110431617199,924894836826355647493857428480271205954196447644020624558660265965552115125,113135873615237018397815945594150496953214149757762251249367029977035416957,2583460833305796076027735321182285525254638183720201649389291798353034183261,163694987040216432329072868891747455307437960641339592296932643883894860832,2865311945613678148355492311765356360897459619860968904941475323697677372562,3264026947370356958664257936398563733388219518869427740934908502046816979579,215300823352851331246007504004340225960018587868924863324919152512320297415,1114911107674766133678777780793284953808579313751047913099810017011899772409,969109316019508186770448076713237480064340696633782030981493650559368798745,2212736199434716068179574810478278703223305878750847760565646494741319298448,203945525722044282689543730374480960536046444056362325822069746011459553461,914090155447091845604100483922962868757351434803005194990676969472188832334,1167895068574686984206981427114783375347458268768386550136311584509951782494,614905110801550050965538978604195469663737424952383411624393979130997717763,3516327341098017493756264975619717614438449800837686070848358908058868288716,1162330546212738326011991041072404480630912603571596889772524312242152490225,3212560123887896202236002083392220181568365008766728350040696060407988817372,2427538999333051852158539050540067132921716302751014465890040633504903855196,2354207140019073442993433526061690093772535741256249621390385409816543278063,782738648659456977049324906543596570460454097676054884713806368035642177078,799685916910913769828053172987958030412904650547451429062503890595628397967,2055184640881932907033262615272427688528368838415053241587010444986212701580,455278946335352045822383136959118772024553044650490602888116625795163272351,1512136689501154080458428281274087590529520986621391655502114637025525114089,517910127291104172443750877623619850985472723403506945331123048877957680545,3531150053300270185251846868974825960180862474826515987935187813327044683920,1959952437449185235393262978519003714874816515322348437300979720478988842287,623460366189511448498522985987153151186058965020329785570444003623996910850,828821317754910717981645869528592789111780265732506043742275517719108833122,471139078190497347862687976722999805551596035174116979718900021201643857830,3191392010497214276021263513388098129311364178316124892440181898032090845100,3286037105655222923493188590553436499291570960593293456494022842558343609422,1360809561855742039668468341453362487223054022573967387708103953152365018151,714456867914335513211434377067487516321998524563320655598420930298418158757,3455486218136106437145012471799148164717871112454870882728290990860266786324,2613603192209126163337833708525551706195355231748049058051249614139543907889,3450022948764054143068376024742667487063796400680890816542157173016480665163,3069411071556674918281057579924544993229290533637704603525616354038743624206,1931849988577806093434557904534754613854780731633744590392568675139914500006,1689872411955207432194059772825225191476317582233377860681265622108691503996,2640274658449031799517072992705367034713522162481582683416685394657558284960,1978480755612385546536191217092094548487467606200870046396673193392800262237,101559781956659889259136351086444969310425739181664396146494326035253365014,2497955339628015725092229755158749885030920579805954960734899646468509192525,2352606607838934845942823328893220843769663950199802390148221551253829003030,1094120324889250812648936164611222340181953654846197994619531167686206357216,1779167630978494410661071278913707879744976598530897515271786687629747306288,350307075687743716959463522644876977445985748275973557434019824865471296249,2566607521277511797839092909320278180236317954827964658949343868400953585356,624359021067580624013181089522399623059818587590077845541846247929046040760,3261631189704033520881079093660614461525999548603567621841633457029370557541,2341434200772950359085356704785642610965275797074912539324143270366721710872,242174101697720435822232558271288271759262225467881317411640930056381034625,2794179063088743986415567462364789296258250802634596286526191025369402289351,1989332867176903902993258399482156434049954866341312259410186828819014491535,1779788320885695418047701763613702781664727959995508759754139689801563062615,583804379739003032222128534426810443973506926603211305458955495450485462881,1456822210319726029121193403971719012974809298949741627837316451739598481856,1507224224226570350401751009694560378623324455260249766602634096792530557761,976204603372749851547484213445258174653849729228128518129828241633264496144,3376064445891929898115325241855767644976169617711053860176592534856793175225,3073741474208546063709520378574584054431766608862552552487104248274935413567,1397964606609599372403549498296986447210903319246693070945193036745629054647,837249881586374517780505444435591372663152427382225268031555996061540955814,3376509314888762323713255369242610545396462852985154467385396470380632036082,2760903913032110693642296914130117382744140938258501372172516828533865703905,21941053678079433752839505589629890950695016393411224619983475075143895787,1896343039336882283435979448029446948754238319488303292271461011406528822430,1741579927816253368317557286705824524038479955440490247625327446040201706381,1220354992574899901226845807553226905387045424797031938933010013527480597682,3595814375095480456320893972399141521904918903762939677894080758499365710515,2913422506433902132980547651364381224300912707204074462501093580332990135648,2332520955811008395772461936151040176800058803646654627362410263103892857254,1935361515001194273270331916023759663551858942428102389179151984376973843266,1859113165339453499498655056158015887695781115187454266536295488001772798575,3352643783336132844626483113703962031889473222159716449650662145687100224709,873635404483412658962736158754072586184382951870309165871442007394057450507,1532367130590189517487446800348362235306118155937760491483898402284700484543,2804885295455298848598576786889111889509785324497896758610182407373305638056,2015225349852055457527784267493066679047227170700864691853221176763539702548,2025524346782268566492176570814933542920584940895784321898156707321401841754,529424276244072420558120323593874616704897005629092552395999959859796977144,1292446243883234356019604349104361596222407670573031559649516178509779557813,3105771665719540259565273448986124051933356396112741946933724423832045701997,3538583049915725944605208219498769896470516596830130830076210013824080556307,1757792412172210419041517181794872483292120994231235462077805933269639092295,2292669773868189312191095993365705094628080657626733649769525492895612929125,2782714154003704486498223405155045566921112330872680721748384025610883565784,2987946024585425606577340766457664805804860893590568535877582396630265496169,2590756549467334076619613493409898627562307116656615632701879690357166035097,2015231421800789380988988634524241922544072623912982274017621526232097838122,2690482209715503888083393347709044168707034508735279169841327709634662107479,2132479700555449110503299549216733081560178374013445756150217972537313939382,2665774586986660841167770998007563726158570003143938597205123386906640700102,2643234131780207858735737366331231518655801055263383379478796730856150478748,1616652148824177883926063221334534152918766277009426361907213157202894169563,2158316528785340756949675856541258639570677149704240023818071371249642890379,2529006793658413546095683668211034938735673831633203776589844896871708687696,804449572725234035017219455956992879875139309232810160068904313726560444288,1564346640776367783346187636899827338432674508258627962038525175568096206655,1951193540095680869662504649561258905741361061015377607992789232850479691040,2233064974879509874170096791058636339612724933760469860865109581129596606802,2129892775851364341732511699970783318129521663955416701630980587077784874637,2544468597727640476291461564520371210645023392663916187362376163543404365463,697115041321235811643981438105560172186872230440861933523811278391026999729,1980209947557334525015026334072551115690693636933334154313325211002551330650,1356786879777008686171412826124375550601670511785178417011093117817958119694,10819219485202985122457584683445665678577101609622781117574362301065486953,2488381368138936685079800239946633803868084872144569100689989514878326714999,445806069076778052040112803898008785305076891156711934479273186672803837935,2755760805216511271047620255563954178519403536849250579862698517880359242543,1465799799460790879628053654411403141102670397311763891970565241846922274907,1523283700671471158731630174434832774014308288863599571136496006747699872271,2841921214941686566713447778822861980706776060147681683415591502183976128368,3391200943928698447137148905121050956037345372733057705516563293238841514851,2692841541481908122663157343125782224071704361481011207197844719631731680204,3530896338944523979966190703773583926824416323495783253739577031554357591307,3140599106243418664931205847500450086534785734029587248447683027430609559840,3601123310493881619684602217250857494734622000713070981727547469643559322543,3052775950687434078726032335886395570808661547510546723906676843858935141883,303553701381506488071030573789842491034362400639529529752238704837276137367,3499649144522339592172214685837435772337214077168935546806517274511480155893,2668579494504387414483686217048074632659505135813879068900001334598613493673,2317992060670758821828862265262126984276200624816231042833471489419113980563,2850104470063744277798301865915354061110331900358775622365239108464755215979,1680704614328928632971382444161757937200831158160380672373202139095816479361,240431261448251259197871170865993243279655506420093842854727614213728032584,760123108046188084697965401943366860632523229766115761819102248696973898473,2857626981856329906336719790288010440418523993263804815127656285616795772108,1635870610716526230335032556873873865391309722080015149609394829990388061685,212207897328577842701633421718742060682391322783600312359794926696126199130,1472071124093975293912200644364242379685694441141809898806197218861136318737,3023722192700285542197312241655482167779851022991420600844503096842589198243,2272142649369127868137625356807987944140876692079373758540338491601561441155,496310532903656393023150088519541019422203014898316390784526328334313201550,2892879474455482072860781708573383196642410313856815926886958671958579925117,2609668428155399973177416989949678416366953558728469304415756889807642033562,2276632473808453209984682892948818125123146763116172384147527765925661060835,3489601007001556454708945906499394616409646524542161601427987077172117713253,1370590493013574340877627325335890317302559367092572397133931263334554993906,2138248806377573596312699415477232769004169713733545436164600147593561504760,979220852300839924053301925729702210503977564413948149611909343712837057484,1698315598605740104895770576570165175350995753655805387676061536044637270004,2982270164351955712119985625640908197641473200838985028150899452822298137973,2862773655917494662779507830693906853019799712501700017814597175416955373494,3017013633557037302538811656820942666361485376283488533049619817823096838449,1514452837686668077465897443427785924516002685968429895786652325420807646469,2790702687474695998429067583715017102131250050269738883132396685427981040194,1412720915406653993780799088297147026635506964324291847267114202910577237611,2249253964809378834041093199986750159702279695354219422926499531963514775040,2750348734394408457020760178705695225800176808135830189036817651299014644180,766989613828916170719520606274336548333106505088971513526000560624748427594,3016094877321654319657419625845739271903403830470429387205565118090993202986,911888333068592412026007070840157701496867660010639168239975897818260414226,2076815770226795658874923912225898971276663591324272035072478595199567890444,1286053769269968907956861399771064935143890991227711032227051236430115989389,2444192129236371223635318331904922515168995237571614851003914747878293337500,1096480354359953583363932621412432753087026619491528873486620577555202953213,2933156139902918085885242158962411597334665957222994348925099826297316411716,181832802007252551685162440402545045602441199711123671152730229535190618463,2333150038623710937133636725419273107369960286872442867017813836082409391548,795839844978522804238214945352686239297411993462500754652822807772421419345,2066118325684631249430773637151105011230779482667159259974456461961547829562,3259601907214397158530390049050214055872193198938870442176263871304675127010,1561330842624300951930300385469684172865973111303671677121242751101478901938,731416690813351560247425684474833644073767299475059621234019794563745396248,827830445315713331463935836290810991937577718013129162400396499925965218927,1694873738694187085540848015185155141589140523035862724509964672467418080149,2940172125408539141489922870336092558756896963528123585667999542178140746059,1911293393969690090242981586187883391019016509122568525092205018673931142099,2917644879665363828048837758653438374516384985012003356633234401518551747545,3201526844736613640754752236586031827153117797650359864378698444658921628460,1168621550296266049466858771634700228852753122498579368107902561259667709614,2311617732402840754795616586441238946178594785385231367917137682642809191840,1174752734542388321337272899804050415241684529831811423901518389170854015090,2339388259813869892163605461143689560500179767652597043015650819768652967417,546221137515824785835318917466885682536586335363275719366803366483537968518,3482267068958924766866520840353658268601039850841318312973247091243559818964,1934392983571355443283471873846147455775495740839690633324952782372874086467,938663636303336769421715883089806975487682165219809253359720810367328523409,3293578584104220456869290981915295442264265512729387434797893009851730059568,214441646526699797944768264317770859713051345899385161900610940272245782526,859899746360289059190808068039065360508400308193342271846760134415158920399,1960459599852491159030651948890536939135053083968015503866405721324330281860,837157459890562169368661217902645301438099669227854829970119295944309675145,2121917731441619062570784787474141706341452117293985384882572294078776622250,3613968753202859891569248441618711788456349063736356532050650211220566166137,2466433370654873300720781631924879398981516895061914961655554676444985062586,2641085305886549943895413377118222667195657077581846630092499674030545266460,929384446853851232218628234372874431391839276343859150181863773439070986365,554382822015368826172837703142110077672333995414395458692349509387237205260,3446139700737450846953496143233002405119907520864156758869999319202247598714,519698312772405605083659769328890287705047045387727251924965547009791132797,616503458372432149834828889791471817844330879065931185668756830870122060021,3137509070364067383721108914626166784653630389994365155539957816776494824097,421445809258985439965705974151726775303182977212820494243290299343474711978,251844469024857248066456409093054095651273991732313749493572037927785021751,2747122257309659017079450766251962593058941564327795296015292585477238841242,2617407287421684117218803334297771557664052481432299439747257964169182173064,3199270526790800809431354326301765599480332313364781745150319883614930658023,97484248010557507939244851933344776898282626611750586981986716348895878088,1743055641980763724797927835673823112764655386995520482737837040103839027570,1586099630045746051571553469750441976917209194754769153559192326922761262759,1001050504900128656590014276049569771916788279785091275569361374382994500387,907483827711350578611438616848812363263118439306858597226205343654838639064,3035287420415429426443852805035066187864369270145994958459067210259122304631,1475671876198391319721797346540909609462177323327278349670336988984866395737,1362685868415687735810440893586653909751447822100026706301084192012124468772,2881065574442438847261808577939966726946739354154013922481737736064524271875,3570325877489571119379970890495915672951061097083869433825541046309012392997,3378261721737570614487339503957352616333332160193289418677149860825068085394,1413621916698600257040374320358243429984426798423782414390032738708274310262,80547802986150688237116285602340878694510972807969608411737830464524356779,2087276193880875223677379608476117921433819860059322793032315893571386505449,3142606058223105864293237487422730122854690107292060936933960817320764015244,2796543189842443741668025534770112603719794872156905112185288694724168749618,2862654651199792550607181863617138139286266945461221214238779635003750938350,32772304844579504086670061566874788497897459973003348541524736854384567044,2067242659031244815568196682609818436925684885800774009904697094592703340295,92118077839837790594796873074087557366538475352503820704394490751741319302,265251289940519147912270606100217620915079384585988458595240885558898720876,2772414062571810777232309996026263931648973351918945974229608678132655082758,2356785499624380836628469407197383617435452360113431824168147326915393787200,2124178436387490273630676322521738679949952907133486195475369322658213381751,1779944794093930543959517834908007469726134419616523007471558431777007984987,1277443433822572552298882353432398574975298824873074615554969926195708431744,3223491675861287396324778904842010071134395048873985843307408573101814905563,69556369045995674852447834028797890559947306254382068896874541958282107435,973053184550385026982440357722579790618778305188472935604037321046138179949,1958762281214611322121432481262538570608688757421692307565895128202863332743,976411189319243171666751451564612312876729276586915432206930885938418117886,1450359284902937558557351003628093984306246904070356860852495451271160524833,279333963360495659832231495543341799895169305559215626860442933061315449866,2631449572181924155345758675852689997073830236329425243670471591579767756657,3599858729427964878155841934477885094371414466802826019123540100102926346578,2957871441177960583362372560794954137728343115455451909118289193403866957852,1323600129937903144577058814715709845648722662877046385229406251703869504185,2171661419321145087795451338539637910819200720116660788683151967497605236158,3412871522776251158110486116485725452029697954324613476743456662086308674959,3530377497198791988877519183061662945158423436994076793491128100907598108368,2116987177963757248095568943818611233319362323869585863724789421484508828819,1136703636660212148815825744987965127056580723113911518376193943540641524486,1204555995184154472873226087974422242007111766403789236061765355827075318086,622479002009106797425408843530559642852526780981205473360456285280803734837,2194900811397844349604328603228544342214477092920000312326947504152151210743,3234723802370272774634741948355752138653714889774737994772733098926952464215,1597176252003427260580544889459161289429834691633836652750579850146682344358,1857125355703442510626263602731761364819294892074522464573949009299710751298,1329541222316860872226618933098345950059104345634524412060722515132061112400,1052663508025230506645235867284446301629956046412528731742790996613260734662,2403167786927659278992537549277950854184354645309240154025406022251013453752,3404985931541819416012011551792899883334743405644990077518456588966481024221,3208439463881885289092646768232090119873923621223105524859233643990008387513,2463649392519296385853451849972991022090932339449198092085106353110728000482,2561877193893912929705437669401118492871688160994295896414280577397931950200,2204814028418053416463722865794110628648717570617629967696447744921042218700,643858863430203730666512980317474463561491264254440891067560696122216671802,3032733865015335876171384625379230285075131083217499392046210638733884964144,683132950557314247040865458385383016947980257414092060212748871141794594233,2933993421871455895670180894293735420314976791092671206494925162667835939873,3308839905240826930847927193411783371071226269761946200215766257822180104474,2485637176548460728669028003349189725220205802489926790226733428454968121612,2370216550773773834080618094175331995519064663558100816845938538851807385977,3219282553766779554484380743991171291579681672434687464429838398426152369372,2271295574168222682495746445638263758143064323177830856700727445769285616684,3574798096951838419274273766416139225661776530174690431138276565458621035493,378062945119077296702157882746272207659006932178990496623562753094951600862,2753858338280434143491127856284499092524656312137814295479468689625128334446,1163253261423691058195525505938397905332870860829159668605706066359192109189,2326317142105211695371548141367271946093296458282358262619167211266875629765,1902490830767846613295692049526928667682777963578047654156020278167382500669,2404158544744580802480832331991193130223391226114376360566727126486272480440,1699617303357288851149450099506583980022456561383252623588973819215737525584,3189194727926010542003826292654438346595202131102203046988716269288153991159,2339854687071807595566573489470692509135602400418283370699587303544955354091,3201461400666691371065961813554836690630169089152493377529416513974583301724,804242745228510051357222050145171355716185027637910231744988938966979756472,1560942605405716560400325352977983728871027324082305381226832711095200437743,594562955587716979638475829517311429567214008562131058731966873915153036189,2532392524041889223490531586155786111930260642401135819023122056079264903689,1121226051193262526536454858095363374833674377824437411064282145817049531867,1573317245495297593182368419961241689844652005738409480986783041291172334361,1671571403799501744775683662296212108225473287959629003409132244285442796519,1589707789030166458532809835091914621906669367099963114427385585532401308837,1276144171904119114361337405537329393374048043019127791196254504883289662913,2680869108225665717313960766344064653260362223749345823251995630406723061425,1838333694036171566749579089647542100533856643890358089428477434301114256825,3541880727192101114304723089467962785574062119771813507656860756060835914425,738492968705338667456474350832963266214049578336047508283116966150807420727,2870376599953262115492658729879414244170259402072997019130903032103275304789,1603984820142508536110128771763159902789227449608937444953197448544555100039,1922962918266896532976371856814164457705192018029498957142162460591679544049,2438815312877474976970305125671940217377209486785532502397028068936152690502,3501682208759733811351088823348510124468502035150946501005919902797424925568,714006225301038614710006146426260784404533636667920987448129235289576065795,33672945796001424888059867179194262128940782453207678115421622717398601270,2326032860750254329927202326321562485686458086162458234531542958558415498048,2648534042366381990981580050378322146657023543543659325053090950534998096474,326813663022501464683099623314441680327564532646788409100066531432190122933,2439575427650966084004864775197701434040724712643798183910522654609663435527,1422779836356348745414919180467607329902729480905883263559855717923007062992,2522405266436707444756081636462551747806099441664738378649204789018960054915,1474534683034823276794375101812151005152706664836504721612309021973216772313,2076122154121338835508394911410552107723865950779027236407260797201435404890,1947955313537951914711511164768242996664312327836060160727745233110289517279,461553992944169890831413712356648526691618470718123991378498270805253428107,1429556341735381393894353474320142735979017448962959260389946598770773552647,459778500293426113869043764679757028586157307252036978696153352683798384643,2016041334081398966331008807441177782351970437702038500770581382052831600616,2447004738188492456063765842793282868526379166793009484835655111379179365678,1275887590008307458817814506565752754111736674048574639507170712181551795671,1260983493009261259223883513212962756708770435150069448205549663376383222476,2956269310683656921852558196780449074817830631796975991327917715288840072753,2348779143200169845023901006916025287041687929431885937510943247180391164926,2139226275425060476931229069247085065214442669659064309264440345584165343578,650506368657688999127160632381063144778285904866633452715286605442091329627,1997334939478272726985841161995578633279944911057410828692714015148199379349,1191385433546946371836226487272241686944485681211129280196862859057021103651,869499024917129451473403413895502480131649476105230066117393210912203319963,1563078490867029621014418895588495056958788338756117953858818664504965483838,1448285341927986686182825367223009958359807178497836086406117079171441807404,3591131096612490935008044372766065184263916900484546995916083418221427418100,2453763557696211987342948794444866570841094417943809215430812452601427876640,1178960092648507913966280892925702970244604052569092715986654596131906786487,3452303144681715852941806631891974913491717894239637652804171906399611916529,658245563638789126428173241611044967405559528106746015571085555721927790873,1032907063826801735855465667531291468066109839556564549878904832726880522348,3605640201525712401078428380859926201988426527738504923527127117009365752732,76979877183440487788554244321224624503232619197587458823454010341238816671,2419114819635455509424319024094404333906103617986256447966666673992284607161,3398799285271484121578998113312350307212319064603204855270226563010910004932,0,924247623421222590724508926572990178009821529232888063479049004283462372430,60,434291417,1955953704,1742231076,1636783898,2100627051,1484969977,1157692879,923037912,1006261955,102148891,143296704,338057308,2129353324,661555634,555300033,637574530,1993409911,1911919746,135448012,458958868,1476142135,1360255010,552024336,2014953495,1049159540,715077008,1097191291,1340524024,2126886338,1229813469,1662350401,1174125461,2080655143,298212352,1561150206,910577561,2043383722,450852700,1526040262,2045881498,1734255259,1474712859,449399443,548933280,1968448923,1161937610,605888762,314770297,518073614,1733148863,12829183,16334849,560132078,1856792856,799543395,1823944552,20327838,284818790,414562063,547257862,608662221,242030247,1845937619,2091825397,453135004,921653663,362320714,584643753,1920908760,1036653367,2092831959,177066879,1541982850,682504791,1999369504,826802128,1673233659,90556752,1009469404,709439395,998694921,803340660,2125206890,453677844,1551383617,1216235488,595461457,30541632,210551022,169689772,286512844,606253971,1489332596,1194765170,1457970231,1550215300,470800072,792452353,212060108,979226515,337479214,288873405,1538199182,1880282886,849703966,640523795,1533819917,1367156452,1860473303,1167563374,22285770,1047406510,1952024315,124055184,614132150,1096638705,492261903,1466115710,1113156209,1144445697,412720147,120893337,604969151,1708281394,2083361433,1905022996,1205771254,1257042645,790884519,1487878499,1802022115,332551746,33660608,1557628438,758749199,1590176313,581809778,1589637920,1889375451,223094192,128540240,1356373999,924504221,1653157713,1273518239,901748711,1112480113,817824291,150504616,1014641175,1104318585,2018408160,1580806628,646662007,860342564,440240374,2029188622,1867465456,1939351597,1358395840,1535007366,13746866,401810233,278576542,947440938,108335321,1438086905,1902986759,1224056132,1794613776,1042429847,163064841,95534982,929745306,123488022,375202301,341336994,1429898458,1751815374,955546538,291468489,872002967,1744352220,1958075363,209573231,1053375546,677104808,21345163,1118978245,1111088412,753153695,1666614397,50832174,2017522962,1137721175,476057554,905399252,1447398197,1645248305,74623023,1320785629,143053542,310807320,1999233256,899522050,1682406686,105296505,623682690,778920069,1329369590,1924077599,1503019850,1951431070,800091541,1063392357,1161366506,1000608849,1372872725,1126770979,1774642234,1633920818,410623248,2118037781,1649522272,341584378,1662619946,1448988212,194876029,175762421,1595087712,219774873,1421081009,952046998,5371631,1819276465,2094746924,1329234814,612385888,1050475097,1041133613,478,3207608848550011435407456428721036356969213052213815793552658416376028439231,199133834028474362285662910302448662248309184221020555725732824261583921856,3520969278174045672398868280188247769979730603924519346029917029323747452286,3569938298620184487690621974524263718946254674167701022371639979537606400109,511519051881567592546188635514542878045852550049801822959085694412206640435,540091929027110326850759742461610018618955047142948457896023300338990829385,2656342541169480663802415478264725252120353268046632500665152919238234674783,2366860370108227728071258964315094837488824572656561132629826486211523800529,833338390431572670506724915077291879596483487314654362370331952801965341627,3163896995038076864028877324914474890921554339123451992584186057841032041432,3616855395484282007164855676627344602241955044614947649164223552263091330292,527445972837821769538219221292449199998136267265055142584799987478602689198,3128335507054273381759416728654606982957495244854976742836499618351959803814,1152686268831607637640187231395453808354731519746472165472988256819392423495,918703984802421039077929094458302841819287843333573674305681474001168882534,1643977704783393632663568733328747867528922299988453493864253196759542037313,3010536105298978145149367944047747522999963653926836749665300510026929396396,311876325695789909656711449745994525612661479768629350972390560032138595252,2653096520323283283937272949334071724507731946175563109936005598768280299586,3131368937309087448705166554472225267961448793975819880246445935023430145605,3441496859405648089627209591444912456438257166974427491723708867895402870278,904451837492024164958648568865209712106093046632746864382565465590533778840,2134242449472371638363733633106885569817833651885028935068039033280778923880,625895046317475622763240267853696614177948135222347701674903576706577356804,376069464334203886454996400179151713246526160522106073745133798372734380072,1771048769578790543930151030798859847217094761325510435560320409613955348514,2711579970181441963830921457418490376328372840488582997315431738221056577906,2367042563091126507381192937560035631577088079996315524691592407368213561812,151119990630502828243797820055679550880215232027623914643877764360553845974,1982734508439745242271675453995316996200678280879810445382735472343356821380,652935039081278186650594246042559050119283574554003073296886785946399036400,2709357320338052270576404982338270090652013893649121182135096322394923453904,3540432940239176023815615621227189883341519318764001699597606020234204330282,1230783058928855388832688559007013585053254184492458280826829532556335920588,902272326375007481754713074914356149359807859832772611646341646355003141542,1874990366784745829934726545186638464416503632382289128050326178674078765784,2169647168196985531212304855669444019486431948278224300962807974895394090015,1826413492386505953023560650274776935656448138166812169341918270303507301315,2005973529611328287331107906062390421105473299407638979515251445456825636510,896376511928936388677323342974753057752685144341950789195385644651503036119,1280340552023605736425460076515657570257547253902446284651828207099562064132,918344551026676662215212048498960022812604377338387620509423075125776308470,1553586934474484510006888524652599715384733749764262934653196247989935881230,1732312677205967908118135449560316702186501107437189421785234355976346533478,2150703062243707836371732978643145232664623547454855065911852160324035714931,2367757686453215008039874078015086580652102580723201111275693899698848156167,3611555258973808804976347133880144935012580070394792262657139484324719089304,1092364933219402988195941493946166836019985127296812738332606505348562997378,2899566802167060503685830294168640262652214718334066209108836162983906786334,1872902497682119255886821436029343253088437914728591061339799789335260806550,2194379341754782983597514011652352481053294826064709389129691718861403234828,3291291153627280160776085717123124320885224283657886139730620359627497242636,1172991190643533264021482666261913940574362985742209577626114300096508680432,3334913104338877997295382539559434176509462908086911768538689967913635309078,1106413835439158904276122444813768167703893913368347776242358846227218644156,1698329863224839821436367324663555708845711674411926279960970805724063237,2936120627225212876565651613978711514924246037742957877588500521392357759051,2842218998496954909769682733366081391883801867418501760874258151472998736811,148125780140324293115379572192204206776977899865202323784023049644805809010,2487982437288233218274432976933488934427772301968157039469130664469419071061,671092458078751047288969355514214475331474947839215383901978100341864106603,2066719754654804736978435837875325319002724852199180004443256844265879210969,3563845001850312300550394242190348003475083455519754549723330615393788531553,3008069336755535085275947411579762611159269437739458373923265074530869106015,1653613695131700620691738938895660104804850861175486796835731427463032563799,2932969022125604257724429789313078691748908904519247043812453864061164822080,652618530736044173616559706847934625737512810032491296514005106352960273825,967870211407714702319754515974401350773649342921290903690262930355169950798,3232172513444398490224018582319049659044408980669409860301585516855397862387,2252714750960091232761150926710390381915042681305165675006819185231914672533,604416520301801972082038579368849534564939814110855776935094463326142860678,767321529573019880448329505491257890649371561832271960863146632727872505880,792818393312172156895669657556038910333082082995027079102196864170030886085,984757208904068621363452694733777423754448636660588765750578006819170742455,3018390311300916461495447965576211269229502675450189848452228366583731310258,2272877143520954743430557736678316963171864102124856692222586338786019483152,2523959606208486116004904520938453269542058129620624907972974992348386542982,2169266502269680069787070051146788229745879765344459680292309312636733829491,2065130749967714175977639776054395898569928717418182384372395061177621072473,354539556552941019582087940862714969620232747133492551620159680706334872124,309595570314008855357788835373149220191147856503622135772222410979372510211,3353890506959640792919271811180057668659311684543311301231477837915794389289,1322876485088969785260112809120584739512783487405905968211627615111698915758,1144234347941902103624000780006902648985089275099419728384987207985420290147,2382911229628585599034786610954986240655307298436463043529375323848470077570,2265796931255158148742456064826977933033321453935410349325738234723945582231,2884921221176900295386357766015263471734689958232637214534642908649216661337,227345694190809017776129209909121024531767180308728342577046197415115725923,2444178887446038372510792977861517420544610135734994791376007244078535078055,2108304350427909399014444302495416265655076374109598162964197110170332998901,390560802338394405617132701534983782213240122890879526309405493077885568897,2618861343783684272946011815953023790212070976365114741802635696758800975963,3324882459081266897420653100041449027033808989778007527895421245517939658301,166868219095177437655709930987656425573648516430153399507228295504045241600,3376123798536457558170735280905566382823449024536090486574253680590739679811,2252391939298924125807567177355786741929124271325339563718796362366736004534,2910204626175533811113060016985942600549479371936202073006330130086830409419,91288523350209334143605663424110918955134900951601995321870846901886496437,2195285642152279751966646596292545330585082738925974657157539107072925618788,936453831783551648231951615179142247766771869656370423197622010914174729911,2064616963759452562563972269157409206183348361575489523100005407099307965878,376707055872810634140166100482188620990309517005650572587791094131588535266,276224571060987199999497272490495444902220263461607569546134577405438049253,3057135956468750339406349403509069673543622197583222312011623024197847465707,3195538857073404163154705686721179188090623540137785955747564578131831481762,199646477865637468760702808855536094832358492587449799460243050100713171700,2078760152759471961903223514313313828363542494508073779949050672139536610326,3527493945736323559711979468174614348338249592200409926113383091340426037101,1517378959792814887925681663953261261724128513615061410343302158920081901626,3598401945081940586767219357701918337896872877440406678084049549978465142278,1258049160061401106051334581277094114122578451255240026898771579612049725471,1380426515583832929648993348153889582812904300600120791517713888505176527074,2757219951115342235967315808153637708332299144070643758635406095729051003357,2245544016185479599519988159537791568521129116087590512024469707368618411536,2035176191806320505437656761893055141669064505773125553176784560932423028995,2716483818240134771914886873870824072419946039433683740107619634714445580102,973693173611335549618504875322756827164379709875990451577505342725118534085,2566517933245550455342559986146916512965359019854469609356596825161590307296,1771263607914234947868442769717123427442911263862292854382154719808359990930,90964230842500545933215173413675554726441119791538841104285000122326016026,160519567572826658104970126826114983098391977567324164756432090886972369202,1581110043745667321133946713012324581719230427419824481664825593035941582307,620598867247001747660952158195389746414955499209975519920603745182093855574,1452167289930809707563536654981451734901559450127127248106919633340705834011,3261578121939365432931687313786187429858765392117387497110207031980567936576,344358564177000363658124267447416413116524161935714212117497042451304052216,2247496530213108080382174360789130631691330831819243835824471979729290805840,578766485474640239441694346505003286176459225853731226769250056021098999896,2390242693161443989587690131807755500724657912487464242206305363555383409662,2488546909519572981315351771084725924012720040178134857622243518353695747104,2307493457378915831523319366395681375193370223341602576900797033556073343663,1305282938505102262198259293428706525030155285529823576583325596477587725835,2982101325219157672423143345062864811369564013204325299589152382777569002285,2388049090940247850060881809355372977552886324681275455937607626625561728531,3490755891428344330498163888666325786191300729205416415655416415221094699415,112837375990518511545044045438553126458209849730857059397238394120952168491,263938994094496615394062918263186642544057601438776752480436186487275107376,3152450346207744369651070879729499567863652727494115340544954530208617171119,1650333230384302182985397893993971041537070272117788843301080674414311823627,237303363852177631052431648429951708860440003360719753033127062314913702308,1624345084249695400837294940891095114693854382883092964758274652030111917441,1516612842939771419115105537867792005704195755375995624115734697429723794970,1662145444411765597254876947076607478191896581036275127598778637712744066240,1326359359005734459091798756180708051588897904842130150187963068455761109139,2656810873565824566849308946901314641801966117652025207842656864804221506532,1230893790900832966332087669704983473950968775862235749346844312146678483433,1683414707037362700029150216799959250641670806626804541305697544379653528954,2841195948594595952506541694710174284540403724241623188381966944714944222992,2254571068549784548033677792191400255363113361381376567975859301768312924737,17142869195834328889638198324328055950677378000276246482873949864342321136,2431595732252879339874528175455428094510888027889292129960731019459200823509,2226724817663890186091949262259012899565156011280982723940282363105920744017,2377362145128432827220650833966922170689038889783634878478355562470954871300,1870562378380865653375594953320847384250864895839848966777648697370989011836,1346030057866287948400002545118783665483939177123592845350565153598583073523,3572311771570310341581166322246999366809745452723441431744284362600521501701,2131814782070673083297994972261405839629872649451622493247010151352625878321,1393973163426936305773241969956884306130353055036305540118975455154216939486,2324351582977980650591489565349595260106896153346296362448457485129841169486,2031263127784866473741786299495878051244554154589708426039751524151267616869,592671257922094584691398857296860877312462709196329783883924117933029413218,2180619800931650686331772468816147688725401407037835555270743414929135545857,373508522796187219869981099854695784502187168183482323061563748510151509193,3132094567271468992350287657710807673897636246000618529616789872947441389029,3460581048002595085982937639243448542298587904537424992295517547056455416594,1480427710289214976297060050740260892877675948312651981376696031386710481948,2675080882990023054520760936581136376168764000970984286011633648218016840805,1753950368076685490841649421109787957150176148232935038501142773598972790552,2206474124261527600187099350836071613412144062781109315632543102641208063110,603681586441892436641999615221093912309021479440162073455292122206185715173,3106826823103946884644566321066012817503085488325617480475496341704687052026,2287882558107270533245070370941252053509444511309265608139056591540614470233,1321680155975074313465779431562437725565736210986359626045266471734838044790,134196461485945928317425897388235096394564702593769120975805715602325539984,1480065709622736204167198737843085485812729302197282210556186126977672527920,624663576983168023442271450724327516233324879001330987580478079302564403451,1151571372817104331150391649968002760292301073683326177577565477393237290899,436413773084379564731475212088579028659570744153115707519596957098547840998,625356158441774978508680729603835098078357672702337536724062687738655995922,1811096209362582812852408779288971943969626045885376393447646710674997100235,1959765116611036807971170592671705432145348233609666352535951549871278356788,1276920995791261388356706321751959272738577000881733170083714441787803794941,2853949457126210843100256107193487653617516988439348107793446398947603210933,2428087573294061487672165790098206647889133238572914931289645569003859480851,2875696045198753831646662338005358874741335992876236600865255752263537224975,2290389912738918374659297119254681333815193269866225140761234403953705816959,131466869820399604386479769095823649003123783373231914208272185750164388361,3251850295912776870851651693974378474354702593629609911465501705564384431449,2107418634309284946711508689186795532345358848908434665734039282820348044489,3195031021843997990305541431699557514358703355577020766370071999109874988861,385150216212944412532772718635789768389838768717988647128602674375856697181,2358300456318676158083803332703060421245083598156109361901731445701416254499,2101215803930201180114601660321707129320022720376488650986795524455291522796,1221531950402260980749284585321294716124025706085006971904489332085452722962,2409424219137219649985847591793051500024553116285941342770675888576590937648,1301210491695967333976436499787143979766398239147998776361435717456922303767,3371150548527360773696807339534260332350909756184867966479012562280844675545,3302123657335691635615294906308350812439395076845336549777802024986119173821,1572039616371987205115412667078218015476354375188515892289495449148253687992,2590238679694982957925378398981371749832885002300843285064045343463793070330,2234027925379058940802322169508100135985252690670463710815664307190508646278,792794475467324824118969280146607428759769276959211477223781620919367030636,3279334084727168624256470650982175188050669916115125990126561733501957201021,2028031047649832637533864539780482793476793288373827737947100682300046795209,1308276240066907238282066907116469226008022821994884466572408485396296144262,1106828060179408838639651209241028283723513946863430718210896980529165054243,261630616511321047068578492933440014326558207478135384174335794057574625033,2975017557237113905468997995755999503998306636267997599964436971691805941342,2742531080050940976992629055975148557226621344595441514418197281782720242532,2840203788213549451324709814388523883344451369720885739313594540980413630213,1601741989809313998022931856164208618794687007125429076193156813776370698570,586432054034350017457171739872942366300329626002521041997032994457537210976,2232175927346399256744765157660874828643619967125916932906960355753817416960,1543384658062068968813380735901633996392418720296299045902665828296568580622,521079193318865403986393865198203370420645128579109260717294089088741517967,329929381796605361857503697626093684355600749125936046811293623707449646865,3158254555744116467696596371372104869379033914322043448978088966649699868807,2964838552217251227633817399551987958637247511274910214535959895586208645071,2684885789134291285773363290671997949049161891642452801928670919759946043559,2457628995047172484790518153064501971747385395666210103461491840208153393626,2735892893123571598994205274155318502133092982249450612975586154678027102647,3380778169204902612927852236811852718759689804765660008130384505844611743363,1215921262374423442264079178182290626866691688099019654365958283104325296755,2479512688349876338011507049048432626645677495325902556495497733940825083988,1379148902040759074380935351283116021153249193098428769395986063881590108236,2189901674727118276539148688979286636245913048449682445587486723909404327328,3013826479098099097232688583888322694890946532151475019618000599843701360860,3204239420192772284806863188426866070022550080888394960726395136782511503993,2031928286715970223334211626666194596281009644865829949245816284591058355059,3159201389468196716336353128370578895190729381458489433043047008456127063762,1152287253503328080895318297898961755994992273451399096988837814635529935345,1307567422828383336871178805097781962133191194724048952586082309252038589429,1422462015567197529538409903871675130466727736643475867958201020446908898327,51504068456590545315959251289611794581548290201888037459789279478557263040,1184292026412095586275928444914409494698658258155956531261842788387016377078,2467626333010731596006247539795063469283930519664747621437059611262403085871,2375949595277417415526593494725533056599358467797421499815568060717573810772,2416248351093122180440737985839249836529431571410663696069842253399369779685,1966382429137445961519945222479326250940502721643458234497564062553172816225,309869467265778522308244050557006005197364851321358081808074143353812377105,666333682966559248989515310640989167618219536011551274277355125542474401764,672514498898349496143575919704766963437232202222908079086512593271229011270,1751611142582174405177529479709682551285924870370971635792995511450662931705,2236650381856661640913086964870935180871846876171358870017477997356652060980,2614819278993716919763057706318217309280702080720397738696285123472432361285,1452016141079829228859084266500428764632020544132900536896792829755419762988,2416443805778004003084293557895645981940278461728943068213653692004399543525,1317794826515932427404087094968790111612658382485542973582982016470913169799,2380211482355003852960610831926811033071528967916758442596912125194395878274,3017364216617784583420295912329233442777496814228552948098592583625879267610,1996140045363691039651255849793446896386195916854753475556075945115368775439,1461676042152342622924704225740573331435654899503026597238897391385446904098,3045988201455266055484220250242126302711461509125513593271209323342122710799,2856851431353162705774122436661271165806731827157803833006853802640980813732,2700962206787859716095333226402359159684519178243442760488075418101515635035,2167229359789775499892079988165351294602085693821810579872020382333699622311,2253681065056884144784381628228127699949433800542484948195521720277247795246,3434361942525717726559886149245721238427339578598513893911695573383612718757,2031163293675461133464706152075848140377209091397213706340385679298903418059,117257380730503469107783940926456473116080945957413470224614219785476235232,2479906727236610315371381163672559990440531471869129909764059595368664815983,2791674475357528518613412797047753775337609999361502589129114274936857258111,2807830653661652707490021598240670445618538225444905348535958948301195093605,2628891758821684649861984336550400213780268989646319027592483758273109800918,645024622891024139309548546967777627430830300989466684449831763089402821226,2906472578827689688595564776583339265301013403744537600988505851550730116780,3617207481974934845379937202964440597010120946092194108067893574253070175732,3233062436696628177887687817678990520769690905804104471999132315878419278517,1732446233150740607578036509924301302881398464971438631074612012532895310950,3534125022601880970133583134888222360848893080548288194018468095790056804472,699893745820755426169966129634694997706683779875582241761596276275021711093,1925903237210573935617057110724159312308884852663482475162399360694188152633,1452119209079954595193729273844861726487074896906043149318255781970525460312,679456350190242471702484498063018652676587313252640986259405890832437984940,2419779371119104148526008570416414161615041381394285403283418879142602829508,715440619754574268993213389529530413972196735432287961184249727644756452729,2035425075550418592100537247442158315184347367779977724498200665878779246630,788874387760353444976027277642436824909334320697700576941009983496499503298,2902783244342741759285110509112793270653408705693774510333176043608848018001,1688407802058141191924250880771258745476268575962259751413041312359034898708,207237775928060280492426718289879549849526598144908877242110872158076604145,1584550178433581766611177918723775324577262304528620177670204663275879273892,1687805807652328904915743127283276819288378315144291971677716241981214459640,1765277156816270743421912781323395052177429125282590268499321224201152485529,2750685205210832701183246509286444718413002616605867163754868229486269256093,2739448837243018376885709405272026345326014982562620977369730549839337329619,2897774146348140857771074417415086882858338966465537788053160395886677339258,2919633070607605202836104018876666175118037693111625483623109480388964417933,1164899255342973186562739358372511514142019984697052366929724912676425786548,3261964107429233508507464912612361805067627689681332565882993395520158072440,1209624160151622540988907784173440850563584905059250436365184985594446556359,696595630498660502698760322629974015537354250885292388676684946634601960601,1689985134365256356751256501454920395316943551321316907653903929431324860454,3166272601265018105319230163158848595984996677996654475356341952151362883464,2984899306077545743011206250998893037274018380981471784932311370170714423855,1105955277103137768512393960230677962671363266226289601176511399896876505706,1578402034843345402675568873997496145462770479871176082738162197418184041866,2846566793499590140575583145259251738563845581602895775241236314857783230870,808956817483734600284499761246586414575058009005533637358112686807560997676,269378158489954493170272594858452185478698668599879755760663285226549032939,780694215070614188515087149562128073731717383910686722957974593662146740355,605362314636290616669240319537862487063675368543078051750476434414463143139,2966435821292943097563616301872701296357771672090398125483518270648737009440,1029826089116414443920228332768386060831509525423484471969064209199875577183,1798057877827538946161929571634154905891167372986645004340831544103599870394,855885036170406632151160131985305154858200311804084302146859450338118557550,1506645845972173377901252279737981288293702683716834735842650716863787832926,888377455683737161509068698978029895308313171468781002102864681266929876297,2485069808512976707317616736992156582364698297182549869641552111187854610830,2583173792779351644115790006128886023252225619372813442133542429500014945634,732103385918159516571431238688720281499900814301193362052699195135818135816,1326251630742150784358623489881340823140657601464222143293809205405853015035,324922509942100796237501722468482702389555549974158055273297669740424491146,618013424252810030369281946432931880600691159196084355602708975518629794825,2134215918631254776896022608860816022532133469110517586702536626756720703731,3299621012332582659259690670433662297442759404073028626206587922405401391037,857495351209067178765015525681518738421835240003620501787567410663868782248,603584430752093962065695615136389873557119518432919246957882962442179836534,1644359793590246237539993573867732749943798655384483814758893727266369693851,2014815638381374994608314959725722860476230010494350379772188236214179984386,2857758328325461360054917908317990649819452336660622309842366759947520586883,1162912053408238905628583027471241191273847315858230403721382717250185350827,3386344513051198634825865905820407577026077184683450869515322470789680657543,1097392502053067297891043991717875969348747870424412676462301505646859020791,1466200564833099598109519692975714415192967508660528127406306416849923333329,992327626579847604935453747259650187304498569518986427400638668280752854575,1631862809078700231918341775197675824535210108098049710525934793642155086227,1755540037375512829619156842983542363023444877963045687959886849220055696206,2025626682804899303880636577712292187543489658986121540185575427904684836231,1108267375544724063626125130954124482423781317882245694747102916372334164618,1158727742494528454564814553356174897426167796147535563872906358070707363984,3190459491329023594156422241130236579756064241384551385239704288511034087590,3585705946398512952121641736922045940328654835542561522724635174521349610546,1204238875120744465938545861909304309742948252257762501575485071140229262712,909103409816951844037105682689735646972572125855922525836077573324557267094,3509955129109707184465662714709843497447394605958955188304862534715667779392,2342278212818935061663719807236528549355840380493398078901658300713779906596,2198732283403591435151370064429941960142577904530584309346336058845151133427,2976315550075789185555351207344448857533811614167536397276995219927175500204,3273498261387300373003754474929559677703199402882022769214866114467757727044,3511420573945526530077124096805735077288926898908334460586013761038528312581,2431651611050482837136159450952430796977336313883514385437726124637386169936,384133181732285667832529306052271082032071639910364794030133341406713719706,3579859986033125153906468551353951986179811440595893184784109460509925897277,2039786704852357517665393399715545544301052608113625003109553164825085500367,3351382146361340120439250435174916073320088311751122019622248309923476015528,660324878136110128017278261516270077438720396407364317600795820898236496652,3411820909403905799226615145186819550249884951533041910577489574136361066822,307675019748407436652508376425173963690031324636237129457800313754755879761,2408953088831208187774567649336410570693622984065807040157944565389239908998,2210874025837187983806831379336013292977193724647470677843872840342070479690,3576363862494981933250202404446546762430422048743087555018074302120610471844,1842466917725903120472682988474602345190151071223332626709346364710148052865,3195087493840646790197457558304458320748998610415232877495081420812067719199,687053756979773186302688821433285083168533093438594052238144406728869936957,2468164326855877805398272260834247343044310103124851235005465084663331417672,748713183015075774700848311990461601647545345192273098902256690270098914386,1463049675007099556937603993127516229475032104661065747995139186968253224491,3374189340491121517098703209329454981121460633309077502958037535527971771502,1080191494562496782392347860742672433110324507951049018999971271807168845352,3168591852269343577063152830622899782983219709705467193620870239807532166912,601797474928293777770214617104133030575855533669230505788174965020100253605,3461600237745182704223445736327888656013329121991326072833802288741524271508,898219212815914368229552251756934444517358083403166018178151827709203622839,3561777518778853295484282790383217038277635420353593326765932778106776773560,2800049980737708902999115924909268130940792374304412366777964918403724484533,544212761869621701904172139421125603249298190823168822103181629105530223557,3074329534325940282340744755894307081439054667586599983077576345593797174360,177301279927913015445731401170865803325701315134049107072465309141288403331,1706557641200810798385097195917868594840916809076196581377470131030931942450,1690282732006026501553278870904844277206907246984744839489269972095630307495,522218935724449450020477061103081575523362956847093004590216090246384452118,12718468465411433152411030477216002268533256409282958880049804601734018304,3608238219941436171652288088276941939910864998977390913537941582901034829706,2482031476588559126356228556714681765808456824969257860998769013992925283741,2980622632962595920452837121718986039265544257374999782310623623070275004195,1361330325284480565683770128510723394435910317486237185036046124652601630270,1795105472900079095279728287602818089023777376265690278814174073754508746736,1729905492155384911973899941024561524348162498980606244869216707022113214037,2035882973866970290612549507715553380631329488302765178866874895459463005959,2517452306779958151731301129159328121320168561045486567343172449766115576454,1014044687733937232872210461122549661451630745925419301885760008819299160234,7984233441865105706094476356254050368496969025450897910678249986617866366,1088735150829140893496672453512181280138133431733571875252583264544799477910,2195249914666189164025862764161736329600083160103262397150163515142856741778,2199305072917791579816674226595489956046896964396784170828094340859746749663,3171729401357430713524195960519014304372101689810644172779784274021485705935,2723127514535334675234293435296509767175293386530654232680348219508296266462,1703185704495172839169661328109603895431676082017503348389831569828025047174,1021070889648661371607707410214568153528106975645271549955987315001361485727,3292281744805748624428964848007584067680041378759017861865546575765242556858,240576062805140176194550870705777475097171841764643068117017819430227305555,891919358699347161026628383518177471811129597191942868503303186485311815603,1997217807283912563835084014018339568219466564844664535102440441384650444305,1270570463631124718259738290785323442886190981422224500419220042917680814709,1835826110263652552886684746898391608444072714485116067015607282074986304668,2499112934379444611983258039506605418404407595614881266923685068680576012634,255460754049643325337276055880192379389701333299643149456955647444229987170,3543111552754013433060663958461460118250280375412349872951645003649167741435,729453281807759926826532649858354926668743833303209345101680297351040332829,170309982579834982966292488858828600469510059260447764859384105551127557277,2464143723469745842221086892708661607172998014480954862484441648260626220898,3571370942431826151323234273603042742368583770673935578391184551824801678567,1259098855989847623964314407018976216179570713693037182239187152947778133437,2536636580595089839686212422552119721336031613756586544279625573786899912075,3227765096794996909317658659595238155252874870053704324002517180441398472205,394180290126661109532680302611383472715682520833200375414658872594004317450,389915334567107205401780886998777567411831946921120286463034344898056351558,1733568487994226697866378208432597969049638516700519119118996393672215306583,1323708076648464842550159791590398799312231679553273940020730983092926548536,2494156516222456461956022567635715750053028791546180372309547760841406255292,2148982900689515738911906509916741064208504328057460344049736074837496945422,3181840386823452135327017092364976530473095313152191942895254229017696680429,3138375235388796635378842800741279777849219681662089771816566883425972221716,1546036982326303500709097832023175384273221844467635909874464921841433879172,694286725660233259924167747118032605859777480371468677046145906970988963788,1248166489166435975700396947902296161042434714871664684324875947251694054328,3103781203356718111233013389504871798965419388326237381938275544882995696111,3028310262240324115815337718020001181606966768655515021870811942675941783818,1436075723230969257813310941341546127235879335718172049068008076005902075230,744116267123548077302422746465743702415067779312126337898901247739743177522,1952377819514368986972363091394820204824876087357662186670679949127509901859,3104404641231897039750204788774414802866931274851203967959371414435277503221,1302574177895611719414951273976720437548704668011081597289539517877741986444,311293973014868811545864951839055624531457028315667605139884340874776496282,3024503501807252956743954178432721644517687732917408944562517396133574299156,3598603061388178840228772510140245161871568507908445036984522708236840660968,79089189624484747225682142092802391873137374852458181948717185890354482484,1318086218069378386713185620885457922424684092881934941364472438327310214772,1055571746564407578147869958660959361427816425230284888037059104932916266139,582747920472905708333383865396758038038743915374862611470651193745265715097,371422148091288282500730181167389875182403634440875335670276755617549034170,3383024474172046527440308405728547650302044378952045080906406477366022236079,3133561258048270117810603972607154686162724586166626920440827523052155045902,3250198010161046617258620593285159647075886183826623828499449835367746666680,612061113393243055978489266603104536839568330328948214439150395577887374443,1473477214818478098173619552768422892909821890367946621021906845011892283992,941312312869409717226575516349228517229944641489980997393582140840023052571,932364593627630367700837859896679681465139840486800385307028707555576409851,2549305912644929897103224133609371968264801441696965373679966926844535185994,424532961612278265721302340432395656404567024243389095622017126465521103025,3020162799358467650972200940490007999289849945172152331319939503474969470388,2106476345747724542471771218477462909744566676137797553145329457993582068579,2435721769553734502786167557983812360875742786121348021347187086255099816417,2974846799049296308866546585293646994296514999446700247787393807627864604689,340111579779316898970491298463761145577229223470096811623574673647437550577,3265554982373492441981838756497061501146676366010320996518184987314921918619,485492188250082089766829379768556830922072704816114728234833749671938897470,1658005826471297080570633383524185058250212370624012258086318900558065522323,3193355093762230132774797945606640367137874314920019154362791825350531872109,345032390094876054334769032762108215297671360465232049466487297333920454198,3171067869597689556193167958937986411486867743117980826032091739961663871331,716912835210474348218563218928314970879686771774065849881527227015206260907,677987978766501939218496162602704990400840919386589633972275479511922207773,2081365638956383492660075443051788082746886033718552140644080851041548160154,157385807412391692095728166847465499356594844291404503761308313051460138405,2613443014976002735974775975740630410476534113672618832159866486078975865316,3528262781493207322844589958279748704702484121615774002724218466312181061393,1224674009738527409058682286173236059927787718721107519979031221338082456725,1857824667580327200335194584435655220008138762971270620568718926910092141937,414684356134175478848727552314152784076848263429087457218192033570487327565,999594632300449428080958507658943576271428259937058910465995882973775303166,2419182432227855923534129272710237856295702261667902508817895656742192065474,625476201725142272880685948639498592774827643323169148483807248443523399966,302582411130475001845011993613085668963646007515049966426781719444726761498,1741274030496781818336096075535058943739737180329249238048229085516412622942,3028772629148486724033477089092752460430524137886117409127223902163186336607,2018059267721091081119614501258244020974942243136136725315297198869164086922,1322577720654018465541872108580328885883570218233538798333786434074581981537,1835880785025515034108138323363129315115230173350358698116584012412827662669,292460218825874061732679803299466682145670606563046132861502212862787277697,295614010389599522607094987667522386500123415008876173090105705239154643173,2060455274778230795524615011335108646147082221781199454256879807529994944749,269746467244786873582663175324456714715135074611946557553096087377061464784,1342783951410288621569736166462701746098493592179548780284251421969338784526,646755027170647539599989544399429556224988064288921024389358741948051386555,2239260777896869788890177473491417039506857177632963200419158638353444711572,1600105693710038613400593545971971527163256777669808605249045640258319738252,0,904533874694121276804130649629945119199229786911384729089922918575701250441,60,1223833301,227617987,368059660,779575194,1161413266,1703323747,1563083620,163670508,1025218437,266844268,483543853,1762364279,1140421411,367209390,330823725,1537200489,273009737,1494260747,1670250968,1770918901,2093055214,972239585,748790184,1054987732,1628747962,206511951,2042828106,1571802295,1163548296,428613989,1507234215,1031620242,785656981,1066186452,1057065921,1191088128,1110600098,762501414,1182617148,1061253164,1280254683,412608894,1950306386,525851827,986527739,1835233743,1444595168,1425281358,161196429,1715747737,608100456,1216027687,30591680,200237030,1990920034,139575330,2044553818,1197736332,1326448188,929932906,1674256247,1953820188,1511390865,290312437,615803350,1744831023,815991776,1666392614,1438876677,2053928341,749348067,413429693,329425133,1734805195,1405695228,1133575549,680278598,2000169910,1954392633,343242366,1231068948,663101761,743654057,2080548683,1760090003,1043359607,1597774941,1716837197,1488607829,1556876469,536318986,1036512106,2194767,2074708204,647635402,177916519,16913681,50791149,422158216,1936674650,748777543,2019886695,1309963246,792076857,482253694,1834424281,400025214,1011433286,517472476,660963982,1406075101,1906746713,857261500,158588306,678989924,925550132,1194986160,2027332662,783525123,102404368,1446104056,856450683,70366452,1472044870,167411965,1037459167,1645016050,1292122989,1086082089,1095685514,182915255,1374082254,902024186,1946446782,1606350564,1529512975,1712044041,1470195588,1517248509,1593813064,314158427,750673776,348969726,1960699200,1205009046,550905839,94906529,120727840,888467000,1612915930,285335370,1887445954,747354547,1060527948,1806991955,789528268,1307505422,1236786471,1865338978,1565746885,1935241871,375445361,1941654761,2003846491,644776546,1362031034,264383922,302922495,1132018669,2054781689,1675930277,214997652,1446624301,1656405910,1458634993,794444550,1371469918,690491416,335680269,1599273783,313020822,1094370110,1431169066,1358674407,1656793775,1737180229,1151354192,667429591,243956569,1276091356,1720503723,175536921,1088446050,1369290393,2011131346,95520114,1586850000,69822078,733213101,846993667,702544308,1734595522,1308104964,1503726257,22003766,408927638,1236485883,1887439939,352064018,976579583,506652536,982260896,480689601,402730748,1627498271,873171542,2044018577,1112366313,1082305606,716412008,1661654553,953292666,1057234115,1038548050,361909915,1971701602,1316158988,1067546369,579576254,668988318,1028924904,741081730,2060863836,1251150405,1805010957,411153115,514724785,1934587255,2065717170,999907147,418,2825740386450145572931147965938148033394436713438558468429115201307922816693,3324350214719772819049126887489377651722063908825747713587692061528617600069,3368443410141675932711294417839347442886633489920035935451300070817248509814,2909414863509186896143468557080528176986083392015474253012306344442451006834,1276109482231805324363910612243147376920566239168153245964169740549180975596,744275772198701206265186201417683677461826769809780060035580903402579445352,245282481245126703999849761360611338973913472633364771979516134698234913689,3108791910444178098321171654806253991352674538347379612865808401661755959416,3574674296342820720546318310091857757811242260131001087698698617855867312632,819755330003451275578091867116014799209744333082751920196608392297567601230,1311689977759137123437770307190431915554770978552603277464237715848150780880,1181096759927590242390505695193826612264706868753846563623523938917803235526,652728589223083172650806695597495136726408627337196701292067532395593404766,1099863318225262293784596786860092163543041025125877676165041412782546154823,695840128927562028217393521171248992714111514430585139737991318636625614715,1369806315995743449841306666555480278978609823132260123634765901630633783474,151906763940226159074589408193716813820087623409911632883013821923077042977,1804260531449530897415675157060518141062621361499433557474410711600357132012,468599787794532359131898813449245965948959394586108926944594116821526372133,1348364096765894425272620361250124699150027434124086808153936320927312099298,239641232221958141261643163568279101747886223457978947353285452977344221310,556890948018446824805183483572962697753314919398285110757275579480850977417,2096116972220198485546929418133690605331595749688719256981430796782761857975,1461814180314206116307555234596254683318853120719452368640493520724506609813,3345068667134936456458811890893142154098799999158147008541681024978946353955,2317015294274059756396264627786667425467286915650966229427990588432181182774,3260026618692188540833812378932547387530534924267664426519583869334560467369,3191750021454257896514525373948121635403933492956303397666791186638343284,1904629665285642186051601114502095665819957792648769743890897761399473871338,1404113635141655287578246149871782327905455717072524617530614963116494619497,2658617965196700015410485731187812748438236880386327674812617689063645379872,372987736753582109048661380694109907943566630284193917219368350557135927357,677550278989807608456829271424879979046064417873833926542260420485765568303,2233681230515844734395639535561309258750964824059071113096648678976174741766,1122919264069580834215925204986528343918051785511864084892368390803883910352,2440921546052321793685014863307076692195534808176031141472192856041059291099,1593732716701935712666620498713894407557139067380828129728516501852938401834,2342786694609162075996552176013582145799683703671286508358655574719687188432,97287863648220031138453001708669575902147086201969660910478980797915110144,3079910525505044541617738967497775217972559210248683363627557539015287689711,2923333405043622995561623280693166347654632573399878699162867702999429307220,1925770194655709257736518318952451244837524025588285133578221728650930928253,784151841583296264720017220250979856545622840733498299975702307537645350091,1787574443674936169568861732192164774055341891091428133549815908800439935297,3598595005355813369617038825096368034642660071440100585465987327182314084601,3305089320075678205185602620669641684620090190123038965655047803071949777782,67787356881071547116114891322502250493698655854599085582557934901666884339,1430058504264783149665935516499813367863792145890980113310628453745781038840,2510996186512949270801290759637129792271546550737968429656625571489194302313,863975668588789224307448577513239396838336543835196931475414545041577628438,2488564010138009471364260175895225252679085259594377534589388125357487191479,1551439232837763581920124704683149369310610703683773567948212180882422868083,2331576847175774359148813669076768039286487025498959199748308625202430291546,503810387494757633026302302916472577969425070637668415079393646144307644201,1686361610930177999669221369216487758727855203260013787682666060314031265543,708167524871941255469725560811428649279160662348125489463754836126256835089,878946342404647210061419969017407953809608457870175695569253718880377662333,2827748913304283455695482782523699726207799507951360893935178478616624321921,1431914819287662538953211756288583214937767085501023628375286043840098394224,1867877194999872716799204434910892156710992290595116486921661440927761203230,2912663447515830409738810949656450788270403196884296740231491488727384075779,1217196033802521939770724638766720707826087656946619157293190764104164493104,1824739557393151303804572900398330381484948765203300990050118732991933219816,2746944227347102644821939493080398698925955381395876325759981585442004275794,3306380507797386907249151605244278371104454230548502180501662498469238652990,75998419914347654735030552215584827864382472656074680396862604186156210765,117174000431815835074354302407129645460510862894416393106585690304480157551,1454856363374779683516871276977376189308652256798265214345393014830638714443,3482735305732890795618864636008190228042670236477001319954483857303743903496,817412000825097787904487086657386352396151394688043535655402596169379926665,2479225074605516118051249306847338674509972780719961236897144552108055546779,1723354212443293564378517376571392970739880860727920054830495883364847375758,1423258688866353740568269188093806028896082204817875750604594321847905976304,655426911257229233806811269420400952288975350105907235635822586960304023030,2935517541375405995735123771459963223460480992493068368283984786931356696989,1621261572261098488908553522675114205767622363704921664794234765448887376330,1113784410431084354970711575490944623421762346691779251293009193075954820110,901848044389818529262683253623497278284164716398660827987400462048143508661,2096218703675128557242831398606101204832633214282931198492702019401300195390,2828241689425159180630984721767319581529683267697917230652407238389273999322,3204283286662241878508008976959115121822183445793975057271609246399190401234,1287131338831846301455024418680755494594910104681523259298536752149414533145,2950447023829662013996089317218795842525288750731090108412429834595292676389,3286943643021127953324499978212892094442710746618999246025125788809091570997,845879159130815000176334582370891263731938567161658272085028745789463955389,3035196479231557643007628322681374729005092795731092737927167897887562949391,2246955780788221152866534319596838299616011593459160945869449264917824994188,560361101088884231514762665221415774493126679024602127024489320350423923718,3513361938598266285026212880850117050589434544289146200499967882131049544267,2004783428665631000869361452673292729355756958794481050744352775680566078,420926024449775140269286420737675504254864390261521655580161598385058732447,2483226899464935643978948646269618210398992153627956026858440537117599265803,1828997919733593379398249604656740264601142458166438470942851702919947040124,856259699897000129310681839920217982529626805604293976124054787660045859133,987118307899286900860135447990575643738066650004481416880322516285925785457,1178529718470778420505428505389473897752099620764174012559636498589884070517,196314750531951991907073214752047627908610099513337675092424173561214833875,570704766536701291578834550467794855414289465376149253201386967707726119087,1970690141559303953882278639006524867608547932920787084760277673309262448876,877492177326045680143932562921689030328693379149036987788968084323407089654,548616128672558200602303340624223662033464323027802999822093744849432850092,2975411766923181222158014671730156404411375074186855829679331197736307607048,3589356487107369279413896534945356040638161418587712272524476132422458333807,1230518726400707807769602798646875187028051720764919800672571157982472094875,2006852260613382289282684610964563214878310398362013393078547493751843801352,453097430610173091495729414017793425953931495277995424517563249411726447241,2680641622272822401928701252170867827474217381315684524146655142745406423452,1322322400516856194122539003072230866699079315177328229388632219222016463315,624677971851911959227444242980927175894815945002461217425950644708501968718,811169731433169291212358486155656691361017522951432895624245832453253843041,3154252390537756106967048474740832112247028883878383036046175727009573120867,3088986894736310560738018865457300188421229359628174852052227283943451982925,3020125581662391316524756624551409065586047604845958407465340623456083839315,977775217111140113435626672616657589299639799286559980470991329688152984134,1192011013460273395702823980586527385072855260024456415119522825640648850354,2084968395722072029333388340648585937770840238668340499783262189951092286955,1534608656163772735742492437370141975470515790921365746552583952087487354687,3330633296812647868239094003265476433361911081593149952524311973574361928879,1628280036827637230344919140939626484462249825480868104668836397025086139685,1474918896019535207428403899778401745685481227802261577903238695520033333285,1427744026883196108992234149721803802847191688551763559360545360116157413145,820654230973722144239363512131515107204861296353295191635375402696273544498,3342212011321379119372309253374352419129165245758295863969122085301322159911,3208190607989282300504983614116046946158246311634780700930215552793742364145,3208510936481668297171042836398958620055580847240145236731811805905807983988,1031087209474551410532348808746285052984648539054150844572458804891855500252,615326608870297660907797253203452916920070481126787897326095441214237879345,3229912972491505719129452010181798323572055810059732228825751338634959671775,1983497572730828928665758935662058410653093370411038656854691481254677683245,637344947459743463926923432267758575279961459865358553287107527152578394806,3299901484006501560685972923842310576993430179370791372066230535308419521927,1668180964053142013627071052320640407226012546803434830349924343083259212152,170690828848584005359857439680817119907049704369919093775124722990440044199,2057155859126501378974228274978633506341441451087129300103953130544353967259,1372294354390830294032036746966230130232308605709371520721217983405494882755,2307811312934431031769207520744978995931912387509899222424409403185434895722,1754329820986982640874911537476542812980661584052807673441804550560032577621,3234398202568872063803425324000926993974560688055698214897869381794176094835,1231894956436599098191780986298543107897108038004164535750957546181365154121,456689945846800528105598674260601698841197443064372598992595697299457543352,3394524677828095401315950020953278851662715220688702200943425229925030773745,2389581510704955395172731860286731205090136402872088834310324977536065904548,2236521483790299289317844882268444309947608901267600364996670874201810290889,2454952786221909753442662662037466160878920589344757629650921729913506782864,2732953131616043937046081585059530545115499443361494254886439135832337113015,1444985967271199034253782376015359964353930165895239905706058919126644305924,2108037356007468180904302409729893374924279470016558684137129638001112479026,931310416847063658911408559731869087999833287623503881439751366321508224675,1390557539184818609914104483356263049494459136790501654681964539949236415239,1273838581306338393425396709149448983061095778814560742836305924376989403660,784510647569290602443836021970746401179409679815278840414783292883433201201,827694425852737671931618904746743967561150917561302206833926511337962310811,1339360471986668580944471855839940633972919307041454672306118258554512075598,2335872836834051539330156344217573546980860357404461457498095619828572580378,3101639581690381975269787687297866439081021744101652016759166375323882089943,1214526402655190566782664549737691094279934524540240487024758232423662072839,2569534602892572166252326746193682582698772946722304524519376847524456874803,2039715225535089661206465389024183756593560389692291093372859419159390080381,1655709679823638100810614304105527132602476671113442765892754295992038616167,462471117924384172723383930521971315944158212991814229395895055032980855071,2450490866717741144281161777068182781769685768198944061190739875034152436010,1290259649309370579119023858750951581917673959784292878430367454896118060103,3242526042560930275699086997936867849594817856108466708172390997749753969746,3101138373555992943694361779361519711247047457613283360276579160228638983053,2344749310312190372837733374806555732833578403641702649243903917944232590629,3447001941538059145976705643018490227934499414444198436955087196894248566360,853953624616709501594438108072359868974555541249549639834784136303149166071,2086279991735950179496741562840308621355506825623711045203880402583343881952,2093483638433914990653280776905762338724011021175966151885504756268146768350,3267153058073620007367814336901236766499135255096140955691160587651864721537,1002019152441190836796673045893119156540874182279353753501819164152614386093,3405098694043413740674110111140703586784376874920259463443867513485950533035,2064172232245639954621320842127923603338021829498147474989356540259956876489,3574690261497459856481281727340886639033157128090470321181237392316557671336,1728045222633317824123120732521902861783922911251889251005379269350881853638,3082328341289326439433736914016776090674031730674949339611301833088999796832,2428290517074798660711621254335521384600640607614203813759318988085908424416,484617376933129144873350471936200829731317931403040541350590324988339148280,1864786120736730013968353696216403448288277123770640796639871293994850861822,3317089472711387553857399472635480706338252888748322408113482619878381063122,2382569137437608579730459447598559990666209015962851379677355460361500415343,2521702370369054314768196685488795831912496368549350858001923502708398719775,3523386955306405052009137332336454065873571434968635116232753360787280233790,2034052457139701385396161704498566609633770009260825055297545104383243798891,1512143954210545902771436875171602027047731314473287832026865114487120173220,2630559708255927803167416418410100909321353061096197945262547756705409995829,2938692822562390127845986258405325666477527851345458112377036507697923169558,2703135012773178549173694887153440455521344229003766655129936149093414151412,164786117566468256696992045122069995766032312241680482404153317337369357284,2584341232460315827059328392982416594315043756687485701283091356279673991684,2225705108049316656022245690883512873346667269667403427831900255488202691597,1545806319464042448741422297880598728533295591164236158829996805924764733223,247400765812164845650491228662236352417647884754330750590241699638152419901,380514495305745965236244225649623097803414197695758832614361185916621604112,1453389085843382463657513152899083613815964204651079560451812472941375143464,2889040237955993570900519811892717546565400547045782182371251707889924968517,845437577014686788385425907735010534216100675352421047458904049078507089905,3096587491027121441624366189105276855657010152092651302022403021581140964198,1728209960768407895548011536397773221052035592070512725046446560082268280267,1133358987009379312983775647451502437500771562009661518387247937187176758160,1236041062364330167533810982844783049406936602227395914610050936784198032584,1205285055394686234326240778932252291393357161460444195236733274500493663367,1712633287561560410699146839668002759445551831894033476719485984794248958726,715302806704950395017327484181637731199867459893203164595730481947521878011,1699076880197060135730082470558366632782186916262306701933653858458799475625,635072756280519821312110385495677028402204494227290867464161226000163165754,1650503434020386161729744744041770013983699364126541698074381374485829511762,2474290002971470265541088860037897211151526996289782316297185833379348665031,2878707874864789206888007514815226950915914929965652579039389583266389457619,2854138225876830495380955127525186772381553913378738029791512266542400134269,1079536841295769107834747553592583925150179254409220964013764851003169161698,2464513710885387122264480683784776323094030968288825830799740434236810415625,1304752828837588677276520080804230809994239340185505578816334352964207122456,3549506551930218093747514164436093345491969871024018405349201342464944007107,1820399709250731643226380699476983857462409867899680232031081111956019671170,805661963649756638474071575594293771927319940067936886083938509420018881820,1147561421120748204748076307496857737541348605904442693339479016956341633141,3361930667185215545899428297696522041732056564060411875728946722582024086417,812030783138160729915863749551896490379516193374050051650082223435224523759,416681100485319420198026349648028603889005942105324694735373639991610254063,707216688734689963975125360379275081232096042875764635689302447857963705348,2409441804144522019085943749762992637586207839889775654253433717087557566643,2758699180631676356212574282358729394650365155299622265454440170750014013091,673338141997996804428624015067342352047990870991519568107484987184244120872,2755860775808537901121601824402047638659873004489097218152376895528017707534,67306792385785315752942684540919552744835865503508474780645896661257783669,1615646031688446496839791389956593701964589195457502806093125136228267576180,1187379984707195985965101299143304144349230242804183475591916195692012197839,2437955776304095410747021857952621364327280544518519656983990969921760445330,1008460689336957687331547249190215233934253982403370540660378162935327378182,2417633917031709355359987311170632063335377767062896782021365803989388615252,880452424469280790251734089182401438000802139974444711627468367070815181029,2348395457067889944737935450976575152055225670639610648363337792398356254584,1739362947700396338877383464950182595655659575824093730125871860831024363195,2402582055871564975226049160722222564614416663146220161407970580601997520577,1923010831583855226244060187187384360729087832128648505645723954809878719438,3376042183540997910801679524764287502661877356130658920124212510239981378352,2402860249012764678576288396253394944777140345240573611561871702329766689996,2170790568107081836623931234329821104602690906645553541630456071218135227977,2955784756723035526366610842713415635585363819896668142490923383262002465545,371065546813715689986634377753130977400079510809696773778250484209106901779,796466374026860211620841356224651548020616532638551636944748817903656862373,1866126287048002570356970828985064684407869659827455705475865498130866132151,2911791409543821516356888730397614598877210505109190238532280679709860670046,3001457746136504913305189534047381762808855022132603125375357234402361982274,3418751743463093325055240152816735300652817053732114202831221221296100113206,3297792994407686432768639706018614436600877416474012650779628569542279710271,3485830834895659840536825939654229169450869153892775707935579967615076602269,1534600311683848372527686470388950942615897673919394468283473974142206913498,3131546107131372564088215194124135360819074751016930844898241351839145575384,3466731487330408625933719552722394671071120366993996203813941219382003329991,2993397246276505491963436398741597191795570031956781849900219694295393603588,758918668271030817040064648351393189433670946588752424893027702346533062005,1623285641164733206095766468200203470954793644555742454490866346286991118404,1280494552261399663801976680275977210984564574094406007063509112469834004355,2727287054597887160197857458361896716137668418947850320664713903619497886719,1736819611407265445111736971529783323714485797443951032219286068650978138807,2326469716250312816428472630857590531116215615256815842707247110717887887951,2172864445998975935961006443495175185879792126539431008000158031942480522469,2139876179416707747154693173466670227236074507573956637917340798734014681922,1599780533116055209084649723826767760457558321703774723549383263171280784801,3496479861050500969749796472540433264940372564241159003925776685271590591589,358720650536889463749648482168390679421712937816056321132053814431468474537,2426026021958203002184955931515180629777180517728595313414669537493778236831,780463769719928517003639870916762109536039465763193066872600064953270255248,3125310039118637810552399975662326294591952813173386450382609784681688652,436382951644271274123004859489775460073602104652688529836110942572809140461,933459317131776605715995333622762248585905605752610756284073805308885710012,2637228893069482652009225397668296614788679617804405720726765802001011762250,3256716849852711125877290720472854405696114414156699680874855752660933380418,3079156431456092835249705055405883850118141443856993986639104129921293003682,147985398201439769551306363864940095176071132736139042572231393800936376621,2969622395877733857202949888485705270541547324917980974861017232365336351127,210215630573426896832399406416002204169346350645853411937831586283645348605,2090973304490122012984715722468253097927434914965201034179784935758865539069,2676288978302659565348112446295562786350153771027883740192261511109956512266,2791923804776997812925897769478556416156403713919829778468029185995966515485,60290541936365534204400943750637405720359394773464726818930512978469784894,1332691233960510652213344539123904951124908642744389326667943120176979581181,3607091666106634710425091093106446820450206296804310151164629512357267275004,3371334375593181488553637917972601906213265646457209860055853178026842378112,3220629067541200194412945489825824665342940429921814018402918261881209848074,1651421287377789644966028319590228795218932303728308383433371568800573542138,3375829184252175175240104832124616541216914332033985716429719189389179205781,1293121537185063625590968414852568223098842570665631702183969782641813776638,1509416017242638611069478329868112051239538173789000637034848642974577854160,2974167885044747640846508184505923137427221253709374003195031713911314878113,1658549549838577914811502167658200858011268539489952244873106200429490880135,2961918599922925722108474145799936114737790043669070978899817471212849572646,2130671558846453651546857685239229712960140303117597722426072930323994811041,2545035126374773679328067739071526346158885869809250325843673148027843266832,989966174343663642756175821220677199644303492733834961390431177855860885191,774097612592101047875650698815456505760036812179047573097915067462917027285,711450294268705517856965032371235384573784529043692364550877506009364975088,2083516938470124137792219774044707628258278744257473688299430148391912558576,678333478136336058444328578406542775346402011373105658923906099191467281386,551193458675225798468594881600766660986194128008690271378823271864323400752,999830904530133366446317559108446441906213812264088882340387424290580409900,965775603527237740272318150146930080771341836174099483465133888699784354468,1313711887291357800549061291781793312877273725580099653787901921202837318590,1335555666571632812612205088071427417864930069680616830479074406773725976891,2859040394982551602571592901987729738095824358168531489237766468351784337249,2098779007866485696028676890658198278019427323905478671255639978111723423352,1787026455724736638023282514445665138462548070395745076409659942639049486826,2116390144300387833081994123459208864616755874667095587160468648977310007649,3562084364878364131502211195071115165021648491096252121023521662908652415729,1004333857379687525394735494488702847165869983978937915224056988855308694007,2323175650467993860601078973035768505959861012461972613287466370251253271045,2810964180239196539575964168151989140718587867214114421686787571203451683142,3068207556117003852599458010245181681172775100991710759924116977426475168860,2226181307678433812198462439999788347259408389116809792702000483769840094341,1829268621102789240925925412691692386587274479982355551675550467013839505239,1518871160354989171949358568485633197627527337601398703670044588126842385552,3107417159547591578788016358002760500573248082370912294537280018732283618161,325930398677320995231073237159039647267102385264637614536492391886939553141,1861410041900021513426727354276667939083080233011212182258156226436965623476,3224238396244054510410670405607448719261359806895967767681967091916152825381,2880913385244461625163053096342837721598328326650467127041469017976565061384,1910543098205789336635280904162623919654712164792059014949001829941246033597,3560779377272823267711811537979961347393202449791771883629450220431068522557,158192952663105964341975997173594666625148121446889274705405432670866194157,279473840256334648927313140791534359391871982152560632824153016813019628233,2424762589825491710352019706568405522942102062128062284282435665998407919222,2551433159625735928584684477649717035337094159915135463258094922472270820846,439469866730754254973894773377893551877149316867861565415854265164278922249,34489939449829180230298726942646912935186808344266008303534192296384580183,2996909210197815804439002769995475297066236156917103911396887385384188112988,2329438868653062635081654409775127974979415787199866964350082101957098181273,3541603465829122264926180282678071313484032851510410909953352742126332251060,2652568550592549874030079056141628869200832312286821309240709154058930339396,2727990396322940234003655855682950380357462699461116285045202897807803790061,1541959385917107652511131359137978114610267598955872011524044372021466908885,1070826058063196593641906571071345543646392425913902090428591168322301970090,1298390216022590376795487814894365477067660394854510245956469847205406693843,955487906066816013003785798767389602096439224910853329676233933310941722721,928005388592442466566174550113666717065350848939221420873641501499134238032,518514305350080352902377241319179670424692132591162697305133269514930916010,569751837607351808097855359705688243721372553092422498440173551925475354935,2949755721484462836808248086490135603737179800106532241120263807360431565116,805617217870844541566742443331197769887513489225392616226512860422182464200,1636305897003245591811274347553691991776482407902128038871735032521910493717,1275656537455393965695419945034924252789220710069429729772259302048036149415,2979716998050496350846160740865043654052409974888381806424337508472517295886,1046565569376690330300794019179744876737360378513574472585394473372619395777,1199706873218078471961325304576392842991292224106873638467698474383608868811,2518203269769458449614842368840938601901617655075612229617429771684040735427,2473593787678288387078262902368729758020963342612700554862412574294219315634,789331651490580056577350375652690730272187256498929013124264874734320623175,3049461201243704577574620626424117495078406935350247428197078844765370140958,784126019009578390116879259441590441240018955483690086923914623165585895844,3448576693636554393414149262350776503806948694782825103761281670762585539767,1668501189480168449314012295873656190850518302190233436695877154431312003405,2800487261533345530828688685848210992898145620580169552493187254701115264590,1401977721198302551255772138521588859979496366881627824809224798309571216452,2422106460198532841695706958471252634842374540509028434262957998635200742584,2306560885701937399769831854240117220433142924413741223677744659035453205041,908221475433065464972197719594149707965217006842390805422956470171776312189,1544981070728666229722696210243383352987511813280991623196450052943009342016,2398611173492738170510886081973975659364320932629759393732230618723041176313,3199468104215590209872893778989572819975130114194423057102986836276247283548,1898013566543006487801459088641279212890817687602244563654909933262489386022,52191258468084410777669185576429031061022780816400059139390250984085952811,3285491512877369340581911280284385865653890505481518938055082982372427268443,1310873786930973642638399461264783279409661696313541502470334617392496906186,1905986809125744331174082974664967090519598620501449709274895914232757259703,787279173182275012200961462596856226657379535755200913494105899021222303535,47098870583799611198414823381872099167518498508722938414314253504176904168,693449127732539298148429276075167448413911230515813062343219531388436574854,2285232508103676386011003898288914227260123947561425842906922463723861489980,3353987847025945136853323846542099593547912435683332605153172485539951279699,1314989589190402927024352495615721371322383280037972731403301685170893780140,1968543797915412292079899744856903337122085234842324328375475844643074799437,817230914073656824070706536358855506858381884994447494383335648165928891473,1838473942375108584578735329723714607424428483346430884486223972006126073257,981510592750511082503247293413122586950327967226759844450896243545500676033,1438722286443848600874624010157244262911490391700003354744726398352255204052,1623943717394116351078094836752182321370742930929223985401783396365550436784,1979068418550448495000524130043677902238830068936526439940700733372170058853,3537642872116937661726457890178271570757019746563587994819528521991412555313,2234345116832848794314961418543733800144550994694716935631808291386117266570,2612577974398218850138533818291823854286438255717138323631865575653275943848,1341140890576739898484305744160887080545691781544302159079715704712935281399,2281666865848076737530977580852745861132692489717962646569388045821033845066,1446209011488562959472983492722916563752076822084430339045499370184325660300,973778571967745962193648172465353808905207019095905121678121416524442551635,3132570511326180559815780919471108517349682466248786047249911951907638983970,2119340497571243499777233584206599960364439080278649772987625544506554880245,921479250957307331611051413979714775730675835991060714910512434895425769968,1350795577861854378932742182944577689819096042417413181746525494166841630781,3583156538021152836540971677659688635437575000712779419670472529070160697463,1463865597227403219817083610325177625698175010963024164932164777450199866364,2417055560077005141076983065701907474074239120941935561475453345857503786395,262932259143358436396951604741251646770695347173084009409925957124528889320,2939617997330034847547835503189202307778141261644085423140274117671888937356,1545334078870407250163429489672246738340052883736217278544885177189056511032,3498625447989332537616384579099808889489263345510280843606331097559068141485,1016630523921422153204750827315616199853961518723792741213817316023662676448,2848260741754488426284310935077901985785995755723506275955317231778505204894,2524033848830736189421499262901797401704179800784041543926459525761491701760,3224255801405430227833444704218127005066842589052363980123803126315350316757,1031556502671093824487137799564055201001279979218591477065232079447688080085,1475903180143251208604934686007703634518683103022355091795675530559541342370,1574918490781181719876998536216648099741807271953910767386838442931449987251,2141210569571570512815282112755245697726252639936477263671196240341370241211,541436902324126154826634876978074146574253023325106671688848544514953165070,1694051285497620388804162450438615625837069979531525420051225363371893255630,2975608764798487039259430439132757139702576280235919763650597952185397658905,3311583083850191596398741066215238117916907361080062073451046292083085784820,2411305219298376365505027600446564389728512330539186651807191245777560725494,3103561203319911828859343476731954656615894660013153031169148820401757461961,1040328954479807794164889582506210120945777263499373681037135560585285000292,1359951260128250380172556061343146336157689080924819960543287725044662953189,2178804405987631566473575640597368931486828857152967478446450610717626578135,48939968166251180425116876216184242881411133761308477682842938291233383459,2013500271430157456625574590396324455721266586794663332231242132657440055088,2426692990866911364847865095935367895067228053944423434393603370642663990409,705124786563575671566010501311786629627893899868317735482800737897468579070,2198886718194196741996780197446706478758249960335076424640949771712217899118,0,741716197308883895996350740882664576768514355313492949715208658890061691006,60,633463428,1156822647,1845195947,1015744184,1375535790,542546385,885666158,345599652,2039413029,536552994,1311144245,1264868467,2018702738,77153231,1424118303,1106199195,947462442,1341384897,1919089432,2018938536,1344335056,378509498,345388769,1291596195,1507842354,1073619102,958055856,846140715,467320073,1468333312,1701372332,353542161,1886201940,608853961,621373788,1685100438,1912098794,666482782,1212891661,952301342,1392498144,114347742,675135244,821663735,290067632,1566903918,1128743737,1351591652,197330929,2134914621,690039819,843457127,2040008770,938457953,1577968699,1578445595,1876529088,1771759000,928187067,240788144,1366005220,314472103,930281854,650007677,383185542,1454221916,1453582658,1034562183,858082764,1089470896,1635368381,775616875,2090306583,1826353365,1079586741,390894883,620939637,1437422774,1643752670,122886441,759502183,1537181183,35121578,810905817,650914241,1719653519,705489233,340516443,651175230,1689785954,473313418,50247814,127913436,53517159,235352216,735833478,979249708,1345915878,1910654571,1315260633,140357333,783334332,1220616895,395102381,1630473419,750942811,688170697,186646444,1732787966,612857266,1170112426,1281496284,156058859,2122105411,600085080,1165465362,149919205,354103695,1065572298,811175402,1137651182,1126213902,1943035219,2031950435,1608224814,1391924246,938451125,1863327644,2013662033,1705830020,790552354,2106097033,1683150936,1982660607,1295169484,1198968665,1568600535,323819077,702327488,621461081,427177588,712400266,1810242114,1006430924,159569664,330750286,1009951430,195743178,1595532561,73081972,284744886,1775977624,985005683,2094151055,21815432,1511755595,338548792,481336289,1830539909,853316927,151142170,1920984596,286992675,1494472177,1359386368,608230668,710696186,1117942778,1342828821,1133045148,1294629655,112864650,844078364,1517249035,562014974,1522669502,1667395055,2058253457,1280922011,344083481,1931591771,1650247962,1894720048,335442314,664587741,963507635,922232727,1172120717,696257528,896054133,1588038275,1222071513,552004626,2065867361,1420966937,77434540,2012516438,2106104879,1628973338,1543718328,422990890,99234138,413403541,2140042958,1131758500,2139025681,2138991352,413166898,589269507,2106403898,836912573,717027803,1606735487,1692996615,894067414,568674849,1128574178,1920570544,467896187,98588005,211698707,1864551814,267824241,193834961,1027810406,1159336991,1760716564,1276720865,1576555278,1231577698,1589997369,658149798,765908162,1186072265,839035947,403815529,1314090319,1272524543,1816001629,412870530,358,2245239686849735640475780610563717279850643646015044269761730441315194893002,1875228571922895605730558014174435533899712880926603040791995821653194874655,2307850907738245363068713207140767543210293412230363970912945934234514972564,2977364894106519234811928802134598917262731090857229720557263167228875303686,2117917821063646345626578115372259093886058696603974721852051389682864844352,2702146267425421483192282729347500070383747329893247450719058755467851984686,2127200719535791771153459595645120782661943629572218649955246840327101713157,1008894016242510647794346742840050845442276435725225863642122551893958952989,687290482250464645439935207618499575608558280455534346069289613890195106695,2012796635969186550404886131719847438573007196407643834374354663885685206366,2951358820581307367780055239024723231259285391865923039752870466899345750515,1814352408195898253264116310610874855113124559199290114583511093911276871733,358643600814747497582613825508225641784792606679098035569426989804176293356,1279201728872696249592490882193335012987611400069784823406316356732972374479,3210479499010149680298559626052280148227111113792370553270629971774926374296,3333572664174399011569493968966757215576806650552411658980746796376469351857,230358151002990446881658693397230583971077582300229444369355529204590053509,1279258414869177536028128465218084892889034224490936185472185864662146820683,53965767457139157926614688202797362185179206512660483743216522451074647821,247696612396431524309700108008782613907402128966912921221505656728453908457,2345726576398018822650429548113515934315208467078798341844734009598113065901,120019431977501255849847855995664671446315551521821777817438059587496551235,246182420914903769354718723132398430109726597033714459081940146050933505407,2987181087188654417387453140474363073863649094605215728991671825383757114728,1449574648704797858851557879006347910967990033931476137301020713271289637054,1465264321156814965966162846227161908842958150930685434953309093594149587454,2342363984320374733019516274172900149523953234780576924377754289468514985170,552769007438318245628233232826690337201275608997483600618383499531838721736,1783324551624728793416748919880079392926403112617897909350875482305719183831,2953505342549308849146199941569350346572061821912942823767393659463726545651,707226312966767075570646589576598937013874121627931023023510312147733428594,2696488467499990365269980091030541430576437779606505506084466599334630405627,1181736299874367446118864034483459924161113866584891738694362951734770980457,933361315405788115537112616439031156608127372208236787564864865093345082021,776680985608372396479438813389610831178866156939891095036472902718319916522,1038881239375963446568574283273888498399619596118075574323546389177116908789,311351524644818214430176161952041454094257511708462296081688206503538216265,997833357022428216404282881050460462129797623464113072446751773746176768372,1204322458469090783866576668161703754117265193033115164639358387786524833911,1840893598446206500598829038424598963818007987612565033041177359062169363016,3237579146827135786835907686492422761080321303786113708846383550146500293541,284454030969156982802507151612449810666577132340288230518718874438098397848,2072226783887978966801001463778516214926108980313194213374266469648989838459,1204304458023632895511928292737190318896781732874798082661676654869845047743,1569029689160067220834680322037289342412478679236136095221189151333190537690,172530842769628310562771967888994794386672667344849782325971496648565289426,1113806465008516578233629799330206629987707500832511624739737316987764369288,1458116203585592990172026689565872311217924132732072521953869285359986300965,1054620410235483188506937688625501286650267632132119715777088300389364610129,2020986937540653513204711014634636365569893910674929065950772663230052484131,1007086688688277211493656953709841945014919317589144442554915633719563678925,412053891097933984062180310623169076439666234178469863846901701456397527979,1799785667075616459077426100445710469796008317558956263140693998894787448012,1633743807223400805066259260559443469374044506984933760321955292374952061720,2936833945207772971959628675602002610978235774154193475129131445632375563635,3573763210943971720220704110403689584160956171667162382256327826598332132962,3471583501303800818326277921579334998455108946059973143742652800222723732441,817923099588029620674398598793694120618824120651470864247988797825598342943,358366057849872778515316234768812773001921297799544960659918398929309245960,2241801325482343224598774418455710537504257645742171436659435608778402233901,700967206719868968901956155261623478415541400969986377444477901964827717870,1018108062949753568285960479644404104127754284565630521085945104468644562776,1224488464520941257724666746747153139081970919657081998090615646955174919234,587532737485767447229653415904212443639077055733779112054850718078193804509,3073605387636149886063961104403100938897931078314315985289949178208523628237,254951555176676181669093000845718506533418338473040615864202861211776944095,2472484806804738195715583281851247095089446945666504399137811429295605300883,2925930284130945635642810818520656151023191305998626816626604880065012494929,1298543758155598131257477860194331115975409511302765101259928586949256108729,1131340238642574913774656708506374690802339233023657618790341026282541873413,1007907675366505348011381072218895409735028679506798267146716372898621325686,2052144598790073105301696231381424076954623083481960384154634496347561331488,1317410929752146445452112774658985378673624086475367738916114849549604795791,2537879960377645253466304470897478522418378415649216397141307963425357718327,3587523804695648677441431547325978173751401371534718665584346921295227458945,3118255388093205615843175245570183530002005599780510944146793753033617268172,1241105402133285620177860784031298931668922641859753855101015337411692585151,886198894041603059195294681109602747997538187545826029674931079584583924653,588644393723660879637587399166361417971704657156179125479142777344647068863,65714583342324260657163166889371464146625487756287614005362563130782776122,633207678633989796660946200662179993023487399399782326983241780175117168997,94982715327923400501715660026403722203619942631575161361656512127225354677,1294385464544830393523906411634118748127746829070487913010137242789042287420,781697727955212037370288518555103023961479107065992301176211320896725196830,811203513275483891274873282170009939391085170315832285087978018075127292904,1296676335581369617874125513477194752815483885993172942412619246937609708514,1714887347725393268021601471504839981012043745158258034316506728131395428360,274110536882915671965975891965066531525073765356036160297055202125151305293,2506254977951462012356330214423711732893606420441239827601953776693847657631,66566897282632531833688821586125476117981030757552396509940321040495751785,2425333623804605821428327312348062755568855492900331883998105153605306390974,3124389291473938694192400370022676220153966025317798054347747722570556633887,1640120284070425433865737690488120013016092217403040656468591544228127618927,2516086096886929373888843533148922065791864274019987444897385051516067963013,778509060807775075854337320421730784956175392595782486523598395447413015896,3349139775145034050421277047097020754448598866445596972232166415137818860116,2117505707253692651987995817840058495284940408572847776938265915471551755104,1067008550761474197804772722539240780975920117317757365280014988322994411557,2599747950696884134551374456226878800221869177190309640436313470006028969779,2873413310764541756890917347342023546895713940029064021749025074058317981572,1907202265058074850805083604719613998587443987991607073764497813049773350334,893001109460524740434446121610543596138279591933786185729969696732924583671,1155343360440752199630539723033632620699039303770740266953861740581602446283,1596451032942806569317157512637074129249992277278268365818648271917898241786,2771264715916823781876433527290670422756214150873110388696406639915578440827,2470500458332875596790295000578584947452579409066375455480950842310802602469,2078437829215034654678298169342227535359751369996244881327801043182986835623,2189170681987216042398024044992197434582561199420399525814173195602531476780,2032638896784331625981413424642096819469242486274067868696985684423035911389,1338889944221516789601454842027863424020308980627012978781081992964371983792,2940931583612852002706104938190263358753905637617998454229272162844722134008,1079457603304116903677148038175551844373338436480525678616359058000070393088,2644946589390641427164015353510594578996999466190030412062974652620868069597,1451747677893826568147401968637450579993379094482908674637901453515667472550,3152506113300890190721036053867832019786342933655092310510443311407574501918,439974379981768987465555833362214270718644968877937726550665778676311973410,1343234116564280399890656835547807742680875537048794552810970437141689138016,2303832462560799125489024807398194658527388442789032421943152847507531676469,12625362291002048032653639551569771843733260805824143119609296850210336613,1462249475951870297667553916248724448977344432082378505646177626211218920716,1338950479686403918267941681126488825496685876692346689435007492495418502428,2750406393747572969141352664537295342407739016512883410450225631955009128783,2876122557367962490896980270536217066396789408472001622599588226673256146824,3210197841186237980846151912156972131189012021879486439967883779220103898285,2022827024528150384894331743991832482211171594712151078758678361983106951470,2641464652436968970852707608393373951175425241272481528224060221513429294043,2196577253869434225632202303919440596453079921819910716410055235924014445608,1192940499005853640632731875542113911398489993150007282001031012041678505998,1736009178444783752073738379675107559785828567396915182116690577800604500888,2585864924140320193780592989669572409348444559868733114272614198403830481193,2397216157923308879859519764301013568690748134631395044414136460734085671796,2810639744185838797137034566447592389614735485640889638611053085697172776522,3074342749894185272175884111213031300978243425571397922661086008600092217594,2697058210253712358126566353879693433630083150661228925240479768430504837839,2731785260833795274285426279437600111057737510681959154064844337418807409457,3410509215525804396791556967153802116450050741273444631058618931899704342966,2492814506364636086998695490536142958289640719173657975511909218807108934428,2651382797961830885109997380330452572750842752696341927400754342097326745921,3353072642269653050926674729439998664401696009108429577506012509061804490343,3307256844140142561105605797210744265665034633861161030054955148871183610494,41076569114535688590721864562096966152159984645250850546380464134767600741,1577074575825160566416613426680058385834469703513241290458479314993645944290,1474007276541200268779931065056108328702808934156890755526983001522940761821,52710338881863797214187088787080271116548733230209629226731582080708894323,1136282370734681145328668154674157472820898828678251680363788298696299095235,625169722610351701248640452506414582422899664228197721743119455318277034601,1820740149824536340433823268614086155812564736707651039557750631755299751037,2040613692244863740632868137281119283419097805068130688036535173317812380999,1583309902352225118469017863435115559108205475796361389229495474417837383796,2230285826180800613893914288195115937314218809868704052070612925777013476215,925841982284314156378556455908667106431957946121946134594345367037120109525,219125987777649346310402879659426574660257304942115066705948918024090561410,502220317206664341480676106085101967956737235388049667328141128342858729338,1663233246309089743058404605408957927213913318438619905883883849546557062307,3124071844292971524265091293781157522280669572281551615975694905466356783884,1298928630764595618273555913330401411011296931194975739023887191978627258560,3144534969284534875271867412289811361347336493685439586653742794180577868641,27195432035932387034198130566093523006211276880560919417124785509584214754,2932515729778195424720907815368437098533721704482665255825243649363694272208,3373438255706642748697521979477156917430051304136662652793792924783967237469,3508773619290115851201915445582578827021479327283494790278072893904330030881,2206590835615731278382160414837824687528891594356527067259956841128073350240,316607887691051623806031519051056854369631695030223102859607977146638565661,3130008177438402486354417425897738416623943688239176237597315849304030998139,1487699761966134913606542233712543258587060869066233799824337571426719412877,2679624835074209894286655413903435792837023130934718186658629381939721516440,2525611977965064512532682960394281662554472083427181685359567070851551293939,1268100678817513127618028585512338105571290253329921602338607452173528097819,869857094896163852768671306798253761056906242294441346668710412873955659367,1835166096368148116704928895038358434474002033631455643548444649578697770056,1193222544876134168803852199598834134818494820019326168276722295462896448991,2261127787651884933720650611051364556478944299739429912721694403443603577493,2699647136381985208161561571426716186560431548739905914691433274238808602755,3269592313442459923273703857414413960520455111636105005272069055332178563407,1468383743345662006727842177471659271333492894435512646323250640584281610544,2239714093414562632121911800379617890366120151310734433431655298108770008489,77814746712582425260356987933320652017774697446384040141272113299796066428,261536028471828364802565835788540849686181894954627301967974033044555330743,607078943940608074888929626763179423671858208457506565931817822498382130558,2766970280301156772289040375380489000876134070714077911288578727534384834572,1896337797408477046352256070908840593593192294819929097740046963724911991293,502100517668868553390107834568831495822467108268881498837490317111459670762,2740264065667711696354603698487466775287334966354155954837397494122642585190,426435300490482151631361595006341654071391540836089224967685917879946141182,3462447160072712652001277697058980933691471456522139841845451756855314689962,3613151263641227748057949132773834406217053040856913063435173886634065625472,298978784402674681885560490869886516607171242547887085727334698699322912314,2955490895929943120335318168162439951761264988084695188415491444174830871386,174715004758821541016110840082589222761425776302213303650400848728857652187,587806514646162421121676687553359136365099946033782556205710164144225764847,2769400930803377587379965444265597430069758013636825830728693795105886017373,1799290456206019531054432503289406289202830793156428475913741318251015491260,588219586194070373538070035202762064064372126599245610672710598537033587344,2838979966253299327192968930679292155506803909334680236202650392083537845628,636526458355347686730099725823880397423662075618095276365471426251246207789,915597088681945634771947476641198483825638213463699452199709900021393451856,3435550527266109468989161818853382457705475214474525961806277981173367407561,1833758410120520679484305350477835515208227380582932038873207021822509962510,1550726604749680518563343183378329088371168718724231992954339759357874616681,804756687043925768291431193959066180983368948499290679243939695471575324507,1277113169471820806988633286023931643811047710970081532717496279841689658241,878640132443616282402388249817347715095158882056049309306882774184626086659,349523560199640877293554200676887256808159837124354030252463954460442934858,1170386229763103407104088780508227036221770601085834591124409068277660192015,1117910942300450815926030554817906269623664584275477343867167468208731501974,235796877470617634358007419350027534315489612414303504242085120734259432967,1360809975901822044062143441666056049283236208105131853437624597725466505832,2267652346404949559824172348740594515500828723907937595470084399237209964414,1873523199019290524721124456569750077771916761619463990868682260634105915277,2836054746039950045218713525552360711919882151185007171058745076081319949624,3127817617495478559119036203195511738071355756806280995705543288174953575783,294225335461420448571126125767319292973383162077538455690515153433834334500,3525687403370104121104518705379001665587703692992474395413927927811228861820,507675466478851055766437590336216315934258417326839428669951313834480979841,1935146231965389154883228489215495897759646775484134206861043372467842959843,162384158592150442143445169678302379668581939223409107825744841461380595656,116134324822992021101297979339149089850351473633121548601674687426550160330,2161627749595920375804755111838336015124864825729861802086316503761650174898,2422905099734466774896485756151963116541945413569835221250165512571049795681,2649274531568953892572633553758760705325444698569885568147756608081395457677,2604109538893602051739792592071823384472962858992129680033795136221980977190,601787572491556177242140116167316683830156331025242752428490225013637926636,1843075933794909483617531888876553881331090124857141710949072000015549010309,762833206388973298446484850900252929708463206065088891208895487322210577616,3240746927693427609280262663908180892244592030213967408613910078616820365732,2243411065936508218617252958443925909209304876293898869288745602733406529727,2779207151309887858681715843320128386073744024664719237601942955670908848386,3561962765771566327231158178692140150741475042280898179007447711151129256909,3360057298277732635580628592723468844679961233303477894802547422281038923534,2402723853620489669725388017714283692786858651757387766482897045920937143129,2066807834957556578927668097326741754099270801416010067210131832088537168945,846036184645478437114029018094514397545215424604830909571993941913322508873,3335170075453075713140697998017438993528549990455699896849240327832545067153,2791708530348180279348451146245849337457850707394550420760362388409941177559,3084995609966677993812121502634681941698675735351805224346416992042741401205,3522881747997970267926010578860025847272698498890658411240677637547029228001,1390101202217885221658252468578263175428101319770784453016929091676514834301,669413572955485403648759129982227469524683010330371268725231543705750600296,2585944089490511472282742496676449340931621840982046100186856427057012234332,3121364975533382900007825063671367968423922958220919218553531826394575874988,2764692840999833374422058229852833499172684158607320182560927774697901363397,1692530811275622140486144763643717759541677203692690951182174933436735777744,737926310001268485028816927797058931697713314402536941647060038400304491276,1432057468653699928243620625286915133185626612097950564074484969638999171583,377782625540622529315042759353186613926802607847579348406554624518162268995,2725268432014874913095041703225994417318649647996517059446342444484688048496,1991093147600117769189320589120927743372264573295426602842185262566008624204,3469897741046507551617421749627398682993805130458594760433373649663595407643,433462931058659988605999725095147930083269298869062390019847332182137129310,877461749642194962432645000076779241096235843294301143359959676646305826629,2521324999998322642583985707149472267702577773154397398422307181873229974120,405556941924704587580713046820603349798708763884487342240478790599493210163,2253343535812170635329673658469825119285508181692594159892573430017985961211,2678197661705173495101154467696846540514535710401436599579144267139833607892,896330482300238716511129842994172436852463819855620310190226942927404049390,1473383216759481173530149229121335342883982451551521636299190515548778585545,2297933981775213554186508760298208578071218253850500069365806743901740849487,2074038965147331613543056921817994005311474417482616009381060502554515084475,707692297168848841152584636981362567439823741401467767112613864807761818740,1849815872560119009309601762207958461286091916710083920542504766929157739672,2683712215846495736795330601307246558519768808584060946119398212407162889321,2770533098247044540134109916110055456108040129843318615710388554386851251489,2021567264907080559039325962859183577723774399912701637444754172786166088758,3136213270684530489653173517288996335036120785406082191409676575257265289808,226827338816305604983525671666232802901194478561048852815164802608064888513,1124899354574761290104088368590614192215043183057801499732923851010473862454,2780945829706069523004469492474187365958195541398598073095054525737432571672,376618478562054202691629597063638847219462237481379552264295823372856281507,763300781596995074182683349415875833052286369012928295844321354488896848751,3110998893385320026102294733921571772552911049107468955276889576527711380963,1813705314469233076103167178349270381202065253076780910899574203469936222845,804075931366391452271998371346811213556098135296868769967969841512187536376,144138934419758748881917874618195538465731863600516656647425068370826841262,1883450322445849793959224839074646781616951570998012100441178039606507515833,217198663130235511134049546703446214846631705900457149882794778585982097233,3371397993595818298119899142108072810358902955673773077373677036425596102758,3175976193414428616093557866414767413794463039793212114450340990002760743055,1215650777480058192432881558108119446348575421496565624010648334303906659874,2615553516233461950701789378030013995733777661132232851321780645195803493668,1865218227244692512070075823248768658766443771342889334692639217831578865404,174516845239716553285437468982728513662711054570576149393948331041657323053,2468750460387079936265673481558430208041850535069363568921050032517781215088,532385020316733769679481527965411074876847788054471714116196241566622367306,3359616039155595155204919726036862359503076379735440256585194207443835838926,2163473954987055294932192418271994255286385405574138881263180531707193930129,1194006371452101878398691529946380686721513098215156814867549527013755755533,2651503608272648684593143967803553705336721033702940983325572825159478623004,2960439553213946638859137678992571751460800419821920334687225421094947400407,3340071345424332101985922398260158623977502643565078298281200401581266793701,3256826402859367631316132305760794220626696085726553395133358760153633401601,1200177607360999505752387544681892556166524807532118237584504926543041801720,1635412335333248028700537773632632401925128408821414024411097445175476759802,3287967219043057454646877269959602317936098383182538348008985786802547685702,3489344432465697632616838138191910350675452749173894955020437536736860567830,1885407293004224494394325881639366584535051374560739349651252641261473120530,3461310211731033447554732526623525310805691460969317594098709112563512886708,3614693056992307520965092457697389050029436831671657859747911942280880697661,3412501617354222693520325114513046086362347292486792686609602268866701172736,1338790884620659076064783637001748985427813499333995540265636163194252521672,2594404084979888066536115932093833967099595767782716371582391861072988293361,1223492193300121737830002784579005042519788432340687994489563175434300305391,283910227136893743780262909951961451631265493873730896517842858365512610559,2889058357785580833055840718467362574623188665458571818067896279438872921202,2301894594241168926328827287272395264641038191049978493265927549567459307115,3465508893983035964287397420138409078935554478453991083854443135077616324766,2302910035527130642194027904377088112867732095462109385749642511461185343832,557918665181772313114843736111018080859950631388626677654384814127374001335,865424357942201291664598035870393831463007459638012005567426841739129802361,3319863162967777479671771478331384450602511292786152266275223738003522452108,2027813339433654870335322098281632253048268093802271970861953387802751380380,2525592506355898875398192534221179259686320051675795357292771327673776424557,2552749314329062383689358549192088032091584676775005726249727254464618467988,1351305668226528539901132098064751445591823977452328341300197642134203825400,936354188957257882677959439332143303382664544218437426649744627321686474563,2638211753685970821644327425341803780790435935759517376434055013728035180730,3517019957490084414924114063832244493782455762794159559342201509224245259427,1146182094921609104032031750341089578479617127032198376722895907375771839890,1052109987546375924484855485039948624680184554948323776160131668131093935044,2756897708634826098608371820251540608137779286327904535115084606238551075199,1903039443405904971646684765006347930669504399214107342483090729258967358586,3173804151395104221829253979155416212409556695189388503912605084486644510114,2800701336792183170860423578591646981472837657622769211244716597958571509357,2668390657084390515647520921855450523891628010689449114336931535235925840037,770108638446278716058005127048892184063355689927940862243872180592830906816,142734344776817817275763441310951668440570536563669469464997473221576380717,3272298797155817386028152471271194635380530783673661294220366029672662043876,2864409656822269878260185192682455661264423687585153887444255283696684348226,2618516658436064223318442322103418385990273464136330442556970133373557633034,1249127359786152245086052638829100599501594252106427900140283275687035556200,211450203321087237147346922260041588269387672946566155454044535434827063218,1992236395139304208679869119288594890727095987490855597265039004684128018411,2984637961696645235597705522632289147703635402472985211558774201749101344353,978142497047280368060424678032153329975991302889616370234711657010131724605,2917079823830784263752110454221237384666513729398838679793901231771391709465,2800329970306211694537042151211706443497184629049944517716965557438147770738,1689262644966575125538885668772782088983023651506257716252016420077987841677,1646158582056788103235412955109825224506751270766622916031785575234055584040,395327535021959090986911474836271153863445876758897289292170272228707057368,41145670314861158496587639558302237541931143445790570950535317011890993751,3161447560281829077429847958299836739640576079652310332352702901612637546544,2381398335676750607423374989591509680935688471433874504057058787860416541229,2964672801053838049629196083616626914152945047735071598023477099246036007280,2606731244911086542170919563077255335236382098137755416779849693648638901446,2483107619439335303568187202423629493898868057398670774569217751149805540618,1565359821228468766160650367508175805751883407003067221487554281942526723266,442111396384691841247919137297633096835080330237936705017777571670079280569,1085361464581111765044425143137947850117001213587063656608430428071330138492,2244944800523592846129374890412921599713701798426161312185477311524940125913,2958899398719511131905962105736629856613328494733267970908361577796560291942,313112167867329758765710181468806435942385718054432576934773108145030033318,1825259752476153577078870604165463624274808207306643528294354550004557575194,3524673060250300735084830103642877364656965095554529669657240360861915553993,482206174717089008569878781710606208858857422201264116615923234927391612538,1316248273815386144012847875509677360353628833976568012292740448632644826319,1456668704534415361757513125102942674106471070777546877691506620888384432201,701179407305380873093639517016743172476584775089157959395500304255830100677,3228107726909186550443114772795856747425473128091958255885169623130508883641,2618702879235071698482077270622937858947676415160101267994087534717432178443,0,3166936991060726350773528095345779315183415213514091251754016670171435241234,60,390358141,1572903533,862369999,1152092960,100522533,728054700,1348529070,1307243945,631754666,1868533776,1208648377,1145257411,1694390386,924883230,1455892745,1733144641,786124830,1642974948,1164580296,2106214163,364683602,215687008,1816719331,1087029069,443248122,1294471406,1084211419,1320347776,1443586043,149752821,359719730,537121371,864103129,1032086630,459460585,691835246,884811912,1983400533,2070083703,1857806412,2080408699,1466459733,2137513926,220127563,1725071251,891612722,357211733,331554582,506202989,456692479,1613748381,1104784650,2054103005,921482928,1024790184,1051135618,20327505,545428270,34081351,900515875,817827050,712069579,983147459,1987296807,2036042967,791038373,310319758,456400368,964489707,1946358210,700316388,122932154,2140216328,1734875067,1100532537,1150109595,1101212838,1411705704,1261985154,1974005647,1696151648,859764617,1958929943,749564948,186942235,1775968235,1774666917,622140795,311400228,665276893,568373988,508235964,860655887,967531762,479753100,2124446880,1200175563,1997910461,132272995,522360036,727589780,1083564556,445970883,277653504,1982372065,1448017005,2007726501,1477628518,1974304324,217964380,914379940,663491816,1335900516,176766265,904393500,1855267047,123733627,1525431252,786441192,179850841,218048557,1755881527,1975817668,401207166,78871714,230408559,1938825550,372587076,997137367,1087105557,950525972,778920926,220436092,169557481,1534385297,2050512292,104686165,909528506,909552708,674871684,2043405728,1470284679,494654345,1480230817,1461258450,1718438432,473376250,891077669,1399504943,1392498403,438143658,1800766595,1429383749,2011419102,1696957559,1289179832,1856780110,1519287657,1206684001,1850947596,1321087074,833025998,1914355169,239050289,1862011574,1372211022,1811526635,1053329980,1525696375,892065904,1802201837,1474100712,2084402760,30523374,1755851125,151664546,1072598097,1418204109,2117022937,1817285335,852896071,1406065675,826273379,2019777931,291515821,1479271424,124563719,1250697994,1661876277,1181892576,1931945694,1049281451,1409668112,2007031565,570497516,1898369132,952014328,1755055558,1753723290,1012808282,318697429,872506019,1959955362,910468905,663400264,1885535228,971256325,207129159,747103210,940015574,1895313713,315143380,1509341042,620595431,1970488794,1807893722,81906610,1986363649,1893875500,1360539396,2072698777,1100221938,1689491953,1332674167,525641698,1048918938,372830453,750266069,972048376,442678995,312753018,1783082554,676939848,2063674273,1921378495,510777650,778702395,1122488381,583769022,1813625829,298,1075726496818714825489181533678246655601984768469476703054115028288432513667,2411811530085073506413032960714121502264632631297723093131561850122920282280,2018437465973445528820758248556105292490854590891099947769686875587795190848,3400452180361663539051102054080969390054104864894792381112516583615614782080,149619113125327593617389273114283878027160790248047278668377575906008204954,2571799620453284641375125690300734438696804105563827799979006415402004078901,3203217192920661203246071464639956996836303671601848756021389360853454372217,1823169613352551001543203326908575263280959256324044398076757072584887814362,2068018962048986982447475141978081702310574971878968705568252313127605147229,22590852574163286436652340935647980906209005212090084536588560306514528422,621179357717913112892562232113066566768594769834524381129369295144925021375,367578844308036712706954883305883744603477642538074909064796030023509826583,3176632611221670449528602163189913433932311843634239653472400297407049588064,2497404579148319026941693506342441486409406295903018062064676245721605847278,1015594506141057763731414155872360567973046416816946212141936590434162401924,876576908215982736471231709850256957619932496326545594386216294145639131252,247372223826232515025773366089267249305137017150593338129802067875639700788,2765259616448990983741756823519650044149092200794830667025034361728258027394,149244450426835427579894332015455202126381402184043339795273755678067831145,2645304922486506112392650745306188327122167015951601412154627580287611722448,2613329829761724107756618127894117097293262737438340294452391600369243332073,3540398214929358234353146741471880465845410659436712602078001364259154567662,1449467474214991048191865878590683933755132087004768507281132548766974108258,234811813388063764872703364280292942242284837392512907669276242394690305800,1797511339225879857416054457351534142966938817137270320359588847454417223786,3529192160032964061542341446581463227625765581174157726103236094664907815228,1194632471014170987412837151844159406262293795377492297369896417165379371075,1805016007147503831554397770663254048516686442137087882409463631178686056396,989903339391451766874463310549619747727321662593624510043715323789301744540,1519542372123217415060017390613548744874856750482513292971118493561314154810,1149200034825346592034665090897455643931732850875306209304338001322465478976,582130083779987164291073393356799336168235323876490149134483792772690517175,798179890734287103120368904765335572597589544781010370755263105565341417892,3545280718704685906386847984415493199227748947679630271272771894513563363854,2272075309770432053444048423763571265886502005762628455983894110994567175111,3536201067553163339839769733622435057683066991171200789507516006070111455294,725790846417694991548876857205472554446198504511371975350037163062445109113,3437659252419931107043480630677475325616434892506472885669345230744793566273,1611106776320357733021970370105477080976438503558684443342304797223432099319,484048370396074885214436865251142653484444371604885548217442789336397394111,1008431381389444644834192410421673795724243494335227018319097595796772073027,2598987098904395308866220575769472194091671078613169333461886448566210477660,1791845900523430466918324236608750014222307446771823339757345764770661598764,2166871404459911239638186670937974936042608981016860009940253569072354009453,1202464015642660912184733288373223929055956001711896319177825990527716506501,2610131600114615861177612236927556916676446628990176729330235771972459665115,3123727643275922974490090020123435825196507108586161114811898995847206291209,1556413269599916326599826855253718509322052897969308312781144615302488879061,1473489422980263750424707407852950478775139068803679566115570995891422509273,1993769030099705750485578450969720548065323509195250573282537893132231123845,1458447812558188481699040357115124063621066765984249457208545216616821652775,1843598954980523558867221197041601243985256166521043013898907360096015335328,1361346691949355431690370819048671705209517000567568612633738338388449524828,1006755771357451336171317603740208404950036931149998111998464894293682813244,448705850721859372651832686653237387544260959799794081634551309867717671189,1355955508232565579065096167280963268826292670825258446570676116546555635350,152396354645802141534071663459633849205707982822000995420612211666330301885,2122229353366473026016848084652607289566050263420350992430518988991610320189,253959584900750202334757661244247739314283415922841270202753499865843052350,1616846263860833613223920553858176250992557650006069378720071866338550333565,25865029081629480094035510366063618309522271445289905464668137844521514229,3613305039788162356212054040964858873560985688722202908116244090816274686047,666788163318219066791555894614800406947860289513500358444750722281348035147,3111204741657746843469713481368503961765453177635041864287956453160550551384,1819538525238455111893215823197333755116072975403537028756530952582452659474,2845566489451418771877958320100934349726174980051740824316263877278284501476,2318659320640360497400217643789836258401396130185451057911521938205152899016,1153422078311970835917084664867409579789643134986950672277558695464087504588,2182963969925869427423347023586974775853005153005050821796774652457006207839,515600117880549151508825829066129972849698530046602355622377473128708089600,3324426471368480629785638668820685354895460339280805879820433688303010962128,2953072605348210158075421200586903893155385326584730179671219818163565461931,2206625974660405477537914981602998854031338439637850897381500362966301228758,1649073781726496473010346287788658641509223568268258285772534028959755073037,791573722328866089466556783631360930436852707390287212841849346530080731939,1771496325101118313417317558440724935629980431942788369763358878575935569127,1444556810726172569366950335905391577631216351243980410938431546798407114717,2719967116759372895839869505467840494604269714189489775249317221958085438915,6773552941859486101471906564193036256928285071739845886536703553810139496,207113808444050764041474813817484464761485950592253303391985306873437785976,1369966042396327533943928634696099774042701023715938445272199388965984481559,2731076755879740832171932383888678934819748976332828029087649252866364434292,3235708941807700066511736480000153170854719078985875335505145910133355151494,1202158515736060910681446653821180981464061761107863940570108964194787000434,767719136160012506759551027049564684251768025165955362738959802755443338813,1487080049557948808804432920303856254230230675174110944872160364117982909664,2397096212937518443586666863525273584715317193265560986351766357098840945277,3322977973507728675423290853086730148029632366090557529771145803090160853507,1229847689623251111604144362719955078275140401978897377647037804701493985445,2961962682722161359126767043377156824544497930138046707686345714501378674995,1361287548266365818107833832440127812437382140506893236078968640904295372359,1908601921369109064407776244976586388974021234907391142439598280445196963092,2858310318983696257700838310659940515349803500611513455787188206016066975981,1161363535733452513595742602021348245959477994178433788656234756392403215956,1877944855929054948216203633662901765081206898321902282975678213881286021039,866098668666420514390170995538866480227061297401071900479391904011315005915,2281072048740783858333661366241000710228609483463538267711300564084187310015,881366866822992859760816290198561504448492234397689605295537247819646069169,2720636580748028684274785926711598740044103573787191788178372102520449245605,800556765387753662518444404590426355514034987654535334556380033826020355719,1124195917251067481740885709287433307938181323757538254170749237698373605786,68989357304407150411540220287663497916710521118209006601034732758138617124,2194458985641923395398872794810555258926054041323547168783795305535155671116,3344804856505900146120536788061090059994582877341126564408389977188962859787,1924862801699728982393956416350081054270585465230849589176354920563847058649,389975095715774426613619038703849962609620289721066316859724251237008902207,495739038666720411604597068851215797207439662938033011149501525474390103125,586815041297242295579904537512958320618688515208107630424288788684731588592,1750573399500613326978716386388421099307424998118546820168226715290151441345,560987437853175251793523206568709299712105848477890868428197288879544684406,808733315263997591282962312868125287705779625859739947445371530428425349326,2648950806425568230695040448231092901424211806520961035202388188218283343104,1738930711871820703872978733949656170330931850166572262606728533609535786255,2572953731410599935726932555334188372839696803384689616331795965508088989359,1525780013653934417958027708037953165279287809300347004710645803273448258780,2148346424335184866774233194465536392688740503822877481478440685343883902364,308839527751096995231696806582109939509572813630230367260059269919444655310,1605674029466104897181099300360361009846683902486837622309397493290344042138,2305962804378146513622319743287980825383385760135921284280866589808320700731,3519680159955584668502070827348782689570361980013562044218461223674076731274,2862193617612588633312430105953413876079003458484603684158039711113493676066,1972232543259467457217964424126449415759606476942614976361588592970440195022,1049073373309666103047654074875714534362009559010169002041787848475680448113,1264957998833708806129527942463063667804928372146549484731075701848736839765,2193872194625682385125437711093611653200266341332455705455959991784531860207,225612093858854672326817850329426177924575834558050177005304824937849761382,2843577151544934925771455472957330463066451188649413864091774830942273375478,443273800990474931325958656547447926451791841776527616461916589756352239602,3221758059565179774041475193721600380338186271069334830602118029652499936665,64321351954435012636796054502233378455605705444137682208702385377136414577,3284899538820812891334863969156405662037595628783895007184145106135405626570,2340135194424277404736825008103756896968638170623881856116874016794310358678,2959549405556594966645563591690821003519051293823152769963161845685334263993,154737854843641297542829641828469028931079115024173191145366450366372049340,3066300695825292910526348702564940452094666711312338145423423181453189282428,2862508109408831456684208187466607563159788993028456901743824609590435406898,2746762017249353669509454059997225398382102842688779908561749297692478256295,1278186489464440049768937638254342457050080403695414369618718875075742134779,1126010883364967170129645072143398077820183005366163986056003707574449991089,3243288400894387083060816961293546136170776290420479180292919480551729417006,3298772610291465964059708288895803050822609244288309738334395097160628493198,2749048348867986185110756481233370450972009145491789399059253790429419905652,3480235937414177443374241559431417719556383378962600375986847983755694549898,1088721328872352034410212750859541897547499848245477657586140069511068247415,2984345229112302217042298371954019731814830890893676097230005090250345000837,1922048070185785795403032633262923404751914056133257859473759863729362025050,313070635507309556543810171281242315267890947677358858240267081439058904723,3588932897359524474803729474930877403395635184547653444254309624974785717211,1010525654247227332853909155241285256526779915475549065838355233305503303270,2841088468901880634210656162068796971445524825610537390627910843146427306036,3188733527289896305255657790776404144386140772896080819214754976160756291923,474484128285374131203858777868722851611154502490116177022110172217838373348,2510068815966147450603503697023250079575832101417602267069374524602383420790,141973579611668785670038962971498748874139245263292100829558753974879318451,2687964246080332917720443926119638647960996543854412337182435007698862192242,2075825343846334800455854855691123497818750290394220866215441722428866053613,1656647320340950804193071686320801127786902008830284989819830119875143274324,3439555436064575305448014406205224578018311216924848508668258402495408642162,2354744664158460958853786993412374080081208060571986173569998083702299605321,1343560335154654202158174691115601457345184028623658358758222802471180208200,3354184954774983850914405168441642487120412592656996044853349773602783446933,1828191340984087483369472143289945032070864527141968632530983873301069536041,1433502504169257372636722883575040960239876611680919600605395062759050569379,299213928755482291061112132323620823795818217693249036635127192057924487632,3026899895727831584759785346134635665694898259967323185919844007854482833471,2244318620893838858123081860513892659960762230349676142850185286898524345735,1695821829502901129128568293190895603532033919182733724094736616570548757486,1696247148350971901436250817413437057110842836004314931168124366071341896573,487014299584350619783176407236416333175743824232978090798435793493368109142,2878892860829108679505169787168807968377633712951869706855153712123755537506,1455452090604031920454451416459982811026733101472586644604377597860553573837,1558020488320844513664331557300773707320278319748703247077585171622652617829,147323383211662581775335594876200483028327865781289945143228973312232125149,1168332060626585821927494332314760104403091193316934603574315898087704160575,1865022104308086691657822275416233880457164763407192743423176793275576647066,1685580861716512477127743054642964025266216108514123605536366374348071594598,2636596943891169562038894035139038309205943275947156758834642188763516691618,1410152295598827480036167576358198124066218857697406264745369801418207782319,1380572417238690623586725388341822581596572507434345752381298721983602471922,253794885759823777761208428537190878091584743846205870374502829842839437466,686422388977678966925281809128174597531457100690425893420132905803225390091,2809374106117607299442306867094657111257853364261900955266722666094757876217,1513840664307720857392812267284240254004201330628990907100294291520500732267,1933812613434574862803801485726450795821535929032115954071206512107572586142,3543356009521967700558419115805157634965987290459186643535519253253041656298,467210579524780002437246738710188991273818486877567199424130700620222314645,543466980970930060358799181754014004521464795829674330394895250562998005696,1459027537969597332675679452417568890921472546830485416829240838952582924148,1068733167153028004590797820034765284427525190500081341596010984017212591769,2129753028875929390671997816945683055489083827361935981661607656941165795002,1568021481999509041272334690303014202301633062740907590099798498163179276508,177190094764771708519422217382964518360408540724270334070251066378891682241,67012666752694782698792584156543741868320800631012204716509462092529388235,1656974997201397890610643016852877659549382732021677714513210336242830017688,1593284403659395276072885369374338649112185933416143674177589204891455301665,1314335906030918004336347458440115913222993456114808364615484363172253561012,2660360152949855698164254238782595357235014074377018743351409858590504153037,1642010278134001845991335664531121231159315584660060971001583812873157865293,1039429892452440322132720344676952448900758249832471220705774380171910469249,3549316727731507572490576368692206614722598074929372162211653173190168986810,2354667132921874113548575300257184110340291251310345313521112882007270074908,162008916052620681812684331816034773646587293709168785522931360585763464565,1456701297329219891104159994128941174116080825179951437758277873667255567146,2559275827766929982970055054029763450373070651767374290630999750895301129505,699689576822078942254333310754689608718423504828950198860739952597937582007,2309086271959887238112230365772027782377165926933399371088936222445240346214,112951315284488802486468560271273034982746808591884891192756294948770758599,1197210398762150802569327539629308787278070052151265216685117924701592940067,463814548821578694000424633715844455444877036146027607943624014685754938570,312426915211580180324624392745864154567189925663023722640937623466304146622,2014405343579222794895062159357911814276142052616920755194131147132469888414,1915779427143147811833090573982384013325659765575200489063537232090635966098,1260427212353319475658052572516249909665007895325690699358608414401004856559,2180041720910715827399970689646606400962538211969302548012658471558837046254,2600537019367847490897377836770633107728102382165101930360822421175310465258,2676073616821573382413658317366334698021761144135419867728337358223710898714,3550161075670166985722481534308115338308852101378163921636105903007525311052,2766550511910366341161299454893399574860172265218454979125049011439960019175,1852042493803521433193722281829592353650524579887825100149930432054057821156,1106985411252680597896537085099028167923013023966334518534859003135601875721,2857624255096473238188672387389708652843439774689207118987908532843732197934,533463065939159016905196075672190137568238678454601193461374509629619737312,734656689869649841353494805395585582506351426104470064877880978578903875985,313145567476248572447339884139542410804405520436527245840388826830811778470,1078638776324651785908182158646985389743787601140392484299776964185432765930,732861283208575329133750631197162573346034893684039236807895610936454074379,880546940054279301563736086412853215130401819653096215227559938500769575337,595821850037657628429515686590712516341216488760206428945838294972242225967,2386881468098681932027965429685696994200585565075503940106139885447937772239,840993453444180421235926438284772147879677834735860929514802666538503636677,167637389645320963241537343580253711715883945473694607797713444675535413818,1462371135491571137708884213875025853239042337906949057373828778172366686369,2621821071979896198181976801887230808107671272434107365024829770360604464270,2954216473254979068972717698008417141945508950136850435834931366285415984765,2809712410847866671102311336267888544194065046666167033684134235820962529100,3014712876682745156951907808483218047098548790578217770006759611994672985090,3214651807998992471997096641902569019838008218134076707628957832798088744240,2596252927675296855768115846189020429832372637961861788535742625033996345148,1409622258485104405585296239086456368437514229765516846026029640055269046485,672076267372268353092285031308066407788235840212145311435997591935816145846,2435403967905987498757093353007570686461398822949043230015286001746692592883,1908021983352634204050930454778379467356983576469466134030309420701112735068,1270140307256304773820096948819838305716758786615178732360868689629162349251,1120160378986198403372956759946064601296109097394949399372129420972655181842,1702078524127714054198426604367685445872024335732422458812644745167088243584,470268627664719023221996410727743772098400427120727585945071854629125679705,2102517673719039994011282694814430529347515019800877759948280798013765009001,301161062252350465638458212116484688155402591187671584899919497801878613339,1806590473361498814753100822101644734133190445369878861523269781565510755085,1570799686807741714132708626498716248464815225007826949832176804743778102868,1648183881991937625368377540415833315931483120416812639779988294994036089381,2614149787025010836991540660776083831959205777014428452734081504649637091926,945073413183649494723084953388023918987272433453428822554962378183220588787,2583296741642905515509357053719658508022793724840168224103579036298941045675,2945990356104469693641067254819483479398405158138216672184322370586288652981,3463118242145984623094839702146458562000276977981503409041034877794796776513,2543553351445067845726008747081379020804677882580730407873033967798739841643,3316825655611851692136820504997342100464434439326408203995227739867828286118,3545264918245673293313587237372427653349435579084415862362648281157797019861,1354694438949122699809661309053424090093948744002803819181985006648194380931,400544925331823947990905728985574862674851870726695417494272654741954934670,3428115968841264641893854613825778017742052868726765036669607652726261851298,1489309637592272663996183810426702375455686802530825959668946133679193915009,689166539387705444791679477542342177216761682993561137393367082152713402993,949743775781885153977503742072712791244976886625730020251573286417868169765,1147658112075600180495438546806870141403884110610690516923183039887346593906,2840808533646378648547662331137607008364973000528043210907937592273428156037,354450122057430569170138371758629814717559830026100254357549860364646682634,2443273765139313633347255131841041182792264709747379963643393316341006314384,1714272003516682475856185553502350758645853618863736934975803473337429695906,656065757778578918587059954752671529303725374952238849423538260754024389762,340769915947584772080804373794841061179680065104117568780349234340280008487,1883888136454552179167241126891145159781891116720571623312720527539564992730,2388596913733528961629011835379602189459011296074152453966067315586142225363,1258347598342785817621847364989794975730095633424137138138775425434100078588,2822126476501004717284911783573631716374146356472949905220833520679318301390,419913190154857799562893561313209017546634470000251232564382006346335805679,2202651000336343965287850161630482735123968958933995800417014759192597664453,3042277309731479981137202486403250981040503703544064011786806501168568138630,1236665993216698067521210651002082765722308694349593146912594267980105990514,198025175098808302477549874127511710914345328500116658977511667531239567367,839074316179282298691731622889886113941552619193062085747025414383211921833,1856121755486460414860244159702831340829729093764251220672724221392954150408,561480779380150670799072456669629776421835073968308141219370905684302088079,2591556754510954610670797796877928498242164154629479097807728201938511826142,211995849909211349213989186635322575170235072889601823071727835496527443361,210174942788059070577925788559993971791251119908918306776145941298755006167,1455501353073583027343755373637243002502279404637645837606225685689077396299,1519302202273034586630319593598901739613843280919374312031346343288425721150,1913695092663973184868328975729127785128671379000653737692861300230646110375,2823729024472417558824854252545391866877216185117982631298991543965030055679,400761504477203301198692912417641461030775586071654031884739174327453955928,2425873316872084609152179275197915937989140101289394248416406382130098346713,319376965250485349714907598902156311499814663559892260682534991135933429338,255110814565353203073937187662834614511857193267944149377044969583423763966,2692196381881482902125517416071411832148907514915414453649565196147261089796,1232012825240901963957765693522760138331414305862954616073761063127828110327,2335059835572511903684549975794301941432473280619118802776457876313563761340,0,2223534562266766000110716083850661747224120886965523769420651987695514278097,58,2132689715,99364277,896765699,1231008403,1728875483,1517116878,1654226999,2020561615,2073826909,2123263783,1516349143,508747875,1141700198,161607085,354663368,996194029,1953052987,1373080459,541209984,1103646502,967139317,1546565397,1654651300,1894750986,102206376,1059747155,513534198,1601480452,229804678,1633793781,520390232,1690417259,650697479,616952544,1951763353,1704124175,1653311240,1945053859,1139038410,1170679404,974671130,746066551,764094771,637436545,2057334182,1545438837,501817566,1305916980,774787673,1707429620,488665796,1575492978,1200165730,1536903789,701304555,48272673,425148247,1053199832,415615032,1560749398,1855315390,103047791,1412189137,820249453,623376950,288863006,1436810778,2087703713,1873287341,580876495,259445888,1752874592,1878007320,1157229848,121403806,1421258654,139603230,1826685316,1438949181,1560120038,1346266295,914302932,233464666,66979301,1940314718,918104148,1098131767,1539553693,608782268,1228374982,779440903,14976946,1348081730,1488302858,1281681842,894039857,1354438029,1735940498,1773001442,2127868817,485184664,773132124,2019500805,1472338846,873853558,2038719908,621552777,1271191559,1321888150,688711799,1555335983,1094604710,407466644,557588545,959271872,716705561,478029427,2033744223,163199302,1592183186,1045487188,433716376,873752762,1534548007,1117429251,75988304,2051264126,1087015872,828010237,2103017841,893058389,659909882,1957274324,919453614,1088514724,815546933,173628233,142941383,1367863500,1343349552,1361479349,941210155,233684276,1552061,652574333,242481047,85066674,1792236969,424877064,700436316,823221736,679656409,619752526,1969577345,719737792,1131519989,397723393,389686334,750894402,2124171586,1619781245,702775877,570129909,1210621622,582871098,362344501,1353391736,761512847,170679730,523956967,1894374664,619648118,543709718,121600798,1959919007,392143885,15931173,1366191208,944189406,908398162,1104978807,2043698788,630612835,1046184694,1972151776,1213633091,1693369243,1119288193,971054252,967677115,1438331605,983406835,546952583,561101764,1203768158,1153901495,1465928367,1703817989,179829808,1533531783,1512450991,918469674,208600374,1935645085,66261568,67871855,1581010975,967018505,1292320714,267322466,2119147293,2037854955,1495110679,372266295,689062943,210540406,1627158488,392255950,239077154,1508611176,1626206833,1055757895,375920874,1055172916,1736973543,809081247,918869673,419483952,1888464235,19850538,208889337,1567314998,240,1427343418911746321314447146554264372461611151671858299302088951615869578849,1096795069181136799075776206372723345333008400667233175636620439724068413131,571155830620846406761543568396959552223997954196571168056128893046154538962,3153611631174306371225590539088808738643071847294776807605516409855938134885,2834233600901414694206267210344063767760393605495215098613856171207301460122,3460065962144363556146714010399915257947392063270980085792872880630248486063,183934850680983933267550481185265066552911850731748875700671216561201107431,1246917581769558912160589851419631629922351067724117862893818353210348933178,554654458897690530389914921293921142614876789827810100828712696436722027570,3307367557630931740961717529639320268325599080584224001176861152347880944724,1086136621592976445286737047334600771442692161232260296279533644148225785666,1674736281636962047830195752599891225565828486392269633162207419112043590837,1391605365676372220208283012481534588772576602495115058168977140589968104303,2506069121681011274187765645297792769220258236275337117018252524822592138684,2942851771605852354666141582568339259038488587937998199277760744774537241644,1949519352833640086509565108598386188442363154341335048845554152120026958281,334423983189900586215828459864522371040739038574116639503974374023211386448,91649208757606565281393999267498333247899660532548017818902047626529421803,2890426215986033061470363431753535994664806702117689259395203326276243350790,1653699605810108727631557401989936523395150424166644611830641934143693791281,941121874272418953680533180882794970605149819716133831714219330442955860484,496027400050148257405325834325454275706833468923488858811458237191512978924,2626907715795460591760911556411398839475588068770691727022910186982339096701,2094572979437455195745097738875106750011629031222261343159435494855071457698,1858783245167693238320792615097516481861959368295601709283745209286123534116,3123738758921999402210897349812888858520389514755522306689587255751595819530,2171029098608700835009377381161697978604508246629851458990621865225764962020,1513998633862693010883245580814836016903819660739761837114835090579331437894,1060276085795147950746460578746468340024370988007029616298262400939879740724,487882497720133731087926317789482957013243158534814984261953566583988980642,304214718419176423187511130029264098700488760092153267002490668499839960316,981528575917003899035427841069482116497474333824644772409301428628014722487,1348662496428210449146109243124255399449147017220581322458758149372476749680,262732593554721504214182392683869778672384902715352837797494418596436947223,2794316935162137861374238023359057560621314047838772429179684564685739959736,2179177963072023879865595164274060171590535919318121277315043555226764472086,465069808280422159481709690214134059797538092080200902564703250860279115625,1947107036596777406608766801368838718691629654513051683184417140931480160279,22637994197416384107748433395088343132793697522348420747770427447292740875,2159258598459867158462152159642670707202006022641855707435753425910087435282,1306339830658570810975756007203649112878207585749716980048078802519899411648,73635597597419500153853723666375869201017992258074731991656075273606975607,3610068794909456255290134936020151214699838153390116284695419038566847825734,641191334193299427906916629680623842430818084641929597999011631864075275681,835686866325350796847390569415963712004371287428361686423943431084487596484,1056880248029775258248125541916059657220270903179525564366493659945709265462,691410325201187790353109083424816325477022723516763670455570664804379184197,507941448671388828424975750603583089422119269591171429726538354277575251609,2874304879757519884605275731613875274990431045910304638442007494349967511200,2226720610446363296522256922889344830306812406932891315845936925674628939609,1009465125024849391382799335112737017223225291814412474238348579272604893476,2859931645008382592609689129425516851842114330855332749000181926889290585144,1869735377700796633202224823089997769994115867499683643273698821229424354424,3535757199145339916539408563285857053087860787059622320574349136604580450731,2894418792820739156593275224066440145621410731501952602005078273043588511623,2175691329491669128321555236323546595396307907039758313445564441537587426538,980836577563037799878684428483047327487409811718937366779124200171291944829,96281964233927533060151631928634084489246836334067605114024896456433208441,112841117660805107340348474864827271553876446828579355541557667161581968279,8048615507140329061523054461838911526192688818120590160977400200901313063,2340670894095396843353392073985160496522412004814791962585561509119675324898,3194082504909050378385772500648182509589081193761322034257571166124143252466,1973537112669068409647836485750401287503020063892047174030427050735087870984,1182664672623492086845621278961975332772334853290191216164284787920281425260,2217882690296636405311653722783005893820574921781608242180340744227787994691,3597709749893645987122137160546431936897403777430336229118134774304796583396,2211352288935638511537481666978648267504113482234769169460139727304930973221,311245102013664640659165045558518913947151430845431499121044836711557501010,167213238767208261106719350964729525976429654550442456272985900364833364261,911478338856965709923061819633487266822908446123509787001629452807734808290,2369717835687445710979719684061027753696344813370048508699071292276711661955,2602518219889518685112610168537882377707963409384599983481160440626700240770,3011086339604008406955353809838772692468447465338247727531925334290559716528,506374349538260373829815741921272582284186985062872774429124984671396977441,640428298327322814226536578825604159857451122440587572668950558474669109580,3185027271700009515359675628761556376034663866341577727359765778586767520511,1237913696167265828913000410048669518450314027825294670014287147107811799759,1194766685869985497273880695416804180234219876583834694776271962573187746317,2353298973013400906832533930038264087203327333360447976022894684994878278585,2745836421622391368342434274095949443535222594729241557903166393555096468878,1318305561742793902320289182564746535571306275746451876681706653781755502152,1660508961378334040704951276642185759884776368093172022196673244445685077015,3317172702153414248203634750898125254583329399144492521772938253039423253525,2728042324170799756776086741197987635386428748712045726575151494570358698640,2365493467311825507054026104759651965394264677502098783392968192953534333285,3012619297589443056273107604442662159437001479588105834230045620832167663852,3552608112701250678712190855352667815870614385025908153526776893696319335156,1272359453218542182673786187989687280097493450574891124002209777830154742635,3285060828470823479360527100307679238379547328102319127984927219005754012723,1017543718557558029347296288554183340484446912213650087526585684781215111123,3449051749375785261807636678720986860849503129070465783105175100238734758799,3480146122421180494193939612920747781227282163079876688322860972645428424030,2147952145893239064660039594351506881930938993895632939171998874072295377965,15721832155889873647453355011805647233147284921013840023874860540153644857,1141037314843896818033061418614412998183722952559614506955479580564825324652,2239652863606211344684194797387693468213022579046349267224587707078872054645,2123656737020705600644111471178340256240266167333322105354320283879353836176,1871244613090699999541027014161592878456862064759817264713477677180907076980,249532719404725900694678545140946402862012118179317793091506851840724495616,2589231406746114177079784760774088657534453672949577628013516122219635187679,1530877394581044189331031290913497940315294738887200960296595149510143054944,3425400810556371563246118149817144278178675872506140443817328266028503668581,890538755313474183549034650351491335865955606409656887065554770542650517697,1818086697920489511552623786742484938360497827211868797781249295581674949185,1975194256045992456415381576540888924859463785337161269558021022675939313897,1884572576665988417607951171504779781353226178624902668794341895113954649206,2588531073223384726330276176821773008112521219612974624442787741940538617318,972711502148556149326298836681415217259793244014158383165791559230810444473,2350456868111723004043586298277793004839322180402395773239741334032513558407,1757227616618666025334164498116412376980796018127793357676322117018073084046,3458712168285448989339864256613594192995033518940829810880093898341574871003,1055291010478489672220460196563896343013174838201156273068470155896834711125,382209449655111729933582144052011436038766968709989403292891875938611708674,328663896112488754279462857030741835031063348971706045280814005372641065243,3611457019195752326601403824589935549685310228892304510361841586663237780888,285322840470828431704213661475643710718491718490884564466800279197887232516,1016762643729668900006008704564538398594680472057402334171118108988087782247,1396095508097042923454500765007046738867602447480083723717884190486646457792,1959893751722695029552616004187013575046392296240986466020711587598351548009,1485075724385589585508198675317360525290966528250968763120772747833974548340,1240314042402249035030065461186822590651051848319140656543273543032643169905,1432683029170154148924301450600682245286363726697163821819692452420080897942,1284273318574355070713237411072027938457853461414405830641713253449007986064,61133301728930315833732027777805193657266681292927457465991672567046200988,495710169100880594998364576420132205804658884673054549642397538748156153674,3610165444262241344122123788854352908835925820771863376759375806459518214692,2964450432450019483456717697950822240878060149334319017346879971437567130720,1527266307045308420549101835551939214651724114193126490401030711610998619814,2743061940632108117977411323263443777418289930460523110413744737688692008260,3055678974102757440411517730107548514615198182963111945510885756791816170416,2421653249628595746798851138686959638251344594949453408463654225692524679796,1711407396915553678523049386067304087820618898023412029842938130484396449176,2453054686528197405573633117903608836936541749723595498380608594601007050919,698587916464222957326854281325690527837610739539576351923593318041202894224,2342379393671623329307069729552295927821413691093855011924234053100645830752,1026421763249522807325359730008212051833880012455009745858696542708270940597,442202434615109656572159903842309768088271539112775534665916192410560260819,2996600844255965613148863201210085278001468847720480216236921814236787418863,3444982224795328503366443634784840024984807934807450694453191370888516667869,216034456358009697751339133588310856719322073250798026237619585804326841540,970473462104450920923772188601707779770993579455152663200730883888104285820,1537207415372441764309065778352951965668535206877641872462537916478560573710,3602876018088972850295423874471045507771026893543631282293267167983908206561,962697190384740051350427997368498445979349606684735728017366328689026380095,450979320744347997542977590991558284403276644720703853717151115684632619954,1852281348428187703816660023932131320913118744207566506029320773772708220283,1596849204331696086540565856816942082431956578641889178779343269313010793776,3439858258062614145149567224496455420523645312378276766234584409206749212582,3376973146666450936560683288017189643742254713180913827917503715729659174215,321707852872924834656962327193516400597644595575976453817374692459386118129,1052802002407877271655370781320877290403016938102623013937429609504277999882,2935185194332992946551182068396757445861876428740649952041750380800482298127,2029016867308068596521303340725736815774837791510672330193275312436182724924,167629692607888255534017095243121684561714371629147465399771892168925579250,3150355611548875069936001570523804545636175054609459921462884261411856966519,3381466425519708000323590496592063827549778533182039582955109209238224907678,3340152207760461728319632249687406717900334612140588553365042733285500198855,607299303835722144494010341481065847012792102439888864209327961088099161528,3029885436003345119881707526221522768624741844092376585090297089591831251336,2754811996934676867644406434585066168660397798788969205046869487290987641080,2473372777606263733560625871317017593508041562553955850735400872941557646876,1810973661441973230542418964707219385160965400359674825196353002414674239602,1117861712913428172318141451311512501043130872125941611285855031495083509477,3396807291685254188742665253657971295696589191072338395676194887817446785319,598982150123629963905807154165836262873478640684627253154961493917908181102,2081133811729332081517832670324830935049550906870823198107682722632384451428,1578244279260352740587187631728936426509596094864575752410407429678408626915,2137521720203915082712328706545738536948405347271909904392615485638154758642,1152208662366490324497215700651109514479867638966039493845530791385469914258,1612013605454731913291810908386501318483528776065444275905283216434414357275,1753020243635617172193492565895052287045552990132311562298277761855475900454,648226151201273547099803075821538799689725785577323913725697704224192685905,3608360020981496290305372712664988850480012381468440313856963341329157719732,1831603320221654461449116110074356256689329561529567835102279037810472951462,2794688797400596129204900514197817564329301385447536552926848697788852453858,1189203090336601491387089989816354888702058715329678049164026533033155809726,575801158279870513288593357486479449957474671466497731262447652151255490536,2078518622652670132707430703353838668097389888110422556351985983128176905184,2901137545454434465591190798564867765073787196364973294817064385233156349289,2073913775094182518777521080339129729264095058702327349685170343967853060674,2862236272252361228041433821483907807344982277308157325707482694743558516183,3250276257009504249637661917760420981813778883133038124438122803316935938832,3528474601755155441009096853475738059571170576806568941047978694307935061134,430439428840653434436975329227292860017388968898355806105157828071306972274,941395291255290637153002336168327393178147815902076944502925435782159764457,1155134138004118315063641230703841144765248362243064641057005364078431329807,1408921404044409919173734007799498508253035050656196543155201233243227600291,510081844655652170389846331331720968861213829558821925980448150751913401456,66332165148768713246627230503595191225127418862811187593623393180797160427,3377313588188796928390720444182598998862359690677883036227381689006916467296,2800461220657657717682000010605031847631312341292149606205520680272579080798,2034049484162400262421984520831691539793198074165746991458900364319235365214,2832588298958485496670921223418254600373808747966075112886962447203211369605,46000987800785085356238064249154726026642349440647432589886652100336983789,1388057086300591832616271185405248941087551373450332929642047241440771589399,512760674901621766044469138443049989287201958323772138589331180723613360846,566799742561402983914232106903328787749479879789954647827771606630907743856,2592109471491144537042171712667391795378159625803764496274205078811131564417,3083994460153736142640454732231736624842663256022622767032394227744539271139,1117924073149672204919155261169844792051641885270168360055633762367719010195,3078888327279755088304278439480739790583102678369888756253620642316082298150,841620545203889104263609156209718625602416271568163159314394594350341683448,465893502340112323886915622801347932964062549948856645874335797404879349025,1911392407992812914037545455520235279075550936247869608797464125996605138878,3021154064890389799664141457067450581263289066327786544701316795444712028010,1259445131636896199378578709309775840310102152111417522065239156113837542908,3456758925983607906227627077442880305064198874237918857784773446512572772650,1896612951445879464308314075758345956091945948693213673296503725525811038417,2865604743418634825212016083642601597171214417070147566383739383457939715231,3434243091847227009840403741023030167436788717181574161582051089866250592567,3413717247084852680534925732808706224536166435399171940138170753792032646487,106011225656114131600281033024408809976437037314293469312856848053017964387,1391027800295873073080982427063545775663530777438053062274016772591168258986,766987085723274391153681129949701684430697433451329960495770936396739085331,2557466282057976334843901445060470971073578205679177355289135945227480598799,2448865884756951042971390163567513989104089348338579396717251801650792295471,1490920194011464089390718586636410378939449948582798843625784960193847495673,2049957606381400154146251206072653753054518364603295478289632071818326491078,1055486065399944579712551270787751817418736665400348674136793978702237092045,1485541007871544727243570608547608703313530054912042101188888068861948978246,2047509314503378955832921796311432974572813943570731907576335202332397204305,526625118752065342487782848669092519350896061404846462235966956510400775104,2203972770287022165316290794038715487275874181918426103669814967404739218810,61802237306184147500076155829524891953471011344225661810527241012660245666,2945889490391835500055740091925267624511783803711436878289355102217764218370,1157895395055082647054537618996137225935382576109930949174254935632177235857,1236437672484781061911936119186870469746926150731046327239931276669819702783,1644250146797710296181206373374150114960581348979109668442228113027389091181,2151875663420829106992450001025345515761347098975895110182652991464362484832,1134468679265976483969132285603414383980037142901616024341013223704009896952,3258904108570249413465736381693828444059898949507024829861713906642443771837,1503999983269656055960086102190551024004628215784466947836863696316774277009,364718550431924936252464887030574726188723859286578150506127308684186245786,1710906145953095898764422632299981984542203916247376719301278086461988513840,1171883350661201638265763284731449447459009902063711611413826036822754815063,1695726686391943349473202045491294993624118975063166625295508615635666579068,3292928566732946548403725322745100929108242349164512459087757622116429421688,1547093490169269803522392946910583121277592095961316864951369370861382021604,1550093914158393478903242182748523213043478568142368857258223277603876308333,2874673903399163015967277742825606781201713709765344409838620751806026840794,0,2503586693142696849925896073226853392595862481997929235268137014802220471958,55,110516174,2012294336,1103982978,1421614852,434715229,1076989653,267725208,18021363,759017564,1396685534,199063286,2116806148,698412947,1627252543,1126201560,1077814109,1817738661,1264129940,476912476,1319201815,1848960962,547513786,390050357,1088767160,1707285918,1209900753,697668557,1073346588,329832490,629844558,1563594178,121420912,1958157357,1033939545,1942896843,1464000764,831740473,1811598254,569275198,1420120650,1834297427,843391891,113392085,1792964352,1113333743,1797980218,423443438,2070314205,1828448129,1481635850,89771017,612045683,276744514,1908890443,716060455,462799272,2146547610,33613006,574005617,343198537,912480544,758452426,1979078391,204497499,630857485,359599224,1481940962,1411019078,278268795,261670445,2010868493,1377212706,1158784053,548016455,1046713373,1029905830,1190049573,1498600658,1877193607,5042476,531150029,263103453,660611319,1780349449,161250425,314647460,1202648374,1792058621,762408855,912990618,94696525,1315085300,184735450,385631137,1688455876,1370105700,1205258530,460906538,1133573085,257535019,1437683479,1731090398,1385697577,366613013,199361496,936283704,1905396463,1023895632,1646640542,1842959214,1202758199,1448548369,1060361255,1993058460,495724310,1140555102,1437099938,113105913,1326255890,1720262118,1593681603,1786671701,1661981132,1889905379,625390093,716986940,585959849,1926603826,750411005,266984393,1344238398,268805795,1053297129,594740387,256718300,287313294,32632632,555153659,2039520837,1791039024,402311260,1132102275,1585302711,1367349265,1786265388,1020547430,1208485390,1185628059,493488685,1564094682,35877995,407009210,737519216,387064883,1783491182,1072635710,498571699,1533966687,769842802,695776423,166096612,1583107299,1087994148,454502893,361914636,679029423,1859113719,988910397,196950149,2127894701,793870782,1471902166,1778501989,716290376,779779054,1408684332,144917983,910410059,545133300,1564083428,732612828,948253651,1528100945,377499369,1742667136,670705686,1827697306,539945208,1649378607,487219483,1122003392,1634033602,1206242084,1824399918,572445966,1218085439,542425956,1595323655,723350706,408086679,741495274,1622827997,251460161,1212234484,56629182,1445381476,537014510,539531383,569140649,1696696278,358859438,61793543,1784164198,372653521,1016105262,1544607850,740994707,1506012198,2081557951,2009457969,185,2642083694510366469739966469375986572115113197739847074880932324014083997152,494129107500352699400377423842303952148528475815445992102883655555404941559,3345791861802741718879275418494542461643883950054259569704083161565249234604,1289408693919659579558247553240151805551021099671680421551553120856999886123,672517264915902863801834276417417605335622423817292001073316807181823029700,387154405748121902052002572508956972971462171774984164152282283467458421813,465912370231370981747397593567955423610180781902557850133373476067469884662,2296945671444702470131076842648539402772373028966714389933978223694891994523,2020085138943859509783534986280487924799060724463376765373372225334620927149,2615939274826376943594220106099546768315759007570559704419672113913970280056,2973804537303144487204887533878949940569159820969310808720179259161709142959,760343120945777489294925980438943459649204498476348524597023404750965136068,3494894507303195620376933436346905267822699573887519410332805292391806622071,3307121679001317625761701152444690053313323313885691184776166275080147905228,82210455346805261774891617285277555947624280605376453121286512795695717717,2027947956876939308050792450292016060751041738123758812279610254365141201171,1615297563997184110547271837792932316769742105562593125169989176349665619110,1588045209185676827479640481029096554824589530278508372209428591263068785955,242463593154971739323748990554898749440743606173363773812622122723065490808,2107051456870639303089696895571903897387779446485698873077109725895416198143,2488228173733542301143801248540157022235340910140532235645956826815291647374,674828585116105628236138374907809918384795229485445950150619414700196540157,1111297460094565342654102419945077358559585081225867875275282551087856583661,671643762454761886297619757104280601150947792953102076080396681123541779498,1876911870186786024875272831370633154427588133500214224821542198668583705416,1506705198661288683330740014179730680699343449457636792351960723119947952930,1762066197145541463769038164202366749335807465919777572501203298909393501260,1659861916922767066518651559649187258942638656173449148035603607586966460424,1176255075377935477178535319317213412491609304048016253722534663469482972637,1687765374819951806542016662229884405261965406595735291872063821238460742309,976389028014255668793285796672553044305676073997635551917252412278021680581,3289415441973541581835623154968525238045115157419268073651359909145761754923,1638518703785819746356186885750353621811144988117946437360400708791586072870,1294044225863780071673289330495269815219955167319379581248461875414129603313,1243355016552290247945087903756030826708322391271135211169637271323450268500,2726216854024798013578847037908663126235852592750059862609817937772699894480,2817961725042118924383491751717432339204321427329078219809707069561715817859,172725946988168465816551699999256860262241408186176570867256381183171192188,600817174216564350675266373925744555828311617697704529854666737225150951795,2513639239869845037948402152521738060124003446520135937010504570405626072598,2869154196830301398579586559562701149083833284906353595535797657439512386805,2118888275961658634872622178838199479977687454077557769556276493830358520590,22745841092411589831539594183828949251490439072239141073516648739760616818,1591508985096698859777557742553561487720042857921492569789727717641795684433,416089771153685517570223699891304892787644972660631374538998140110744265276,1975819452630907575710641842863662841262784242018213108023549808059313382313,675596781250835995869712689282235089877340927000808695760797911475552619560,3054732844012454424307572523811446889056796775292239024766802092612632590446,485512244654276314718804515325248955841434946459125845059695622490745875464,2029009209456367485729790813640317434080262662609624611314615384337181674413,1772269245444832006955496893158521467199243266813731160130798443365174006636,362509116910005793911607466930227727134523609665158708350020920976073933180,2470444255029438007972676951707228872726719394031720672356023793013697129261,632469898244773321862587061576808776047533907418867958736075879001686782359,1690699272696528866112941849858437652074277909825630206678648569797266305335,94940758395166492446309806452411274485653509011991764417064678883835130851,1019208715867272584612205362519115825051530753147829706722001708829936212416,2936348351025230703572244833002967207796754988031532391807367432724195377451,1757937909798226292005534290527352864191109154564384773411223844084580393697,3349131714955577284955176840823478007490223465112919340378641641480239785676,1078532028924330009379661621127496533040933794004993082240354696595316053895,2557798454402043823204554609107243543008413363406585203257594801947052040818,842069350269790301736073215144643576198378061823467999598428760444057747079,2536941087227183753141876165741651431901366993606998405054091205810685996588,1862920518521336905894040445027887498800025440250782255921925351453527800221,836514959869770529307070924920868915377859347651977575893104262825446466768,845931174150388222591840353161730344254199902180506807316946228410683355681,1991870150987072578518457801625268606399359774766911107297889976133516062183,1816810536355219641509304844072409937189090499126191122595770796668437498758,1095272535174370972218522751755965718494362421010125426011332775231873531523,108517092955331899226599347600398218997521577360284632885274556097463724845,59134729358592681796909999212436863828728176898498988406508984935682941194,3446948435053815276623524033026967514748569550868386391877817723187467273795,3179842673956069093586442228677058855712896585213135543420802640796054436616,2138042962408307195677949891633538027512685223585711102801618899896256657324,2480285657194847955695626333582448304537267847475285117271390638962869351875,436937683264478957716048022000827224354508889160467260129279034920471971023,48157461555065617552994470589269095461949101402978460761345660291531378529,1252940531651491901651334169836400274583875439232636688812944020991215836879,2339146869894133013974304011389043974803271942542262521587393662987659012709,331921506024679128502839952946961245402423453429752266619709280611984080558,753341220660122095129590223675328119267533178953002033098826222997608039707,37961331463658215532487876589037133112929159519576425435663368254926267687,2850797402087784167231462486725995186032509597154505533870567268422287706121,1069370410981121313605825649350066644840370945456507283837965385005785243578,124485896935034913247736384171162789199426123580875557070075501382190846167,3442949411254006823123944934074998480337201778432025544132746756182778175927,3084232440171147008880558591228747715368297791968108143901429440764357231104,2760128346452743291775857932469053388505422688148882731187341671189406186361,202528050429343848394598288157997498759295879317100809876777786160560138882,3444708996455479424228045159976772025744328536239237223556787860255850240940,2851051311970052934269299119612024438733809878970027064131742399504981635061,763382529417633523755847125954131935626462622724299321992049552517451178753,492779712426132214858333578538063351518375769883353593393465548123798539775,262623470882516423725296584361474702639569993276875079769554293789909593003,2582774521424798319932611396703098773521374550213948190993177496080893036807,1574082811710521957612852979261347043305512241592225796445636983120625290272,1701076843449206322240255471097932398705053884422480635950507170797672838621,51926815501147190322558477374611851553377087528303268077669148313971194254,1001348093587776760419272657881297290591514713586351171379514916515145304077,1696941710115294462882093696865054473806616243983226596578912273012537776745,3160097734326853923266895861316405295730889448635724114028372103046068431314,3373016208708449970049768488513177120886665797901931401517757497181989243537,315167089690467604245397641117160214012647757614429467346049811174770133827,3260808705152674064952510399859916181210328267384892675905882351425435545253,1789292997039122020699951486664365847215542654215505202491011501046421618559,1042853174584258682727775857623924356243027113333706597894314512722279128651,1296276533973863543746305220468544152198883493028133606357922905674631692075,3236280822860361184510389567799155607139666720451002249585069983166175097176,3145523119977015625023672471868931124770800435197249043558106313719083577841,1363004847279177590955139959029615213318002560611239801035269799909958947781,3462676715389206994747399934641610676093844534316172767489609096471319371115,1791524478812859848306262292888143370144788127023829942919787854955004960372,1904081071284812320325173507235990238851867878914783287863847345453936979716,1379312280540336106705637760666620455397245840343532790464548103392973173947,1618931092728390502882630566385082847157315513023210890727731189986833331467,311033983034608566987150585615948341050030658038788216621206802227280286862,598810119419335642453216241044847916947089154885017278330684198686757409670,2232562880453196697170580872810611636981579081115828498495450536467341467101,2006583707213166169041619144610642648227149394210894377549722779831105368108,3352075841680716006902370959138287683457874663604578489925525551461511611129,3032036873991490180769205182058223253400287986775768770977325911264277646974,45242251342110976210824096606153375093885092517217792541932191827982430800,14545900307375313668559671932697729493200493389771443334271075352123126282,253976389433296970890547048307115694985668071467982544697239173457694597403,2399394514195404475767767425469529598810691961534428600768538638772523012055,3007513865544190754757873848679572131512016903775895403071763392377127289859,235252822490026220648829233770229593059451656385685443777214029161937964886,3595302831000360777224805629031867731340073997502453911960213673411044170589,1902998910510279240336390838274316985544134313501605679393269623917202645557,134707482948641160518893675844699491181284189017941453306823466381360405336,3294285035584977647868416264536631387205892218858258200481871047045327684924,3445973578093495107382892176405361511968727904513332717423105504722139998589,1932569145118652019000289321115727935659161486500511798691993961715795156720,1582324074996016963709635755787500527853228497924188247711746361498949215889,1457212359002218278527095859397900538318479312613889828256735045743770567140,622807924598854472776418758650219020905175421641103576964548857218981212188,537813221832395780731092579197094743943356606758823943030348862017152914587,3145363690500308452699206660049653641057534669567111738082345300317819849430,932189186366071693141030483270586948370370828629103716512097298390365459081,1445550150492517308895146542319216764166597389839098492863834901962491805169,3399975640430111968180974614737420352052632651148404511554396786732125345217,3270563911741037098002281951386078149084193460160715063139696481464259576953,294796781570173297775149965268414410077260067207122113032691662837726936376,970614362503160418994489524439178555076256679882833298621464540450475687708,2743380052976771586473651717144498638251510457643928664284074949759121312282,1209579099347212370945088086282701954991318817872597864788590549521627974768,908030888462557425247261043110211795752928436343133275367896716163191724758,2060194978549080739750095832868942778556495349131224494384439153993068990260,2365011617525377893147897764844846208455041224851309503337313268281594336244,2585311809087976809558017322521602077147005054050943537587382144344743460123,3093901135770928638541404441373834045217365526577648831882420326064649101319,1156750094575315490435400075798511184925056848599403964422828636916426646085,3330879919344894727887536313816860456626003642414193912081048235605975271503,628773708324880595703979547129318804444833337958731831494701444905012951048,2113971678723815064028676830246305597146773690015982250379088574788005982582,298633549206757028503002709761088285553165355460147702279489102004228372168,646312153514603715919398990517203417026164558972865764999232991152722017365,416644350751271175318824704769604277280381123488261482585767991026289069864,392005316293969083183726152971086266388498378485415154818416076721087515372,1760855222082467433648757684474697148988253780996876049238109851206032328383,2877544257068361511600688050702885021318426662586666450468353434607218572151,2241192930033132076758286705309674917541488299992722791029282781865184599238,1708192306513583550183262472440642004562649512549479434206337743295196193836,623788997840339762326610514278669117346723689523331893688829490097504983873,850808918758774325895837506637944480315196152675820822551452949049343524198,1744542947751945632373240265334663493359504381455393642258415588551077157350,2374743663372214517946201168582554986353202132291624152088365463721257179248,3328930088105339618577448537495547755713699691078651683795433963924330363947,3557963949551468745144013801655308793689715441580224348643871568493954052958,502631118544294589617330313202639604012913823015405712619938075509223512046,376662266305065754536349320600481532900646353227333271539055901089173526042,938069556203818709329698983663055302853985912747686232034546921676970396744,3553702106705049967869914668813285199489940786910159369058329238544029096212,3155041407402107794629660712006107149966325643343093499373265639576153240245,780128822696607735416177806667927893287809871017134242638040418627587540420,3533277575820780509613295671696455422150623204208922094118882487928827796511,2235291731161479071687543251362304254299672889312803785641146979446485723071,1206251026641045255732249632887646581904929791734008571366092051721527875165,718471551000328530792724034943410793503269155646087255646875221997525571304,2429588778154683862822505178937790022917853165669315589728731145684470778960,2674275283180559199369873301119195925764032462035218199909951921306596128701,3486226497206950435440989145913499403295145190475030868159941134630463470659,2801184953249633267476757013977240843313911264921856519743015356140823088252,733257111829028588652858443012766596356138943879629514731590102885212644975,0,2540468027001662967788091695233437503254544556074020868927497833542231287265,51,1116918461,1851561043,1139909491,224041141,50001569,1031713064,1373663709,1739818788,1752855778,1377312501,1100147278,731121892,782841149,983908561,1719959357,1412535491,1193799852,515904897,267677474,1520538601,984575509,883150096,384754129,1667088138,1281544024,1384832921,1758173145,1304314225,1183124565,743285139,459149259,14182625,178034558,397326388,1530390435,4504979,733176100,309778011,549900181,475678191,382989623,1473679844,762453913,2135107277,1395233381,2087005271,910915165,144144940,1490077816,765460165,1467422639,207999215,1714669057,1531599323,1589798936,298090222,2060642207,483399889,1284598588,618853009,954313853,1589717265,2031233521,688626372,1184183869,1061133753,1121264175,693613751,245376680,774104967,286956048,1502643009,1399788050,1047255481,104296088,1559700228,1230960363,222645927,773487117,1041575648,1030802249,544237875,370016535,1989200369,1735910,782961386,1282282562,1218187888,1478209165,223527779,1131463960,1179207481,601586901,556252732,651604287,383163947,1719149975,752130195,1659690810,1713626374,2111271582,1696973385,1904171311,108880790,655925463,837385383,749780968,682749842,1751185675,1926306113,687730379,315173593,52846703,1230317539,1991456655,708744353,1600737655,1485998917,672085367,499021412,2144131809,1175513629,2139235798,350027479,676623631,112913755,2118479110,956833733,1069468525,2046859038,1750847863,967503260,1883203529,1471257381,2080429427,193531294,1038689004,1022606358,951085529,594897892,432433814,2117151680,1902437275,2133327742,831943808,677780364,1694547732,1487101359,1598636348,1179096119,1102226665,2017605492,1670059660,1035437162,197550507,733475703,765142579,559171011,1936224314,246027068,1827584982,1313030517,384597725,1258195279,771982239,763543812,1399740273,2129315201,2142042478,400665694,1970527645,265156674,1713933694,1098432213,1965169132,1315701214,1490093421,1309190067,2121616640,917377647,387189577,2143310908,1407247526,1738099010,1905717067,1866260206,1720044519,114290635,199855587,1659049205,1806633894,1206687230,1287215426,209595876,1117273566,1973496049,463625997,453863356,1753909669,444659176,1933799199,1150782556,1204061051,1100869685,134,1273749830369340496058116568011776004982951653701255758861738987868127981814,1089173785243774716379274706387411990497953154091346217293533001035157952626,3514489152701663134607105505475932346352498125631326537126051917274375391986,2846356984848121474156411995160399332381399757561133487610692681407256830556,3415602534033093430331169511793723521952506657091812840054287388289041101241,533893892036408670040634966759571841054538774020315937364596906642104361274,1415909317480622559446646525348337670357773383661554047486098679724961314636,1031700669774559194506373202982013766155441823242794593001525834744134934539,3461249153462326119857106805128845405937436206142767585206167519927948059403,1589356310451613514364166851352488145392943610221690396443102306249836181051,976759653619415327896814534772668932616308026932912685977210143699747784062,1153183204634843836879754092013733142632940991458634934340003595774175936150,2888696427521613592437797782770450660944365352696059299342461159867188123478,243834697414835203177687546061894116089231128136992665757721006268140716845,2042198803051412674721593774383690999829546781262052083621102664464262003817,2929208598399587855452256951025219288420581228942814773014857046600525846413,2774063529624591916392501167803402848448539274742689266933567336512889321014,2678531854732697086855464116484097814932065606081075415896848251611250488278,1839569425690545045578815696327161392297150833817604381396281310898735828772,1093502977993456093429149858237643419825497205326851030372409064924083580659,1274683777596924857450453463221731994138847079099282526012666784161263769562,2432258604063333541648288389585410338884098673888341676103783023992702913900,2606206212716137995424264734113432416011337517706891957579399115651008176885,3556500942349132050751857375012102386255613296627878180212068601884286136995,3220440722782142947671140886750288494588659906355451098353785912942103984814,3236554779897119974621441212834884344646028983041686135451216704990741651818,3121393167173864589505032993440435007632448645175912462723479862698584808820,847789453638942993663789493885340888772588749516389479511508941074827987884,1668565452731244351052043278949481947666625345778625733475286707509437961071,870202141723828520128356794143633946165126749659310958797723084451015266655,3018194456896650321963144099877838968586859195563361373527885720455175888826,2293617813938582795375363396931535017008192426964117077852304408201650183993,3104119756632903107040519952756588131673250531552445548929724645880603571922,3036139338774520760944304570322343126195619128237853222680904207583970369289,272640793719750153112737193198038264434490776611628975549069454385826269223,568248441299591748347953006194113254456693911491443713140019872831353979124,2585315313309164431375488274609837108520536498694863656936584572686548855348,3151611813927034184168810848768222788222720825617462264248927164958942764051,964973556052220593879738763533753725146252060086882305900804637156578733858,1845593062532725685042979140019699672432465341014637484786501236836551184384,3418267455584779552788425754921628954703799239722326048259281351206776778405,773588041020867259930549296523634138271790886812571023425863511898855356740,1273289700807134698415986675425366526037518201006238203104790607834031456950,499195483956071534767323945931794230552798938921068937729125590409486602026,3512991077534563799065484775378356162478920242584231444697688398769953337451,572495421619310411016028349923970865041535317304952761532532445949935251865,564764669637239675742333400853206841057297595822084701166864395188315579352,1161660514739749336144569399470011623562877407590813408931926128392128846426,1799750769048404994950028891161885595151196536206283035492644846436180654271,1137825725881998597210403158532741707555625724767172319429262129991345902229,1235672555714589264393771787635058784169925252917713228354064313631506875737,1652905304200148295576701125500561709987151521890435175555735926725715857795,899462335885468959391345716673089488930694198808208586222026390268198666506,9194009969158334227561941680960587779135235885137683250571660140552883978,1422546524658290668437537882574446895597847940158369020774785697928706723759,2668642519695566716838665991548919942207473911041967160640991131658100669588,2584602264263205636959067302820050650339099677278167644066710602500570854913,648341804312260604239642976506921175782745411132029740308329131339565308325,2184251769408269554528636110008438338789936022790516773589522478982623978163,353299524188360015921124128883070721757787457626626262579312688982752086292,1945406799607933007184717007501216049864886230374026259255884278760816195927,3043571882948297951171119945593578539968627808449264479398430075586740502692,2379366690069528535318567387434589201502464762747124699047028462977323890786,907922342921422587084157248801033689777076042472493216879275177709129222447,2314140844677004764848806907995382781563505335265611596595587703372489318821,1391885945144378157853522008094298824239211977897848093625563535925644456421,3241593402122780617415405860000866419421130862251353916550424359191140812176,2414713596792735392263322713678315336083978977379856344883582144152081417787,629765715849719827763881741848854104384204645289146447970435563868297827474,1842669960243628822778647816263528195354336561516337782305451613824152458460,861101320089998406995403775936445886286603729675835792988580957253559897471,973773610945680428085566035028375631968795105482128941189867382872334439750,3179863794822123802816111483123705278746474792930184697471004054503052726714,207509372297034791128688872596712584952049608819638372091679269562088465005,2554495776252211959021220296315928301644506216622752993047051856251047275478,2156805698522901296448840819943320528767362562699612174555862912333608798791,3189780205258470385282009894467856684996438335874148824162053606914139384417,2258334246688749672022462822787113766765864351097008017730840439062281702702,1825734674211711073756127737156252871578551475875433798225169536661325600158,2571947170530920756370743822903023365248433811572772077907256076182688326378,21879972139828789462103877306103359336263224469987251486559975294248523139,2778612240446601623851836744602610909951240526920145854663760407066911940177,2424071620218485013852061348874691074014126390144730615078371499605804534730,1534523973092763729122922992538680939748201423167104689824047197794064956835,2249136321487040083760135075396787686970341012872807890006301245127885200294,895219803790803705317648969492362335100366749391733687315754384296588957335,3303474886782198223166358070150896838621123856676624877293553148939720315832,2033490114853676612019050921003659983409377433004600470455874349453166294852,964254891238505058920374887583505688890678024673337411422900331098388898677,1701317539826879983922155505160536873070494860655687147951732347197622642961,1753941727452943044486509086722134521670267948035503092958657124466197083676,2448464834290646298992782125117926753146080946363053827616964872887448260934,1254443832683049406005186590457100754437158946171825957456654771465182223414,2496124861932558903212378005416668435402615250538143686779974342928127194003,2755149005683121474390001118181050103556268056409607351632739407991291677144,3439458895863485964541166821822344220831325950086370944797768007177418482268,1131242248685418663510945016192758902013180808728175268567310917115564999759,3340344312596147523191769372752842767448050540228246829234327142994588795323,3103097106467926917673868768904837460957489844038319060309242120738277746450,1157923567380268108789828355934292614566476427718737625807712564867815456854,1560639198707550080340719709635954431200775975850926547682818157703759544476,1908940865769071415053298510947496881659028210423106485650128458936826548396,2831317276038823008758662663348040690877724647058850818666804159266690054136,2153044281013708536024846275601700114134961070360676520242687654485390812217,3334063895608217171992374140857442182636635813593594298131055989831286817373,3229582877363208191930045326511866218257293799129039228501706401131176003910,2572821346991117715185236638502983638917215665668205984380149930430907975432,2456944935565407213725488184635639496458799454757488492744728938349377271644,3122946715933771243605061156117054521961919301574087395050187782903136923667,3136552002802437055513839177659086257268274579444105228320854519850375796172,2896871270074203243628737590682760505669413904898800447048339905256512506977,2891702989335593940972590934177753785644875755463860553671279112341443646275,2134123378980636946508703313519854787328967587202430278773514618420034513851,275407629281684756010299728907265324660850649768314830130984219562456572433,1424851477933112542137035300313148211296310342746363670187543351846482030667,21323391450900247508300280837414752387755754803330759611828689246862510828,928422375152144797678776492813825597759510388066883030045328918442854882390,2645623063123719888837954393816512434003912277801489560919261295837697887041,3379206962605311904699910980581006723418617956627636535113331896844470241856,1515339435792888592263195208824251423867639918716693545351504195472461388158,1318839891946264619176667980027874570500179346724774605516685818479669458595,3127806076820997414920389101108808133974205697592403131509629874692108711003,1688283480420064957115863329828578450236404702630056386389899313733510947513,188668473596763224664363755759059339601563021173025465327178592646880656028,3214317526424058152620266242737681606977796004260264935386745479578961944268,1976099350667649220434996708195877142012179696494609246937843636888555411086,871533279613457312487405092744737040171388517436567389551070101363475314452,1301783823966824287618252620408653163703302387536723380047664278684356848849,793934774651201556144321627448876052437540352678763732331731415285566243617,1455005923111125339106505157344066327689452071135146302632031496208082384026,2183044798661934803380148207236924782233754297725611218271532635389556927972,1509919911272741391305555985478075510526338839175079869841331224836016008713,511490617991472068508421896297875949054788510957654778700978250234755160907,3324987326919417040922444905474418867942872191875912471281023490530858805217,0,1958712837404266069148289863097232897242991452791913327414155433227695738581,44,1765831781,368904481,293926320,514839320,1436881914,1179047646,994531320,2146978207,1532969043,77155758,232609779,1506480949,1113885639,1152538241,652513294,876489283,1948364647,740161497,174597802,1952351188,2141393531,1443051926,13569214,1806738644,612267412,2139443008,358237524,363991895,1090221927,1751201935,494197344,283037048,44149742,1712907056,1873979853,1234968748,291048105,776798255,561884791,1852812008,283346340,859929696,2081214466,1536357404,242877582,838083847,109749398,1987413814,1353565902,724374693,2023295673,795266591,518238635,87081957,807004609,1793798563,1815385826,1069129127,597110597,456852646,125512131,2090664558,1878275935,142364387,1864665292,2047070506,437230726,916510046,458640789,1412951970,1662689950,1243678911,323301889,1468680406,1168291571,1696919018,368985909,552671298,720348357,2019609170,1790221884,639711572,407224393,1555664551,239848520,741112013,344392759,291801459,122640103,108511064,1353410947,1605199368,1266410246,1540092244,1061465789,825734648,1915871952,344950549,506785039,1792177935,1508304537,2056721578,1478632370,1425332799,510245960,1166312086,1638164354,1987084805,1765675155,1796477336,1690268646,646371653,1726832898,457122529,1982962827,1284151319,1484768022,386130609,1976416206,410089084,1041495850,1916075797,1582453706,809735147,266863972,847813732,1652861171,227960239,2134920055,126937784,1473660259,2090432936,1955478895,1437360208,728037328,349970817,759784195,309208585,1717503097,346919096,414686611,1137788493,540967029,1122867122,1040643642,35002396,534768912,310247475,764952751,1504148262,1375818826,1703874823,744994844,2006164862,1307232292,1112446592,340836272,77094198,235585819,844057250,913831963,380216048,1386012272,1355456390,1428384036,2061350126,103998559,1377215407,2018812874,985984313,1404332302,1355060269,2042190326,1320080861,1040119193,355849860,90,1246813219658287885135410170798802599652385862890825733694224331827974001554,1329856929067856601151241379790879464856081265852606938601528611767521449792,2656567374257735220672168075111789149803222060195655030768502316125469006580,1978982261145748750385438598208780163156889491834359975769275085802351799318,2808986503033069921562123349665971990865567947566834794298972272361721845585,2121185541299006317823978329112274209381543142599855478535205066022913657862,630051188810431218370674063302825445257847326129586435987998809818671636330,1821563284002253335344038918334342972400386773179254300919393140841620467894,569840359887031285718502849344073626371560503293187541929153719415413645936,3357848483783521241458748982751823796638602891129852476337068694650382009287,1450308419268546997387461211750988963658240578451769628699014393741294026674,3182878055273407477807287102157829375140267498523150775029956690079031945582,2997180350444304405882215278289332609816611829607199708088430848652193892806,1380408260818081761925149476962998768784811151043487807746830637026654443306,1333286393187684312331444850417974283354509320102782625600942540613339434608,1637240869472255798672530574628457456926388685263513812398824238395797755511,1981815797931513513864647789289037729551612868083107662166178090617141616969,2297897409506141805126587378828171573233522847323710899728416571416260157053,1744455535686015768298104847033414553997440861363319709918266781922762365776,234677375199258204734037878147509013502477696804023663231978520648949882792,1884941423184185735099049275853704578541374619263420410433905976146135913048,703851290708084842988771165665028989749807334783509343832883416168408855512,1695885367834446544290001555837356987957909359704261129296742059931371807488,1046412268437063593707126880040147591006309232826470491795325558846482858522,1620480524351696191721153816925825900769876030662624584091330814121731428811,2950610269442331740535405473837895471274477893723951266435417977664965636211,1909882236638760856998629302589093641425973288195674319765818238709588112486,664094439002481712698134036728182222624928170030985507998472565225665601347,931418037064152231792019565177523268102573629465299333607471095354721492528,2073124201035318188536239968823969752846688219660034814536891689438654977171,847221695655771872617292395932373300831297638297087085556747182812922250383,3559292452619690435637111472165430850708872829573338405295485917532764330093,1408490056962247779007686109975274138500847844204279602258136148950994072535,1030384261654542237773234380945849893326146267131235709182774494739388708242,3176974669523373711604570560138995447611147352004795459385843984538537557293,2367204586340647273703516654411315562623728922687467487684245609650201882633,96414451744934611171228260284877203874971766527856355351461406957038358950,561131297481702876794493062352897933946900286461412084509455942130497853465,1883146120329802170433294986873906580947273036377830256702933286911803527561,1403688474543211788074819903941051876756428960005321137032259695169739191478,3501224464498084004448838178636232533812607914170335399308234366352286415571,2737843715810728663481433768703277974728226970949872947572229571854684031456,1649828548306888878205289273562888671476193925137136640912555884743932464478,2257560418635855612338534408717614023614773036904914047180895240396317355372,2207055603582921326504003308764007694996439725174409670215931057500516070916,2388463875067877618260993266635053266015012451313132114917065471236810500711,3447785169715583361641762588187317715463573787697869572429414962763121077315,1531122102365418095411303516594847930490226412531148888745875811968280077504,1400035626490752409564581954771735543137336173906021234427458699491477501551,429446867586992557283052970853566959756624992815828328239424077485793479637,381142713553655780317193371042021632162607812057244901085031429368470200358,766775867579473937845555093401269971174330410383579536544796652147595259398,1188050132920236153715028761792818348590435400654947786973727509698442589967,147989162945612063724499167931735055468845261809784732038572692917236964754,3251164945123425357468292733851538981483496817209476288198644791916979902253,1961086558731029935291546147060727326225149477145712724595495409436399569986,3025682405165751401082021744050428873449459268364705826402549958441278070366,3197111330695160177283517273221341566647625048591499964311506801343449923429,670712555052228826168791940122201404018422767766046248091749956340094096174,3258811585632852440189663709705749096772660254697943988790150001511493331089,2177958491405800961438825089488522630856455173109373671963277425172631864075,1176312473536060614774889039769957438153798196055622861182804529490061322860,2286758229869245724784997353819051745474195537042661638078869583584035282633,2815276115001637354784519909486811195376928460307602526736538723359198125618,1025382787220636198146708514878012963412230830958296123514727207015064041142,1932907461505533859544966156720657602749005038904522461872083899476427222288,763249225609050614123956456371466866822549651995968409417896112571494328224,3310378586657136203654720765969037051765661835382670996434519720725741153488,1027014483864095542424291137365185463638467852531723379031974320051480734662,3075190617478070516341510951331860586130828353609488379475105074127060816295,1758606176877185484862573830259364696416014327576782744668138038686752542850,2014281961262461068245524031594359343912832792281474648590190336034825232361,1558458800863685744584162435553389874569484802487936397442271987163668925770,3242199247084713770673521949557274445799827167553637583564667100049141301850,2237109417032060112222691967031309414661644557898334700346992730797253189297,2556026963739601832907981716041235173405915829143047012753378928362756211970,1061839990078871134167689653353970714558542425184927643560786293439582493591,171950949088943149966334485114181822219279552014110540701701711950794230920,2059478011765128790020163657092532123691753199721761913724183652269899096710,1231213492607969566745846826649186896149984975356286496028661652647448937767,692126565157173072178516477978934974123142645429401354095901971976317273473,1342318411987855939739224033658165116935718336623325383591108969629799278495,1772215218712606441393292333961957393442945135810188612772299451051126072191,3255110729322105036404276915479830731330909140274766606363574784813414378305,621225383707676790830643203455639794173950477722771757347996706745093651568,513993113296897536266681111400222434857500127330974930217062513153966312247,1290423767776851458828438027278834307475455139852186726438963917649098375221,3351958063641768507454143917328875853257215035360582352325119208712334031663,2573827448924652735412458228438885512886809372698400919267032033863566242381,2814960265391315833092617557981517292587910907577538686510196038255750826724,0,2412682739543398893572321081913100354261383112774759757535819921233160080485,39,83498079,599177116,223213817,267280551,1167462256,851299167,1569604835,1879580998,824629629,1467574984,738128190,1859409102,228445183,2140402948,1515419866,871907050,1916544958,1652386329,74309063,328483348,670942695,1424584199,841353750,1506162830,995867198,1594454517,1303853053,498634600,1318846474,1641203347,1579822779,1897792920,239158537,1884566432,1707151400,258159792,689251647,74644194,1975241613,1546068902,138114972,1244191635,1645899967,305718881,1708667855,541990268,2139220762,544811606,1251243901,808608858,828410517,1415868012,2036777500,1754417497,317241180,256185953,10957885,1225675883,788202485,895803742,911012692,979470604,716135509,1735356549,273509184,817237966,757630811,526863246,1064013702,90323988,1101342042,2029368731,1171041055,1878418822,820576493,900117102,46291549,333642656,2008959562,1337155312,1697984061,1972065163,77233491,1247597461,832348710,138392997,1348627055,887123920,630932466,258558879,1303338074,52099299,1810674973,1696677665,504562943,1359047940,1272525833,943918010,1633173268,1228262065,825363207,517368214,839039251,118779168,788027073,1479470698,1273231119,1306438333,1476179320,1225700760,531976497,1324280723,424583248,985853375,1522231457,287368439,62678774,220443232,344781182,1565893704,369864143,364421477,497949661,583960233,2059562193,16490715,1857873046,981386884,469916321,680093253,1487635227,19512334,639127798,1250603286,222962348,466924839,41710512,2031357330,796691070,939070132,1989373878,1892877139,1195171022,452067703,51902715,1872776448,1542386159,539364625,1513870771,905248750,1499229527,1902526555,1220883567,134886467,1709829938,1713542162,51,383468631265066367888576467577755391833055902648437971114180792504294730182,1224690626678926731493904409270982231704205733324032108992547808107596659946,1186403980967696750011703176662126200324640550782944998819829424613647352877,3414406330652883847522241866147054649770891122991970301808900010742398091498,1030937156155731205476269866245135090932761067932226268197274129694987931803,2714407500632505746876635762265873393405552690853922876033212049055614329631,3340994445765431101705937440243334123814364614813618692038954805384583812939,248077806240812902395533728795392579673709442729435806378247929235563618196,532114436955298010739999118588678973759357654314437823787920072839352060993,1884134183092318493268592223557012568074643483154819385088772500094385884508,604718598999094679445035913550669347831602020114948127395830706329585884849,740914242122519617109725693556371395494204846573013943365579055833888010107,3015858154274697444351019091374454438730701135123244499215378350093872609664,2800895560992321538518128098774083500052817858791784540726699741354787540337,2628594392808635281578290375110321616240675511444345267845561614875380199821,1203682017034773868271701351069999677907610198959993600408923939613023722228,331680307080501004685610406904461573343925900533563368123321320734408200680,2579638800846057606633378145907901539462940951212545603913585572786482384480,257115634728273524740430414008495757126009461934530955644174885857768253380,724148918927916718675290025128295587032747268429757902226811583239306715782,2286487534375991304877491989379253226320075341796186777871506802548137074369,2185313680187586139706425316292398336616810171318305092704916575619853837396,2533747510766778005810592292259001024306706202543476143076285026395857506596,2431057925808378216272351905532022550772199412058070095457455892117250903797,3550570255505752343337624380673112378757996600616598758625110377957298769224,100666062831460635542430532667335894355697107575628594215606612104491197395,870191437048257259720081776538011991081812665640697561270731280645643301577,398016045667537736955259879572858680926401527459470249809079204612533740571,2934808876972672247296485924132764084607408989913260500106360792429204205672,2614243605589564042160333668642828050330875920708801410784888476321813674859,3123780995238305656739772682791914218735250977946676389233768615821787104833,1584494235362905927224669965953967389041099319693982168488736495939415531441,416592519767652766754851507546114038786588862269337176746671617116020489222,2737708273432862924592517102957393001859536703931994623661750741101190218138,3350943248628802926897738367741621493353140700021844932064482284641731428911,309192541904986256913140221598968914758588042854711396595331496558005961948,45623761289038980535364171584678005170679478994265782745909324616036948664,2824140692392739526707059261844583902756484974784129979795642620866370919918,23481027551383769451451418898613599265770069753327660919989838493859735656,1430922163228027798315450842140982331824993251131927936411029443435583108750,20248410842222242730520454100250401915275107867006996448668123551129216355,955356979208456718361916825820850348201348742298112600704873627399695969528,2333169617273408052326914091014046939551895369338939918394679497994868725997,2717082904464027406062081279044459891513445883604797201990402098670812917257,2252687441960727439393837645416374845824014585832068299816825691138484629048,2333679692137401938889661184051207789845552493787844944863809663551149715510,1455901546065727086688932327996885709905749983729978813217866475258201557781,2584093248230619166662883977807668101444244374232117807174687685948279728983,1598736561217292952553123220189895017730713661436191788066397858590933161798,2464544347864558591293780224216722053439270723195033446712781540265012443411,2119991392935749958327998698250009564567733214164867427900314958045022172584,0,1952249918150381056125790703534449300924352170571209836314481560289041138814,64,581169180,149488573,996001654,317764375,1858656734,1920217849,1505781267,1128222652,1158661957,1850633293,1268344224,652057501,1646425151,1434835783,1575710390,678236461,1582962045,921271969,24127677,131488096,1786535976,608749331,2036687813,1438933896,783468783,1453994155,1317096985,2003346496,716687841,1633830489,81199644,359711280,1511699055,2023478609,1839850547,1830038744,1061356575,451444856,464232817,617579768,555759271,1037205067,1011155110,471067122,1166527303,1148990215,937680811,16412277,1077376140,1749512131,528624442,2124118431,1798979945,1016873005,748249636,1056802879,968197827,224218830,2109006109,1948577240,1704703356,1632195105,1776409014,1749946111,1025346486,966782348,1373562679,195187514,1263413584,1107055935,1928909753,992464702,1871245828,1720722960,2136354660,1132223845,1010448132,823553379,707447774,1016060160,180148072,1972258271,2128006027,966703265,746544076,16296729,1528455427,637040310,1509687741,2004297891,2036401467,1956079938,967616739,655112787,1143472004,1056917335,106553431,1506139674,1052618616,74324869,268521500,796703459,1028192154,453439125,290044676,1525677093,629301815,943489640,1162714681,357616335,1817654466,2094802941,297536090,1313602693,1642331635,1114976125,866595342,1524111429,697655011,200319560,517721619,719359938,1411736661,779629036,1916040413,1626494207,1401725005,1568765999,2135165687,1441327261,1851387858,1955345622,1786285860,311131708,1114515882,1588259379,1349667327,1337993572,445984530,967401621,1289447189,174400243,1519222889,290765109,1102952380,1618369214,2121629233,1637195180,1617973114,1587783895,762084752,30392840,1048658363,1395178277,1846269818,1457048380,163559380,925090718,22408907,766873290,669856434,1589998639,1581764686,1030768254,1846623107,1398235075,1653467193,1875620051,1407507789,896316062,643938893,761158054,1934288372,50046672,1636125920,722768012,2028341955,247916183,843359446,1568795297,1905636483,1407008285,18928991,767350715,1701494593,1020623991,531347048,1745492148,1853961770,1535685870,241647489,936406532,2104612589,1104649451,1653513786,2044848328,1347689085,2002224409,731092492,1412265653,1154497324,173980909,1508880248,738409844,450569,902554955,1703846010,1043642182,898742486,1688846119,1834647663,1960618948,659015877,815848463,372018530,2001443025,977455297,1706691459,846265995,1604394101,1456857203,670311755,356741496,1398680701,1219744735,523843014,1028666297,96388562,702357440,1242930395,1213449789,1297944323,967522678,373768759,822322511,724255818,2125401661,1588389396,1801446739,1539606440,998494592,913634073,156638188,962948284,1595265888,2013897514,2098931707,1528898898,354413092,543778379,769667747,260335918,1428568996,2039337385,1684438017,1056292019,6].span(); + Serde::deserialize(ref proof_data).unwrap() +} \ No newline at end of file