From f2bc0069555f1f2d31809ffe0c6a163ae0b7c48b Mon Sep 17 00:00:00 2001 From: Gunj Joshi Date: Sat, 29 Aug 2026 21:41:01 +0530 Subject: [PATCH] feat: add fft/base/fftpack/float64/cosqi --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: passed - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../fft/base/fftpack/float64/cosqi/README.md | 175 ++++++++++ .../float64/cosqi/benchmark/benchmark.js | 101 ++++++ .../base/fftpack/float64/cosqi/docs/repl.txt | 61 ++++ .../float64/cosqi/docs/types/index.d.ts | 60 ++++ .../fftpack/float64/cosqi/docs/types/test.ts | 95 ++++++ .../fftpack/float64/cosqi/examples/index.js | 45 +++ .../base/fftpack/float64/cosqi/lib/index.js | 56 ++++ .../base/fftpack/float64/cosqi/lib/main.js | 191 +++++++++++ .../base/fftpack/float64/cosqi/package.json | 66 ++++ .../cosqi/test/fixtures/c/fftpack/Makefile | 137 ++++++++ .../cosqi/test/fixtures/c/fftpack/large.json | 1 + .../cosqi/test/fixtures/c/fftpack/medium.json | 1 + .../cosqi/test/fixtures/c/fftpack/runner.c | 304 +++++++++++++++++ .../cosqi/test/fixtures/c/fftpack/small.json | 1 + .../base/fftpack/float64/cosqi/test/test.js | 314 ++++++++++++++++++ 15 files changed, 1608 insertions(+) create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/README.md create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/examples/index.js create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/index.js create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/main.js create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/package.json create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/Makefile create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/large.json create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/medium.json create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/runner.c create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/small.json create mode 100644 lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/test.js diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/README.md b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/README.md new file mode 100644 index 000000000000..a04c7a76ca2e --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/README.md @@ -0,0 +1,175 @@ + + +# cosqi + +> Initialize a double-precision floating-point workspace array for performing a quarter-wave cosine transform. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var cosqi = require( '@stdlib/fft/base/fftpack/float64/cosqi' ); +``` + +#### cosqi( N, workspace, strideW, offsetW ) + +Initializes a double-precision floating-point workspace array for performing a quarter-wave cosine transform. + +```javascript +var Float64Array = require( '@stdlib/array/float64' ); + +var N = 8; +var workspace = new Float64Array( ( 3*N ) + 34 ); + +var out = cosqi( N, workspace, 1, 0 ); +// returns + +var bool = ( out === workspace ); +// returns true + +var cosineTable = workspace.slice( 0, N ); +// returns [ ~0.98, ~0.92, ~0.83, ~0.7, ~0.56, ~0.38, ~0.2, ~0.0 ] + +var twiddleFactors = workspace.slice( 2*N, 3*N ); +// returns [ ~0.707, ~0.707, 0, 0, 0, 0, 0, 0 ] + +var factors = workspace.slice( 3*N, ( 3*N ) + 4 ); +// returns [ 8, 2, 2, 4 ] +``` + +The function accepts the following arguments: + +- **N**: length of the sequence to transform. +- **workspace**: workspace [`Float64Array`][@stdlib/array/float64]. +- **strideW**: stride length for `workspace`. +- **offsetW**: starting index for `workspace`. + +
+ + + + + +
+ +## Notes + +- The workspace array is divided into four sections: + + ```text + size = N N N 2+ceil(log2(N)/2) + ↓ ↓ ↓ ↓ + | cosine table | scratch / workspace | twiddle factors | radix factor table | + ↑ ↑ ↑ ↑ + i = 0 ... N ... 2N ... 3N ... + ``` + + - **cosine table**: a table of precomputed cosine coefficients used by quarter-wave cosine transforms. + - **scratch/workspace**: used as a scratch space when performing transforms. This section is not updated during initialization. + - **twiddle factors**: a table of reusable complex-exponential constants stored as cosine/sine pairs. + - **radix factor table**: a table containing the sequence length `N`, the number of factors into which `N` was decomposed, and the individual integer radix factors. + +- In general, a workspace array should have `3N + 34` indexed elements (as `log2(N)/2 ≤ 32` for all `2^64`). During initialization, only the sections for storing the cosine coefficients, twiddle factors, and the factorization of `N` are updated. + +- The radix factor table is comprised as follows: + + ```text + | sequence_length | number_of_factors | integer_factors | + ``` + +
+ + + +
+ +## Examples + + + +```javascript +var Float64Array = require( '@stdlib/array/float64' ); +var zeroTo = require( '@stdlib/array/zero-to' ); +var logEach = require( '@stdlib/console/log-each' ); +var cosqi = require( '@stdlib/fft/base/fftpack/float64/cosqi' ); + +var N = 8; +var workspace = new Float64Array( ( 3*N ) + 34 ); + +cosqi( N, workspace, 1, 0 ); +console.log( 'Sequence length: %d', N ); + +console.log( 'Cosine table:' ); +var idx = zeroTo( N, 'float64' ); +logEach( ' workspace[ %d ] = %0.4f', idx, workspace.slice( 0, N ) ); + +console.log( 'Twiddle factors:' ); +idx = zeroTo( N, 'float64' ); +logEach( ' workspace[ %d ] = %0.4f', idx, workspace.slice( 2*N, 3*N ) ); + +console.log( 'Factorization:' ); +var nf = workspace[ (3*N)+1 ]; + +console.log( ' number of factors: %d', nf ); +idx = zeroTo( nf, 'float64' ); +logEach( ' factor[ %d ]: %d', idx, workspace.slice( (3*N)+2, (3*N)+2+nf ) ); +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/benchmark/benchmark.js b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/benchmark/benchmark.js new file mode 100644 index 000000000000..d8ee9c302270 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/benchmark/benchmark.js @@ -0,0 +1,101 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var format = require( '@stdlib/string/format' ); +var isnan = require( '@stdlib/math/base/assert/is-nan' ); +var Float64Array = require( '@stdlib/array/float64' ); +var pkg = require( './../package.json' ).name; +var cosqi = require( './../lib' ); + + +// FUNCTIONS // + +/** +* Creates a benchmark function. +* +* @private +* @param {PositiveInteger} N - sequence length +* @returns {Function} benchmark function +*/ +function createBenchmark( N ) { + var workspace = new Float64Array( ( 3*N ) + 34 ); + return benchmark; + + /** + * Benchmark function. + * + * @private + * @param {Benchmark} b - benchmark instance + */ + function benchmark( b ) { + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + cosqi( N, workspace, 1, 0 ); + if ( isnan( workspace[ 2*N ] ) ) { + b.fail( 'should not return NaN' ); + } + } + b.toc(); + if ( isnan( workspace[ 2*N ] ) ) { + b.fail( 'should not return NaN' ); + } + b.pass( 'benchmark finished' ); + b.end(); + } +} + + +// MAIN // + +/** +* Main execution sequence. +* +* @private +*/ +function main() { + var lengths; + var N; + var f; + var i; + + lengths = [ + 8, + 16, + 32, + 64, + 128, + 256, + 512, + 1024 + ]; + + for ( i = 0; i < lengths.length; i++ ) { + N = lengths[ i ]; + f = createBenchmark( N ); + bench( format( '%s:N=%d', pkg, N ), f ); + } +} + +main(); diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/repl.txt b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/repl.txt new file mode 100644 index 000000000000..366f57f3c073 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/repl.txt @@ -0,0 +1,61 @@ + +{{alias}}( N, workspace, strideW, offsetW ) + Initializes a double-precision floating-point workspace array for performing + a quarter-wave cosine transform. + + The workspace array is divided into four sections: + + 1. cosine table: the section ranges from indices 0 to N-1 and is used to + store a table of precomputed cosine coefficients used by quarter-wave + cosine transforms. + + 2. scratch/workspace: the section ranges from indices N to 2N-1 and is used + while performing transforms. This section is not updated during + initialization. + + 3. twiddle factors: the section ranges from indices 2N to 3N-1 and stores a + table of reusable complex exponential constants as cosine/sine pairs. + + 4. radix factor table: the section starts at index 3N and stores the + sequence length N, the number of factors into which N was decomposed, and + the individual integer radix factors. + + Any remaining array space remains as unused storage. + + Parameters + ---------- + N: integer + Length of the sequence. + + workspace: Float64Array + Workspace array. + + strideW: integer + Stride length for `workspace`. + + offsetW: integer + Starting index for `workspace`. + + Returns + ------- + out: Float64Array + Workspace array. + + Examples + -------- + > var N = 8; + > var workspace = new {{alias:@stdlib/array/float64}}( ( 3*N ) + 34 ); + > var out = {{alias}}( N, workspace, 1, 0 ) + + > var bool = ( out === workspace ) + true + > var cosineTable = workspace.slice( 0, N ) + [ ~0.98, ~0.92, ~0.83, ~0.7, ~0.56, ~0.38, ~0.2, ~0.0 ] + > var twiddleFactors = workspace.slice( 2*N, 3*N ) + [ ~0.707, ~0.707, 0, 0, 0, 0, 0, 0 ] + > var factors = workspace.slice( 3*N, ( 3*N ) + 4 ) + [ 8, 2, 2, 4 ] + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/index.d.ts b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/index.d.ts new file mode 100644 index 000000000000..5d2481be6bca --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/index.d.ts @@ -0,0 +1,60 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Initializes a double-precision floating-point workspace array for performing a quarter-wave cosine transform. +* +* ## Notes +* +* - The workspace array should have a length of at least `( 3*N ) + 34` elements. +* +* @param N - length of the sequence +* @param workspace - workspace array +* @param strideW - stride length for `workspace` +* @param offsetW - starting index for `workspace` +* @returns workspace array +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var N = 8; +* var workspace = new Float64Array( ( 3*N ) + 34 ); +* +* var out = cosqi( N, workspace, 1, 0 ); +* // returns +* +* var bool = ( out === workspace ); +* // returns true +* +* var cosineTable = workspace.slice( 0, N ); +* // returns [ ~0.98, ~0.92, ~0.83, ~0.7, ~0.56, ~0.38, ~0.2, ~0.0 ] +* +* var twiddleFactors = workspace.slice( 2*N, 3*N ); +* // returns [ ~0.707, ~0.707, 0, 0, 0, 0, 0, 0 ] +* +* var factors = workspace.slice( 3*N, ( 3*N ) + 4 ); +* // returns [ 8, 2, 2, 4 ] +*/ +declare function cosqi( N: number, workspace: Float64Array, strideW: number, offsetW: number ): Float64Array; + + +// EXPORTS // + +export = cosqi; diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/test.ts b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/test.ts new file mode 100644 index 000000000000..17af8f0cc742 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/docs/types/test.ts @@ -0,0 +1,95 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import cosqi = require( './index' ); + + +// TESTS // + +// The function returns a Float64Array... +{ + const workspace = new Float64Array( ( 3*8 ) + 34 ); + + cosqi( 8, workspace, 1, 0 ); // $ExpectType Float64Array +} + +// The compiler throws an error if the function is provided a first argument which is not a number... +{ + const workspace = new Float64Array( ( 3*8 ) + 34 ); + + cosqi( '8', workspace, 1, 0 ); // $ExpectError + cosqi( true, workspace, 1, 0 ); // $ExpectError + cosqi( false, workspace, 1, 0 ); // $ExpectError + cosqi( null, workspace, 1, 0 ); // $ExpectError + cosqi( void 0, workspace, 1, 0 ); // $ExpectError + cosqi( [], workspace, 1, 0 ); // $ExpectError + cosqi( {}, workspace, 1, 0 ); // $ExpectError + cosqi( ( x: number ): number => x, workspace, 1, 0 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a second argument which is not a Float64Array... +{ + cosqi( 8, '50', 1, 0 ); // $ExpectError + cosqi( 8, 50, 1, 0 ); // $ExpectError + cosqi( 8, true, 1, 0 ); // $ExpectError + cosqi( 8, false, 1, 0 ); // $ExpectError + cosqi( 8, null, 1, 0 ); // $ExpectError + cosqi( 8, void 0, 1, 0 ); // $ExpectError + cosqi( 8, [], 1, 0 ); // $ExpectError + cosqi( 8, {}, 1, 0 ); // $ExpectError + cosqi( 8, ( x: number ): number => x, 1, 0 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a third argument which is not a number... +{ + const workspace = new Float64Array( ( 3*8 ) + 34 ); + + cosqi( 8, workspace, '1', 0 ); // $ExpectError + cosqi( 8, workspace, true, 0 ); // $ExpectError + cosqi( 8, workspace, false, 0 ); // $ExpectError + cosqi( 8, workspace, null, 0 ); // $ExpectError + cosqi( 8, workspace, void 0, 0 ); // $ExpectError + cosqi( 8, workspace, [], 0 ); // $ExpectError + cosqi( 8, workspace, {}, 0 ); // $ExpectError + cosqi( 8, workspace, ( x: number ): number => x, 0 ); // $ExpectError +} + +// The compiler throws an error if the function is provided a fourth argument which is not a number... +{ + const workspace = new Float64Array( ( 3*8 ) + 34 ); + + cosqi( 8, workspace, 1, '0' ); // $ExpectError + cosqi( 8, workspace, 1, true ); // $ExpectError + cosqi( 8, workspace, 1, false ); // $ExpectError + cosqi( 8, workspace, 1, null ); // $ExpectError + cosqi( 8, workspace, 1, void 0 ); // $ExpectError + cosqi( 8, workspace, 1, [] ); // $ExpectError + cosqi( 8, workspace, 1, {} ); // $ExpectError + cosqi( 8, workspace, 1, ( x: number ): number => x ); // $ExpectError +} + +// The compiler throws an error if the function is provided an unsupported number of arguments... +{ + const workspace = new Float64Array( ( 3*8 ) + 34 ); + + cosqi(); // $ExpectError + cosqi( 8 ); // $ExpectError + cosqi( 8, workspace ); // $ExpectError + cosqi( 8, workspace, 1 ); // $ExpectError + cosqi( 8, workspace, 1, 0, 123 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/examples/index.js b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/examples/index.js new file mode 100644 index 000000000000..d8d881c29754 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/examples/index.js @@ -0,0 +1,45 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var Float64Array = require( '@stdlib/array/float64' ); +var zeroTo = require( '@stdlib/array/zero-to' ); +var logEach = require( '@stdlib/console/log-each' ); +var cosqi = require( './../lib' ); + +var N = 8; +var workspace = new Float64Array( ( 3*N ) + 34 ); + +cosqi( N, workspace, 1, 0 ); +console.log( 'Sequence length: %d', N ); + +console.log( 'Cosine table:' ); +var idx = zeroTo( N, 'float64' ); +logEach( ' workspace[ %d ] = %0.4f', idx, workspace.slice( 0, N ) ); + +console.log( 'Twiddle factors:' ); +idx = zeroTo( N, 'float64' ); +logEach( ' workspace[ %d ] = %0.4f', idx, workspace.slice( 2*N, 3*N ) ); + +console.log( 'Factorization:' ); +var nf = workspace[ (3*N)+1 ]; + +console.log( ' number of factors: %d', nf ); +idx = zeroTo( nf, 'float64' ); +logEach( ' factor[ %d ]: %d', idx, workspace.slice( (3*N)+2, (3*N)+2+nf ) ); diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/index.js b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/index.js new file mode 100644 index 000000000000..defb9ba75b5a --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/index.js @@ -0,0 +1,56 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Initialize a double-precision floating-point workspace array for performing a quarter-wave cosine transform. +* +* @module @stdlib/fft/base/fftpack/float64/cosqi +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* var cosqi = require( '@stdlib/fft/base/fftpack/float64/cosqi' ); +* +* var N = 8; +* var workspace = new Float64Array( ( 3*N ) + 34 ); +* +* var out = cosqi( N, workspace, 1, 0 ); +* // returns +* +* var bool = ( out === workspace ); +* // returns true +* +* var cosineTable = workspace.slice( 0, N ); +* // returns [ ~0.98, ~0.92, ~0.83, ~0.7, ~0.56, ~0.38, ~0.2, ~0.0 ] +* +* var twiddleFactors = workspace.slice( 2*N, 3*N ); +* // returns [ ~0.707, ~0.707, 0, 0, 0, 0, 0, 0 ] +* +* var factors = workspace.slice( 3*N, ( 3*N ) + 4 ); +* // returns [ 8, 2, 2, 4 ] +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/main.js b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/main.js new file mode 100644 index 000000000000..3dc5b1f22e26 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/lib/main.js @@ -0,0 +1,191 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +* +* +* ## Notice +* +* The original C code and copyright notice are from the [PFFFT library]{@link https://github.com/marton78/pffft/blob/0b4ee12c4ba45a4a8e567550c16d96d1679f50ce/src/fftpack.c}. The implementation follows the original, but has been modified for JavaScript. +* +* ```text +* Copyright (c) 2004 the University Corporation for Atmospheric +* Research ("UCAR"). All rights reserved. Developed by NCAR's +* Computational and Information Systems Laboratory, UCAR, +* www.cisl.ucar.edu. +* +* Redistribution and use of the Software in source and binary forms, +* with or without modification, is permitted provided that the +* following conditions are met: +* +* - Neither the names of NCAR's Computational and Information Systems +* Laboratory, the University Corporation for Atmospheric Research, +* nor the names of its sponsors or contributors may be used to +* endorse or promote products derived from this Software without +* specific prior written permission. +* +* - Redistributions of source code must retain the above copyright +* notices, this list of conditions, and the disclaimer below. +* +* - Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions, and the disclaimer below in the +* documentation and/or other materials provided with the +* distribution. +* +* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +* EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF +* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT +* HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES OR OTHER LIABILITY, WHETHER IN AN +* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +* SOFTWARE. +* ``` +*/ + +'use strict'; + +// MODULES // + +var cos = require( '@stdlib/math/base/special/cos' ); +var HALF_PI = require( '@stdlib/constants/float64/half-pi' ); +var rffti = require( '@stdlib/fft/base/fftpack/float64/rffti' ); + + +// MAIN // + +/** +* Initializes a double-precision floating-point workspace array for performing a quarter-wave cosine transform. +* +* ## Notes +* +* The workspace array is divided into four sections: +* +* ```text +* size = N N N 2+ceil(log2(N)/2) +* ↓ ↓ ↓ ↓ +* | cosine table | scratch/workspace | twiddle factors | radix factor table | +* ↑ ↑ ↑ ↑ +* i = 0 ... N ... 2N ... 3N ... +* ``` +* +* where +* +* - **cosine table**: a table of precomputed cosine coefficients used by quarter-wave cosine transforms. +* - **scratch/workspace**: used as a scratch space when performing transforms. This section is not updated during initialization. +* - **twiddle factors**: a table of reusable complex-exponential constants stored as cosine/sine pairs. +* - **radix factor table**: a table containing the radix factorization of `N`. +* +* In general, a workspace array should have `3N + 34` indexed elements (as `log2(N)/2 ≤ 32` for all `2^64`). During initialization, only the sections for storing the cosine coefficients, twiddle factors, and the factorization of `N` are updated. +* +* > Note: FFTPACK only requires `3N+15`, but we increase that number here to accommodate larger workspace arrays, where `N` may exceed `2^30` indexed elements. +* +* The factorization section is comprised as follows: +* +* ```text +* | sequence_length | number_of_factors | integer_factors | +* ``` +* +* The sequence length and number of factors (`nf`) comprise a single element each. Only the first `nf` elements in the integer factors section are written to, with the rest being unused. +* +* As for twiddle factors, these are small, reusable complex-exponential constants that appear inside each "butterfly" stage of a Cooley–Tukey–style FFT. Every arithmetic step in an FFT multiplies one intermediate value by some +* +* ```tex +* W_N^k +* ``` +* +* where `W_N^k` is an N-th root of unity. Formally, in a forward FFT, +* +* ```tex +* W_N^k = e^{-2\pi ik/N} +* ``` +* +* In a backward FFT, +* +* ```tex +* W_N^k = e^{+2\pi ik/N} +* ``` +* +* As may be observed, `W_N^k` for forward and backward FFTs is the same, except the sign of the exponent is flipped. As a consequence, both forward and backward FFT callers can reuse the same set of twiddle factors, with those performing a forward transform (e.g., `cosqf`) multiplying with `(cos,-sin)` and those performing a backward transform (e.g., `cosqb`) multiplying with `(cos,+sin)`. +* +* Because these constants only depend on the transform length `N` (and **not** on the input data), we can pre-compute and store them once, then "twiddle" them (i.e., reuse them with different indices) as we proceed through the factorization. +* +* > As a quick aside regarding the name "twiddle", early FFT papers (notably Gentleman & Sande, 1966) described how you "twiddle" one branch of each butterfly by a complex rotation before adding/subtracting. The coefficients themselves inherited the nickname "twiddle factors," and the term stuck. +* +* By reusing the workspace array when computing multiple transforms of the same length `N`, every subsequent `*f` (forward) or `*b` (backward) call can simply look up the pre-stored twiddle factors instead of recomputing sine and cosine on-the-fly. +* +* In short, twiddle factors are cached roots of unity that allow each stage of the algorithm to rotate data quickly and predictably. +* +* During initialization, `cosqi` first writes the cosine table, and then initializes the remaining three sections using `rffti`. +* +* @param {PositiveInteger} N - length of the sequence to transform +* @param {Float64Array} workspace - workspace array +* @param {integer} strideW - stride length for `workspace` +* @param {NonNegativeInteger} offsetW - starting index for `workspace` +* @returns {Float64Array} workspace array +* +* @example +* var Float64Array = require( '@stdlib/array/float64' ); +* +* var N = 8; +* var workspace = new Float64Array( ( 3*N ) + 34 ); +* +* var out = cosqi( N, workspace, 1, 0 ); +* // returns +* +* var bool = ( out === workspace ); +* // returns true +* +* var cosineTable = workspace.slice( 0, N ); +* // returns [ ~0.98, ~0.92, ~0.83, ~0.7, ~0.56, ~0.38, ~0.2, ~0.0 ] +* +* var twiddleFactors = workspace.slice( 2*N, 3*N ); +* // returns [ ~0.707, ~0.707, 0, 0, 0, 0, 0, 0 ] +* +* var factors = workspace.slice( 3*N, ( 3*N ) + 4 ); +* // returns [ 8, 2, 2, 4 ] +*/ +function cosqi( N, workspace, strideW, offsetW ) { + var offsetR; + var dt; + var iw; + var fk; + var i; + + // Compute the angular increment: + dt = HALF_PI / N; + + // Compute and store the cosine table: + fk = 0.0; + iw = offsetW; + for ( i = 0; i < N; i++ ) { + fk += 1.0; + workspace[ iw ] = cos( fk*dt ); + iw += strideW; + } + // Resolve the starting index for the `rffti` workspace: + offsetR = offsetW + ( N*strideW ); + + // Initialize the real FFT workspace: + rffti( N, workspace, strideW, offsetR ); + + return workspace; +} + + +// EXPORTS // + +module.exports = cosqi; diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/package.json b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/package.json new file mode 100644 index 000000000000..c468cb7f59ac --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/package.json @@ -0,0 +1,66 @@ +{ + "name": "@stdlib/fft/base/fftpack/float64/cosqi", + "version": "0.0.0", + "description": "Initialize a double-precision floating-point workspace array for performing a quarter-wave cosine transform.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "fft", + "fftpack", + "cosqi", + "fourier", + "transform", + "twiddle", + "workspace", + "initialization", + "cosine", + "double", + "float64" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/Makefile b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/Makefile new file mode 100644 index 000000000000..7ce16281940d --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/Makefile @@ -0,0 +1,137 @@ +#/ +# @license Apache-2.0 +# +# Copyright (c) 2026 The Stdlib Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +#/ + +# VARIABLES # + +ifndef VERBOSE + QUIET := @ +endif + +# Specify the path to FFTPACK: +FFTPACK ?= + +# Specify a list of FFTPACK source files: +FFTPACK_SRC ?= + +# Determine the OS: +# +# [1]: https://en.wikipedia.org/wiki/Uname#Examples +# [2]: http://stackoverflow.com/a/27776822/2225624 +OS ?= $(shell uname) +ifneq (, $(findstring MINGW,$(OS))) + OS := WINNT +else +ifneq (, $(findstring MSYS,$(OS))) + OS := WINNT +else +ifneq (, $(findstring CYGWIN,$(OS))) + OS := WINNT +endif +endif +endif + +# Define the program used for compiling C source files: +ifdef C_COMPILER + CC := $(C_COMPILER) +else + CC := gcc +endif + +# Define the command-line options when compiling C files: +CFLAGS ?= \ + -std=c99 \ + -O3 \ + -Wall \ + -pedantic + +# Determine whether to generate [position independent code][1]: +# +# [1]: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html#Code-Gen-Options +# [2]: http://stackoverflow.com/questions/5311515/gcc-fpic-option +ifeq ($(OS), WINNT) + fPIC ?= +else + fPIC ?= -fPIC +endif + +# List of C targets: +c_targets := runner.out + + +# RULES # + +#/ +# Compiles C source files. +# +# @param {string} [C_COMPILER] - C compiler +# @param {string} [CFLAGS] - C compiler flags +# @param {(string|void)} [fPIC] - flag indicating whether to generate position independent code +# +# @example +# make +# +# @example +# make all +#/ +all: $(c_targets) + +.PHONY: all + +#/ +# Compiles C source files. +# +# @private +# @param {string} CC - C compiler +# @param {string} CFLAGS - C compiler flags +# @param {(string|void)} fPIC - flag indicating whether to generate position independent code +#/ +$(c_targets): %.out: %.c + $(QUIET) $(CC) $(CFLAGS) -DFFTPACK_DOUBLE_PRECISION $(fPIC) -o $@ $(FFTPACK_SRC) $< -lm + +#/ +# Generates test fixtures. +# +# @example +# make run +#/ +run: $(c_targets) + $(QUIET) ./$< + +.PHONY: run + +#/ +# Removes generated files. +# +# @example +# make clean +#/ +clean: + $(QUIET) -rm -f *.o *.out + +.PHONY: clean + +#/ +# Removes generated test fixtures. +# +# @example +# make clean-fixtures +#/ +clean-fixtures: + $(QUIET) -rm -f *.json + +.PHONY: clean-fixtures diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/large.json b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/large.json new file mode 100644 index 000000000000..59059ed184c3 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/large.json @@ -0,0 +1 @@ +{"lengths":[443,995,298,775,633,782,785,699,495,175],"offsets":[0,443,1438,1736,2511,3144,3926,4711,5410,5905],"cosines":[0.99999371360232381,0.99997485448833301,0.99994342289513916,0.99989941921792547,0.99984284400994106,0.99977369798249438,0.99969198200494447,0.99959769710468938,0.99949084446715397,0.99937142543577462,0.99923944151198241,0.99909489435518395,0.99893778578274139,0.99876811776994834,0.99858589245000628,0.99839111211399678,0.99818377921085311,0.99796389634732929,0.99773146628796783,0.99748649195506423,0.99722897642863051,0.9969589229463568,0.99667633490357022,0.9963812158531925,0.99607356950569492,0.99575339972905208,0.99542071054869308,0.99507550614745099,0.99471779086550993,0.99434756920035117,0.99396484580669564,0.99356962549644645,0.99316191323862768,0.99274171415932211,0.9923090335416066,0.99186387682548616,0.99140624960782509,0.99093615764227672,0.99045360683921113,0.98995860326564078,0.98945115314514431,0.98893126285778832,0.98839893894004682,0.9878541880847197,0.98729701714084772,0.98672743311362743,0.98614544316432207,0.98555105461017223,0.98494427492430348,0.98432511173563275,0.98369357282877201,0.98304966614393074,0.98239339977681583,0.98172478197853019,0.9810438211554684,0.98035052586921156,0.97964490483641942,0.97892696692872094,0.97819672117260237,0.97745417674929413,0.97669934299465544,0.97593222939905666,0.97515284560725979,0.97436120141829796,0.97355730678535146,0.97274117181562292,0.97191280677021052,0.97107222206397825,0.97021942826542573,0.96935443609655469,0.96847725643273486,0.96758790030256658,0.96668637888774234,0.96577270352290656,0.96484688569551247,0.96390893704567826,0.96295886936604036,0.9619966946016052,0.96102242484959921,0.96003607235931665,0.95903764953196557,0.95802716892051165,0.95700464322952095,0.95597008531499983,0.95492350818423311,0.95386492499562081,0.95279434905851279,0.95171179383304128,0.95061727292995157,0.94951080011043099,0.94839238928593572,0.94726205451801626,0.94611981001814038,0.94496567014751442,0.94379964941690275,0.94262176248644536,0.94143202416547367,0.94023044941232403,0.93901705333414986,0.93779185118673181,0.93655485837428576,0.93530609044926916,0.93404556311218567,0.93277329221138727,0.93148929374287592,0.93019358385010154,0.92888617882375935,0.92756709510158519,0.9262363492681488,0.92489395805464514,0.92353993833868442,0.92217430714407922,0.92079708164063112,0.91940827914391454,0.91800791711505914,0.91659601316053008,0.91517258503190679,0.91373765062565981,0.91229122798292595,0.91083333528928079,0.90936399087451114,0.90788321321238341,0.90639102092041213,0.90488743275962569,0.90337246763433032,0.90184614459187251,0.90030848282239939,0.89875950165861784,0.89719922057555113,0.89562765919029375,0.89404483726176553,0.89245077469046263,0.89084549151820758,0.88922900792789705,0.88760134424324866,0.88596252092854455,0.8843125585883751,0.88265147796737908,0.88097929994998303,0.87929604556013918,0.8776017359610605,0.87589639245495465,0.87418003648275666,0.87245268962385891,0.87071437359583992,0.86896511025419143,0.86720492159204343,0.86543382973988781,0.86365185696529978,0.8618590256726586,0.86005535840286518,0.8582408778330588,0.85641560677633244,0.85457956818144554,0.8527327851325357,0.85087528084882813,0.84900707868434422,0.84712820212760731,0.84523867480134784,0.84333852046220625,0.84142776300043431,0.83950642643959428,0.83757453493625778,0.83563211277970117,0.83367918439160082,0.83171577432572552,0.82974190726762853,0.82775760803433607,0.82576290157403653,0.82375781296576611,0.82174236741909323,0.8197165902738025,0.81768050699957551,0.8156341431956704,0.8135775245906004,0.81151067704181068,0.80943362653535222,0.80734639918555606,0.80524902123470465,0.80314151905270148,0.80102391913674031,0.7988962481109716,0.79675853272616759,0.79461079985938654,0.79245307651363406,0.79028538981752428,0.78810776702493845,0.78592023551468226,0.7837228227901416,0.78151555647893722,0.77929846433257655,0.7770715742261054,0.7748349141577574,0.77258851224860203,0.77033239674219045,0.76806659600420146,0.76579113852208403,0.76350605290469931,0.76121136788196109,0.75890711230447483,0.75659331514317396,0.75427000548895695,0.7519372125523206,0.749594965662993,0.74724329426956504,0.74488222793911996,0.74251179635686126,0.74013202932574029,0.73774295676608104,0.73534460871520368,0.73293701532704758,0.73052020687179176,0.72809421373547401,0.72565906641960987,0.72321479554080814,0.72076143183038621,0.71829900613398412,0.71582754941117621,0.7133470927350819,0.71085766729197553,0.70835930438089367,0.70585203541324193,0.70333589191239987,0.70081090551332503,0.69827710796215436,0.69573453111580608,0.69318320694157864,0.69062316751674868,0.68805444502816793,0.68547707177185857,0.68289108015260724,0.68029650268355712,0.67769337198579993,0.67508172078796524,0.67246158192580885,0.66983298834180072,0.66719597308471001,0.66455056930918965,0.66189681027536018,0.65923472934839089,0.65656435999808027,0.65388573579843579,0.65119889042725143,0.64850385766568397,0.64580067139782882,0.64308936561029406,0.64036997439177201,0.63764253193261222,0.6349070725243906,0.63216363055947833,0.62941224053060996,0.62665293703044911,0.62388575475115404,0.62111072848394122,0.61832789311864822,0.6155372836432943,0.61273893514364142,0.60993288280275271,0.60711916190054971,0.60429780781336973,0.6014688560135204,0.59863234206883353,0.59578830164221852,0.59293677049121374,0.59007778446753667,0.5872113795166336,0.58433759167722732,0.58145645708086413,0.5785680119514599,0.57567229260484398,0.57276933544830322,0.56985917698012367,0.56694185378913242,0.56401740255423671,0.56108586004396366,0.55814726311599727,0.55520164871671507,0.55224905388072443,0.54928951573039586,0.54632307147539683,0.54334975841222377,0.54036961392373373,0.53738267547867291,0.53438898063120777,0.53138856702045045,0.52838147236998745,0.52536773448740426,0.5223473912638108,0.51932048067336412,0.51628704077279186,0.51324710970091281,0.51020072567815822,0.50714792700609113,0.50408875206692438,0.5010232393230386,0.49795142731649822,0.49487335466856663,0.49178906007922146,0.48869858232666746,0.48560196026684888,0.48249923283296114,0.47939043903496159,0.47627561795907802,0.47315480876731858,0.47002805069697851,0.46689538306014722,0.4637568452432137,0.46061247670637201,0.45746231698312373,0.45430640567978264,0.45114478247497569,0.44797748711914442,0.44480455943404518,0.44162603931224859,0.43844196671663732,0.4352523816799046,0.43205732430405047,0.4288568347598774,0.42565095328648545,0.42243972019076631,0.41922317584689672,0.41600136069583005,0.41277431524478914,0.40954208006675591,0.40630469579996187,0.40306220314737684,0.39981464287619761,0.39656205581733445,0.39330448286489905,0.39004196497568938,0.38677454316867527,0.38350225852448244,0.38022515218487624,0.37694326535224365,0.37365663928907633,0.37036531531745115,0.36706933481851095,0.36376873923194397,0.36046357005546326,0.35715386884428407,0.35383967721060267,0.35052103682307212,0.34719798940627894,0.3438705767402182,0.34053884065976869,0.33720282305416577,0.33386256586647645,0.33051811109307067,0.32716950078309387,0.32381677703793821,0.32045998201071346,0.31709915790571602,0.31373434697789987,0.31036559153234422,0.30699293392372179,0.30361641655576654,0.30023608188074058,0.29685197239889949,0.29346413065795957,0.29007259925256162,0.28667742082373593,0.28327863805836612,0.27987629368865252,0.27647043049157422,0.27306109128835238,0.26964831894391111,0.26623215636633868,0.262812646506348,0.25938983235673707,0.2559637569518472,0.25253446336702357,0.24910199471807265,0.24566639416072028,0.24222770489006917,0.23878597014005606,0.23534123318290714,0.23189353732859547,0.22844292592429546,0.22498944235383811,0.2215331300371656,0.21807403242978562,0.21461219302222401,0.21114765533947943,0.20768046294047518,0.20421065941751168,0.20073828839571856,0.19726339353250608,0.19378601851701643,0.19030620706957363,0.18682400294113505,0.18333944991274059,0.17985259179496241,0.17636347242735398,0.17287213567789933,0.16937862544246046,0.16588298564422685,0.1623852602331623,0.15888549318545261,0.15538372850295268,0.15188001021263339,0.14837438236602737,0.14486688903867637,0.14135757432957613,0.13784648236062236,0.13433365727605584,0.13081914324190769,0.12730298444544316,0.12378522509460746,0.12026590941746902,0.11674508166166361,0.11322278609383808,0.109699066999094,0.10617396868042997,0.10264753545818599,0.099119811669485275,0.095590841667677076,0.092060669821779031,0.088529340515919555,0.084996898148778866,0.081463387133032181,0.077928851894790374,0.074393336873041643,0.070856886519092832,0.067319545296010738,0.0637813576780622,0.060242368150156295,0.056702621207284101,0.053162161353959521,0.049621033103659756,0.04607928097826583,0.042536949507501962,0.038994083228377024,0.035450726684623707,0.03190692442613869,0.028362721008422544,0.024818160992019746,0.021273288941957555,0.017728149427187024,0.014182787020021773,0.010637246295577793,0.0070915718312130251,0.0035458082059671202,6.123233995736766e-17,0.99999875386955495,0.9999950154813253,0.99998878484462816,0.99998006197499201,0.99996884689415633,0.9999551396300721,0.99993894021690155,0.99992024869501761,0.99989906511100446,0.99987538951765731,0.99984922197398174,0.99982056254519414,0.99978941130272125,0.99975576832420021,0.99971963369347794,0.99968100750061151,0.99963988984186747,0.99959628081972163,0.99955018054285905,0.99950158912617382,0.99945050669076818,0.99939693336395308,0.99934086927924726,0.99928231457637684,0.99922126940127565,0.99915773390608398,0.99909170824914895,0.9990231925950237,0.9989521871144672,0.99887869198444357,0.99880270738812194,0.99872423351487549,0.9986432705602819,0.99855981872612176,0.99847387822037881,0.99838544925723938,0.9982945320570914,0.99820112684652429,0.99810523385832817,0.99800685333149342,0.9979059855112099,0.99780263064886665,0.99769678900205083,0.99758846083454755,0.99747764641633874,0.99736434602360302,0.99724855993871442,0.99713028845024199,0.99700953185294927,0.9968862904477932,0.99676056454192341,0.9966323544486817,0.99650166048760114,0.99636848298440506,0.99623282227100673,0.99609467868550783,0.99595405257219827,0.99581094428155514,0.99566535417024149,0.99551728260110595,0.99536672994318143,0.99521369657168446,0.99505818286801417,0.99490018921975121,0.99473971602065692,0.9945767636706726,0.99441133257591785,0.99424342314869008,0.99407303580746353,0.99390017097688776,0.99372482908778714,0.99354701057715944,0.9933667158881746,0.99318394547017419,0.99299869977866961,0.99281097927534168,0.99262078442803869,0.99242811571077583,0.99223297360373386,0.99203535859325775,0.99183527117185588,0.99163271183819801,0.9914276810971151,0.99122017945959695,0.99101020744279211,0.99079776557000543,0.99058285437069749,0.99036547438048317,0.99014562614113,0.98992331020055713,0.98969852711283401,0.98947127743817864,0.98924156174295663,0.98900938059967924,0.9887747345870026,0.98853762428972569,0.98829805029878925,0.98805601321127423,0.9878115136304001,0.98756455216552375,0.98731512943213739,0.98706324605186768,0.98680890265247367,0.98655209986784553,0.98629283833800274,0.98603111870909266,0.98576694163338885,0.98550030776928954,0.98523121778131595,0.9849596723401105,0.98468567212243518,0.98440921781117008,0.9841303100953116,0.98384894966997027,0.98356513723636996,0.98327887350184495,0.98299015917983956,0.98269899498990487,0.98240538165769808,0.98210931991498041,0.98181081049961472,0.98150985415556447,0.98120645163289133,0.98090060368775356,0.98059231108240408,0.9802815745851885,0.97996839497054311,0.97965277301899334,0.9793347095171514,0.97901420525771454,0.97869126103946291,0.9783658776672578,0.97803805595203952,0.97770779671082531,0.97737510076670719,0.97703996894885048,0.97670240209249093,0.97636240103893335,0.97601996663554891,0.9756750997357736,0.97532780119910567,0.97497807189110375,0.97462591268338439,0.97427132445362019,0.97391430808553781,0.97355486446891482,0.97319299449957875,0.97282869907940372,0.97246197911630927,0.97209283552425696,0.97172126922324908,0.97134728113932578,0.9709708722045628,0.9705920433570695,0.97021079554098633,0.96982712970648199,0.96944104680975218,0.96905254781301597,0.9686616336845143,0.96826830539850717,0.96787256393527132,0.9674744102810976,0.967073845428289,0.96667087037515731,0.96626548612602181,0.96585769369120567,0.96544749408703401,0.9650348883358314,0.96461987746591882,0.96420246251161168,0.96378264451321705,0.96336042451703086,0.96293580357533548,0.96250878274639706,0.96207936309446285,0.96164754568975874,0.96121333160848643,0.9607767219328206,0.96033771775090648,0.959896320156857,0.95945253025075017,0.95900634913862615,0.95855777793248476,0.95810681775028239,0.95765346971592957,0.95719773495928773,0.95673961461616686,0.95627910982832243,0.95581622174345249,0.95535095151519478,0.95488330030312429,0.95441326927274972,0.953940859595511,0.95346607244877635,0.95298890901583921,0.95250937048591544,0.95202745805413991,0.95154317292156432,0.95105651629515353,0.9505674893877829,0.95007609341823485,0.94958232961119649,0.94908619919725601,0.94858770341289989,0.94808684350050954,0.94758362070835866,0.94707803629060971,0.94657009150731097,0.94605978762439324,0.94554712591366707,0.9450321076528192,0.94451473412540932,0.94399500662086744,0.94347292643448999,0.94294849486743704,0.94242171322672885,0.94189258282524269,0.94136110498170966,0.94082728102071111,0.94029111227267559,0.93975260007387551,0.93921174576642386,0.9386685506982706,0.9381230162231996,0.93757514370082506,0.93702493449658819,0.93647238998175397,0.93591751153340752,0.93536030053445052,0.93480075837359833,0.93423888644537589,0.93367468615011462,0.93310815889394894,0.93253930608881241,0.93196812915243488,0.93139462950833807,0.93081880858583277,0.93024066782001502,0.92966020865176235,0.92907743252773056,0.9284923409003496,0.92790493522782069,0.92731521697411179,0.92672318760895478,0.92612884860784117,0.92553220145201898,0.9249332476284885,0.92433198862999877,0.92372842595504434,0.92312256110786073,0.92251439559842119,0.92190393094243284,0.92129116866133287,0.9206761102822848,0.92005875733817455,0.91943911136760659,0.91881717391490048,0.91819294653008665,0.91756643076890243,0.91693762819278879,0.91630654036888548,0.91567316887002825,0.91503751527474408,0.91439958116724751,0.91375936813743674,0.91311687778088968,0.91247211169886,0.91182507149827297,0.91117575879172141,0.9105241751974622,0.90987032233941156,0.90921420184714141,0.90855581535587515,0.90789516450648367,0.90723225094548132,0.90656707632502165,0.90589964230289333,0.90522995054251598,0.90455800271293629,0.90388380048882355,0.90320734555046545,0.90252863958376439,0.90184768428023265,0.90116448133698834,0.90047903245675165,0.89979133934783995,0.89910140372416369,0.89840922730522277,0.89771481181610113,0.89701815898746351,0.89631927055555038,0.89561814826217423,0.89491479385471451,0.89420920908611401,0.89350139571487408,0.89279135550505029,0.89207909022624798,0.89136460165361819,0.89064789156785273,0.88992896175518033,0.88920781400736137,0.88848445012168431,0.88775887190096059,0.88703108115352058,0.88630107969320859,0.88556886933937884,0.88483445191689036,0.88409782925610303,0.88335900319287286,0.88261797556854693,0.88187474822995948,0.88112932302942704,0.88038170182474351,0.87963188647917623,0.87887987886146035,0.87812568084579523,0.87736929431183908,0.87661072114470451,0.87584996323495357,0.87508702247859371,0.87432190077707217,0.87355460003727181,0.87278512217150639,0.87201346909751531,0.87123964273845955,0.87046364502291618,0.86968547788487405,0.86890514326372859,0.86812264310427723,0.86733797935671464,0.86655115397662741,0.86576216892498992,0.86497102616815846,0.86417772767786738,0.86338227543122337,0.86258467141070105,0.86178491760413767,0.86098301600472837,0.86017896861102128,0.85937277742691198,0.85856444446163949,0.8577539717297803,0.85694136125124398,0.85612661505126786,0.85530973516041187,0.85449072361455403,0.85366958245488467,0.85284631372790176,0.85202091948540581,0.85119340178449465,0.85036376268755809,0.84953200426227349,0.84869812858159965,0.84786213772377228,0.84702403377229896,0.84618381881595295,0.84534149494876965,0.84449706427003934,0.84365052888430414,0.8428018909013506,0.84195115243620633,0.84109831560913328,0.84024338254562347,0.83938635537639306,0.83852723623737735,0.8376660272697255,0.83680273061979471,0.83593734843914569,0.83506988288453654,0.83420033611791755,0.8333287103064263,0.83245500762238167,0.83157923024327873,0.83070138035178309,0.82982146013572589,0.82893947178809757,0.82805541750704348,0.82716929949585738,0.8262811199629766,0.82539088112197623,0.8244985851915636,0.82360423439557318,0.82270783096296041,0.82180937712779645,0.82090887512926258,0.82000632721164479,0.81910173562432809,0.81819510262179052,0.81728643046359817,0.81637572141439907,0.81546297774391785,0.81454820172694964,0.81363139564335518,0.8127125617780544,0.81179170242102072,0.81086881986727632,0.8099439164168849,0.80901699437494745,0.80808805605159528,0.80715710376198535,0.80622413982629337,0.80528916656970895,0.80435218632242944,0.803413201419654,0.80247221420157799,0.80152922701338702,0.80058424220525126,0.79963726213231934,0.79868828915471257,0.79773732563751931,0.79678437395078872,0.79582943646952509,0.79487251557368155,0.79391361364815483,0.79295273308277858,0.79198987627231787,0.79102504561646325,0.79005824351982412,0.78908947239192373,0.7881187346471924,0.78714603270496186,0.78617136898945905,0.78519474592980054,0.78421616595998533,0.78323563151889042,0.78225314505026322,0.78126870900271628,0.78028232582972123,0.77929399798960208,0.77830372794552993,0.77731151816551591,0.77631737112240562,0.7753212892938729,0.7743232751624135,0.77332333121533914,0.77232145994477075,0.77131766384763323,0.77031194542564807,0.76930430718532816,0.76829475163797079,0.76728328129965162,0.76626989869121898,0.76525460633828624,0.76423740677122731,0.76321830252516842,0.76219729613998366,0.7611743901602871,0.76014958713542724,0.75912288961948071,0.75809430017124557,0.75706382135423489,0.75603145573667097,0.75499720589147812,0.7539610743962768,0.75292306383337704,0.7518831767897719,0.75084141585713138,0.74979778363179539,0.74875228271476757,0.74770491571170916,0.7466556852329318,0.74560459389339184,0.74455164431268284,0.74349683911503006,0.74244018092928321,0.74138167238890995,0.74032131613199004,0.73925911480120765,0.73819507104384574,0.73712918751177903,0.73606146686146712,0.73499191175394862,0.73392052485483383,0.73284730883429849,0.73177226636707671,0.73069540013245515,0.72961671281426499,0.72853620710087674,0.72745388568519231,0.72636975126463943,0.72528380654116353,0.72419605422122213,0.72310649701577812,0.72201513764029202,0.72092197881471642,0.71982702326348802,0.71873027371552189,0.7176317329042039,0.71653140356738443,0.7154292884473713,0.71432539029092279,0.71321971184924138,0.71211225587796578,0.71100302513716551,0.70989202239133287,0.70877925040937662,0.70766471196461467,0.70654840983476774,0.70543034680195205,0.70431052565267216,0.70318894917781471,0.70206562017264063,0.7009405414367792,0.69981371577422002,0.69868514599330644,0.69755483490672909,0.6964227853315178,0.69528900008903571,0.69415348200497118,0.69301623390933176,0.69187725863643623,0.69073655902490816,0.68959413791766877,0.68844999816192909,0.68730414260918427,0.68615657411520514,0.68500729554003181,0.68385630974796618,0.68270361960756543,0.68154922799163375,0.68039313777721655,0.67923535184559203,0.67807587308226491,0.67691470437695866,0.67575184862360871,0.67458730872035499,0.67342108756953467,0.6722531880776752,0.67108361315548681,0.66991236571785517,0.66873944868383473,0.66756486497664047,0.66638861752364165,0.66521070925635362,0.66403114311043121,0.66284992202566106,0.66166704894595396,0.66048252681933861,0.65929635859795288,0.65810854723803769,0.65691909569992857,0.65572800694804934,0.65453528395090366,0.65334092968106872,0.65214494711518667,0.65094733923395809,0.64974810902213442,0.64854725946851022,0.64734479356591568,0.64614071431120967,0.64493502470527198,0.64372772775299536,0.64251882646327896,0.64130832384902015,0.64009622292710722,0.63888252671841195,0.63766723824778182,0.63645036054403292,0.63523189663994184,0.63401184957223866,0.63279022238159888,0.63156701811263605,0.63034223981389448,0.62911589053784112,0.62788797334085844,0.62665849128323625,0.6254274474291649,0.6241948448467266,0.6229606866078885,0.62172497578849528,0.6204877154682602,0.61924890873075911,0.61800855866342153,0.61676666835752336,0.61552324090817911,0.61427827941433477,0.61303178697875893,0.6117837667080358,0.61053422171255767,0.60928315510651665,0.60803057000789718,0.60677646953846798,0.60552085682377466,0.60426373499313157,0.60300510717961453,0.60174497652005232,0.60048334615501908,0.59922021922882718,0.5979555988895181,0.59668948828885593,0.59542189058231854,0.59415280892909006,0.59288224649205301,0.59161020643778062,0.59033669193652838,0.58906170616222686,0.58778525229247314,0.58650733350852324,0.5852279529952843,0.58394711394130627,0.58266481953877414,0.58138107298350028,0.58009587747491576,0.57880923621606339,0.57752115241358859,0.57623162927773242,0.57494067002232285,0.57364827786476735,0.57235445602604418,0.57105920773069474,0.56976253620681605,0.56846444468605162,0.56716493640358423,0.56586401459812752,0.56456168251191807,0.56325794339070712,0.56195280048375285,0.56064625704381188,0.55933831632713105,0.55802898159344017,0.55671825610594283,0.55540614313130898,0.55409264593966634,0.55277776780459276,0.55146151200310756,0.55014388181566332,0.54882488052613865,0.54750451142182854,0.54618277779343749,0.54485968293507037,0.543535230144225,0.54220942272178296,0.54088226397200234,0.53955375720250898,0.53822390572428869,0.53689271285167772,0.53556018190235621,0.53422631619733907,0.53289111906096776,0.53155459382090142,0.53021674380811001,0.52887757235686472,0.52753708280473,0.52619527849255576,0.52485216276446822,0.52350773896786251,0.52216201045339306,0.52081498057496667,0.51946665268973324,0.51811703015807742,0.5167661163436108,0.51541391461316299,0.51406042833677379,0.51270566088768366,0.51134961564232662,0.50999229598032136,0.50863370528446272,0.50727384694071276,0.50591272433819334,0.50455034086917749,0.50318669992907983,0.50182180491644934,0.50045565923296065,0.49908826628340541,0.4977196294756831,0.49634975222079403,0.49497863793282976,0.4936062900289645,0.49223271192944751,0.49085790705759363,0.48948187883977556,0.48810463070541421,0.48672616608697139,0.48534648841994082,0.48396560114283876,0.48258350769719682,0.48120021152755232,0.47981571608144052,0.47843002480938479,0.47704314116488955,0.47565506860443085,0.47426581058744721,0.47287537057633233,0.4714837520364254,0.47009095843600313,0.46869699324627007,0.46730185994135137,0.46590556199828348,0.46450810289700467,0.4631094861203478,0.46170971515403081,0.46030879348664833,0.4589067246096622,0.45750351201739414,0.45609915920701588,0.4546936696785413,0.45328704693481653,0.45187929448151271,0.45047041582711633,0.44906041448292017,0.44764929396301567,0.4462370577842833,0.44482370946638428,0.4434092525317509,0.44199369050557907,0.4405770269158189,0.43915926529316524,0.43774040917105006,0.43632046208563308,0.43489942757579308,0.43347730918311833,0.43205411045189912,0.43062983492911816,0.42920448616444129,0.4277780677102096,0.42635058312143009,0.424922035955767,0.42349242977353208,0.4220617681376771,0.42063005461378417,0.41919729277005707,0.41776348617731174,0.4163286384089685,0.41489275304104239,0.41345583365213412,0.4120178838234218,0.41057890713865153,0.40913890718412887,0.407697887548709,0.40625585182378898,0.40481280360329819,0.40336874648368898,0.40192368406392853,0.40047761994548947,0.39903055773234103,0.39758250103093934,0.39613345345021972,0.39468341860158695,0.39323240009890581,0.39178040155849314,0.39032742659910807,0.38887347884194357,0.3874185619106163,0.38596267943115903,0.38450583503201097,0.38304803234400797,0.38158927500037487,0.3801295666367156,0.37866891089100441,0.37720731140357605,0.37574477181711796,0.37428129577666058,0.3728168869295676,0.37135154892552813,0.36988528541654681,0.36841810005693493,0.36694999650330085,0.3654809784145418,0.36401104945183416,0.36254021327862451,0.36106847356062005,0.35959583396578026,0.35812229816430735,0.35664786982863661,0.3551725526334284,0.3536963502555579,0.35221926637410689,0.3507413046703533,0.34926246882776357,0.34778276253198248,0.34630218947082392,0.34482075333426226,0.34333845781442301,0.34185530660557345,0.34037130340411287,0.3388864519085647,0.33740075581956641,0.33591421883985989,0.3344268446742833,0.33293863702976106,0.33144959961529513,0.32995973614195478,0.32846905032286877,0.32697754587321493,0.32548522651021178,0.32399209595310802,0.32249815792317482,0.32100341614369565,0.31950787433995659,0.31801153623923822,0.31651440557080546,0.31501648606589866,0.31351778145772374,0.31201829548144366,0.31051803187416893,0.30901699437494745,0.30751518672475653,0.30601261266649254,0.3045092759449623,0.30300518030687273,0.30150032950082278,0.29999472727729343,0.29848837738863776,0.296981283589073,0.29547344963466998,0.29396487928334458,0.29245557629484725,0.29094554443075499,0.28943478745446138,0.28792330913116654,0.28641111322786894,0.28489820351335532,0.28338458375819164,0.28187025773471275,0.28035522921701439,0.27883950198094309,0.27732307980408616,0.2758059664657635,0.27428816574701731,0.27276968143060321,0.27125051730097982,0.26973067714430071,0.26821016474840409,0.26668898390280371,0.26516713839867867,0.26364463202886529,0.26212146858784674,0.26059765187174339,0.25907318567830417,0.25754807380689659,0.25602232005849751,0.25449592823568296,0.25296890214261969,0.25144124558505543,0.24991296237030841,0.24838405630725929,0.2468545312063409,0.24532439087952904,0.24379363914033217,0.24226227980378318,0.24073031668642925,0.23919775360632178,0.23766459438300794,0.23613084283752056,0.23459650279236882,0.23306157807152797,0.23152607250043108,0.22998998990595865,0.22845333411642943,0.22691610896159015,0.22537831827260715,0.22383996588205624,0.22230105562391247,0.22076159133354195,0.21922157684769125,0.21768101600447853,0.21613991264338286,0.21459827060523609,0.2130560937322126,0.21151338586781906,0.2099701508568862,0.20842639254555823,0.20688211478128382,0.2053373214128057,0.20379201629015206,0.20224620326462675,0.20069988618879861,0.19915306891649348,0.19760575530278351,0.19605794920397812,0.19450965447761354,0.1929608749824443,0.19141161457843323,0.18986187712674099,0.18831166648971787,0.18676098653089318,0.18520984111496616,0.18365823410779544,0.18210616937639068,0.18055365078890231,0.17900068221461132,0.1774472675239207,0.17589341058834518,0.17433911528050181,0.17278438547409958,0.17122922504393101,0.16967363786586157,0.16811762781682063,0.1665611987747907,0.16500435461879923,0.16344709922890824,0.16188943648620402,0.16033137027278871,0.15877290447176978,0.15721404296725086,0.15565478964432103,0.15409514838904659,0.15253512308846068,0.1509747176305529,0.14941393590426094,0.1478527817994601,0.14629125920695385,0.14472937201846353,0.14316712412661964,0.14160451942495175,0.140041561807878,0.13847825517069676,0.13691460340957601,0.13535061042154409,0.13378628010447915,0.13222161635710067,0.13065662307895887,0.12909130417042558,0.12752566353268341,0.1259597050677175,0.12439343267830515,0.12282685026800531,0.12125996174115028,0.11969277100283507,0.11812528195890805,0.11655749851596045,0.11498942458131783,0.11342106406302978,0.1118524208698594,0.11028349891127502,0.10871430209743946,0.10714483433920081,0.10557509954808172,0.10400510163627105,0.10243484451661342,0.10086433210259878,0.099293568308354022,0.097722557048632308,0.096151302238803818,0.094579807794844983,0.093008077633330175,0.091436115671421223,0.089863925826857025,0.088291512017945051,0.086718878163550728,0.08514602818308814,0.083572965996509332,0.081999695524295896,0.080426220687448507,0.078852545407476549,0.07727867360638957,0.075704609206686702,0.074130356131347344,0.072555918303820383,0.070981299648015903,0.069406504088294352,0.067831535549457367,0.06625639795673699,0.064681095235787259,0.063105631312673757,0.061530010113863165,0.059954235566214785,0.058378311596969906,0.056802242133742416,0.055226031104508168,0.05364968243759647,0.052073200061679682,0.050496587905762731,0.048919849899174653,0.047342989971557919,0.04576601205285908,0.044188920073318073,0.042611717963459791,0.04103440965408358,0.039456999076252823,0.037879490161286417,0.036301886840748143,0.034724193046437278,0.033146412710377916,0.031568549764810501,0.029990608142181154,0.028412591775132282,0.026834504596491917,0.025256350539265237,0.0236781335366241,0.022099857521896575,0.020521526428558472,0.018943144190222642,0.01736471474062963,0.015786242013636979,0.014207729943210757,0.012629182463415078,0.01105060350840165,0.0094719970124012842,0.0078933669097132116,0.0063147171346957199,0.0047360516217554594,0.0031573743053389678,0.0015786891199222012,6.123233995736766e-17,0.99998610763373685,0.99994443092094321,0.99987497101959544,0.9997777298596181,0.99965271014283097,0.99949991534287352,0.99931934970510816,0.99911101824650306,0.99887492675549194,0.9986110817918139,0.99831949068633041,0.99800016154082261,0.99765310322776524,0.99727832539008066,0.99687583844087102,0.99644565356312842,0.99598778270942467,0.99550223860157894,0.99498903473030453,0.99444818535483348,0.99387970550252125,0.99328361096842843,0.99265991831488209,0.99200864487101592,0.99132980873228838,0.99062342875997988,0.98988952458066903,0.98912811658568733,0.98833922593055201,0.98752287453437915,0.98667908507927382,0.98580788100970029,0.98490928653183074,0.98398332661287236,0.98303002698037367,0.98204941412151014,0.98104151528234784,0.98000635846708617,0.97894397243728049,0.97785438671104263,0.97673763156222027,0.97559373801955673,0.97442273786582811,0.97322466363696036,0.97199954862112559,0.97074742685781679,0.96946833313690217,0.96816230299765871,0.96682937272778458,0.96546957936239064,0.96408296068297206,0.96266955521635766,0.96122940223364051,0.95976254174908604,0.95826901451902025,0.95674886204069798,0.95520212655114911,0.95362885102600559,0.95202907917830704,0.95040285545728631,0.94875022504713458,0.94707123386574577,0.94536592856344059,0.94363435652167094,0.94187656585170287,0.94009260539327988,0.93828252471326612,0.93644637410426923,0.93458420458324265,0.93269606789006854,0.9307820164861198,0.92884210355280283,0.92687638299007957,0.92488490941497004,0.92286773816003498,0.9208249252718379,0.91875652750938885,0.91666260234256614,0.91454320795052058,0.91239840322005838,0.91022824774400546,0.90803280181955115,0.90581212644657327,0.90356628332594302,0.90129533485781088,0.8989993441398727,0.8966783749656162,0.89433249182254926,0.8919617598904076,0.88956624503934378,0.8871460138280971,0.88470113350214463,0.88223167199183206,0.87973769791048706,0.87721928055251241,0.87467648989146085,0.87210939657809061,0.8695180719384028,0.86690258797165953,0.86426301734838329,0.86159943340833756,0.85891191015848989,0.85620052227095489,0.85346534508091987,0.8507064545845513,0.84792392743688383,0.84511784094968989,0.84228827308933207,0.83943530247459652,0.83655900837450858,0.83365947070613067,0.83073677003234114,0.82779098755959657,0.82482220513567517,0.82183050524740231,0.81881597101835923,0.81577868620657323,0.8127187352021904,0.80963620302513095,0.80653117532272689,0.80340373836734258,0.80025397905397699,0.79708198489785043,0.79388784403197199,0.79067164520469135,0.7874334777772326,0.78417343172121168,0.78089159761613613,0.77758806664688884,0.77426293060119433,0.77091628186706807,0.76754821343024993,0.76415881887162074,0.76074819236460156,0.7573164286725379,0.7538636231460657,0.75038987172046323,0.74689527091298458,0.74337991782017865,0.73984391011519057,0.73628734604504886,0.73271032442793482,0.72911294465043741,0.72549530666479145,0.72185751098610074,0.71819965868954527,0.71452185140757274,0.71082419132707475,0.70710678118654757,0.70336972427323752,0.69961312442027157,0.69583708600377192,0.69204171393995562,0.68822711368222056,0.68439339121821474,0.68054065306689093,0.6766690062755486,0.67277855841685819,0.66886941758587271,0.66494169239702461,0.66099549198110785,0.65703092598224522,0.65304810455484275,0.64904713836052863,0.64502813856507812,0.64099121683532567,0.63693648533606184,0.63286405672691681,0.62877404415923011,0.62466656127290698,0.62054172219326098,0.61639964152784232,0.61224043436325459,0.60806421626195639,0.60387110325905058,0.59966121185906041,0.59543465903269244,0.59119156221358626,0.58693203929505233,0.58265620862679557,0.57836418901162723,0.57405609970216454,0.56973206039751667,0.56539219123995887,0.56103661281159523,0.5566654461310071,0.55227881264989165,0.54787683424968681,0.54345963323818514,0.53902733234613498,0.53458005472383152,0.53011792393769352,0.52564106396683163,0.52114959919960258,0.51664365443015359,0.51212335485495486,0.50758882606932132,0.50304019406392197,0.49847758522128061,0.49390112631226352,0.48931094449255752,0.4847071672991366,0.4800899226467189,0.47545933882421176,0.47081554449114832,0.46615866867411204,0.46148884076315183,0.45680619050818716,0.45211084801540291,0.4474029437436346,0.4426826085007427,0.4379499734399796,0.43320517005634462,0.42844833018293066,0.42367958598726124,0.41889906996761855,0.41410691494936114,0.40930325408123464,0.4044882208316713,0.39966194898508223,0.39482457263813964,0.38997622619605177,0.38511704436882727,0.38024716216753368,0.37536671490054541,0.37047583816978436,0.36557466786695236,0.36066334016975554,0.35574199153811986,0.35081075871040096,0.34586977869958396,0.34091918878947691,0.33595912653089632,0.3309897297378453,0.32601113648368479,0.32102348509729633,0.31602691415923978,0.31102156249790225,0.30600756918564082,0.30098507353491855,0.29595421509443398,0.2909151336452428,0.2858679691968754,0.28081286198344613,0.2757499524597567,0.27067938129739405,0.26560128938082189,0.26051581780346544,0.25542310786379252,0.25032330106138656,0.24521653909301558,0.24010296384869487,0.23498271740774507,0.22985594203484361,0.22472278017607314,0.21958337445496295,0.21443786766852632,0.20928640278329302,0.204129122931337,0.19896617140629977,0.19379769165940802,0.18862382729548932,0.18344472206898116,0.17826051987993694,0.17307136477002788,0.16787740091854095,0.1626787726383721,0.15747562437201779,0.15226810068756091,0.14705634627465416,0.14184050594049988,0.13662072460582686,0.13139714730086294,0.12616991916130654,0.1209391854242934,0.11570509142436129,0.11046778258941205,0.10522740443667102,0.099984102568643055,0.094738022669068361,0.089489310498873736,0.084238111892122949,0.078984572751964729,0.073728839046578898,0.068471056805120903,0.06321137211366358,0.057949931111139455,0.052686879985279503,0.047422364968551511,0.042156532334097115,0.0368895283916678,0.031621499483558885,0.026352591980544737,0.02108295227781104,0.015812726790887442,0.010542061951579447,0.0052711042039000769,6.123233995736766e-17,0.99999794597273206,0.99999178389936638,0.99998151380521705,0.9999671357324742,0.99994864974020359,0.99992605590434691,0.99989935431772081,0.99986854509001677,0.99983362834780076,0.99979460423451283,0.99975147291046607,0.99970423455284629,0.99965288935571128,0.99959743752998986,0.99953787930348115,0.99947421492085364,0.99940644464364414,0.9993345687502565,0.99925858753596097,0.99917850131289232,0.99909431041004937,0.99900601517329268,0.99891361596534411,0.99881711316578459,0.99871650717105276,0.99861179839444369,0.99850298726610676,0.99839007423304382,0.99827305975910796,0.99815194432500098,0.99802672842827156,0.99789741258331355,0.99776399732136356,0.99762648319049863,0.9974848707556343,0.99733916059852235,0.99718935331774783,0.99703544952872747,0.99687744986370608,0.99671535497175523,0.99654916551876949,0.99637888218746407,0.99620450567737229,0.99602603670484235,0.99584347600303447,0.99565682432191804,0.9954660824282684,0.99527125110566339,0.99507233115448102,0.99486932339189516,0.9946622286518727,0.99445104778517024,0.99423578165933035,0.99401643115867777,0.99379299718431657,0.99356548065412553,0.99333388250275512,0.99309820368162305,0.99285844515891086,0.99261460791955947,0.99236669296526581,0.99211470131447788,0.99185863400239105,0.99159849208094397,0.99133427661881379,0.99106598870141194,0.9907936294308799,0.99051719992608445,0.99023670132261299,0.98995213477276911,0.98966350144556769,0.98937080252673026,0.98907403921867987,0.98877321274053642,0.98846832432811138,0.98815937523390307,0.98784636672709125,0.9875293000935319,0.98720817663575189,0.98688299767294418,0.98655376454096144,0.98622047859231154,0.98588314119615117,0.98554175373828079,0.98519631762113868,0.98484683426379538,0.98449330510194732,0.9841357315879119,0.9837741151906203,0.98340845739561267,0.98303875970503096,0.98266502363761365,0.98228725072868872,0.98190544253016787,0.98151960061054011,0.98112972655486508,0.98073582196476672,0.98033788845842629,0.97993592767057669,0.97952994125249448,0.97911993087199423,0.97870589821342069,0.97828784497764287,0.97786577288204601,0.97743968366052558,0.97700957906347907,0.97657546085779978,0.97613733082686882,0.97569519077054845,0.97524904250517408,0.97479888786354696,0.97434472869492716,0.97388656686502506,0.97342440425599464,0.97295824276642495,0.97248808431133293,0.97201393082215515,0.97153578424673981,0.97105364654933934,0.97056751971060173,0.97007740572756229,0.96958330661363623,0.96908522439860956,0.96858316112863108,0.96807711886620429,0.96756709969017829,0.96705310569573966,0.9665351389944038,0.96601320171400618,0.96548729599869354,0.96495742400891527,0.96442358792141436,0.96388578992921869,0.96334403224163168,0.96279831708422337,0.9622486466988216,0.9616950233435021,0.96113744929257983,0.96057592683659943,0.96001045828232578,0.95944104595273449,0.95886769218700252,0.95829039934049842,0.95770916978477272,0.95712400590754798,0.95653491011270941,0.95594188482029474,0.95534493246648411,0.95474405550359043,0.95413925640004882,0.95353053764040729,0.95291790172531543,0.95230135117151515,0.95168088851182975,0.95105651629515353,0.95042823708644186,0.94979605346669971,0.94915996803297198,0.94851998339833243,0.94787610219187268,0.94722832705869198,0.94657666065988577,0.94592110567253518,0.94526166478969598,0.94459834072038718,0.94393113618958024,0.94326005393818768,0.94258509672305213,0.94190626731693461,0.94122356850850319,0.94053700310232202,0.93984657391883908,0.93915228379437521,0.93845413558111201,0.93775213214708042,0.93704627637614901,0.9363365711680115,0.93562301943817583,0.93490562411795131,0.93418438815443705,0.93345931451050967,0.93273040616481129,0.93199766611173718,0.93126109736142348,0.93052070293973466,0.92977648588825135,0.92902844926425798,0.92827659614072966,0.92752092960632004,0.92676145276534849,0.92599816873778729,0.92523108065924886,0.92446019168097271,0.92368550496981305,0.92290702370822486,0.92212475109425185,0.92133869034151261,0.92054884467918729,0.91975521735200527,0.9189578116202306,0.91815663075964982,0.91735167806155726,0.91654295683274278,0.91573047039547728,0.91491422208749917,0.91409421526200108,0.9132704532876158,0.9124429395484025,0.91161167744383276,0.91077667038877641,0.9099379218134882,0.90909543516359304,0.90824921390007185,0.90739926149924788,0.90654558145277186,0.90568817726760809,0.90482705246601958,0.90396221058555404,0.90309365517902906,0.9022213898145176,0.90134541807533342,0.90046574356001619,0.89958236988231677,0.89869530067118231,0.89780453957074169,0.89691009024028989,0.89601195635427366,0.89511014160227609,0.89420464968900115,0.89329548433425909,0.89238264927295075,0.89146614825505233,0.89054598504560012,0.88962216342467459,0.88869468718738553,0.88776356014385571,0.8868287861192059,0.88589036895353879,0.88494831250192318,0.8840026206343784,0.88305329723585835,0.88210034620623512,0.88114377146028366,0.88018357692766502,0.8792197665529109,0.87825234429540677,0.87728131412937604,0.87630668004386358,0.87532844604271942,0.87434661614458209,0.87336119438286253,0.87237218480572687,0.87137959147608046,0.87038341847155087,0.86938366988447113,0.86838034982186296,0.86737346240541979,0.86636301177149022,0.86534900207106036,0.86433143746973762,0.86331032214773251,0.86228566029984288,0.86125745613543503,0.86022571387842817,0.85919043776727544,0.85815163205494782,0.85710930100891558,0.85606344891113173,0.85501408005801349,0.85396119876042564,0.85290480934366164,0.85184491614742708,0.85078152352582082,0.84971463584731788,0.84864425749475092,0.84757039286529279,0.84649304637043765,0.84541222243598391,0.84432792550201508,0.84324016002288216,0.84214893046718509,0.8410542413177543,0.83995609707163277,0.83885450224005653,0.83774946134843764,0.83664097893634404,0.83552905955748202,0.83441370777967716,0.83329492818485529,0.83217272536902398,0.83104710394225356,0.82991806852865835,0.82878562376637732,0.82764977430755537,0.82651052481832399,0.82536787997878225,0.82422184448297731,0.82307242303888573,0.82191962036839328,0.82076344120727629,0.81960389030518188,0.8184409724256082,0.81727469234588546,0.8161050548571559,0.81493206476435387,0.81375572688618691,0.81257604605511502,0.81139302711733141,0.81020667493274234,0.80901699437494745,0.80782399033121921,0.80662766770248329,0.80542803140329833,0.80422508636183576,0.80301883751985925,0.80180928983270494,0.80059644826926057,0.79938031781194563,0.79816090345669022,0.796938210212915,0.79571224310351052,0.79448300716481657,0.79325050744660142,0.79201474901204105,0.79077573693769854,0.78953347631350312,0.78828797224272917,0.78703922984197516,0.78578725424114326,0.78453205058341724,0.78327362402524248,0.78201197973630354,0.78074712289950432,0.77947905871094547,0.77820779237990401,0.77693332912881108,0.77565567419323145,0.77437483282184116,0.77309081027640647,0.77180361183176205,0.77051324277578925,0.76921970840939446,0.76792301404648755,0.76662316501395966,0.76532016665166136,0.76401402431238119,0.76270474336182292,0.76139232917858424,0.76007678715413407,0.75875812269279097,0.75743634121170011,0.75611144814081233,0.75478344892286031,0.75345234901333746,0.75211815388047454,0.75078086900521823,0.74944049988120753,0.74809705201475196,0.74675053092480859,0.7454009421429596,0.74404829121338911,0.74269258369286117,0.7413338251506959,0.73997202116874772,0.73860717734138159,0.7372392992754504,0.73586839259027181,0.73449446291760523,0.73311751590162877,0.73173755719891576,0.73035459247841183,0.72896862742141155,0.72757966772153493,0.72618771908470403,0.72479278722911999,0.72339487788523871,0.72199399679574827,0.72059014971554436,0.71918334241170756,0.71777358066347863,0.71636087026223616,0.71494521701147118,0.7135266267267647,0.71210510523576276,0.71068065837815331,0.70925329200564169,0.70782301198192676,0.70638982418267693,0.70495373449550569,0.70351474881994802,0.70207287306743538,0.70062811316127205,0.6991804750366104,0.69772996464042714,0.69627658793149771,0.69482035088037308,0.69336125946935434,0.69189931969246876,0.69043453755544448,0.68896691907568663,0.68749647028225169,0.68602319721582372,0.68454710592868862,0.68306820248471023,0.68158649295930407,0.68010198343941408,0.67861468002348624,0.677124588821444,0.67563171595466331,0.67413606755594735,0.67263764976950136,0.67113646875090716,0.66963253066709838,0.6681258416963346,0.66661640802817645,0.66510423586345946,0.66358933141426968,0.66207170090391698,0.66055135056691039,0.65902828664893187,0.65750251540681126,0.65597404310849972,0.65444287603304518,0.6529090204705652,0.65137248272222226,0.64983326910019701,0.64829138592766322,0.64674683953876089,0.6451996362785708,0.64364978250308846,0.64209728457919757,0.64054214888464445,0.63898438180801098,0.63742398974868975,0.63586097911685602,0.63429535633344292,0.63272712783011409,0.63115630004923795,0.62958287944386049,0.62800687247767939,0.6264282856250174,0.62484712537079523,0.62326339821050536,0.6216771106501856,0.6200882692063916,0.61849688040617057,0.61690295078703461,0.61530648689693357,0.61370749529422808,0.6121059825476628,0.61050195523633954,0.60889541994968999,0.60728638328744866,0.60567485185962577,0.60406083228648066,0.60244433119849339,0.60082535523633884,0.59920391105085846,0.59758000530303335,0.59595364466395695,0.59432483581480744,0.59269358544682038,0.59105990026126132,0.58942378696939801,0.58778525229247314,0.58614430296167641,0.58450094571811739,0.58285518731279695,0.58120703450658062,0.57955649407016985,0.57790357278407489,0.57624827743858653,0.57459061483374818,0.57293059177932837,0.5712682150947922,0.56960349160927393,0.56793642816154832,0.56626703160000291,0.56459530878260977,0.56292126657689767,0.56124491185992287,0.55956625151824235,0.55788529244788398,0.55620204155431974,0.55451650575243561,0.55282869196650508,0.55113860713015872,0.54944625818635773,0.54775165208736332,0.54605479579471028,0.54435569627917635,0.54265436052075533,0.54095079550862724,0.53924500824112986,0.53753700572573049,0.53582679497899655,0.53411438302656711,0.5323997769031239,0.53068298365236222,0.52896401032696239,0.52724286398856068,0.52551955170772024,0.52379408056390164,0.52206645764543436,0.5203366900494879,0.51860478488204187,0.5168707492578567,0.51513459030044573,0.51339631514204442,0.5116559309235823,0.50991344479465206,0.50816886391348215,0.50642219544690581,0.50467344657033242,0.50292262446771785,0.50116973633153461,0.49941478936274269,0.49765779077076011,0.49589874777343307,0.49413766759700573,0.49237455747609166,0.49060942465364343,0.48884227638092315,0.48707311991747182,0.48530196253108099,0.48352881149776172,0.48175367410171532,0.47997655763530273,0.47819746939901542,0.47641641670144497,0.47463340685925309,0.47284844719714109,0.47106154504782083,0.46927270775198382,0.46748194265827114,0.46568925712324372,0.46389465851135109,0.46209815419490236,0.46029975155403535,0.45849945797668629,0.45669728085855904,0.45489322760309558,0.45308730562144522,0.45127952233243407,0.44946988516253406,0.44765840154583353,0.4458450789240061,0.44402992474628006,0.44221294646940745,0.44039415155763428,0.43857354748266925,0.43675114172365342,0.43492694176712854,0.4331009551070078,0.431273189244544,0.4294436516882989,0.42761234995411279,0.42577929156507266,0.42394448405148255,0.42210793495083182,0.42026965180776449,0.41842964217404754,0.41658791360854119,0.41474447367716671,0.41289932995287615,0.41105249001562016,0.40920396145231808,0.40735375185682604,0.40550186882990624,0.4036483199791947,0.40179311291917136,0.39993625527112803,0.39807775466313738,0.39621761873002087,0.39435585511331855,0.39249247146125693,0.39062747542871762,0.38876087467720627,0.38689267687482015,0.3850228896962179,0.38315152082258719,0.38127857794161374,0.37940406874744848,0.37752800094067773,0.37565038222829028,0.37377122032364646,0.37189052294644542,0.37000829782269473,0.36812455268467786,0.3662392952709228,0.36435253332616946,0.36246427460133884,0.36057452685350094,0.35868329784584269,0.35679059534763558,0.35489642713420488,0.35300080098689696,0.3511037246930474,0.34920520604594923,0.34730525284482028,0.34540387289477203,0.34350107400677704,0.34159686399763711,0.33969125068995043,0.33778424191208056,0.33587584549812355,0.3339660692878762,0.33205492112680285,0.3301424088660046,0.32822854036218618,0.32631332347762393,0.32439676608013285,0.32247887604303549,0.32055966124512869,0.31863912957065166,0.31671728890925294,0.31479414715595894,0.31286971221114085,0.31094399198048239,0.30901699437494745,0.30708872731074699,0.3051591987093073,0.30322841649723725,0.30129638860629565,0.29936312297335799,0.29742862754038507,0.29549291025438973,0.29355597906740433,0.29161784193644741,0.28967850682349217,0.28773798169543302,0.28579627452405332,0.28385339328599146,0.28190934596270978,0.27996414054046076,0.27801778501025454,0.27607028736782535,0.27412165561359991,0.27217189775266376,0.27022102179472851,0.26826903575409922,0.26631594764964056,0.26436176550474522,0.26240649734729993,0.26045015120965326,0.25849273512858134,0.25653425714525635,0.25457472530521269,0.2526141476583143,0.25065253225872053,0.24868988716485474,0.24672622043936995,0.24476154014911641,0.24279585436510742,0.24082917116248764,0.23886149862049891,0.23689284482244752,0.23492321785567025,0.23295262581150231,0.23098107678524324,0.22900857887612422,0.2270351401872738,0.22506076882568593,0.22308547290218583,0.2211092605313969,0.21913213983170757,0.21715411892523701,0.21517520593780323,0.21319540899888872,0.21121473624160744,0.20923319580267072,0.20725079582235489,0.20526754444446726,0.20328344981631283,0.20129852008866012,0.19931276341570886,0.19732618795505583,0.19533880186766153,0.193350613317816,0.19136163047310639,0.18937186150438276,0.18738131458572474,0.18538999789440716,0.18339791961086785,0.18140508791867299,0.17941151100448391,0.17741719705802347,0.17542215427204172,0.17342639084228342,0.17142991496745358,0.1694327348491842,0.1674348586919997,0.16543629470328447,0.16343705109324838,0.16143713607489349,0.15943655786397923,0.15743532467899027,0.15543344474110168,0.15343092627414562,0.1514277775045767,0.14942400666143957,0.1474196219763341,0.14541463168338212,0.14340904401919266,0.14140286722282941,0.13939610953577611,0.13738877920190276,0.13538088446743204,0.13337243358090461,0.13136343479314647,0.12935389635723415,0.12734382652846141,0.12533323356430426,0.12332212572438847,0.12131051127045474,0.11929839846632516,0.11728579557786842,0.11527271087296717,0.11325915262148316,0.11124512909522372,0.10923064856790687,0.10721571931512874,0.10520034961432856,0.1031845477447552,0.10116832198743222,0.099151680625125221,0.097134631942306898,0.095117184225123219,0.093099345761359684,0.091081124840406286,0.089062529753224859,0.087043568792314119,0.085024250251675981,0.083004582426780743,0.080984573614534164,0.078964232113242605,0.076943566222579377,0.074922584243549695,0.072901294478457987,0.070879705230872822,0.068857824805593298,0.066835661508614044,0.064813223647092369,0.062790519529313304,0.060767557464655904,0.058744345763558206,0.056720892737484443,0.054697206698889993,0.052673295961187465,0.050649168838712767,0.048624833646690062,0.046600298701198938,0.044575572319139369,0.042550662818197964,0.040525578516812946,0.03850032773414129,0.036474918790023646,0.034449360004950649,0.032423659700027807,0.030397826196942659,0.028371867817929729,0.026345792885736737,0.024319609723589562,0.022293326655159353,0.020266952004527456,0.018240494096151673,0.016213961254831159,0.014187361805673569,0.012160704074059963,0.010133996385610824,0.0081072470661520905,0.0060804644416800509,0.0040536568383284823,0.0020268325823335526,6.123233995736766e-17,0.99999692105369242,0.9999876842337293,0.99997228959699025,0.99995073723827355,0.99992302729029647,0.99988915992369387,0.99984913534701725,0.99980295380673379,0.99975061558722433,0.99969212101078209,0.99962747043761035,0.99955666426582046,0.99947970293142918,0.99939658690835609,0.99930731670842088,0.99921189288133971,0.99911031601472222,0.99900258673406805,0.99888870570276245,0.99876867362207244,0.9986424912311429,0.99851015930699127,0.99837167866450349,0.99822705015642832,0.99807627467337279,0.99791935314379587,0.99775628653400372,0.99758707584814288,0.99741172212819462,0.9972302264539683,0.9970425899430948,0.99684881375101964,0.99664889907099574,0.99644284713407638,0.99623065920910703,0.99601233660271837,0.99578788065931734,0.99555729276107974,0.99532057432794097,0.99507772681758777,0.99482875172544905,0.99457365058468661,0.99431242496618588,0.99404507647854623,0.99377160676807097,0.99349201751875715,0.99320631045228536,0.99291448732800902,0.99261654994294368,0.99231250013175554,0.99200233976675101,0.99168607075786397,0.99136369505264521,0.99103521463624977,0.99070063153142462,0.99035994779849668,0.99001316553535967,0.98966028687746166,0.98930131399779153,0.98893624910686573,0.98856509445271457,0.98818785232086859,0.98780452503434435,0.9874151149536301,0.98701962447667135,0.98661805603885588,0.98621041211299909,0.98579669520932856,0.98537690787546839,0.98495105269642391,0.98451913229456578,0.98408114932961332,0.98363710649861857,0.9831870065359497,0.98273085221327394,0.98226864633954047,0.98180039176096356,0.98132609136100457,0.98084574806035441,0.98035936481691566,0.97986694462578405,0.97936849051923014,0.97886400556668085,0.97835349287470041,0.97783695558697115,0.97731439688427413,0.97678581998446978,0.97625122814247789,0.9757106246502576,0.97516401283678711,0.97461139606804337,0.97405277774698107,0.97348816131351179,0.97291755024448301,0.97234094805365634,0.97175835829168611,0.97116978454609759,0.9705752304412647,0.96997469963838767,0.96936819583547085,0.96875572276729949,0.96813728420541678,0.9675128839581012,0.9668825258703424,0.9662462138238177,0.96560395173686842,0.96495574356447544,0.96430159329823517,0.96364150496633472,0.96297548263352706,0.96230353040110617,0.96162565240688191,0.96094185282515399,0.96025213586668701,0.95955650577868368,0.95885496684475957,0.95814752338491604,0.95743417975551404,0.95671494034924687,0.95598980959511359,0.95525879195839158,0.95452189194060899,0.95377911407951688,0.95303046294906169,0.95227594315935649,0.95151555935665333,0.95074931622331393,0.94997721847778116,0.94919927087455014,0.94841547820413863,0.94762584529305771,0.94683037700378203,0.94602907823471982,0.94522195392018304,0.94440900903035652,0.9435902485712675,0.94276567758475494,0.94193530114843849,0.9410991243756871,0.94025715241558749,0.93940939045291261,0.93855584370808953,0.93769651743716753,0.93683141693178551,0.93596054751913937,0.93508391456194961,0.93420152345842766,0.93331337964224337,0.9324194885824908,0.93151985578365515,0.93061448678557868,0.92970338716342638,0.9287865625276519,0.92786401852396294,0.92693576083328633,0.92600179517173331,0.92506212729056403,0.92411676297615253,0.9231657080499508,0.92220896836845268,0.92124654982315857,0.92027845834053856,0.91930469988199592,0.91832528044383066,0.91734020605720268,0.91634948278809414,0.91535311673727249,0.91435111404025304,0.91334348086726069,0.91233022342319225,0.9113113479475784,0.9102868607145449,0.909256768032774,0.90822107624546589,0.90717979173029939,0.90613292089939268,0.90508047019926396,0.90402244611079152,0.90295885514917429,0.901889703863891,0.90081499883866056,0.89973474669140108,0.89864895407418932,0.89755762767321945,0.89646077420876247,0.89535840043512416,0.89425051314060378,0.89313711914745231,0.8920182253118305,0.89089383852376647,0.88976396570711314,0.88862861381950609,0.88748778985232035,0.88634150083062735,0.88518975381315179,0.88403255589222818,0.88286991419375693,0.881701835877161,0.88052832813534099,0.87934939819463165,0.87816505331475692,0.87697530078878549,0.87578014794308556,0.87457960213728003,0.87337367076420114,0.87216236124984459,0.87094568105332448,0.8697236376668267,0.86849623861556324,0.86726349145772574,0.8660254037844386,0.864781983219713,0.86353323742039911,0.86227917407613941,0.86101980090932151,0.85975512567502999,0.85848515616099919,0.85720990018756493,0.85592936560761668,0.85464356030654864,0.85335249220221199,0.85205616924486549,0.85075459941712661,0.84944779073392251,0.84813575124244089,0.84681848902208001,0.84549601218439907,0.84416832887306859,0.84283544726381965,0.84149737556439408,0.84015412201449391,0.83880569488573009,0.83745210248157209,0.8360933531372966,0.83472945521993613,0.83336041712822773,0.83198624729256088,0.8306069541749258,0.82922254626886138,0.82783303209940295,0.8264384202230296,0.82503871922761129,0.8236339377323566,0.82222408438775918,0.82080916787554437,0.81938919690861611,0.81796418023100326,0.81653412661780556,0.81509904487513929,0.81365894384008397,0.81221383238062705,0.81076371939560976,0.80930861381467212,0.807848524598198,0.80638346073725997,0.80491343125356407,0.80343844519939389,0.80195851165755527,0.80047363974132002,0.79898383859436983,0.79748911739074035,0.7959894853347641,0.7944849516610144,0.79297552563424789,0.79146121654934798,0.78994203373126748,0.78841798653497097,0.78688908434537741,0.7853553365773025,0.78381675267539996,0.7822733421141046,0.78072511439757264,0.77917207905962416,0.77761424566368409,0.77605162380272319,0.77448422309919895,0.77291205320499679,0.77133512380136982,0.76975344459888029,0.7681670253373386,0.76657587578574438,0.76498000574222558,0.7633794250339786,0.76177414351720762,0.76016417107706391,0.7585495176275846,0.75693019311163245,0.75530620750083388,0.75367757079551789,0.75204429302465448,0.75040638424579265,0.74876385454499894,0.74711671403679469,0.74546497286409441,0.74380864119814283,0.7421477292384524,0.7404822472127407,0.7388122053768672,0.73713761401477018,0.73545848343840337,0.73377482398767258,0.73208664603037188,0.73039395996211998,0.72869677620629569,0.72699510521397448,0.72528895746386357,0.72357834346223759,0.72186327374287396,0.72014375886698767,0.71841980942316663,0.71669143602730667,0.71495864932254527,0.71322145997919717,0.71147987869468754,0.70973391619348691,0.70798358322704513,0.7062288905737244,0.70446984903873378,0.70270646945406212,0.70093876267841149,0.69916673959713038,0.69739041112214684,0.69560978819190056,0.69382488177127655,0.69203570285153682,0.690242262450253,0.68844457161123862,0.68664264140448061,0.6848364829260718,0.68302610729814217,0.68121152566879029,0.6793927492120152,0.67756978912764687,0.67574265664127775,0.67391136300419352,0.6720759194933037,0.67023633741107225,0.6683926280854483,0.66654480286979578,0.66469287314282388,0.66283685030851713,0.6609767457960648,0.6591125710597906,0.65724433757908252,0.65537205685832167,0.65349574042681158,0.65161539983870753,0.64973104667294479,0.64784269253316784,0.64595034904765869,0.64405402786926547,0.64215374067533004,0.64024949916761709,0.63834131507224134,0.63642920013959559,0.63451316614427811,0.63259322488502057,0.63066938818461504,0.62874166788984132,0.62681007587139403,0.62487462402380944,0.62293532426539211,0.62099218853814164,0.61904522880767932,0.61709445706317401,0.6151398853172686,0.61318152560600614,0.61121938998875525,0.60925349054813649,0.60728383938994757,0.60531044864308869,0.60333333045948812,0.60135249701402749,0.59936796050446628,0.59737973315136728,0.59538782719802097,0.5933922549103704,0.59139302857693532,0.58939016050873694,0.58738366303922163,0.58537354852418544,0.58335982934169761,0.58134251789202462,0.57932162659755382,0.57729716790271679,0.57526915427391268,0.57323759819943165,0.5712025121893779,0.56916390877559264,0.56712180051157657,0.56507619997241321,0.563027119754691,0.5609745724764259,0.55891857077698359,0.55685912731700182,0.55479625477831218,0.55272996586386225,0.55066027329763734,0.54858718982458199,0.5465107282105216,0.54443090124208371,0.5423477217266196,0.54026120249212506,0.53817135638716151,0.53607819628077646,0.53398173506242563,0.53188198564189149,0.52977896094920607,0.52767267393456907,0.52556313756827022,0.52345036484060747,0.52133436876180883,0.51921516236195053,0.51709275869087845,0.51496717081812593,0.51283841183283541,0.5107064948436757,0.50857143297876273,0.5064332393855786,0.50429192723088934,0.50214750970066557,0.49999999999999989,0.49784941135302685,0.49569575700283985,0.4935390502114117,0.49137930425951065,0.48921653244662083,0.48705074809085841,0.48488196452889132,0.48271019511585533,0.4805354532252738,0.47835775224897326,0.47617710559700294,0.47399352669755024,0.47180702899686011,0.46961762595915008,0.46742533106652934,0.46523015781891408,0.46303211973394576,0.46083123034690654,0.45862750321063733,0.45642095189545273,0.45421158998905919,0.45199943109646973,0.44978448883992161,0.44756677685879104,0.44534630880951059,0.44312309836548375,0.44089715921700179,0.43866850507115929,0.43643714965176861,0.43420310669927725,0.43196638997068149,0.42972701323944307,0.4274849902954031,0.42524033494469843,0.42299306100967532,0.4207431823288057,0.41849071275660049,0.41623566616352592,0.41397805643591623,0.41171789747589016,0.40945520320126344,0.40718998754546493,0.40492226445744883,0.40265204790161091,0.40037935185770052,0.39810419032073624,0.39582657730091808,0.39354652682354285,0.39126405292891614,0.38897916967226748,0.3866918911236622,0.3844022313679164,0.38211020450450861,0.37981582464749453,0.37751910592541843,0.37522006248122808,0.37291870847218567,0.37061505806978229,0.36830912545964989,0.36600092484147356,0.36369047042890512,0.36137777644947444,0.35906285714450303,0.356745726769015,0.35442639959165079,0.35210488989457772,0.34978121197340356,0.34745538013708699,0.34512740870785119,0.34279731202109381,0.34046510442530042,0.33813080028195452,0.33579441396545079,0.33345595986300486,0.33111545237456635,0.32877290591272873,0.32642833490264184,0.32408175378192189,0.32173317700056381,0.31938261902085074,0.31703009431726686,0.31467561737640609,0.31231920269688512,0.30996086478925206,0.3076006181758989,0.30523847739097043,0.30287445698027637,0.30050857150120014,0.29814083552261078,0.29577126362477191,0.29339987039925297,0.29102667044883895,0.28865167838743994,0.28627490884000245,0.28389637644241766,0.28151609584143311,0.27913408169456067,0.27675034866998816,0.27436491144648706,0.27197778471332407,0.26958898317016888,0.26719852152700535,0.26480641450403908,0.26241267683160863,0.26001732325009319,0.25762036850982328,0.25522182737098842,0.25282171460354769,0.25042004498713749,0.24801683331098173,0.24561209437379944,0.24320584298371525,0.24079809395816631,0.23838886212381308,0.23597816231644597,0.23356600938089603,0.23115241817094151,0.22873740354921834,0.22632098038712684,0.22390316356474174,0.22148396797071901,0.21906340850220571,0.21664150006474672,0.21421825757219431,0.21179369594661579,0.20936783011820082,0.20694067502517111,0.20451224561368667,0.20208255683775544,0.19965162365913958,0.19721946104726498,0.19478608397912739,0.19235150743920196,0.18991574641934911,0.18747881591872409,0.18504073094368279,0.18260150650769108,0.18016115763123075,0.17771969934170848,0.17527714667336183,0.17283351466716829,0.1703888183707509,0.16794307283828735,0.16549629313041558,0.16304849431414273,0.16059969146275058,0.15814989965570456,0.15569913397855917,0.15324740952286664,0.15079474138608251,0.14834114467147419,0.14588663448802636,0.14343122595034954,0.14097493417858548,0.13851777429831527,0.13605976144046583,0.13360091074121599,0.13114123734190475,0.12868075638893628,0.12621948303368855,0.12375743243241813,0.12129461974616867,0.11883106014067578,0.11636676878627542,0.11390176085780868,0.1114360515345301,0.10896965600001247,0.10650258944205511,0.10403486705258851,0.10156650402758256,0.099097515566951289,0.096627916874460942,0.094157723157634626,0.091686949627660441,0.089215611499296008,0.086743723990776567,0.08427130232371953,0.081798361723032467,0.079324917416817575,0.076850984636279748,0.074376578615630948,0.07190171459199815,0.069426407805327814,0.066950673498293783,0.064474526916201619,0.061997983306896272,0.059521057920667586,0.057043766010155664,0.054566122830258496,0.052088143638036294,0.049609843692619261,0.047131238255111889,0.044652342588500739,0.042173171957558687,0.039693741628752707,0.037214066870148048,0.034734162951316053,0.032254045143238305,0.029773728718214376,0.027293228949766025,0.024812561112544897,0.022331740482236712,0.019850782335468945,0.017369701949715006,0.014888514603201923,0.012407235574814492,0.0099258801440029621,0.0074444635906871703,0.0049630011951642319,0.0024815082380126624,6.123233995736766e-17,0.99999798258100203,0.99999193033214806,0.99998184327785788,0.99996772145883128,0.99994956493204723,0.99992737377076468,0.99990114806452124,0.99987088791913337,0.99983659345669584,0.99979826481558132,0.99975590215043952,0.99970950563219718,0.99965907544805654,0.99960461180149529,0.9995461149122653,0.99948358501639223,0.99941702236617402,0.99934642723018019,0.99927179989325055,0.99919314065649445,0.99911044983728914,0.99902372776927861,0.99893297480237242,0.99883819130274409,0.99873937765282972,0.99863653425132637,0.99852966151319034,0.99841875986963602,0.99830382976813348,0.9981848716724071,0.99806188606243351,0.99793487343443965,0.99780383430090103,0.99766876919053915,0.9975296786483201,0.9973865632354515,0.99723942352938089,0.99708826012379304,0.99693307362860806,0.99677386466997808,0.9966106338902857,0.99644338194814042,0.99627210951837675,0.99609681729205135,0.99591750597643991,0.99573417629503447,0.99554682898754077,0.99535546480987458,0.99516008453415949,0.99496068894872325,0.99475727885809484,0.99454985508300087,0.99433841846036275,0.99412296984329296,0.99390351010109179,0.99368004011924382,0.99345256079941402,0.99322107305944485,0.99298557783335162,0.99274607607131959,0.99250256873969944,0.99225505682100379,0.99200354131390334,0.9917480232332222,0.99148850360993446,0.99122498349115984,0.99095746394015927,0.99068594603633076,0.99041043087520519,0.99013091956844146,0.98984741324382253,0.98955991304525048,0.98926842013274197,0.98897293568242362,0.98867346088652752,0.98836999695338579,0.98806254510742619,0.98775110658916732,0.98743568265521298,0.9871162745782478,0.98679288364703144,0.98646551116639392,0.9861341584572304,0.98579882685649511,0.98545951771719686,0.98511623240839308,0.98476897231518434,0.98441773883870887,0.9840625333961367,0.9837033574206645,0.98334021236150904,0.98297309968390179,0.98260202086908288,0.98222697741429532,0.98184797083277853,0.98146500265376291,0.98107807442246275,0.98068718770007091,0.9802923440637521,0.97989354510663618,0.97949079243781256,0.97908408768232291,0.97867343248115501,0.97825882849123602,0.97784027738542612,0.97741778085251096,0.97699134059719561,0.9765609583400976,0.97612663581773951,0.97568837478254233,0.97524617700281835,0.9748000442627639,0.97434997836245252,0.97389598111782705,0.97343805436069286,0.97297619993871021,0.97251041971538688,0.97204071557007055,0.97156708939794145,0.9710895431100045,0.97060807863308141,0.97012269790980354,0.96963340289860345,0.96914019557370712,0.96864307792512627,0.96814205195865011,0.96763711969583721,0.96712828317400745,0.96661554444623377,0.96609890558133393,0.96557836866386193,0.96505393579410004,0.96452560908804974,0.96399339067742396,0.96345728270963749,0.96291728734779936,0.96237340677070315,0.96182564317281904,0.96127399876428443,0.96071847577089509,0.96015907643409615,0.95959580301097358,0.95902865777424418,0.95845764301224723,0.95788276102893477,0.95730401414386235,0.95672140469218003,0.95613493502462243,0.95554460750749981,0.95495042452268797,0.95435238846761894,0.95375050175527143,0.95314476681416083,0.95253518608832943,0.95192176203733658,0.95130449713624921,0.95068339387563106,0.95005845476153306,0.94942968231548353,0.9487970790744773,0.94816064759096585,0.9475203904328473,0.94687631018345542,0.94622840944154984,0.94557669082130491,0.94492115695229983,0.94426181047950741,0.94359865406328403,0.9429316903793582,0.94226092211882051,0.94158635198811214,0.94090798270901421,0.94022581701863694,0.93953985766940851,0.9388501074290635,0.93815656908063261,0.93745924542243064,0.93675813926804552,0.93605325344632706,0.93534459080137533,0.93463215419252943,0.9339159464943555,0.9331959705966355,0.93247222940435581,0.93174472583769463,0.93101346283201125,0.93027844333783316,0.92953967032084506,0.92879714676187652,0.9280508756568896,0.92730086001696732,0.92654710286830144,0.92578960725217985,0.92502837622497469,0.92426341285812974,0.92349472023814838,0.92272230146658063,0.92194615966001137,0.92116629795004679,0.92038271948330252,0.919595427421391,0.91880442494090797,0.91800971523342034,0.91721130150545305,0.91640918697847606,0.91560337488889165,0.91479386848802102,0.91398067104209124,0.91316378583222246,0.91234321615441405,0.9115189653195318,0.91069103665329409,0.9098594334962592,0.90902415920381108,0.9081852171461462,0.90734261070825972,0.90649634328993223,0.90564641830571557,0.90479283918491948,0.90393560937159745,0.90307473232453273,0.9022102115172248,0.90134205043787519,0.90047025258937308,0.8995948214892816,0.89871576066982339,0.89783307367786647,0.89694676407490981,0.89605683543706915,0.89516329135506234,0.89426613543419498,0.89336537129434579,0.89246100256995231,0.89155303290999566,0.89064146597798655,0.88972630545194964,0.88880755502440945,0.88788521840237522,0.88695929930732575,0.8860298014751945,0.88509672865635469,0.88416008461560414,0.88321987313214945,0.88227609799959206,0.88132876302591145,0.88037787203345086,0.87942342885890135,0.87846543735328653,0.877503901381947,0.8765388248245245,0.87557021157494674,0.87459806554141117,0.8736223906463696,0.87264319082651198,0.87166047003275127,0.87067423223020635,0.86968448139818721,0.86869122153017797,0.86769445663382139,0.86669419073090237,0.86569042785733163,0.86468317206312983,0.8636724274124109,0.86265819798336574,0.86164048786824599,0.86061930117334684,0.85959464201899116,0.85856651453951283,0.85753492288323963,0.85649987121247662,0.8554613637034898,0.85441940454648857,0.85337399794560942,0.85232514811889859,0.85127285929829521,0.85021713572961422,0.84915798167252909,0.84809540140055495,0.84702939920103115,0.8459599793751037,0.84488714623770833,0.84381090411755311,0.84273125735710053,0.84164821031255044,0.84056176735382204,0.83947193286453681,0.83837871124200036,0.83728210689718474,0.83618212425471095,0.83507876775283052,0.83397204184340845,0.83286195099190441,0.83174849967735509,0.83063169239235612,0.82951153364304409,0.82838802794907807,0.82726117984362135,0.82613099387332367,0.82499747459830231,0.82386062659212389,0.82272045444178588,0.8215769627476982,0.82043015612366466,0.81928003919686421,0.81812661660783226,0.81696989301044209,0.81580987307188602,0.81464656147265657,0.81347996290652769,0.81231008208053546,0.8111369237149596,0.80996049254330404,0.80878079331227781,0.80759783078177649,0.80641160972486192,0.80522213492774408,0.80402941118976112,0.80283344332335993,0.80163423615407725,0.80043179452051971,0.79922612327434439,0.79801722728023949,0.7968051114159046,0.79558978057203078,0.79437123965228107,0.7931494935732708,0.79192454726454731,0.79069640566857058,0.78946507374069308,0.78823055644913942,0.78699285877498715,0.78575198571214566,0.78450794226733689,0.78326073346007441,0.78201036432264392,0.78075683990008227,0.77950016525015731,0.77824034544334775,0.77697738556282236,0.7757112907044198,0.77444206597662757,0.77316971650056188,0.77189424740994672,0.77061566385109315,0.76933397098287892,0.7680491739767269,0.766761278016585,0.76547028829890473,0.76417621003262037,0.76287904843912835,0.76157880875226525,0.76027549621828761,0.75896911609585049,0.75765967365598597,0.75634717418208219,0.75503162296986193,0.75371302532736106,0.75239138657490767,0.75106671204509978,0.74973900708278474,0.74840827704503676,0.7470745273011361,0.74573776323254692,0.74439799023289555,0.74305521370794914,0.74170943907559339,0.74036067176581077,0.73900891722065909,0.73765418089424883,0.73629646825272166,0.73493578477422805,0.73357213594890547,0.73220552727885591,0.73083596427812414,0.72946345247267486,0.72808799740037078,0.72670960461095047,0.72532827966600544,0.72394402813895797,0.72255685561503902,0.72116676769126464,0.71977376997641462,0.7183778680910089,0.7169790676672857,0.7155773743491779,0.71417279379229104,0.71276533166388001,0.71135499364282662,0.70994178541961639,0.70852571269631526,0.70710678118654757,0.7056849966154719,0.70426036471975861,0.70283289124756676,0.70140258195852057,0.69996944262368621,0.69853347902554863,0.69709469695798854,0.69565310222625831,0.69420870064695928,0.69276149804801768,0.69131150026866162,0.68985871315939729,0.68840314258198521,0.68694479440941691,0.68548367452589098,0.68401978882678949,0.68255314321865412,0.68108374361916213,0.67961159595710297,0.678136706172354,0.67665908021585652,0.67517872404959178,0.67369564364655721,0.67220984499074199,0.67072133407710288,0.66923011691154044,0.66773619951087415,0.66623958790281879,0.66474028812595976,0.66323830622972879,0.66173364827437942,0.66022632033096285,0.65871632848130302,0.65720367881797248,0.65568837744426756,0.65417043047418388,0.65264984403239146,0.6511266242542102,0.6496007772855853,0.64807230928306203,0.64654122641376099,0.64500753485535378,0.64347124079603724,0.64193235043450902,0.64039086997994243,0.63884680565196139,0.63730016368061526,0.63575095030635387,0.63419917178000229,0.63264483436273533,0.63108794432605286,0.62952850795175375,0.62796653153191118,0.62640202136884704,0.62483498377510638,0.62326542507343186,0.62169335159673866,0.62011876968808866,0.61854168570066481,0.61696210599774537,0.61538003695267851,0.61379548494885661,0.61220845637969035,0.61061895764858276,0.60902699516890391,0.60743257536396433,0.60583570466698966,0.60423638952109449,0.60263463637925641,0.6010304517042897,0.5994238419688197,0.59781481365525657,0.59620337325576866,0.594589527272257,0.59297328221632883,0.5913546446092709,0.58973362098202375,0.58811021787515527,0.58648444183883386,0.58485629943280237,0.58322579722635193,0.58159294179829457,0.57995773973693732,0.57832019764005593,0.57668032211486708,0.57503811977800323,0.57339359725548444,0.57174676118269285,0.57009761820434512,0.56844617497446615,0.5667924381563616,0.56513641442259188,0.56347811045494434,0.56181753294440673,0.56015468859114048,0.55848958410445315,0.55682222620277144,0.55515262161361445,0.55348077707356624,0.55180669932824866,0.55013039513229423,0.54845187124931871,0.54677113445189418,0.54508819152152121,0.54340304924860205,0.54171571443241251,0.54002619388107553,0.53833449441153269,0.53664062284951708,0.53494458602952633,0.53324639079479408,0.53154604399726313,0.5298435524975571,0.5281389231649537,0.52643216287735584,0.52472327852126499,0.52301227699175257,0.52129916519243269,0.51958395003543356,0.51786663844137104,0.51614723733931867,0.51442575366678156,0.51270219436966769,0.51097656640225908,0.50924887672718555,0.50751913231539469,0.50578734014612514,0.50405350720687758,0.50231764049338734,0.50057974700959507,0.49883983376761959,0.49709790778772883,0.49535397609831217,0.49360804573585115,0.49186012374489224,0.49011021717801717,0.48835833309581578,0.48660447856685624,0.48484866066765775,0.48309088648266069,0.48133116310419954,0.47956949763247264,0.47780589717551525,0.476040368849169,0.4742729197770551,0.47250355709054387,0.4707322879287274,0.46895911943838953,0.46718405877397817,0.46540711309757515,0.46362828957886887,0.46184759539512354,0.4600650377311522,0.4582806237792858,0.45649436073934591,0.45470625581861424,0.45291631623180473,0.45112454920103334,0.44933096195579014,0.44753556173290865,0.44573835577653831,0.44393935133811369,0.44213855567632654,0.44033597605709529,0.43853161975353705,0.4367254940459368,0.43491760622171954,0.43310796357541942,0.43129657340865168,0.42948344303008185,0.42766857975539768,0.42585199090727799,0.42403368381536494,0.42221366581623265,0.42039194425335935,0.41856852647709591,0.4167434198446382,0.41491663171999532,0.41308816947396176,0.41125804048408621,0.4094262521346429,0.40759281181660079,0.40575772692759482,0.40392100487189497,0.40208265306037744,0.40024267891049364,0.39840108984624156,0.39655789329813435,0.39471309670317184,0.39286670750480907,0.39101873315292768,0.38916918110380444,0.38731805882008263,0.38546537377074042,0.38361113343106212,0.3817553452826068,0.37989801681317942,0.37803915551679895,0.37617876889367008,0.374316864450151,0.3724534496987249,0.370588532157968,0.36872211935252092,0.36685421881305652,0.36498483807625126,0.3631139846847532,0.36124166618715303,0.35936789013795223,0.357492664097534,0.35561599563213114,0.35373789231379738,0.35185836172037488,0.34997741143546551,0.34809504904839855,0.34621128215420172,0.3443261183535688,0.3424395652528307,0.34055163046392328,0.33866232160435783,0.33677164629718914,0.33487961217098627,0.33298622685979989,0.33109149800313348,0.32919543324591061,0.32729804023844572,0.32539932663641191,0.32349930010081129,0.32159796829794279,0.31969533889937257,0.31779141958190166,0.31588621802753641,0.31397974192345601,0.31207199896198318,0.31016299684055126,0.30825274326167496,0.30634124593291756,0.3044285125668616,0.30251455088107582,0.30059936859808606,0.29868297344534206,0.29676537315518831,0.29484657546483084,0.2929265881163079,0.29100541885645698,0.28908307543688527,0.28715956561393657,0.2852348971486619,0.28330907780678616,0.28138211535867891,0.27945401757932103,0.27752479224827487,0.27559444714965237,0.27366299007208278,0.27173042880868303,0.26979677115702422,0.26786202491910216,0.26592619790130406,0.26398929791437881,0.26205133277340353,0.26011231029775417,0.25817223831107172,0.25623112464123288,0.2542889771203164,0.25234580358457326,0.25040161187439347,0.24845640983427608,0.24651020531279572,0.24456300616257279,0.24261482024023998,0.2406656554064123,0.23871551952565365,0.2367644204664468,0.23481236610115994,0.23285936430601664,0.23090542296106231,0.22895054995013414,0.22699475316082762,0.22503804048446641,0.22308041981606866,0.22112189905431712,0.21916248610152533,0.21720218886360754,0.21524101525004508,0.21327897317385622,0.21131607055156246,0.20935231530315829,0.20738771535207759,0.2054222786251633,0.20345601305263375,0.20148892656805248,0.19952102710829431,0.19755232261351516,0.19558282102711835,0.19361253029572412,0.1916414583691359,0.18966961320031012,0.18769700274532208,0.18572363496333585,0.18374951781657031,0.18177465927026876,0.17979906729266507,0.17782274985495325,0.17584571493125353,0.17386797049858202,0.17188952453681663,0.16991038502866676,0.16793055995963924,0.16595005731800794,0.16396888509477972,0.16198705128366397,0.16000456388103865,0.15802143088591966,0.15603766029992694,0.15405326012725384,0.15206823837463318,0.15008260305130658,0.14809636216899041,0.14610952374184533,0.14412209578644206,0.14213408632173088,0.14014550336900747,0.1381563549518823,0.13616664909624659,0.13417639383024155,0.13218559718422426,0.13019426719073721,0.12820241188447379,0.12621003930224794,0.12421715748295983,0.12222377446756519,0.12022989829904109,0.11823553702235529,0.11624069868443203,0.11424539133412126,0.11224962302216446,0.11025340180116386,0.10825673572554828,0.1062596328515423,0.10426210123713202,0.10226414894203437,0.1002657840276627,0.098267014557096174,0.096267848595045349,0.094268294207821429,0.092268359463302016,0.090268052430900234,0.088267381181530449,0.086266353787577507,0.084264978322862297,0.082263262862611056,0.080261215483420911,0.078258844263229155,0.076256157281278825,0.074253162618087898,0.072249868355414901,0.070246282576228072,0.068242413364671003,0.066238268806031786,0.064233856986708582,0.062229185994178794,0.060224263916964685,0.058219098844602468,0.056213698867607916,0.054208072077445504,0.05220222656649396,0.050196170428015413,0.048189911756120959,0.046183458645739743,0.044176819192584579,0.042170001493121015,0.040163013644532918,0.038155863744691557,0.036148559892121172,0.034141110185968049,0.032133522725966111,0.030125805612405947,0.028117966946100421,0.026110014828353494,0.024101957360926882,0.022093802646006713,0.02008555878617237,0.01807723388436205,0.016068836043841812,0.014060373368171128,0.012051853961171966,0.010043285926894296,0.0080346773695851876,0.0060260363936543203,0.0040173711036430686,0.0020086896041900228,6.123233995736766e-17,0.9999979979712954,0.99999199189319787,0.99998198178975606,0.99996796770105112,0.99994994968319606,0.99992792780833617,0.99990190216464836,0.9998718728563406,0.99983784000365228,0.9997998037428526,0.99975776422624107,0.99971172162214628,0.99966167611492551,0.99960762790496382,0.99954957720867343,0.99948752425849252,0.99942146930288467,0.99935141260633775,0.99927735444936294,0.99919929512849315,0.99911723495628246,0.9990311742613045,0.99894111338815117,0.99884705269743157,0.99874899256576988,0.99864693338580468,0.99854087556618665,0.99843081953157742,0.99831676572264771,0.99819871459607556,0.99807666662454431,0.99795062229674125,0.99782058211735492,0.99768654660707368,0.99754851630258357,0.99740649175656559,0.99726047353769443,0.99711046223063537,0.99695645843604219,0.99679846277055495,0.99663647586679749,0.99647049837337454,0.99630053095486948,0.9961265742918417,0.99594862908082371,0.99576669603431822,0.99558077588079574,0.99539086936469112,0.99519697724640099,0.99499910030228056,0.99479723932464037,0.99459139512174344,0.99438156851780179,0.99416776035297316,0.99394997148335773,0.99372820278099461,0.99350245513385849,0.99327272944585587,0.99303902663682153,0.99280134764251493,0.99255969341461647,0.9923140649207236,0.99206446314434682,0.99181088908490611,0.9915533437577263,0.99129182819403394,0.9910263434409522,0.99075689056149729,0.99048347063457398,0.99020608475497152,0.98992473403335868,0.9896394195962801,0.98935014258615106,0.98905690416125325,0.98875970549573022,0.98845854777958264,0.98815343221866303,0.9878443600346718,0.98753133246515168,0.98721435076348296,0.9868934161988786,0.98656853005637912,0.98623969363684716,0.9859069082569627,0.98557017524921742,0.98522949596190967,0.98488487175913886,0.98453630402080017,0.98418379414257873,0.98382734353594437,0.98346695362814573,0.98310262586220476,0.98273436169691075,0.98236216260681442,0.98198603008222252,0.98160596562919111,0.98122197076952022,0.98083404704074706,0.9804421959961408,0.98004641920469537,0.9796467182511237,0.97924309473585158,0.97883555027501046,0.978424086500432,0.97800870505964066,0.97758940761584756,0.97716619584794373,0.97673907145049343,0.9763080361337273,0.97587309162353542,0.97543423966146059,0.97499148200469121,0.9745448204260545,0.97409425671400907,0.97363979267263767,0.9731814301216406,0.97271917089632776,0.97225301684761167,0.97178296984199986,0.97130903176158756,0.97083120450405003,0.97034948998263504,0.96986389012615526,0.96937440687898024,0.96888104220102911,0.96838379806776231,0.9678826764701739,0.9673776794147837,0.96686880892362859,0.96635606703425547,0.96583945579971231,0.96531897728853999,0.96479463358476447,0.9642664267878881,0.96373435901288096,0.96319843239017322,0.9626586490656458,0.96211501120062204,0.96156752097185916,0.96101618057153959,0.96046099220726178,0.95990195810203194,0.95933908049425465,0.95877236163772417,0.95820180380161546,0.95762740927047474,0.9570491803442106,0.95646711933808504,0.95588122858270352,0.95529151042400651,0.95469796722325928,0.95410060135704289,0.95349941521724446,0.9528944112110479,0.95228559176092398,0.9516729593046207,0.95105651629515353,0.95043626520079583,0.94981220850506853,0.94918434870673041,0.94855268831976813,0.94791722987338622,0.94727797591199669,0.94663492899520929,0.9459880916978205,0.94533746660980433,0.94468305633630067,0.94402486349760606,0.94336289072916224,0.9426971406815462,0.94202761602045948,0.94135431942671721,0.94067725359623755,0.93999642124003102,0.93931182508418931,0.93862346786987494,0.9379313523533096,0.93723548130576351,0.9365358575135444,0.93583248377798611,0.93512536291543735,0.93441449775725061,0.93369989114977103,0.93298154595432425,0.9322594650472058,0.93153365131966903,0.93080410767791377,0.93007083704307469,0.92933384235120953,0.9285931265532873,0.92784869261517655,0.92710054351763349,0.92634868225629019,0.92559311184164217,0.92483383529903684,0.92407085566866098,0.92330417600552894,0.92253379937947,0.92175972887511637,0.92098196759189099,0.92020051864399444,0.91941538516039334,0.9186265702848071,0.91783407717569587,0.9170379090062476,0.91623806896436522,0.91543456025265424,0.91462738608840977,0.91381654970360326,0.91300205434487025,0.91218390327349708,0.91136209976540739,0.91053664711114968,0.90970754861588377,0.90887480759936767,0.9080384273959442,0.90719841135452772,0.90635476283859062,0.90550748522614999,0.90465658190975418,0.9038020562964687,0.90294391180786338,0.90208215187999785,0.90121677996340843,0.90034779952309385,0.89947521403850184,0.89859902700351468,0.89771924192643549,0.89683586232997436,0.89594889175123382,0.89505833374169508,0.89416419186720342,0.89326646970795431,0.89236517085847877,0.89146029892762912,0.8905518575385647,0.88963985032873671,0.88872428094987455,0.88780515306797059,0.88688247036326551,0.88595623653023403,0.88502645527756929,0.88409313032816905,0.88315626541911996,0.88221586430168286,0.88127193074127774,0.88032446851746893,0.87937348142394933,0.87841897326852603,0.87746094787310458,0.87649940907367341,0.87553436072028923,0.87456580667706108,0.87359375082213486,0.87261819704767796,0.87163914925986385,0.87065661137885597,0.86967058733879254,0.86868108108777031,0.86768809658782908,0.86669163781493597,0.86569170875896884,0.86468831342370123,0.86368145582678579,0.86267113999973777,0.86165736998792009,0.86064014985052584,0.85961948366056296,0.85859537550483744,0.85756782948393728,0.85653684971221544,0.85550244031777434,0.85446460544244851,0.85342334924178831,0.85237867588504357,0.85133058955514607,0.85027909444869387,0.84922419477593369,0.84816589476074433,0.84710419864061992,0.84603911066665249,0.84497063510351555,0.84389877622944665,0.84282353833623014,0.84174492572918036,0.84066294272712405,0.83957759366238327,0.83848888288075807,0.83739681474150884,0.83630139361733913,0.83520262389437794,0.83410050997216245,0.83299505626361992,0.83188626719505065,0.83077414720610954,0.82965870074978909,0.82853993229240064,0.82741784631355764,0.82629244730615647,0.82516373977635959,0.82403172824357673,0.82289641724044693,0.82175781131282077,0.82061591501974163,0.81947073293342776,0.81832226963925425,0.81717052973573379,0.81601551783449922,0.81485723856028447,0.81369569655090623,0.81253089645724541,0.81136284294322847,0.81019154068580856,0.80901699437494745,0.80783920871359582,0.80665818841767511,0.8054739382160585,0.8042864628505515,0.80309576707587393,0.8019018556596399,0.80070473338233927,0.79950440503731846,0.79830087543076089,0.79709414938166823,0.79588423172184108,0.79467112729585898,0.79345484096106178,0.79223537758752982,0.79101274205806438,0.78978693926816834,0.78855797412602646,0.78732585155248569,0.78609057648103564,0.7848521538577885,0.7836105886414596,0.78236588580334732,0.78111805032731341,0.7798670872097625,0.77861300145962298,0.777355798098326,0.77609548215978608,0.77483205869038063,0.7735655327489297,0.77229590940667592,0.77102319374726391,0.76974739086672039,0.76846850587343329,0.76718654388813157,0.76590151004386442,0.76461340948598133,0.76332224737211085,0.76202802887214027,0.76073075916819466,0.7594304434546163,0.75812708693794417,0.75682069483689252,0.75551127238233018,0.75419882481725997,0.75288335739679735,0.7515648753881492,0.75024338407059321,0.74891888873545664,0.74759139468609481,0.74626090723786997,0.74492743171813036,0.74359097346618841,0.74225153783329978,0.74090913018264171,0.73956375588929135,0.7382154203402046,0.73686412893419451,0.73550988708190934,0.73415270020581136,0.73279257374015472,0.73142951313096372,0.73006352383601136,0.72869461132479718,0.72732278107852555,0.7259480385900835,0.72457038936401885,0.72318983891651811,0.72180639277538472,0.72042005648001628,0.71903083558138303,0.71763873564200509,0.71624376223593067,0.71484592094871313,0.71344521737738953,0.7120416571304572,0.71063524582785209,0.7092259891009256,0.70781389259242267,0.70639896195645879,0.70498120285849741,0.70356062097532746,0.70213722199504025,0.70071101161700711,0.69928199555185611,0.69785017952144979,0.69641556925886172,0.69497817050835364,0.69353798902535269,0.69209503057642818,0.69064930093926868,0.68920080590265875,0.68774955126645532,0.68629554284156558,0.68483878644992269,0.68337928792446268,0.68191705310910167,0.68045208785871181,0.67898439803909783,0.67751398952697417,0.67604086820994103,0.67456503998646045,0.6730865107658337,0.67160528646817652,0.67012137302439589,0.66863477637616664,0.66714550247590687,0.66565355728675513,0.66415894678254528,0.66266167694778366,0.66116175377762465,0.65965918327784678,0.65815397146482868,0.65664612436552472,0.65513564801744117,0.65362254846861223,0.65210683177757534,0.650588504013347,0.64906757125539893,0.64754403959363305,0.64601791512835771,0.64448920397026277,0.64295791224039556,0.64142404607013614,0.63988761160117258,0.63834861498547679,0.6368070623852794,0.63526295997304572,0.63371631393145045,0.63216713045335304,0.63061541574177304,0.62906117600986533,0.62750441748089492,0.62594514638821253,0.62438336897522895,0.62281909149539061,0.62125232021215449,0.61968306139896256,0.61811132133921731,0.61653710632625625,0.6149604226633264,0.6133812766635599,0.611799674649948,0.61021562295531584,0.6086291279222974,0.60704019590330982,0.60544883326052823,0.60385504636585985,0.60225884160091903,0.60066022535700136,0.59905920403505786,0.5974557840456699,0.59584997180902322,0.59424177375488207,0.592631196322564,0.59101824596091335,0.58940292912827597,0.58778525229247314,0.58616522193077591,0.58454284452987892,0.58291812658587427,0.5812910746042258,0.5796616950997433,0.57802999459655557,0.57639597962808542,0.57475965673702234,0.57312103247529722,0.57148011340405569,0.5698369060936318,0.56819141712352206,0.56654365308235888,0.56489362056788384,0.56324132618692202,0.56158677655535483,0.5599299782980941,0.55827093804905525,0.55660966245113053,0.55494615815616277,0.55328043182491882,0.55161249012706248,0.54994233974112805,0.54826998735449362,0.546595439663354,0.54491870337269432,0.54323978519626304,0.54155869185654504,0.53987543008473426,0.53819000662070759,0.53650242821299743,0.53481270161876449,0.53312083360377116,0.53142683094235399,0.529730700417397,0.5280324488203042,0.52633208295097234,0.52462960961776406,0.52292503563748027,0.52121836783533315,0.51950961304491849,0.51779877810818853,0.5160858698754246,0.51437089520520973,0.5126538609644008,0.5109347740281015,0.50921364127963487,0.5074904696105148,0.50576526592041982,0.50403803711716444,0.50230879011667218,0.50057753184294707,0.49884426922804675,0.49710900921205414,0.49537175874305012,0.49363252477708514,0.49189131427815214,0.49014813421815745,0.48840299157689443,0.48665589334201426,0.48490684650899862,0.48315585808113148,0.48140293506947102,0.47964808449282159,0.47789131337770568,0.47613262875833562,0.47437203767658559,0.47260954718196363,0.47084516433158247,0.46907889619013243,0.46731074982985266,0.46554073233050258,0.463768850779334,0.46199511227106227,0.46021952390783827,0.45844209279921971,0.45666282606214281,0.45488173082089389,0.4530988142070802,0.45131408335960238,0.44952754542462525,0.44773920755554919,0.44594907691298175,0.44415716066470878,0.44236346598566584,0.44056800005790936,0.43877077007058801,0.43697178321991381,0.43517104670913359,0.43336856774849936,0.43156435355524048,0.42975841135353426,0.42795074837447689,0.42614137185605477,0.42433028904311526,0.42251750718733799,0.42070303354720556,0.41888687538797459,0.41706903998164679,0.41524953460693914,0.41342836654925574,0.41160554310065817,0.40978107155983606,0.4079549592320782,0.40612721342924324,0.4042978414697303,0.40246685067844967,0.40063424838679368,0.39880004193260721,0.3969642386601579,0.39512684592010755,0.39328787106948226,0.39144732147164291,0.38960520449625569,0.38776152751926274,0.38591629792285254,0.38406952309543035,0.38222121043158852,0.38037136733207716,0.37852000120377438,0.37666711945965603,0.37481272951876726,0.37295683880619179,0.37109945475302258,0.36924058479633204,0.36738023637914213,0.36551841695039483,0.36365513396492194,0.36179039488341547,0.35992420717239804,0.35805657830419191,0.3561875157568905,0.3543170270143276,0.35244511956604746,0.35057180090727502,0.34869707853888571,0.3468209599673755,0.34494345270483084,0.3430645642688987,0.34118430218275614,0.33930267397508074,0.33741968718001941,0.33553534933715967,0.33364966799149837,0.33176265069341188,0.32987430499862574,0.32798463846818465,0.32609365866842177,0.32420137317092884,0.32230778955252554,0.3204129153952297,0.31851675828622578,0.31661932581783586,0.31472062558748853,0.31282066519768847,0.31091945225598622,0.30901699437494745,0.30711329917212282,0.30520837427001724,0.30330222729605927,0.30139486588257086,0.29948629766673684,0.29757653029057352,0.29566557140089927,0.29375342864930321,0.29184010969211471,0.28992562219037266,0.28800997380979504,0.28609317222074782,0.28417522509821463,0.28225614012176592,0.28033592497552828,0.278414587348153,0.2764921349327864,0.27456857542703833,0.2726439165329515,0.27071816595697057,0.26879133140991152,0.26686342060693036,0.26493444126749272,0.26300440111534251,0.26107330787847144,0.25914116928908781,0.257207993083585,0.25527378700251185,0.25333855879054046,0.25140231619643572,0.24946506697302412,0.24752681887716277,0.24558757966970834,0.24364735711548594,0.24170615898325803,0.23976399304569362,0.2378208670793362,0.23587678886457389,0.23393176618560746,0.23198580683041942,0.23003891859074269,0.22809110926202958,0.22614238664342046,0.22419275853771259,0.22224223275132879,0.22029081709428655,0.21833851938016571,0.21638534742607865,0.21443130905263799,0.21247641208392556,0.21052066434746103,0.20856407367417065,0.20660664789835581,0.20464839485766162,0.20268932239304577,0.20072943834874679,0.19876875057225318,0.19680726691427092,0.19484499522869339,0.19288194337256909,0.1909181192060703,0.18895353059246178,0.18698818539806908,0.18502209149224721,0.18305525674734907,0.18108768903869382,0.17911939624453582,0.17715038624603191,0.17518066692721143,0.1732102461749436,0.17123913187890621,0.16926733193155408,0.1672948542280874,0.16532170666642015,0.1633478971471484,0.16137343357351883,0.15939832385139688,0.15742257588923556,0.15544619759804262,0.1534691968913505,0.15149158168518345,0.14951335989802636,0.14753453945079276,0.1455551282667934,0.14357513427170424,0.14159456539353493,0.13961342956259695,0.13763173471147214,0.13564948877497998,0.13366669969014724,0.13168337539617528,0.12969952383440839,0.1277151529483021,0.12573027068339138,0.1237448849872588,0.12175900380950262,0.1197726351017051,0.11778578681740061,0.11579846691204392,0.1138106833429776,0.11182244406940139,0.1098337570523395,0.1078446302546089,0.1058550716407875,0.10386508917718219,0.10187469083179701,0.099883884574301196,0.097892678375997286,0.095901080209789449,0.09390909805015063,0.091916739873091971,0.089924013656129995,0.087930927378254878,0.085937489019898491,0.083943706562902468,0.081949587990486239,0.079955141287215037,0.077960374438967944,0.075965295432905977,0.073969912257440207,0.071974232902198981,0.069978265357997227,0.067982017616803586,0.065985497671708623,0.063988713516892809,0.061991673147594538,0.059994384560078086,0.057996855751601628,0.055999094720385188,0.054001109465578852,0.052002907987229827,0.050004498286251788,0.048005888364391881,0.046007086224198995,0.044008099868991631,0.042008937302825927,0.040009606530463558,0.038010115557339727,0.036010472389531076,0.03401068503372387,0.032010761497181038,0.030010709787711459,0.028010537913636998,0.026010253883760673,0.024009865707334568,0.022009381394027784,0.020008808953894359,0.018008156397341192,0.016007431735095976,0.014006642978175122,0.012005798137851895,0.010004905225623457,0.0080039722531801225,0.0060030072323723864,0.0040020181751790626,0.0020010130936752141,6.123233995736766e-17,0.99999747503580438,0.99998990015596823,0.99997727539874437,0.99995960082788682,0.99993687653265084,0.99990910262779253,0.99987627925356815,0.99983840657573331,0.99979548478554248,0.99974751409974749,0.99969449476059691,0.99963642703583455,0.9995733112186983,0.99950514762791864,0.99943193660771668,0.99935367852780288,0.9992703737833748,0.9991820227951157,0.99908862600919157,0.99899018389724947,0.99888669695641508,0.99877816570929001,0.99866459070394942,0.99854597251393873,0.99842231173827145,0.99829360900142561,0.99815986495334075,0.99802108026941483,0.99787725565050056,0.99772839182290196,0.99757448953837058,0.99741554957410217,0.99725157273273191,0.9970825598423313,0.99690851175640327,0.99672942935387809,0.99654531353910925,0.99635616524186832,0.99616198541734069,0.99596277504612052,0.99575853513420598,0.99554926671299404,0.99533497083927513,0.99511564859522805,0.99489130108841461,0.99466192945177345,0.99442753484361501,0.99418811844761534,0.99394368147280987,0.99369422515358807,0.99343975074968638,0.99318025954618239,0.99291575285348788,0.99264623200734292,0.99237169836880845,0.9920921533242596,0.99180759828537901,0.99151803468914901,0.99122346399784511,0.99092388769902828,0.99061930730553738,0.99030972435548148,0.98999514041223236,0.98967555706441646,0.98935097592590671,0.98902139863581473,0.98868682685848208,0.98834726228347236,0.98800270662556244,0.9876531616247336,0.98729862904616317,0.98693911068021511,0.9865746083424316,0.98620512387352322,0.98583065913936019,0.98545121603096253,0.9850667964644908,0.98467740238123624,0.98428303574761111,0.98388369855513869,0.98347939282044328,0.98307012058523968,0.98265588391632352,0.98223668490556026,0.98181252566987498,0.98138340835124127,0.98094933511667104,0.98051030815820295,0.98006632969289176,0.9796174019627969,0.97916352723497113,0.97870470780144958,0.97824094597923728,0.97777224411029839,0.97729860456154372,0.97682002972481907,0.97633652201689314,0.97584808387944522,0.97535471777905292,0.97485642620717972,0.97435321168016231,0.97384507673919807,0.97333202395033214,0.97281405590444425,0.97229117521723596,0.97176338452921729,0.97123068650569355,0.97069308383675146,0.97015057923724601,0.96960317544678676,0.96905087522972333,0.96849368137513259,0.9679315966968034,0.96736462403322332,0.9667927662475635,0.96621602622766489,0.96563440688602331,0.96504791115977473,0.96445654201068065,0.96386030242511289,0.9632591954140387,0.96265322401300535,0.96204239128212499,0.96142670030605937,0.96080615419400373,0.96018075607967135,0.95955050912127815,0.95891541650152601,0.95827548142758723,0.95763070713108811,0.95698109686809263,0.95632665391908611,0.9556673815889587,0.95500328320698824,0.95433436212682421,0.95366062172647004,0.95298206540826647,0.95229869659887445,0.95161051874925751,0.95091753533466439,0.95021974985461177,0.94951716583286649,0.94880978681742734,0.94809761638050782,0.94738065811851757,0.94665891565204452,0.9459323926258365,0.94520109270878261,0.94446501959389528,0.94372417699829081,0.94297856866317131,0.94222819835380567,0.94147306985950996,0.94071318699362916,0.93994855359351714,0.93917917352051816,0.93840505065994617,0.93762618892106631,0.93684259223707467,0.93605426456507823,0.93526120988607531,0.93446343220493544,0.93366093555037855,0.93285372397495536,0.93204180155502647,0.9312251723907421,0.93040384060602099,0.92957781034852982,0.92874708578966214,0.92791167112451767,0.92707157057188061,0.92622678837419847,0.92537732879756096,0.92452319613167799,0.92366439468985861,0.92280092880898834,0.92193280284950818,0.92106002119539199,0.92018258825412469,0.91930050845667977,0.91841378625749703,0.91752242613446022,0.91662643258887389,0.91572581014544141,0.9148205633522416,0.91391069678070602,0.91299621502559569,0.91207712270497787,0.91115342446020309,0.91022512495588126,0.90929222887985839,0.90835474094319291,0.90741266588013181,0.90646600844808667,0.90551477342760966,0.90455896562236959,0.90359858985912744,0.90263365098771187,0.90166415388099541,0.90069010343486866,0.89971150456821691,0.89872836222289432,0.89774068136369911,0.8967484669783492,0.89575172407745596,0.89475045769449968,0.89374467288580406,0.89273437473051021,0.89171956833055144,0.89070025881062753,0.88967645131817852,0.88864815102335892,0.88761536311901157,0.88657809282064148,0.88553634536638925,0.88449012601700516,0.88343944005582176,0.88238429278872799,0.88132468954414211,0.88026063567298451,0.87919213654865103,0.87811919756698575,0.87704182414625387,0.87596002172711374,0.87487379577259028,0.87378315176804677,0.8726880952211572,0.87158863166187894,0.87048476664242402,0.8693765057372318,0.86826385454294064,0.86714681867835919,0.86602540378443871,0.86489961552424399,0.86376945958292528,0.86263494166768906,0.86149606750776953,0.86035284285439972,0.85920527348078224,0.85805336518206021,0.85689712377528815,0.85573655509940227,0.85457166501519133,0.85340245940526682,0.85222894417403339,0.85105112524765869,0.84986900857404435,0.84868260012279462,0.84749190588518741,0.84629693187414312,0.84509768412419517,0.84389416869145883,0.8426863916536006,0.84147435910980828,0.84025807718075929,0.83903755200859031,0.83781278975686602,0.83658379661054827,0.83535057877596419,0.83411314248077573,0.83287149397394744,0.83162563952571544,0.83037558542755552,0.82912133799215115,0.82786290355336234,0.82660028846619271,0.82533349910675802,0.82406254187225403,0.82278742318092357,0.82150814947202477,0.8202247272057982,0.81893716286343454,0.81764546294704143,0.81634963397961091,0.81504968250498655,0.81374561508783028,0.81243743831358894,0.8111251587884617,0.80980878313936633,0.8084883180139053,0.80716377008033313,0.80583514602752204,0.80450245256492825,0.80316569642255842,0.80182488435093524,0.80048002312106381,0.79913111952439686,0.79777818037280102,0.79642121249852227,0.795060222754151,0.79369521801258802,0.79232620516700958,0.79095319113083251,0.78957618283767939,0.78819518724134341,0.78681021131575346,0.7854212620549389,0.78402834647299391,0.78263147160404245,0.78123064450220259,0.77982587224155087,0.77841716191608679,0.77700452063969627,0.77558795554611693,0.77416747378890094,0.77274308254137936,0.77131478899662609,0.76988260036742118,0.76844652388621471,0.76700656680509005,0.76556273639572747,0.76411503994936691,0.76266348477677204,0.76120807820819225,0.75974882759332663,0.75828574030128637,0.75681882372055731,0.75534808525896335,0.75387353234362831,0.7523951724209389,0.7509130129565067,0.74942706143513094,0.74793732536076052,0.74644381225645584,0.74494652966435104,0.74344548514561615,0.74194068628041832,0.74043214066788432,0.73891985592606124,0.73740383969187884,0.73588409962111045,0.73436064338833473,0.73283347868689652,0.73130261322886825,0.72976805474501072,0.72822981098473449,0.72668788971606035,0.72514229872558023,0.72359304581841821,0.72204013881819018,0.72048358556696557,0.71892339392522675,0.71735957177182974,0.71579212700396444,0.71422106753711478,0.71264640130501844,0.71106813625962717,0.70948628037106642,0.70790084162759526,0.70631182803556569,0.70471924761938265,0.70312310842146308,0.70152341850219568,0.69992018593990013,0.69831341883078579,0.69670312528891187,0.69508931344614511,0.69347199145211991,0.6918511674741965,0.69022684969741988,0.68859904632447866,0.68696776557566297,0.6853330156888241,0.68369480491933188,0.68205314154003316,0.68040803384121062,0.67875949013054038,0.67710751873304997,0.6754521279910769,0.67379332626422561,0.67213112192932611,0.67046552338039134,0.66879653902857461,0.66712417730212747,0.66544844664635683,0.66376935552358252,0.66208691241309447,0.66040112581110988,0.6587120042307304,0.65701955620189911,0.65532379027135734,0.65362471500260155,0.65192233897584018,0.65021667078795031,0.6485077190524341,0.6467954923993755,0.64507999947539651,0.64336124894361335,0.64163924948359341,0.63991400979131052,0.63818553857910154,0.63645384457562237,0.63471893652580369,0.63298082319080706,0.63123951334798001,0.62949501579081302,0.62774733932889348,0.62599649278786251,0.62424248500936985,0.62248532485102903,0.62072502118637307,0.6189615829048094,0.61719501891157502,0.61542533812769173,0.61365254948992076,0.61187666195071766,0.61009768447818746,0.60831562605603884,0.60653049568353934,0.60474230237546955,0.60295105516207759,0.60115676308903354,0.59935943521738388,0.59755908062350582,0.595755708399061,0.59394932765094999,0.59213994750126631,0.59032757708725014,0.58851222556124227,0.58669390209063788,0.58487261585784034,0.58304837606021465,0.58122119191004129,0.5793910726344691,0.57755802747546969,0.57572206568978967,0.57388319654890452,0.57204142933897195,0.57019677336078434,0.56834923792972225,0.56649883237570742,0.56464556604315519,0.56278944829092814,0.56093048849228777,0.55906869603484799,0.55720408032052748,0.55533665076550187,0.55346641680015685,0.55159338786904011,0.5497175734308134,0.54783898295820554,0.54595762593796371,0.54407351187080621,0.54218665027137414,0.54029705066818356,0.53840472260357697,0.53650967563367569,0.5346119193283313,0.53271146327107688,0.53080831705907994,0.52890249030309233,0.52699399262740276,0.5250828336697877,0.52316902308146307,0.52125257052703544,0.51933348568445281,0.51741177824495621,0.51548745791303074,0.51356053440635618,0.51163101745575823,0.50969891680515933,0.50776424221152949,0.50582700344483678,0.50388721028799832,0.50194487253683051,0.50000000000000011,0.49805260249897398,0.49610268986797018,0.49415027195390782,0.49219535861635749,0.49023795972749168,0.48827808517203453,0.48631574484721218,0.48435094866270278,0.48238370654058643,0.48041402841529485,0.47844192423356163,0.47646740395437165,0.47449047754891083,0.4725111550005161,0.47052944630462451,0.46854536146872305,0.46655891051229814,0.46457010346678479,0.46257895037551616,0.46058546129367284,0.4585896462882319,0.45659151543791621,0.45459107883314348,0.45258834657597535,0.45058332878006602,0.44857603557061226,0.44656647708430081,0.44455466346925809,0.44254060488499886,0.4405243115023747,0.43850579350352281,0.43648506108181456,0.43446212444180399,0.43243699379917627,0.43040967938069608,0.42838019142415612,0.42634854017832519,0.42431473590289659,0.42227878886843634,0.42024070935633112,0.41820050765873656,0.41615819407852511,0.41411377892923407,0.41206727253501363,0.41001868523057444,0.40796802736113574,0.40591530928237296,0.40386054136036537,0.40180373397154379,0.39974489750263836,0.39768404235062571,0.39562117892267679,0.39355631763610427,0.39148946891830971,0.3894206432067312,0.38734985094879038,0.38527710260183989,0.38320240863311045,0.38112577951965798,0.3790472257483109,0.37696675781561689,0.37488438622778997,0.37280012150065761,0.37071397415960738,0.36862595473953397,0.36653607378478598,0.36444434184911256,0.36235076949560996,0.36025536729666902,0.35815814583392069,0.35605911569818316,0.35395828748940827,0.35185567181662802,0.34975127929790106,0.34764512056025887,0.34553720623965223,0.34342754698089756,0.34131615343762306,0.33920303627221488,0.3370882061557634,0.33497167376800929,0.33285344979728954,0.33073354494048351,0.32861196990295893,0.3264887353985178,0.32436385214934232,0.32223733088594081,0.32010918234709329,0.3179794172797975,0.31584804643921455,0.31371508058861458,0.31158053049932233,0.30944440695066294,0.30730672072990733,0.30516748263221788,0.30302670346059379,0.30088439402581657,0.29874056514639546,0.29659522764851282,0.29444839236596931,0.29230007014012943,0.29015027181986652,0.28799900826150826,0.28584629032878145,0.28369212889275763,0.28153653483179769,0.27937951903149727,0.27722109238463183,0.27506126579110124,0.27290005015787494,0.27073745639893759,0.26857349543523262,0.26640817819460788,0.26424151561176035,0.26207351862818101,0.25990419819209937,0.25773356525842822,0.25556163078870847,0.2533884057510537,0.25121390112009467,0.24903812787692409,0.24686109700904102,0.24468281951029547,0.24250330638083281,0.24032256862703827,0.23814061726148134,0.23595746330286016,0.23377311777594595,0.23158759171152712,0.22940089614635384,0.22721304212308213,0.22502404069021811,0.22283390290206231,0.22064263981865367,0.21845026250571389,0.21625678203459139,0.21406220948220547,0.21186655593099041,0.20966983246883936,0.20747205018904852,0.20527322019026104,0.20307335357641096,0.2008724614566671,0.19867055494537711,0.19646764516201121,0.19426374323110601,0.19205886028220848,0.18985300744981959,0.1876461958733382,0.18543843669700477,0.18322974106984499,0.18102012014561369,0.17880958508273803,0.17659814704426224,0.17438581719778984,0.17217260671542814,0.16995852677373155,0.1677435885536453,0.16552780324044875,0.16331118202369904,0.16109373609717462,0.15887547665881863,0.15665641491068236,0.15443656205886877,0.15221592931347577,0.14999452788853973,0.14777236900197877,0.14554946387553611,0.1433258237347235,0.1411014598087644,0.13887638333053737,0.13665060553651925,0.13442413766672859,0.13219699096466861,0.12996917667727073,0.12774070605483753,0.12551159035098611,0.12328184082259114,0.12105146872972807,0.11882048533561625,0.11658890190656206,0.11435672971190203,0.11212398002394589,0.10989066411791966,0.10765679327190879,0.10542237876680104,0.10318743188622968,0.10095196391651641,0.098715986146614407,0.096479509868051275,0.094242546374872088,0.092005106963582287,0.089767202933090692,0.087528845584652404,0.08529004622181173,0.083050816150344917,0.080811166678203927,0.078571109115458004,0.076330654774237422,0.074089814968676157,0.071848601014854782,0.069607024230743275,0.067365095936143857,0.065122827452633897,0.062880230103508655,0.060637315213724161,0.058394094109839999,0.056150578119962109,0.053906778573685581,0.051662706802037446,0.049418374137419466,0.047173791913550873,0.044928971465411173,0.042683924129182871,0.040438661242194265,0.038193194142862139,0.035947534170634558,0.033701692665933571,0.031455680970097953,0.029209510425325942,0.026963192374617934,0.024716738161719234,0.022470159131062751,0.020223466627711715,0.017976671997302383,0.015729786585986751,0.013482821740375251,0.011235788807479448,0.0089886991346547485,0.0067415640695430868,0.0044943949600156291,0.0022472031541154605,2.8327694488239898e-16,0.99999496500555107,0.99997986007290651,0.99995468535417287,0.99991944110285935,0.99987412767387507,0.99981874552352579,0.99975329520950917,0.99967777739090913,0.99959219282818923,0.99949654238318508,0.99939082701909576,0.9992750478004736,0.9991492058932141,0.9990133025645439,0.99886733918300796,0.99871131721845596,0.99854523824202746,0.99836910392613565,0.99818291604445142,0.99798667647188444,0.99778038718456508,0.9975640502598242,0.99733766787617228,0.99710124231327746,0.99685477595194238,0.99659827127408063,0.99633173086269133,0.99605515740183381,0.99576855367659944,0.99547192257308459,0.99516526707836128,0.99484859028044692,0.99452189536827329,0.99418518563165459,0.99383846446125412,0.99348173534855022,0.99311500188580104,0.99273826776600849,0.99235153678288102,0.99195481283079534,0.99154809990475712,0.99113140210036121,0.99070472361374973,0.99026806874157036,0.98982144188093268,0.98936484752936449,0.98889829028476561,0.98842177484536242,0.98793530600966006,0.98743888867639429,0.98693252784448227,0.98641622861297173,0.98588999618099049,0.98535383584769298,0.98480775301220802,0.98425175317358371,0.98368584193073205,0.98311002498237321,0.98252430812697733,0.98192869726270671,0.98132319838735604,0.9807078175982924,0.98008256109239345,0.9794474351659852,0.97880244621477874,0.97814760073380569,0.9774829053173526,0.97680836665889514,0.97612399155103002,0.97542978688540705,0.9747257596526594,0.97401191694233347,0.97328826594281759,0.97255481394126919,0.97181156832354165,0.97105853657411034,0.97029572627599647,0.96952314511069126,0.96874080085807857,0.96794870139635625,0.96714685470195716,0.96633526884946852,0.96551395201155088,0.96468291245885573,0.96384215855994204,0.9629916987811924,0.96213154168672721,0.96126169593831889,0.96038217029530448,0.95949297361449737,0.95859411485009838,0.95768560305360528,0.95676744737372166,0.95583965705626517,0.95490224144407387,0.95395520997691263,0.95299857219137785,0.95203233772080142,0.95105651629515353,0.95007111774094544,0.94907615198112927,0.94807162903499953,0.94705755901809086,0.94603395214207719,0.94500081871466846,0.94395816913950681,0.94290601391606166,0.94184436363952473,0.94077322900070226,0.93969262078590843,0.93860254987685576,0.93750302725054624,0.93639406397916058,0.93527567122994648,0.93414786026510677,0.93301064244168508,0.93186402921145228,0.93070803212079112,0.92954266281057918,0.92836793301607268,0.92718385456678742,0.92599043938638037,0.92478769949252915,0.92357564699681105,0.92235429410458136,0.92112365311485012,0.91988373642015842,0.91863455650645354,0.91737612595296336,0.91610845743206959,0.91483156370918028,0.91354545764260087,0.91225015218340533,0.91094566037530511,0.90963199535451844,0.90830917034963721,0.90697719868149473,0.90563609376303089,0.9042858690991572,0.90292653828662128,0.90155811501386907,0.90018061306090791,0.89879404629916704,0.89739842869135844,0.89599377429133586,0.8945800972439536,0.8931574117849238,0.89172573224067331,0.89028507302819904,0.88883544865492348,0.8873768737185479,0.88590936290690558,0.88443293099781439,0.88294759285892699,0.88145336344758207,0.87995025781065317,0.87843829108439742,0.8769174784943029,0.87538783535493569,0.87384937706978494,0.87230211913110878,0.87074607711977714,0.8691812667051162,0.86760770364474915,0.86602540378443871,0.86443438305792675,0.86283465748677446,0.86122624318020058,0.8596091563349193,0.85798341323497707,0.85634903025158904,0.85470602384297356,0.85305441055418707,0.85139420701695689,0.84972542994951439,0.84804809615642596,0.84636222252842441,0.84466782604223833,0.84296492376042154,0.84125353283118121,0.83953367048820493,0.83780535405048728,0.83606860092215585,0.83432342859229525,0.8325698546347714,0.83080789670805466,0.82903757255504174,0.82725890000287716,0.82547189696277401,0.8236765814298328,0.82187297148286109,0.82006108528419108,0.81824094107949674,0.81641255719760975,0.81457595205033573,0.81273114413226799,0.81087815202060198,0.80901699437494745,0.80714768993714137,0.80527025753105863,0.80338471606242279,0.80149108451861528,0.79958938196848506,0.79767962756215538,0.79576184053083221,0.79383604018660936,0.79190224592227521,0.78996047721111617,0.78801075360672201,0.78605309474278751,0.78408752033291584,0.78211405017041935,0.78013270412812075,0.77814350215815264,0.77614646429175682,0.77414161063908249,0.77212896138898357,0.77010853680881564,0.76808035724423196,0.76604444311897801,0.76400081493468674,0.76194949327067085,0.75989049878371706,0.75782385220787685,0.75574957435425838,0.75366768611081647,0.75157820844214274,0.74948116238925411,0.74737656906938099,0.74526444967575478,0.74314482547739436,0.7410177178188917,0.73888314812019762,0.73674113787640494,0.73459170865753332,0.73243488210831098,0.73027067994795736,0.72809912396996412,0.72592023604187605,0.7237340381050702,0.72154055217453561,0.71933980033865119,0.71713180475896354,0.71491658766996358,0.71269417137886293,0.7104645782653688,0.70822783078145923,0.70598395145115644,0.70373296287030052,0.70147488770632127,0.69920974869801078,0.69693756865529344,0.69465837045899737,0.69237217706062282,0.69007901148211204,0.68777889681561699,0.68547185622326667,0.68315791293693451,0.68083709025800343,0.67850941155713218,0.67617490027401939,0.67383357991716797,0.67148547406364756,0.66913060635885824,0.66676900051629162,0.66440068031729238,0.66202566961081855,0.65964399231320159,0.6572556724079055,0.6548607339452851,0.65245920104234423,0.65005109788249249,0.64763644871530202,0.64521527785626309,0.64278760968653936,0.64035346865272236,0.63791287926658535,0.63546586610483624,0.63301245380887039,0.63055266708452251,0.62808653070181752,0.62561406949472143,0.62313530836089115,0.62065027226142377,0.61815898622060528,0.6156614753256584,0.61315776472648997,0.61064787963543821,0.60813184532701792,0.60560968713766672,0.60308143046548957,0.60054710077000317,0.59800672357187912,0.59546032445268804,0.59290792905464051,0.59034956308032993,0.58778525229247314,0.58521502251365154,0.5826388996260502,0.58005690957119826,0.57746907834970662,0.57487543202100733,0.57227599670308971,0.56967079857223879,0.56705986386277074,0.56444321886676929,0.56182088993382018,0.5591929034707469,0.55655928594134385,0.55392006386611037,0.55127526382198333,0.54862491244207001,0.54596903641537919,0.54330766248655316,0.54064081745559767,0.53796852817761254,0.53529082156252139,0.53260772457479999,0.52991926423320512,0.52722546761050237,0.52452636183319434,0.52182197408124609,0.519112331587812,0.51639746163896194,0.51367739157340642,0.51095214878222062,0.50822176070856928,0.50548625484742971,0.50274565874531585,0.50000000000000011,0.49724930626023534,0.49449360522547686,0.49173292464560381,0.4889672923206389,0.48619673610046882,0.48342128388456385,0.48064096362169734,0.47785580330966326,0.47506583099499505,0.47227107477268271,0.46947156278589086,0.46666732322567384,0.46385838433069287,0.46104477438693131,0.45822652172741046,0.45540365473190308,0.45257620182664843,0.44974419148406575,0.44690765222246814,0.44406661260577424,0.44122110124322145,0.43837114678907746,0.43551677794235227,0.43265802344650839,0.42979491208917175,0.42692747270184184,0.42405573415960179,0.42117972538082671,0.41829947532689293,0.41541501300188644,0.41252636745231119,0.4096335677667956,0.40673664307580037,0.40383562255132482,0.40093053540661377,0.39802141089586235,0.39510827831392203,0.39219116699600548,0.38927010631739156,0.38634512569312879,0.38341625457773948,0.38048352246492306,0.37754695888725986,0.37460659341591218,0.37166245566032768,0.36871457526794077,0.36576298192387457,0.36280770535064116,0.35984877530784276,0.35688622159187189,0.35392007403561193,0.35095036250813577,0.34797711691440536,0.34500036719497068,0.34202014332566882,0.33903647531732078,0.33604939321543009,0.33305892709988083,0.33006510708463327,0.32706796331742177,0.3240675259794506,0.32106382528509086,0.31805689148157501,0.31504675484869299,0.31203344569848712,0.30901699437494745,0.30599743125370521,0.30297478674172745,0.29994909127701064,0.29692037532827492,0.29388866939465608,0.29085400400539924,0.28781640971955091,0.28477591712565226,0.28173255684142978,0.27868635951348775,0.27563735581699916,0.27258557645539788,0.26953105216006801,0.26647381369003514,0.2634138918316567,0.26035131739831213,0.25728612123009181,0.25421833419348711,0.25114798718107922,0.24807511111122887,0.24499973692776381,0.2419218955996679,0.2388416181207689,0.23575893550942728,0.23267387880822252,0.2295864790836413,0.22649676742576438,0.2234047749479543,0.22031053278654075,0.21721407210050794,0.21411542407118039,0.21101461990190978,0.20791169081775945,0.20480666806519085,0.20169958291174842,0.19859046664574553,0.19547935057594831,0.192366266031261,0.18925124436041021,0.18613431693163002,0.18301551513234482,0.17989487036885407,0.17677241406601568,0.17364817766693041,0.17052219263262391,0.16739449044173074,0.16426510259017704,0.16113406059086416,0.15800139597335003,0.15486714028353263,0.15173132508333168,0.14859398195037188,0.14545514247766356,0.14231483827328534,0.13917310096006547,0.13602996217526428,0.13288545357025419,0.12973960681020197,0.12659245357374929,0.12344402555269482,0.12029435445167351,0.11714347198783839,0.11399140989054066,0.1108381999010111,0.10768387377203907,0.10452846326765368,0.10137200016280344,0.098214516243037217,0.095056043304182811,0.091896613152027656,0.088736257601998089,0.085575008478839837,0.082412897616296277,0.079249956856788664,0.076086218051095125,0.072921713058030746,0.069756473744125455,0.066590531983304002,0.063423919656564562,0.060256668651658525,0.057088810862768145,0.053920378190186177,0.050751402539994245,0.047581915823742403,0.044411949958126473,0.041241536864667534,0.038070708469390008,0.03489949670250108,0.031727933498067816,0.028556050793696476,0.025383880530210449,0.02221145465132952,0.019038805103346847,0.015865963834808153,0.012692962796189564,0.0095198339395767585,0.0063466092183418719,0.0031733205868226173,6.123233995736766e-17,0.99995971617087109,0.99983886792905818,0.99963746501102113,0.99935552364332136,0.9989930665413147,0.99855012290732093,0.99802672842827156,0.99742292527283405,0.9967387620880146,0.99597429399523907,0.99512958258591122,0.99420469591645155,0.99319970850281292,0.99211470131447788,0.99094976176793481,0.98970498371963489,0.98838046745843078,0.98697631969749566,0.98549265356572668,0.98392958859862967,0.98228725072868872,0.98056577227522002,0.97876529193371142,0.97688595476464768,0.97492791218182362,0.97289132194014494,0.97077634812291813,0.96858316112863119,0.96631193765722401,0.96396286069585324,0.96153611950414886,0.95903190959896567,0.95645043273863162,0.95379189690669208,0.95105651629515353,0.94824451128722631,0.94535610843956897,0.94239154046403484,0.93935104620892351,0.9362348706397372,0.93304326481944422,0.92977648588825146,0.92643479704288745,0.92301846751539729,0.91952777255145068,0.91596299338816656,0.91232441723145441,0.90861233723287449,0.90482705246601958,0.90096886790241915,0.89703809438696869,0.89303504861288541,0.8889600530961933,0.88481343614973851,0.880595531856738,0.87630668004386358,0.87194722625386245,0.86751752171771757,0.8630179233263503,0.8584487936018661,0.85381050066834729,0.8491034182221936,0.84432792550201519,0.83948440725807727,0.83457325372130264,0.82959486057183118,0.82454962890714079,0.81943796520973189,0.81426028131437866,0.80901699437494745,0.80370852683078875,0.79833530637270156,0.79289776590847527,0.78739634352801202,0.7818314824680298,0.77620363107635304,0.77051324277578925,0.7647607760275984,0.75894669429455563,0.75307146600361097,0.74713556450814966,0.74113946804985487,0.73508365972017686,0.72896862742141155,0.72279486382739166,0.71656286634379229,0.71027313706805706,0.70392618274894503,0.69752251474570237,0.69106264898686476,0.68454710592868873,0.67797641051322088,0.67135109212600408,0.66467168455342573,0.6579387259397127,0.65115275874357359,0.64431432969449431,0.63742398974868975,0.63048229404471379,0.62348980185873359,0.61644707655947006,0.60935468556280825,0.60221320028608227,0.59502319610203724,0.58778525229247325,0.58049995200157356,0.57316788218892234,0.56578963358221457,0.55836580062966257,0.55089698145210264,0.54338377779480573,0.53582679497899677,0.52822664185308443,0.52058393074360865,0.51289927740590613,0.50517330097450119,0.49740662391322216,0.4895998719650525,0.48175367410171532,0.47386866247299869,0.46594547235582506,0.45798474210306767,0.44998711309212125,0.44195322967322681,0.43388373911755818,0.42577929156507283,0.4176405399721313,0.40946814005889065,0.40126275025647429,0.39302503165392366,0.38475564794493622,0.37645526537439217,0.36812455268467809,0.35976418106180702,0.35137482408134274,0.34295715765413171,0.33451185997184552,0.32603961145234195,0.31754109468484443,0.30901699437494745,0.30046799728945212,0.29189479220103348,0.28329806983274958,0.2746785228023903,0.26603684556667517,0.25737373436530259,0.24868988716485496,0.23998600360256606,0.23126278492995225,0.22252093395631445,0.21376115499211468,0.20498415379223051,0.19619063749909532,0.18738131458572474,0.17855689479863671,0.16971808910066918,0.16086560961369861,0.15200016956126727,0.14312248321111959,0.13423326581765554,0.12533323356430448,0.11642310350582305,0.10750359351052506,0.098575422202443613,0.089639308903433773,0.080695973575217517,0.071746136761379475,0.062790519529313527,0.053829843412128306,0.044864830350515209,0.035896202634582416,0.026924682845663007,0.017950993798097389,0.0089758584809980588,2.8327694488239898e-16],"twiddles":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99998006197499201,0.0063147171346956315,0.99992024869501761,0.012629182463414962,0.99982056254519414,0.018943144190222718,0.99968100750061151,0.025256350539265286,0.99950158912617382,0.031568549764810529,0.99928231457637684,0.03787949016128641,0.9990231925950237,0.044188920073318039,0.99872423351487549,0.050496587905762669,0.99838544925723938,0.056802242133742332,0.99800685333149342,0.063105631312673646,0.99758846083454755,0.069406504088294435,0.99713028845024199,0.075704609206686757,0.9966323544486817,0.08199969552429591,0.99609467868550783,0.088291512017945037,0.99551728260110595,0.094579807794844942,0.99490018921975121,0.10086433210259871,0.99424342314869008,0.10714483433920072,0.99354701057715944,0.11342106406302965,0.99281097927534168,0.11969277100283514,0.99203535859325775,0.12595970506771756,0.99122017945959695,0.13222161635710067,0.99036547438048317,0.13847825517069676,0.98947127743817864,0.14472937201846348,0.98853762428972569,0.15097471763055284,0.98756455216552375,0.15721404296725078,0.98655209986784553,0.16344709922890813,0.98550030776928954,0.16967363786586165,0.98440921781117008,0.17589341058834523,0.98327887350184495,0.18210616937639068,0.98210931991498041,0.18831166648971787,0.98090060368775356,0.19450965447761348,0.97965277301899334,0.20069988618879855,0.9783658776672578,0.20688211478128374,0.97703996894885048,0.21305609373221249,0.9756750997357736,0.21922157684769134,0.97427132445362019,0.22537831827260721,0.97282869907940372,0.23152607250043108,0.97134728113932578,0.23766459438300794,0.96982712970648199,0.24379363914033211,0.96826830539850717,0.24991296237030836,0.96667087037515731,0.25602232005849745,0.9650348883358314,0.26212146858784663,0.96336042451703086,0.26821016474840415,0.96164754568975874,0.27428816574701737,0.959896320156857,0.28035522921701445,0.95810681775028239,0.28641111322786894,0.95627910982832243,0.2924555762948472,0.95441326927274972,0.2984883773886377,0.95250937048591544,0.30450927594496224,0.9505674893877829,0.31051803187416882,0.94858770341289989,0.31651440557080551,0.94657009150731097,0.32249815792317488,0.94451473412540932,0.32846905032286877,0.94242171322672885,0.3344268446742833,0.94029111227267559,0.34037130340411281,0.9381230162231996,0.34630218947082386,0.93591751153340752,0.35221926637410683,0.93367468615011462,0.35812229816430724,0.93139462950833807,0.36401104945183416,0.92907743252773056,0.36988528541654681,0.92672318760895478,0.37574477181711802,0.92433198862999877,0.38158927500037487,0.92190393094243284,0.38741856191061624,0.91943911136760659,0.39323240009890575,0.91693762819278879,0.39903055773234097,0.91439958116724751,0.40481280360329808,0.91182507149827297,0.41057890713865158,0.90921420184714141,0.4163286384089685,0.90656707632502165,0.42206176813767715,0.90388380048882355,0.4277780677102096,0.90116448133698834,0.43347730918311828,0.89840922730522277,0.43915926529316518,0.89561814826217423,0.44482370946638422,0.89279135550505029,0.45047041582711622,0.88992896175518033,0.45609915920701594,0.88703108115352058,0.46170971515403086,0.88409782925610303,0.46730185994135143,0.88112932302942704,0.47287537057633233,0.87812568084579523,0.47843002480938474,0.87508702247859371,0.48396560114283876,0.87201346909751531,0.48948187883977551,0.86890514326372859,0.4949786379328297,0.86576216892498992,0.50045565923296076,0.86258467141070105,0.50591272433819345,0.85937277742691198,0.51134961564232673,0.85612661505126786,0.5167661163436108,0.85284631372790176,0.52216201045339306,0.84953200426227349,0.52753708280473,0.84618381881595295,0.53289111906096776,0.8428018909013506,0.53822390572428858,0.83938635537639306,0.54353523014422489,0.83593734843914569,0.54882488052613865,0.83245500762238167,0.55409264593966634,0.82893947178809757,0.55933831632713105,0.82539088112197623,0.56456168251191807,0.82180937712779645,0.56976253620681605,0.81819510262179052,0.57494067002232296,0.81454820172694964,0.58009587747491576,0.81086881986727632,0.5852279529952843,0,0.99992024869501761,0.012629182463414962,0.99968100750061151,0.025256350539265286,0.99928231457637684,0.03787949016128641,0.99872423351487549,0.050496587905762669,0.99800685333149342,0.063105631312673646,0.99713028845024199,0.075704609206686757,0.99609467868550783,0.088291512017945037,0.99490018921975121,0.10086433210259871,0.99354701057715944,0.11342106406302965,0.99203535859325775,0.12595970506771756,0.99036547438048317,0.13847825517069676,0.98853762428972569,0.15097471763055284,0.98655209986784553,0.16344709922890813,0.98440921781117008,0.17589341058834523,0.98210931991498041,0.18831166648971787,0.97965277301899334,0.20069988618879855,0.97703996894885048,0.21305609373221249,0.97427132445362019,0.22537831827260721,0.97134728113932578,0.23766459438300794,0.96826830539850717,0.24991296237030836,0.9650348883358314,0.26212146858784663,0.96164754568975874,0.27428816574701737,0.95810681775028239,0.28641111322786894,0.95441326927274972,0.2984883773886377,0.9505674893877829,0.31051803187416882,0.94657009150731097,0.32249815792317488,0.94242171322672885,0.3344268446742833,0.9381230162231996,0.34630218947082386,0.93367468615011462,0.35812229816430724,0.92907743252773056,0.36988528541654681,0.92433198862999877,0.38158927500037487,0.91943911136760659,0.39323240009890575,0.91439958116724751,0.40481280360329808,0.90921420184714141,0.4163286384089685,0.90388380048882355,0.4277780677102096,0.89840922730522277,0.43915926529316518,0.89279135550505029,0.45047041582711622,0.88703108115352058,0.46170971515403086,0.88112932302942704,0.47287537057633233,0.87508702247859371,0.48396560114283876,0.86890514326372859,0.4949786379328297,0.86258467141070105,0.50591272433819345,0.85612661505126786,0.5167661163436108,0.84953200426227349,0.52753708280473,0.8428018909013506,0.53822390572428858,0.83593734843914569,0.54882488052613865,0.82893947178809757,0.55933831632713105,0.82180937712779645,0.56976253620681605,0.81454820172694964,0.58009587747491576,0.80715710376198535,0.59033669193652838,0.79963726213231934,0.60048334615501908,0.79198987627231787,0.61053422171255767,0.78421616595998533,0.6204877154682602,0.77631737112240562,0.63034223981389437,0.76829475163797079,0.64009622292710711,0.76014958713542724,0.64974810902213442,0.7518831767897719,0.65929635859795299,0.74349683911503006,0.66873944868383473,0.73499191175394862,0.67807587308226491,0.72636975126463943,0.68730414260918427,0.7176317329042039,0.69642278533151791,0.70877925040937662,0.70543034680195205,0.69981371577422002,0.71432539029092279,0.69073655902490816,0.72310649701577812,0.68154922799163375,0.73177226636707682,0.6722531880776752,0.74032131613199004,0.66284992202566106,0.74875228271476746,0.65334092968106872,0.75706382135423489,0.64372772775299536,0.76525460633828635,0.63401184957223866,0.77332333121533903,0.6241948448467266,0.78126870900271628,0.61427827941433477,0.78908947239192362,0.60426373499313157,0.79678437395078883,0.59415280892909006,0.80435218632242944,0.58394711394130627,0.81179170242102072,0.57364827786476735,0.81910173562432809,0.56325794339070712,0.8262811199629766,0.55277776780459276,0.8333287103064263,0.54220942272178296,0.84024338254562336,0.53155459382090142,0.84702403377229885,0.52081498057496667,0.85366958245488467,0.50999229598032136,0.86017896861102128,0.49908826628340541,0.86655115397662741,0.48810463070541421,0.87278512217150628,0.47704314116488955,0.87887987886146035,0.46590556199828348,0.88483445191689025,0.4546936696785413,0.89064789156785273,0.4434092525317509,0.89631927055555038,0.43205411045189912,0.90184768428023265,0.42063005461378417,0.90723225094548143,0.40913890718412887,0.91247211169886,0.39758250103093934,0.91756643076890243,0.38596267943115903,0.92251439559842119,0.37428129577666058,0.92731521697411168,0.36254021327862451,0.93196812915243477,0.3507413046703533,0.93647238998175397,0.3388864519085647,0.94082728102071111,0.32697754587321493,0.9450321076528192,0.31501648606589866,0.94908619919725601,0,0.99982056254519414,0.018943144190222718,0.99928231457637684,0.03787949016128641,0.99838544925723938,0.056802242133742332,0.99713028845024199,0.075704609206686757,0.99551728260110595,0.094579807794844942,0.99354701057715944,0.11342106406302965,0.99122017945959695,0.13222161635710067,0.98853762428972569,0.15097471763055284,0.98550030776928954,0.16967363786586165,0.98210931991498041,0.18831166648971787,0.9783658776672578,0.20688211478128374,0.97427132445362019,0.22537831827260721,0.96982712970648199,0.24379363914033211,0.9650348883358314,0.26212146858784663,0.959896320156857,0.28035522921701445,0.95441326927274972,0.2984883773886377,0.94858770341289989,0.31651440557080551,0.94242171322672885,0.3344268446742833,0.93591751153340752,0.35221926637410683,0.92907743252773056,0.36988528541654681,0.92190393094243284,0.38741856191061624,0.91439958116724751,0.40481280360329808,0.90656707632502165,0.42206176813767715,0.89840922730522277,0.43915926529316518,0.88992896175518033,0.45609915920701594,0.88112932302942704,0.47287537057633233,0.87201346909751531,0.48948187883977551,0.86258467141070105,0.50591272433819345,0.85284631372790176,0.52216201045339306,0.8428018909013506,0.53822390572428858,0.83245500762238167,0.55409264593966634,0.82180937712779645,0.56976253620681605,0.81086881986727632,0.5852279529952843,0.79963726213231934,0.60048334615501908,0.7881187346471924,0.61552324090817923,0.77631737112240562,0.63034223981389437,0.76423740677122731,0.64493502470527186,0.7518831767897719,0.65929635859795299,0.73925911480120765,0.67342108756953467,0.72636975126463943,0.68730414260918427,0.71321971184924138,0.7009405414367792,0.69981371577422002,0.71432539029092279,0.68615657411520514,0.72745388568519243,0.6722531880776752,0.74032131613199004,0.65810854723803769,0.75292306383337704,0.64372772775299536,0.76525460633828635,0.62911589053784112,0.77731151816551591,0.61427827941433477,0.78908947239192362,0.59922021922882718,0.80058424220525115,0.58394711394130627,0.81179170242102072,0.56846444468605162,0.82270783096296041,0.55277776780459276,0.8333287103064263,0.53689271285167772,0.84365052888430403,0.52081498057496667,0.85366958245488467,0.50455034086917749,0.86338227543122326,0.48810463070541421,0.87278512217150628,0.4714837520364254,0.88187474822995959,0.4546936696785413,0.89064789156785273,0.43774040917105006,0.89910140372416369,0.42063005461378417,0.90723225094548143,0.40336874648368898,0.91503751527474408,0.38596267943115903,0.92251439559842119,0.36841810005693493,0.92966020865176235,0.3507413046703533,0.93647238998175397,0.33293863702976106,0.94294849486743704,0.31501648606589866,0.94908619919725601,0.296981283589073,0.95488330030312429,0.27883950198094309,0.96033771775090648,0.26059765187174339,0.96544749408703401,0.24226227980378318,0.97021079554098633,0.22383996588205624,0.97462591268338428,0.2053373214128057,0.97869126103946291,0.18676098653089318,0.98240538165769808,0.16811762781682063,0.98576694163338885,0.14941393590426094,0.9887747345870026,0.13065662307895887,0.9914276810971151,0.1118524208698594,0.99372482908778714,0.093008077633330175,0.99566535417024149,0.074130356131347344,0.99724855993871442,0.055226031104508168,0.99847387822037881,0.036301886840748143,0.99934086927924726,0.01736471474062963,0.99984922197398174,-0.0015786891199220787,0.99999875386955495,-0.02052152642855835,0.99978941130272125,-0.039456999076252698,0.99922126940127565,-0.058378311596970003,0.9982945320570914,-0.077278673606389445,0.99700953185294927,-0.096151302238803693,0.99536672994318143,-0.11498942458131793,0.9933667158881746,-0.13378628010447904,0.99101020744279211,-0.15253512308846057,0.98829805029878925,-0.17122922504393109,0.98523121778131595,-0.18986187712674088,0.98181081049961472,-0.20842639254555831,0.97803805595203952,-0.22691610896159004,0.97391430808553781,-0.24532439087952893,0.96944104680975218,-0.26364463202886534,0.96461987746591882,-0.28187025773471264,0.95945253025075017,-0.29999472727729326,0.953940859595511,0,0.99968100750061151,0.025256350539265286,0.99872423351487549,0.050496587905762669,0.99713028845024199,0.075704609206686757,0.99490018921975121,0.10086433210259871,0.99203535859325775,0.12595970506771756,0.98853762428972569,0.15097471763055284,0.98440921781117008,0.17589341058834523,0.97965277301899334,0.20069988618879855,0.97427132445362019,0.22537831827260721,0.96826830539850717,0.24991296237030836,0.96164754568975874,0.27428816574701737,0.95441326927274972,0.2984883773886377,0.94657009150731097,0.32249815792317488,0.9381230162231996,0.34630218947082386,0.92907743252773056,0.36988528541654681,0.91943911136760659,0.39323240009890575,0.90921420184714141,0.4163286384089685,0.89840922730522277,0.43915926529316518,0.88703108115352058,0.46170971515403086,0.87508702247859371,0.48396560114283876,0.86258467141070105,0.50591272433819345,0.84953200426227349,0.52753708280473,0.83593734843914569,0.54882488052613865,0.82180937712779645,0.56976253620681605,0.80715710376198535,0.59033669193652838,0.79198987627231787,0.61053422171255767,0.77631737112240562,0.63034223981389437,0.76014958713542724,0.64974810902213442,0.74349683911503006,0.66873944868383473,0.72636975126463943,0.68730414260918427,0.70877925040937662,0.70543034680195205,0.69073655902490816,0.72310649701577812,0.6722531880776752,0.74032131613199004,0.65334092968106872,0.75706382135423489,0.63401184957223866,0.77332333121533903,0.61427827941433477,0.78908947239192362,0.59415280892909006,0.80435218632242944,0.57364827786476735,0.81910173562432809,0.55277776780459276,0.8333287103064263,0.53155459382090142,0.84702403377229885,0.50999229598032136,0.86017896861102128,0.48810463070541421,0.87278512217150628,0.46590556199828348,0.88483445191689025,0.4434092525317509,0.89631927055555038,0.42063005461378417,0.90723225094548143,0.39758250103093934,0.91756643076890243,0.37428129577666058,0.92731521697411168,0.3507413046703533,0.93647238998175397,0.32697754587321493,0.9450321076528192,0.30300518030687273,0.95298890901583921,0.27883950198094309,0.96033771775090648,0.25449592823568296,0.967073845428289,0.22998998990595865,0.97319299449957875,0.2053373214128057,0.97869126103946291,0.18055365078890231,0.98356513723636985,0.15565478964432103,0.9878115136304001,0.13065662307895887,0.9914276810971151,0.10557509954808172,0.99441133257591785,0.080426220687448507,0.99676056454192341,0.055226031104508168,0.99847387822037881,0.029990608142181154,0.99955018054285905,0.0047360516217554594,0.99998878484462816,-0.02052152642855835,0.99978941130272125,-0.045766012052858955,0.9989521871144672,-0.070981299648016,0.99747764641633874,-0.096151302238803693,0.99536672994318143,-0.12125996174115017,0.99262078442803869,-0.14629125920695374,0.98924156174295663,-0.17122922504393109,0.98523121778131595,-0.19605794920397801,0.98059231108240408,-0.22076159133354181,0.97532780119910567,-0.24532439087952893,0.96944104680975218,-0.26973067714430082,0.96293580357533537,-0.29396487928334447,0.95581622174345249,-0.31801153623923811,0.94808684350050954,-0.34185530660557328,0.93975260007387551,-0.36548097841454186,0.93081880858583277,-0.38887347884194345,0.92129116866133287,-0.41201788382342169,0.91117575879172152,-0.43489942757579297,0.90047903245675165,-0.4575035120173942,0.88920781400736126,-0.47981571608144064,0.87736929431183897,-0.50182180491644923,0.86497102616815846,-0.5235077389678624,0.85202091948540581,-0.54485968293507048,0.83852723623737735,-0.5658640145981273,0.82449858519156383,-0.58650733350852313,0.80994391641688501,-0.60677646953846798,0.79487251557368166,-0.62665849128323636,0.77929399798960208,-0.6461407143112099,0.76321830252516842,-0.66521070925635351,0.74665568523293191,-0.68385630974796618,0.72961671281426499,-0.70206562017264074,0.71211225587796578,-0.7198270232634878,0.6941534820049714,-0.73712918751177892,0.67575184862360882,-0.7539610743962768,0.65691909569992868,-0.77031194542564818,0.63766723824778182,-0.78617136898945927,0.61800855866342141,-0.80152922701338691,0.59795559888951821,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9997777298596181,0.021082952277811057,0.99911101824650306,0.042156532334097212,0.99800016154082261,0.063211372113663539,0.99644565356312842,0.084238111892122991,0.99444818535483348,0.10522740443667092,0.99200864487101592,0.12616991916130652,0.98912811658568733,0.14705634627465419,0.98580788100970029,0.16787740091854086,0.98204941412151014,0.18862382729548932,0.97785438671104263,0.20928640278329311,0.97322466363696036,0.22985594203484355,0.96816230299765871,0.25032330106138656,0.96266955521635766,0.27067938129739411,0.95674886204069798,0.29091513364524274,0.95040285545728631,0.3110215624979023,0.94363435652167094,0.33098972973784541,0.93644637410426923,0.35081075871040091,0.92884210355280283,0.37047583816978441,0.9208249252718379,0.38997622619605166,0.91239840322005838,0.40930325408123458,0.90356628332594302,0.42844833018293071,0.89433249182254926,0.44740294374363454,0.88470113350214463,0.46615866867411199,0.87467648989146085,0.48470716729913665,0.86426301734838329,0.50304019406392197,0.85346534508091987,0.52114959919960258,0.84228827308933207,0.53902733234613509,0.83073677003234114,0.5566654461310071,0.81881597101835923,0.57405609970216465,0.80653117532272689,0.59119156221358637,0.79388784403197199,0.60806421626195639,0.78089159761613613,0.62466656127290709,0.76754821343024993,0.64099121683532567,0.7538636231460657,0.65703092598224522,0.73984391011519057,0.67277855841685819,0.72549530666479145,0.68822711368222067,0.71082419132707475,0.70336972427323763,0.69583708600377192,0.71819965868954527,0.68054065306689093,0.73271032442793482,0.66494169239702461,0.74689527091298469,0.64904713836052863,0.76074819236460156,0.63286405672691681,0.77426293060119433,0.61639964152784232,0.7874334777772326,0.59966121185906041,0.80025397905397699,0.58265620862679557,0.8127187352021904,0.56539219123995887,0.82482220513567506,0.54787683424968681,0.83655900837450858,0.53011792393769352,0.84792392743688372,0.51212335485495486,0.85891191015849,0.49390112631226352,0.8695180719384028,0.47545933882421176,0.87973769791048706,0.45680619050818716,0.88956624503934378,0.4379499734399796,0.89899934413987259,0.41889906996761855,0.90803280181955115,0.39966194898508223,0.91666260234256614,0.38024716216753368,0.92488490941497004,0.36066334016975554,0.93269606789006843,0.34091918878947691,0.94009260539327988,0.32102348509729633,0.94707123386574565,0.30098507353491855,0.9536288510260057,0.28081286198344613,0.95976254174908604,0.26051581780346544,0.96546957936239064,0.24010296384869487,0.97074742685781679,0.21958337445496295,0.97559373801955673,0.19896617140629977,0.98000635846708617,0.17826051987993694,0.98398332661287236,0.15747562437201779,0.98752287453437915,0.13662072460582686,0.99062342875997977,0.11570509142436129,0.99328361096842843,0.094738022669068361,0.99550223860157894,0.073728839046578898,0.99727832539008066,0.052686879985279503,0.9986110817918139,0.031621499483558885,0.99949991534287352,0.010542061951579447,0.99994443092094321,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.9999671357324742,0.0081072470661520402,0.99986854509001677,0.016213961254831117,0.99970423455284629,0.024319609723589531,0.99947421492085364,0.032423659700027786,0.99917850131289232,0.040525578516812946,0.99881711316578459,0.048624833646690062,0.99839007423304382,0.05672089273748445,0.99789741258331355,0.064813223647092383,0.99733916059852235,0.072901294478458015,0.99671535497175523,0.080984573614534205,0.99602603670484235,0.089062529753224914,0.99527125110566339,0.097134631942306954,0.99445104778517024,0.10520034961432864,0.99356548065412553,0.11325915262148323,0.99261460791955947,0.12131051127045483,0.99159849208094397,0.12935389635723427,0.99051719992608445,0.13738877920190287,0.98937080252673026,0.14541463168338203,0.98815937523390307,0.15343092627414551,0.98688299767294418,0.16143713607489341,0.98554175373828079,0.16943273484918414,0.9841357315879119,0.17741719705802342,0.98266502363761365,0.18538999789440713,0.98112972655486508,0.19335061331781597,0.97952994125249448,0.20129852008866006,0.97786577288204601,0.20923319580267069,0.97613733082686882,0.21715411892523701,0.97434472869492716,0.2250607688256859,0.97248808431133293,0.23295262581150231,0.97056751971060173,0.24082917116248767,0.96858316112863108,0.24868988716485479,0.9665351389944038,0.25653425714525641,0.96442358792141436,0.26436176550474527,0.9622486466988216,0.27217189775266382,0.96001045828232578,0.27996414054046087,0.95770916978477272,0.28773798169543313,0.95534493246648411,0.29549291025438984,0.95291790172531543,0.30322841649723736,0.95042823708644186,0.31094399198048245,0.94787610219187268,0.3186391295706516,0.94526166478969598,0.32631332347762387,0.94258509672305213,0.33396606928787609,0.93984657391883908,0.34159686399763706,0.93704627637614901,0.34920520604594918,0.93418438815443705,0.35679059534763552,0.93126109736142348,0.36435253332616946,0.92827659614072966,0.37189052294644542,0.92523108065924886,0.37940406874744848,0.92212475109425185,0.38689267687482015,0.9189578116202306,0.39435585511331855,0.91573047039547728,0.40179311291917141,0.9124429395484025,0.40920396145231813,0.90909543516359304,0.41658791360854125,0.90568817726760809,0.42394448405148261,0.9022213898145176,0.431273189244544,0.89869530067118231,0.4385735474826693,0.89511014160227609,0.44584507892400616,0.89146614825505233,0.45308730562144534,0.88776356014385571,0.46029975155403541,0.8840026206343784,0.46748194265827125,0.88018357692766502,0.47463340685925298,0.87630668004386358,0.48175367410171532,0.87237218480572687,0.48884227638092309,0.86838034982186296,0.49589874777343301,0.86433143746973762,0.50292262446771785,0.86022571387842817,0.50991344479465206,0.85606344891113173,0.5168707492578567,0.85184491614742708,0.52379408056390153,0.84757039286529279,0.53068298365236222,0.84324016002288216,0.5375370057257306,0.83885450224005653,0.54435569627917646,0.83441370777967716,0.55113860713015883,0.82991806852865835,0.5578852924478841,0.82536787997878225,0.56459530878260988,0.82076344120727629,0.57126821509479231,0.8161050548571559,0.57790357278407489,0.81139302711733141,0.58450094571811728,0,0.99986854509001677,0.016213961254831117,0.99947421492085364,0.032423659700027786,0.99881711316578459,0.048624833646690062,0.99789741258331355,0.064813223647092383,0.99671535497175523,0.080984573614534205,0.99527125110566339,0.097134631942306954,0.99356548065412553,0.11325915262148323,0.99159849208094397,0.12935389635723427,0.98937080252673026,0.14541463168338203,0.98688299767294418,0.16143713607489341,0.9841357315879119,0.17741719705802342,0.98112972655486508,0.19335061331781597,0.97786577288204601,0.20923319580267069,0.97434472869492716,0.2250607688256859,0.97056751971060173,0.24082917116248767,0.9665351389944038,0.25653425714525641,0.9622486466988216,0.27217189775266382,0.95770916978477272,0.28773798169543313,0.95291790172531543,0.30322841649723736,0.94787610219187268,0.3186391295706516,0.94258509672305213,0.33396606928787609,0.93704627637614901,0.34920520604594918,0.93126109736142348,0.36435253332616946,0.92523108065924886,0.37940406874744848,0.9189578116202306,0.39435585511331855,0.9124429395484025,0.40920396145231813,0.90568817726760809,0.42394448405148261,0.89869530067118231,0.4385735474826693,0.89146614825505233,0.45308730562144534,0.8840026206343784,0.46748194265827125,0.87630668004386358,0.48175367410171532,0.86838034982186296,0.49589874777343301,0.86022571387842817,0.50991344479465206,0.85184491614742708,0.52379408056390153,0.84324016002288216,0.5375370057257306,0.83441370777967716,0.55113860713015883,0.82536787997878225,0.56459530878260988,0.8161050548571559,0.57790357278407489,0.80662766770248329,0.59105990026126132,0.796938210212915,0.60406083228648066,0.78703922984197516,0.61690295078703472,0.77693332912881108,0.62958287944386049,0.76662316501395966,0.64209728457919768,0.75611144814081233,0.65444287603304518,0.7454009421429596,0.66661640802817634,0.73449446291760523,0.67861468002348635,0.72339487788523871,0.69043453755544448,0.71210510523576276,0.70207287306743538,0.70062811316127205,0.7135266267267647,0.68896691907568663,0.72479278722911999,0.677124588821444,0.73586839259027181,0.66510423586345946,0.7467505309248087,0.6529090204705652,0.75743634121170011,0.64054214888464445,0.76792301404648755,0.62800687247767939,0.7782077923799039,0.61530648689693357,0.78828797224272917,0.60244433119849339,0.79816090345669022,0.58942378696939801,0.80782399033121921,0.57624827743858653,0.81727469234588546,0.56292126657689767,0.82651052481832399,0.54944625818635773,0.83552905955748202,0.53582679497899655,0.84432792550201508,0.52206645764543436,0.85290480934366164,0.50816886391348215,0.86125745613543514,0.49413766759700573,0.86938366988447113,0.47997655763530273,0.87728131412937604,0.46568925712324372,0.88494831250192318,0.45127952233243407,0.89238264927295075,0.43675114172365342,0.89958236988231666,0.42210793495083182,0.90654558145277198,0.40735375185682604,0.91327045328761591,0.39249247146125693,0.91975521735200527,0.37752800094067773,0.92599816873778729,0.36246427460133884,0.93199766611173718,0.34730525284482028,0.93775213214708042,0.33205492112680285,0.94326005393818768,0.31671728890925294,0.94851998339833243,0,0.99970423455284629,0.024319609723589531,0.99881711316578459,0.048624833646690062,0.99733916059852235,0.072901294478458015,0.99527125110566339,0.097134631942306954,0.99261460791955947,0.12131051127045483,0.98937080252673026,0.14541463168338203,0.98554175373828079,0.16943273484918414,0.98112972655486508,0.19335061331781597,0.97613733082686882,0.21715411892523701,0.97056751971060173,0.24082917116248767,0.96442358792141436,0.26436176550474527,0.95770916978477272,0.28773798169543313,0.95042823708644186,0.31094399198048245,0.94258509672305213,0.33396606928787609,0.93418438815443705,0.35679059534763552,0.92523108065924886,0.37940406874744848,0.91573047039547728,0.40179311291917141,0.90568817726760809,0.42394448405148261,0.89511014160227609,0.44584507892400616,0.8840026206343784,0.46748194265827125,0.87237218480572687,0.48884227638092309,0.86022571387842817,0.50991344479465206,0.84757039286529279,0.53068298365236222,0.83441370777967716,0.55113860713015883,0.82076344120727629,0.57126821509479231,0.80662766770248329,0.59105990026126132,0.79201474901204105,0.61050195523633966,0.77693332912881108,0.62958287944386049,0.76139232917858424,0.64829138592766322,0.7454009421429596,0.66661640802817634,0.72896862742141155,0.68454710592868873,0.71210510523576276,0.70207287306743538,0.69482035088037308,0.71918334241170745,0.677124588821444,0.73586839259027181,0.65902828664893187,0.75211815388047465,0.64054214888464445,0.76792301404648755,0.6216771106501856,0.78327362402524248,0.60244433119849339,0.79816090345669022,0.58285518731279695,0.81257604605511502,0.56292126657689767,0.82651052481832399,0.54265436052075533,0.83995609707163277,0.52206645764543436,0.85290480934366164,0.50116973633153461,0.86534900207106036,0.47997655763530273,0.87728131412937604,0.45849945797668629,0.88869468718738542,0.43675114172365342,0.89958236988231666,0.41474447367716671,0.90993792181348832,0.39249247146125693,0.91975521735200527,0.37000829782269473,0.92902844926425798,0.34730525284482028,0.93775213214708042,0.32439676608013285,0.94592110567253518,0.30129638860629565,0.95353053764040718,0.27801778501025454,0.96057592683659931,0.25457472530521269,0.96705310569573966,0.23098107678524324,0.97295824276642495,0.20725079582235489,0.97828784497764287,0.18339791961086785,0.98303875970503096,0.15943655786397923,0.98720817663575189,0.13538088446743204,0.9907936294308799,0.11124512909522372,0.99379299718431657,0.087043568792314119,0.99620450567737229,0.062790519529313304,0.99802672842827156,0.03850032773414129,0.99925858753596097,0.014187361805673569,0.99989935431772081,-0.010133996385610924,0.99994864974020359,-0.034449360004950524,0.99940644464364414,-0.058744345763558081,0.99827305975910796,-0.08300458242678084,0.99654916551876949,-0.10721571931512884,0.99423578165933035,-0.13136343479314655,0.99133427661881379,-0.15543344474110177,0.98784636672709125,-0.17941151100448402,0.9837741151906203,-0.20328344981631272,0.97911993087199423,-0.22703514018727367,0.97388656686502506,-0.25065253225872064,0.96807711886620429,-0.27412165561359997,0.96169502334350199,-0.29742862754038518,0.95474405550359032,0,0.99947421492085364,0.032423659700027786,0.99789741258331355,0.064813223647092383,0.99527125110566339,0.097134631942306954,0.99159849208094397,0.12935389635723427,0.98688299767294418,0.16143713607489341,0.98112972655486508,0.19335061331781597,0.97434472869492716,0.2250607688256859,0.9665351389944038,0.25653425714525641,0.95770916978477272,0.28773798169543313,0.94787610219187268,0.3186391295706516,0.93704627637614901,0.34920520604594918,0.92523108065924886,0.37940406874744848,0.9124429395484025,0.40920396145231813,0.89869530067118231,0.4385735474826693,0.8840026206343784,0.46748194265827125,0.86838034982186296,0.49589874777343301,0.85184491614742708,0.52379408056390153,0.83441370777967716,0.55113860713015883,0.8161050548571559,0.57790357278407489,0.796938210212915,0.60406083228648066,0.77693332912881108,0.62958287944386049,0.75611144814081233,0.65444287603304518,0.73449446291760523,0.67861468002348635,0.71210510523576276,0.70207287306743538,0.68896691907568663,0.72479278722911999,0.66510423586345946,0.7467505309248087,0.64054214888464445,0.76792301404648755,0.61530648689693357,0.78828797224272917,0.58942378696939801,0.80782399033121921,0.56292126657689767,0.82651052481832399,0.53582679497899655,0.84432792550201508,0.50816886391348215,0.86125745613543514,0.47997655763530273,0.87728131412937604,0.45127952233243407,0.89238264927295075,0.42210793495083182,0.90654558145277198,0.39249247146125693,0.91975521735200527,0.36246427460133884,0.93199766611173718,0.33205492112680285,0.94326005393818768,0.30129638860629565,0.95353053764040718,0.27022102179472851,0.96279831708422348,0.23886149862049891,0.97105364654933946,0.20725079582235489,0.97828784497764287,0.17542215427204172,0.98449330510194732,0.14340904401919266,0.98966350144556769,0.11124512909522372,0.99379299718431657,0.078964232113242605,0.99687744986370619,0.046600298701198938,0.99891361596534411,0.014187361805673569,0.99989935431772081,-0.018240494096151548,0.99983362834780076,-0.050649168838712642,0.99871650717105276,-0.08300458242678084,0.99654916551876949,-0.11527271087296727,0.99333388250275512,-0.14741962197633418,0.98907403921867987,-0.17941151100448402,0.9837741151906203,-0.21121473624160733,0.97743968366052558,-0.24279585436510731,0.97007740572756229,-0.27412165561359997,0.96169502334350199,-0.30515919870930741,0.95230135117151515,-0.33587584549812366,0.94190626731693461,-0.36623929527092269,0.93052070293973466,-0.39621761873002076,0.91815663075964982,-0.42577929156507272,0.90482705246601947,-0.4548932276030957,0.89054598504560012,-0.48352881149776183,0.87532844604271942,-0.51165593092358219,0.85919043776727544,-0.53924500824112986,0.8421489304671852,-0.5662670316000028,0.82422184448297742,-0.59269358544682038,0.80542803140329844,-0.61849688040617046,0.78578725424114337,-0.64364978250308869,0.76532016665166125,-0.66812584169633482,0.744048291213389,-0.69189931969246887,0.72199399679574816,-0.71494521701147129,0.6991804750366104,-0.7372392992754504,0.67563171595466331,-0.75875812269279097,0.65137248272222226,-0.77947905871094547,0.6264282856250174,-0.79938031781194563,0.60082535523633895,0,0.99917850131289232,0.040525578516812946,0.99671535497175523,0.080984573614534205,0.99261460791955947,0.12131051127045485,0.98688299767294418,0.16143713607489341,0.97952994125249448,0.20129852008866009,0.97056751971060173,0.2408291711624877,0.96001045828232578,0.27996414054046087,0.94787610219187268,0.3186391295706516,0.93418438815443694,0.35679059534763558,0.9189578116202306,0.39435585511331861,0.9022213898145176,0.43127318924454405,0.8840026206343784,0.46748194265827125,0.86433143746973762,0.50292262446771785,0.84324016002288216,0.5375370057257306,0.82076344120727629,0.57126821509479242,0,0.99671535497175523,0.080984573614534205,0.98688299767294418,0.16143713607489341,0.97056751971060173,0.2408291711624877,0.94787610219187268,0.3186391295706516,0.9189578116202306,0.39435585511331861,0.8840026206343784,0.46748194265827125,0.84324016002288216,0.5375370057257306,0.796938210212915,0.60406083228648066,0.7454009421429596,0.66661640802817645,0.68896691907568652,0.72479278722911999,0.62800687247767939,0.77820779237990401,0.56292126657689756,0.8265105248183241,0.49413766759700573,0.86938366988447113,0.42210793495083182,0.90654558145277198,0.34730525284482006,0.93775213214708053,0,0.99261460791955947,0.12131051127045483,0.97056751971060173,0.24082917116248767,0.93418438815443705,0.35679059534763552,0.8840026206343784,0.46748194265827125,0.82076344120727629,0.57126821509479231,0.7454009421429596,0.66661640802817634,0.65902828664893187,0.75211815388047465,0.56292126657689767,0.82651052481832399,0.45849945797668629,0.88869468718738542,0.34730525284482028,0.93775213214708042,0.23098107678524324,0.97295824276642495,0.11124512909522372,0.99379299718431657,-0.010133996385610924,0.99994864974020359,-0.13136343479314655,0.99133427661881379,-0.25065253225872042,0.96807711886620429,0,0.98688299767294418,0.16143713607489341,0.94787610219187268,0.3186391295706516,0.8840026206343784,0.46748194265827125,0.796938210212915,0.60406083228648066,0.68896691907568652,0.72479278722911999,0.56292126657689756,0.8265105248183241,0.42210793495083182,0.90654558145277198,0.27022102179472851,0.96279831708422348,0.11124512909522349,0.99379299718431657,-0.050649168838712864,0.99871650717105276,-0.21121473624160755,0.97743968366052547,-0.36623929527092292,0.93052070293973455,-0.51165593092358219,0.85919043776727544,-0.64364978250308869,0.76532016665166125,-0.75875812269279119,0.65137248272222181,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99995073723827355,0.0099258801440029135,0.99980295380673379,0.01985078233546891,0.99955666426582046,0.029773728718214355,0.99921189288133971,0.0396937416287527,0.99876867362207244,0.049609843692619268,0.99822705015642832,0.059521057920667614,0.99758707584814288,0.069426407805327855,0.99684881375101964,0.079324917416817631,0.99601233660271837,0.089215611499296063,0.99507772681758777,0.099097515566951372,0.99404507647854623,0.10896965600001257,0.99291448732800902,0.11883106014067589,0.99168607075786397,0.12868075638893639,0.99035994779849668,0.13851777429831538,0.98893624910686573,0.14834114467147413,0.9874151149536301,0.1581498996557045,0.98579669520932856,0.1679430728382873,0.98408114932961332,0.17771969934170845,0.98226864633954047,0.18747881591872406,0.98035936481691566,0.19721946104726498,0.97835349287470041,0.20694067502517111,0.97625122814247789,0.21664150006474675,0.97405277774698107,0.22632098038712689,0.97175835829168611,0.23597816231644603,0.96936819583547085,0.24561209437379949,0.9668825258703424,0.25522182737098847,0.96430159329823517,0.26480641450403913,0.96162565240688191,0.27436491144648711,0.95885496684475957,0.28389637644241777,0.95598980959511359,0.29339987039925308,0.95303046294906169,0.30287445698027632,0.94997721847778116,0.31231920269688507,0.94683037700378203,0.32173317700056375,0.9435902485712675,0.3311154523745663,0.94025715241558749,0.34046510442530042,0.93683141693178551,0.34978121197340356,0.93331337964224337,0.35906285714450303,0.92970338716342638,0.36830912545964994,0.92600179517173331,0.37751910592541849,0.92220896836845268,0.38669189112366226,0.91832528044383066,0.39582657730091814,0.91435111404025304,0.40492226445744889,0.9102868607145449,0.41397805643591634,0.90613292089939268,0.42299306100967538,0.901889703863891,0.4319663899706816,0.89755762767321945,0.44089715921700195,0.89313711914745231,0.44978448883992156,0.88862861381950609,0.45862750321063728,0.88403255589222818,0.46742533106652928,0.87934939819463165,0.47617710559700288,0.87457960213728003,0.48488196452889126,0.8697236376668267,0.49353905021141165,0.864781983219713,0.50214750970066557,0.85975512567502999,0.5107064948436757,0.85464356030654864,0.51921516236195064,0.84944779073392251,0.52767267393456918,0.84416832887306859,0.53607819628077658,0.83880569488573009,0.54443090124208371,0.83336041712822773,0.55272996586386225,0.82783303209940295,0.5609745724764259,0.82222408438775918,0.56916390877559264,0.81653412661780556,0.57729716790271679,0.81076371939560976,0.58537354852418555,0.80491343125356407,0.5933922549103704,0.79898383859436983,0.60135249701402749,0.79297552563424789,0.6092534905481366,0.78688908434537741,0.61709445706317401,0.78072511439757264,0.62487462402380944,0.77448422309919895,0.63259322488502057,0.7681670253373386,0.6402494991676172,0.76177414351720762,0.64784269253316795,0.75530620750083388,0.65537205685832167,0.74876385454499894,0.66283685030851724,0.7421477292384524,0.67023633741107225,0.73545848343840337,0.67756978912764676,0.72869677620629569,0.6848364829260718,0.72186327374287396,0.69203570285153693,0.71495864932254527,0.69916673959713049,0.70798358322704513,0.7062288905737244,0.70093876267841149,0.71322145997919717,0.69382488177127655,0.72014375886698767,0.68664264140448061,0.72699510521397459,0.6793927492120152,0.73377482398767246,0.6720759194933037,0.7404822472127407,0.66469287314282388,0.74711671403679469,0.65724433757908252,0.753677570795518,0.64973104667294479,0.76016417107706391,0.64215374067533004,0.76657587578574438,0.63451316614427811,0.77291205320499679,0.62681007587139403,0.77917207905962416,0.61904522880767932,0.78535533657730239,0.61121938998875525,0.79146121654934798,0.60333333045948812,0.79748911739074035,0.59538782719802097,0.80343844519939389,0.58738366303922163,0.80930861381467212,0.57932162659755382,0.81509904487513929,0.5712025121893779,0.82080916787554437,0.563027119754691,0.8264384202230296,0.55479625477831218,0.83198624729256088,0.5465107282105216,0.83745210248157198,0.53817135638716151,0.84283544726381954,0.52977896094920607,0.84813575124244089,0.52133436876180883,0.85335249220221199,0.51283841183283541,0.85848515616099919,0.50429192723088934,0.86353323742039911,0,0.99980295380673379,0.01985078233546891,0.99921189288133971,0.0396937416287527,0.99822705015642832,0.059521057920667614,0.99684881375101964,0.079324917416817631,0.99507772681758777,0.099097515566951372,0.99291448732800902,0.11883106014067589,0.99035994779849668,0.13851777429831538,0.9874151149536301,0.1581498996557045,0.98408114932961332,0.17771969934170845,0.98035936481691566,0.19721946104726498,0.97625122814247789,0.21664150006474675,0.97175835829168611,0.23597816231644603,0.9668825258703424,0.25522182737098847,0.96162565240688191,0.27436491144648711,0.95598980959511359,0.29339987039925308,0.94997721847778116,0.31231920269688507,0.9435902485712675,0.3311154523745663,0.93683141693178551,0.34978121197340356,0.92970338716342638,0.36830912545964994,0.92220896836845268,0.38669189112366226,0.91435111404025304,0.40492226445744889,0.90613292089939268,0.42299306100967538,0.89755762767321945,0.44089715921700195,0.88862861381950609,0.45862750321063728,0.87934939819463165,0.47617710559700288,0.8697236376668267,0.49353905021141165,0.85975512567502999,0.5107064948436757,0.84944779073392251,0.52767267393456918,0.83880569488573009,0.54443090124208371,0.82783303209940295,0.5609745724764259,0.81653412661780556,0.57729716790271679,0.80491343125356407,0.5933922549103704,0.79297552563424789,0.6092534905481366,0.78072511439757264,0.62487462402380944,0.7681670253373386,0.6402494991676172,0.75530620750083388,0.65537205685832167,0.7421477292384524,0.67023633741107225,0.72869677620629569,0.6848364829260718,0.71495864932254527,0.69916673959713049,0.70093876267841149,0.71322145997919717,0.68664264140448061,0.72699510521397459,0.6720759194933037,0.7404822472127407,0.65724433757908252,0.753677570795518,0.64215374067533004,0.76657587578574438,0.62681007587139403,0.77917207905962416,0.61121938998875525,0.79146121654934798,0.59538782719802097,0.80343844519939389,0.57932162659755382,0.81509904487513929,0.563027119754691,0.8264384202230296,0.5465107282105216,0.83745210248157198,0.52977896094920607,0.84813575124244089,0.51283841183283541,0.85848515616099919,0.49569575700283985,0.86849623861556335,0.47835775224897326,0.87816505331475692,0.46083123034690654,0.88748778985232035,0.44312309836548375,0.89646077420876247,0.42524033494469843,0.90508047019926396,0.40718998754546493,0.91334348086726069,0.38897916967226748,0.92124654982315857,0.37061505806978229,0.9287865625276519,0.35210488989457772,0.93596054751913949,0.33345595986300486,0.94276567758475494,0.31467561737640609,0.94919927087455014,0.29577126362477191,0.95525879195839158,0.27675034866998816,0.96094185282515399,0.25762036850982328,0.9662462138238177,0.23838886212381308,0.97116978454609759,0.21906340850220571,0.97571062465025749,0.19965162365913958,0.97986694462578405,0.18016115763123075,0.98363710649861869,0.16059969146275058,0.98701962447667135,0.14097493417858548,0.99001316553535967,0.12129461974616867,0.99261654994294368,0.10156650402758256,0.99482875172544905,0.081798361723032467,0.99664889907099574,0.061997983306896272,0.99807627467337279,0.042173171957558687,0.99911031601472222,0.022331740482236712,0.99975061558722433,0.0024815082380126624,0.99999692105369242,-0.017369701949715103,0.99984913534701725,-0.037214066870148152,0.99930731670842088,-0.057043766010155761,0.99837167866450349,-0.076850984636279637,0.9970425899430948,-0.096627916874460817,0.99532057432794097,-0.11636676878627553,0.99320631045228536,-0.13605976144046594,0.99070063153142462,-0.15569913397855925,0.98780452503434435,-0.17527714667336192,0.98451913229456578,-0.1947860839791275,0.98084574806035441,-0.21421825757219443,0.97678581998446978,-0.23356600938089589,0.97234094805365634,-0.2528217146035478,0.9675128839581012,-0.27197778471332418,0.96230353040110617,-0.29102667044883906,0.95671494034924676,-0.30996086478925217,0.95074931622331393,-0.32877290591272879,0.94440900903035652,-0.3474553801370871,0.93769651743716753,-0.36600092484147362,0.93061448678557868,-0.38440223136791629,0.9231657080499508,-0.4026520479016108,0.9153531167372726,-0.42074318232880559,0.90717979173029939,-0.43866850507115912,0.89864895407418932,-0.45642095189545262,0.88976396570711325,-0.47399352669755013,0.88052832813534099,-0.49137930425951093,0.87094568105332437,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99996772145883128,0.0080346773695851303,0.99987088791913337,0.016068836043841756,0.99970950563219718,0.02410195736092683,0.99948358501639223,0.032133522725966063,0.99919314065649445,0.040163013644532869,0.99883819130274409,0.048189911756120918,0.99841875986963602,0.056213698867607881,0.99793487343443965,0.06423385698670854,0.9973865632354515,0.072249868355414859,0.99677386466997808,0.080261215483420884,0.99609681729205135,0.088267381181530435,0.99535546480987458,0.096267848595045322,0.99454985508300087,0.104262101237132,0.99368004011924382,0.11224962302216444,0.99274607607131959,0.12022989829904107,0.9917480232332222,0.12820241188447379,0.99068594603633076,0.13616664909624659,0.98955991304525048,0.14412209578644206,0.98836999695338579,0.15206823837463318,0.9871162745782478,0.16000456388103862,0.98579882685649511,0.16793055995963926,0.98441773883870887,0.17584571493125356,0.98297309968390179,0.18374951781657034,0.98146500265376291,0.19164145836913593,0.97989354510663618,0.19952102710829431,0.97825882849123602,0.20738771535207759,0.9765609583400976,0.2152410152500451,0.9748000442627639,0.22308041981606871,0.97297619993871021,0.23090542296106234,0.9710895431100045,0.2387155195256537,0.96914019557370712,0.24651020531279577,0.96712828317400745,0.25428897712031645,0.96505393579410004,0.26205133277340359,0.96291728734779936,0.26979677115702427,0.96071847577089509,0.27752479224827492,0.95845764301224723,0.28523489714866174,0.95613493502462243,0.29292658811630773,0.95375050175527143,0.30059936859808589,0.95130449713624921,0.30825274326167479,0.9487970790744773,0.31588621802753625,0.94622840944154984,0.32349930010081118,0.94359865406328403,0.33109149800313337,0.94090798270901421,0.33866232160435772,0.93815656908063261,0.34621128215420161,0.93534459080137533,0.35373789231379726,0.93247222940435581,0.36124166618715292,0.92953967032084506,0.36872211935252081,0.92654710286830144,0.37617876889366997,0.92349472023814838,0.38361113343106201,0.92038271948330252,0.39101873315292757,0.91721130150545305,0.39840108984624145,0.91398067104209124,0.40575772692759471,0.91069103665329409,0.41308816947396165,0.90734261070825972,0.42039194425335924,0.90393560937159745,0.42766857975539757,0.90047025258937308,0.43491760622171949,0.89694676407490981,0.44213855567632648,0.89336537129434579,0.44933096195579009,0.88972630545194964,0.45649436073934585,0.8860298014751945,0.46362828957886881,0.88227609799959206,0.47073228792872734,0.87846543735328653,0.47780589717551519,0.87459806554141117,0.48484866066765769,0.87067423223020635,0.49186012374489219,0.86669419073090237,0.49883983376761959,0.86265819798336574,0.50578734014612514,0.85856651453951283,0.51270219436966769,0.85441940454648857,0.51958395003543356,0.85021713572961422,0.52643216287735572,0.8459599793751037,0.53324639079479397,0.84164821031255044,0.54002619388107542,0.83728210689718474,0.54677113445189418,0.83286195099190441,0.55348077707356624,0.82838802794907807,0.56015468859114048,0.82386062659212389,0.5667924381563616,0.81928003919686421,0.57339359725548444,0.81464656147265657,0.57995773973693732,0.80996049254330404,0.58648444183883375,0.80522213492774408,0.59297328221632872,0.80043179452051971,0.5994238419688197,0.79558978057203078,0.60583570466698966,0.79069640566857058,0.61220845637969035,0.78575198571214566,0.61854168570066481,0.78075683990008227,0.62483498377510627,0.7757112907044198,0.63108794432605286,0.77061566385109315,0.63730016368061526,0.76547028829890473,0.64347124079603724,0.76027549621828761,0.6496007772855853,0.75503162296986193,0.65568837744426756,0.74973900708278474,0.66173364827437942,0.74439799023289555,0.66773619951087415,0.73900891722065909,0.67369564364655721,0.73357213594890547,0.67961159595710297,0.72808799740037078,0.68548367452589098,0.72255685561503902,0.69131150026866162,0.7169790676672857,0.69709469695798854,0.71135499364282662,0.70283289124756676,0.7056849966154719,0.70852571269631526,0.69996944262368621,0.71417279379229093,0.69420870064695928,0.71977376997641462,0.68840314258198521,0.72532827966600533,0.68255314321865412,0.73083596427812403,0.67665908021585652,0.73629646825272166,0.67072133407710288,0.74170943907559339,0.66474028812595976,0.7470745273011361,0.65871632848130302,0.75239138657490756,0.65264984403239146,0.75765967365598597,0.64654122641376099,0.76287904843912824,0.64039086997994243,0.7680491739767269,0.63419917178000229,0.77316971650056177,0.62796653153191118,0.77824034544334775,0.62169335159673866,0.78326073346007452,0.61538003695267851,0.78823055644913953,0.60902699516890391,0.7931494935732708,0.60263463637925641,0.79801722728023949,0.59620337325576866,0.80283344332335993,0.58973362098202375,0.80759783078177638,0.58322579722635193,0.81231008208053546,0.57668032211486708,0.81696989301044198,0.57009761820434512,0.8215769627476982,0.56347811045494434,0.82613099387332367,0.55682222620277144,0.83063169239235612,0.55013039513229423,0.83507876775283052,0.54340304924860205,0.83947193286453681,0.53664062284951708,0.84381090411755311,0.5298435524975571,0.84809540140055495,0.52301227699175257,0.85232514811889859,0.51614723733931867,0.85649987121247662,0.50924887672718555,0.86061930117334673,0.50231764049338734,0.86468317206312972,0.49535397609831217,0.86869122153017797,0.48835833309581578,0.87264319082651198,0.48133116310419954,0.8765388248245245,0.4742729197770551,0.88037787203345075,0.46718405877397817,0.88416008461560402,0.4600650377311522,0.88788521840237522,0.45291631623180473,0.89155303290999566,0.44573835577653831,0.89516329135506234,0.43853161975353705,0.89871576066982339,0.43129657340865168,0.9022102115172248,0.42403368381536494,0.90564641830571557,0.4167434198446382,0.90902415920381108,0.4094262521346429,0.91234321615441405,0.40208265306037744,0.91560337488889154,0.39471309670317184,0.91880442494090797,0.38731805882008263,0.92194615966001126,0.37989801681317942,0.92502837622497469,0.3724534496987249,0.92805087565688948,0.36498483807625126,0.93101346283201114,0.357492664097534,0.93391594649435539,0.34997741143546551,0.93675813926804552,0.3424395652528307,0.9395398576694084,0.33487961217098627,0.9422609221188204,0.32729804023844572,0.94492115695229983,0.31969533889937257,0.9475203904328473,0.31207199896198318,0.95005845476153306,0.3044285125668616,0.95253518608832932,0.29676537315518831,0.95495042452268786,0.28908307543688527,0.95730401414386224,0.28138211535867891,0.95959580301097358,0.27366299007208278,0.96182564317281904,0.26592619790130406,0.96399339067742396,0.25817223831107172,0.96609890558133393,0.25040161187439347,0.96814205195865011,0.24261482024023998,0.97012269790980354,0.23481236610115994,0.97204071557007055,0.22699475316082762,0.97389598111782705,0.21916248610152533,0.97568837478254233,0.21131607055156246,0.97741778085251096,0.20345601305263375,0.97908408768232291,0.19558282102711835,0.98068718770007091,0.18769700274532208,0.98222697741429532,0.17979906729266507,0.9837033574206645,0.17188952453681663,0.98511623240839308,0.16396888509477972,0.98646551116639392,0.15603766029992694,0.98775110658916732,0.14809636216899041,0.98897293568242362,0.14014550336900747,0.99013091956844146,0.13218559718422426,0.99122498349115984,0.12421715748295983,0.99225505682100379,0.11624069868443203,0.99322107305944485,0.10825673572554828,0.99412296984329296,0.1002657840276627,0.99496068894872325,0.092268359463302016,0.99573417629503447,0.084264978322862297,0.99644338194814042,0.076256157281278825,0.99708826012379304,0.068242413364671003,0.99766876919053915,0.060224263916964685,0.9981848716724071,0.05220222656649396,0.99863653425132626,0.044176819192584579,0.99902372776927861,0.036148559892121172,0.99934642723018019,0.028117966946100421,0.99960461180149529,0.02008555878617237,0.99979826481558132,0.012051853961171966,0.99992737377076468,0.0040173711036430686,0.99999193033214806,0,0.99987088791913337,0.016068836043841756,0.99948358501639223,0.032133522725966063,0.99883819130274409,0.048189911756120918,0.99793487343443965,0.06423385698670854,0.99677386466997808,0.080261215483420884,0.99535546480987458,0.096267848595045322,0.99368004011924382,0.11224962302216444,0.9917480232332222,0.12820241188447379,0.98955991304525048,0.14412209578644206,0.9871162745782478,0.16000456388103862,0.98441773883870887,0.17584571493125356,0,0.99948358501639223,0.032133522725966063,0.99793487343443965,0.06423385698670854,0.99535546480987458,0.096267848595045322,0.9917480232332222,0.12820241188447379,0.9871162745782478,0.16000456388103862,0.98146500265376291,0.19164145836913593,0.9748000442627639,0.22308041981606871,0.96712828317400745,0.25428897712031645,0.95845764301224723,0.28523489714866174,0.9487970790744773,0.31588621802753625,0.93815656908063261,0.34621128215420161,0,0.99883819130274409,0.048189911756120918,0.99535546480987458,0.096267848595045322,0.98955991304525048,0.14412209578644206,0.98146500265376291,0.19164145836913593,0.9710895431100045,0.2387155195256537,0.95845764301224723,0.28523489714866174,0.94359865406328403,0.33109149800313337,0.92654710286830144,0.37617876889366997,0.90734261070825972,0.42039194425335924,0.8860298014751945,0.46362828957886881,0.86265819798336574,0.50578734014612514,0,0.99793487343443965,0.06423385698670854,0.9917480232332222,0.12820241188447379,0.98146500265376291,0.19164145836913593,0.96712828317400745,0.25428897712031645,0.9487970790744773,0.31588621802753625,0.92654710286830144,0.37617876889366997,0.90047025258937308,0.43491760622171949,0.87067423223020635,0.49186012374489219,0.83728210689718474,0.54677113445189418,0.80043179452051971,0.5994238419688197,0.76027549621828761,0.6496007772855853,0,0.99677386466997808,0.080261215483420884,0.9871162745782478,0.16000456388103862,0.9710895431100045,0.23871551952565367,0.9487970790744773,0.31588621802753625,0.92038271948330264,0.39101873315292751,0.8860298014751945,0.46362828957886876,0.8459599793751037,0.53324639079479397,0.80043179452051971,0.5994238419688197,0.74973900708278485,0.6617336482743793,0.69420870064695928,0.71977376997641451,0.63419917178000229,0.77316971650056177,0,0.99535546480987458,0.096267848595045322,0.98146500265376291,0.19164145836913593,0.95845764301224723,0.28523489714866174,0.92654710286830144,0.37617876889366997,0.8860298014751945,0.46362828957886881,0.83728210689718474,0.54677113445189418,0.78075683990008227,0.62483498377510627,0.7169790676672857,0.69709469695798854,0.64654122641376099,0.76287904843912824,0.57009761820434512,0.8215769627476982,0.48835833309581578,0.87264319082651198,0,0.99368004011924382,0.11224962302216444,0.9748000442627639,0.22308041981606871,0.94359865406328403,0.33109149800313337,0.90047025258937308,0.43491760622171949,0.8459599793751037,0.53324639079479397,0.78075683990008227,0.62483498377510627,0.70568499661547179,0.70852571269631537,0.62169335159673866,0.78326073346007452,0.5298435524975571,0.84809540140055495,0.43129657340865168,0.9022102115172248,0.3272980402384455,0.94492115695229983,0,0.9917480232332222,0.12820241188447379,0.96712828317400745,0.25428897712031645,0.92654710286830144,0.37617876889366997,0.87067423223020635,0.49186012374489219,0.80043179452051971,0.5994238419688197,0.7169790676672857,0.69709469695798854,0.62169335159673866,0.78326073346007452,0.51614723733931867,0.85649987121247662,0.40208265306037744,0.91560337488889154,0.28138211535867891,0.95959580301097358,0.15603766029992694,0.98775110658916732,0,0.98955991304525048,0.14412209578644206,0.95845764301224723,0.28523489714866174,0.90734261070825972,0.42039194425335924,0.83728210689718474,0.54677113445189418,0.74973900708278485,0.6617336482743793,0.64654122641376099,0.76287904843912824,0.5298435524975571,0.84809540140055495,0.40208265306037744,0.91560337488889154,0.26592619790130428,0.96399339067742384,0.12421715748296006,0.99225505682100379,-0.020085558786172249,0.99979826481558132,0,0.9871162745782478,0.16000456388103862,0.9487970790744773,0.31588621802753625,0.8860298014751945,0.46362828957886876,0.80043179452051971,0.5994238419688197,0.69420870064695928,0.71977376997641451,0.57009761820434524,0.82157696274769809,0.43129657340865168,0.9022102115172248,0.28138211535867891,0.95959580301097358,0.12421715748296006,0.99225505682100379,-0.036148559892120825,0.99934642723018019,-0.19558282102711821,0.98068718770007102,0,0.98441773883870887,0.17584571493125356,0.93815656908063261,0.34621128215420161,0.86265819798336574,0.50578734014612514,0.76027549621828761,0.6496007772855853,0.63419917178000218,0.77316971650056188,0.48835833309581578,0.87264319082651198,0.3272980402384455,0.94492115695229983,0.15603766029992694,0.98775110658916732,-0.020085558786172249,0.99979826481558132,-0.19558282102711844,0.98068718770007091,-0.36498483807625115,0.93101346283201125,0,0.98146500265376291,0.19164145836913593,0.92654710286830144,0.37617876889366997,0.83728210689718474,0.54677113445189418,0.7169790676672857,0.69709469695798854,0.57009761820434512,0.8215769627476982,0.40208265306037744,0.91560337488889154,0.21916248610152533,0.97568837478254233,0.028117966946100421,0.99960461180149529,-0.16396888509477958,0.98646551116639403,-0.3499774114354654,0.93675813926804552,-0.52301227699175246,0.85232514811889859,0,0.97825882849123602,0.20738771535207759,0.91398067104209124,0.40575772692759471,0.80996049254330404,0.58648444183883375,0.67072133407710288,0.74170943907559339,0.50231764049338734,0.86468317206312972,0.31207199896198318,0.95005845476153306,0.10825673572554828,0.99412296984329296,-0.10026578402766258,0.99496068894872325,-0.30442851256686126,0.95253518608832943,-0.49535397609831211,0.86869122153017808,-0.66474028812595964,0.74707452730113622,0,0.9748000442627639,0.22308041981606871,0.90047025258937308,0.43491760622171949,0.78075683990008227,0.62483498377510627,0.62169335159673866,0.78326073346007452,0.43129657340865168,0.9022102115172248,0.21916248610152533,0.97568837478254233,-0.0040173711036431683,0.99999193033214806,-0.22699475316082773,0.97389598111782705,-0.43853161975353694,0.89871576066982339,-0.62796653153191107,0.77824034544334786,-0.78575198571214577,0.6185416857006647,0,0.9710895431100045,0.2387155195256537,0.8860298014751945,0.46362828957886881,0.74973900708278474,0.66173364827437942,0.57009761820434512,0.8215769627476982,0.357492664097534,0.93391594649435539,0.12421715748295983,0.99225505682100379,-0.11624069868443213,0.99322107305944485,-0.3499774114354654,0.93675813926804552,-0.56347811045494423,0.82613099387332378,-0.74439799023289543,0.66773619951087426,-0.88227609799959206,0.47073228792872729,0,0.96712828317400745,0.25428897712031645,0.87067423223020635,0.49186012374489219,0.7169790676672857,0.69709469695798854,0.51614723733931867,0.85649987121247662,0.28138211535867891,0.95959580301097358,0.028117966946100421,0.99960461180149529,-0.22699475316082773,0.97389598111782705,-0.46718405877397806,0.88416008461560414,-0.6766590802158563,0.73629646825272177,-0.84164821031255022,0.54002619388107576,-0.95130449713624921,0.30825274326167484,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99996796770105112,0.0080039722531799768,0.9998718728563406,0.016007431735095969,0.99971172162214628,0.024009865707334471,0.99948752425849252,0.032010761497180858,0.99919929512849315,0.040009606530463523,0.99884705269743157,0.048005888364391749,0.99843081953157742,0.055999094720385195,0.99795062229674125,0.06398871351689274,0.99740649175656559,0.071974232902198815,0.99679846277055495,0.079955141287215009,0.9961265742918417,0.087930927378254767,0.99539086936469112,0.095901080209789255,0.99459139512174344,0.10386508917718212,0.99372820278099461,0.11182244406940124,0.99280134764251493,0.1197726351017051,0.99181088908490611,0.12771515294830202,0.99075689056149729,0.13564948877497982,0.9896394195962801,0.14357513427170421,0.98845854777958264,0.15149158168518334,0.98721435076348296,0.15939832385139691,0.9859069082569627,0.16729485422808735,0.98453630402080017,0.17518066692721129,0.98310262586220476,0.18305525674734904,0.98160596562919111,0.19091811920607019,0.98004641920469537,0.19876875057225299,0.978424086500432,0.20660664789835573,0.97673907145049343,0.21443130905263785,0.97499148200469121,0.22224223275132879,0.9731814301216406,0.2300389185907426,0.97130903176158756,0.23782086707933603,0.96937440687898024,0.24558757966970832,0.9673776794147837,0.25333855879054035,0.96531897728853999,0.26107330787847144,0.96319843239017322,0.26879133140991146,0.96101618057153959,0.27649213493278624,0.95877236163772417,0.28417522509821463,0.95646711933808504,0.2918401096921146,0.95410060135704289,0.29948629766673668,0.9516729593046207,0.30711329917212277,0.94918434870673041,0.31472062558748842,0.94663492899520929,0.32230778955252554,0.94402486349760606,0.32987430499862569,0.94135431942671721,0.33741968718001925,0.93862346786987494,0.34494345270483084,0.93583248377798611,0.35244511956604735,0.93298154595432425,0.35992420717239787,0.93007083704307469,0.36738023637914208,0.92710054351763349,0.3748127295187671,0.92407085566866098,0.38222121043158852,0.92098196759189099,0.38960520449625557,0.91783407717569587,0.39696423866015773,0.91462738608840977,0.40429784146973025,0.91136209976540739,0.41160554310065806,0.9080384273959442,0.41888687538797453,0.90465658190975418,0.42614137185605472,0.90121677996340843,0.43336856774849919,0.89771924192643549,0.44056800005790936,0.89416419186720342,0.44773920755554908,0.8905518575385647,0.45488173082089373,0.88688247036326551,0.46199511227106221,0.88315626541911996,0.46907889619013232,0.87937348142394933,0.47613262875833562,0.87553436072028923,0.48315585808113148,0.87163914925986385,0.49014813421815734,0.86768809658782908,0.49710900921205414,0.86368145582678579,0.50403803711716433,0.85961948366056296,0.5109347740281015,0.85550244031777434,0.51779877810818853,0.85133058955514607,0.52462960961776395,0.84710419864061992,0.53142683094235388,0.84282353833623014,0.53819000662070759,0.83848888288075807,0.54491870337269432,0.83410050997216245,0.55161249012706248,0.82965870074978909,0.55827093804905514,0.82516373977635959,0.56489362056788384,0.82061591501974163,0.57148011340405558,0.81601551783449922,0.57802999459655557,0.81136284294322847,0.58454284452987881,0,0.9998718728563406,0.016007431735095969,0.99948752425849252,0.032010761497180858,0.99884705269743157,0.048005888364391749,0.99795062229674125,0.06398871351689274,0.99679846277055495,0.079955141287215009,0.99539086936469112,0.095901080209789255,0.99372820278099461,0.11182244406940124,0.99181088908490611,0.12771515294830202,0.9896394195962801,0.14357513427170421,0.98721435076348296,0.15939832385139691,0.98453630402080017,0.17518066692721129,0.98160596562919111,0.19091811920607019,0.978424086500432,0.20660664789835573,0.97499148200469121,0.22224223275132879,0.97130903176158756,0.23782086707933603,0.9673776794147837,0.25333855879054035,0.96319843239017322,0.26879133140991146,0.95877236163772417,0.28417522509821463,0.95410060135704289,0.29948629766673668,0.94918434870673041,0.31472062558748842,0.94402486349760606,0.32987430499862569,0.93862346786987494,0.34494345270483084,0.93298154595432425,0.35992420717239787,0.92710054351763349,0.3748127295187671,0.92098196759189099,0.38960520449625557,0.91462738608840977,0.40429784146973025,0.9080384273959442,0.41888687538797453,0.90121677996340843,0.43336856774849919,0.89416419186720342,0.44773920755554908,0.88688247036326551,0.46199511227106221,0.87937348142394933,0.47613262875833562,0.87163914925986385,0.49014813421815734,0.86368145582678579,0.50403803711716433,0.85550244031777434,0.51779877810818853,0.84710419864061992,0.53142683094235388,0.83848888288075807,0.54491870337269432,0.82965870074978909,0.55827093804905514,0.82061591501974163,0.57148011340405558,0.81136284294322847,0.58454284452987881,0.8019018556596399,0.59745578404566979,0.79223537758752982,0.61021562295531573,0.78236588580334732,0.62281909149539061,0.77229590940667592,0.63526295997304572,0.76202802887214027,0.64754403959363305,0.7515648753881492,0.65965918327784678,0.74090913018264171,0.67160528646817652,0.73006352383601136,0.68337928792446268,0.71903083558138303,0.69497817050835353,0.70781389259242267,0.70639896195645868,0.69641556925886172,0.71763873564200498,0.68483878644992269,0.72869461132479718,0.6730865107658337,0.73956375588929124,0.66116175377762465,0.75024338407059321,0.64906757125539893,0.76073075916819455,0.6368070623852794,0.77102319374726391,0.62438336897522895,0.7811180503273133,0.611799674649948,0.79101274205806427,0.59905920403505786,0.80070473338233916,0.58616522193077591,0.81019154068580856,0.57312103247529722,0.81947073293342776,0.5599299782980941,0.82853993229240064,0.546595439663354,0.83739681474150873,0.53312083360377116,0.84603911066665249,0.51950961304491849,0.8544646054424484,0.50576526592041982,0.86267113999973766,0.49189131427815214,0.87065661137885597,0.47789131337770568,0.87841897326852603,0.463768850779334,0.88595623653023392,0.44952754542462525,0.8932664697079542,0.43517104670913359,0.90034779952309374,0.42070303354720556,0.90719841135452772,0.40612721342924324,0.91381654970360326,0.39144732147164291,0.92020051864399444,0.37666711945965603,0.92634868225629019,0.36179039488341547,0.9322594650472058,0.3468209599673755,0.9379313523533096,0.33176265069341188,0.94336289072916224,0.31661932581783586,0.94855268831976813,0,0.99971172162214628,0.024009865707334471,0.99884705269743157,0.048005888364391749,0.99740649175656559,0.071974232902198801,0.99539086936469112,0.095901080209789255,0.99280134764251493,0.1197726351017051,0.9896394195962801,0.14357513427170418,0.9859069082569627,0.16729485422808732,0.98160596562919111,0.19091811920607019,0.97673907145049343,0.21443130905263785,0.97130903176158756,0.23782086707933603,0.96531897728853999,0.26107330787847144,0.95877236163772428,0.28417522509821458,0.9516729593046207,0.30711329917212277,0.94402486349760606,0.32987430499862569,0.93583248377798611,0.35244511956604735,0.92710054351763349,0.3748127295187671,0.91783407717569598,0.39696423866015768,0.9080384273959442,0.41888687538797453,0.89771924192643549,0.4405680000579093,0.88688247036326551,0.46199511227106221,0.87553436072028934,0.48315585808113137,0.86368145582678579,0.50403803711716433,0.85133058955514607,0.52462960961776395,0.83848888288075807,0.54491870337269421,0.82516373977635971,0.56489362056788373,0.81136284294322847,0.58454284452987881,0.79709414938166823,0.60385504636585985,0.78236588580334743,0.6228190914953905,0.76718654388813157,0.64142404607013603,0.7515648753881492,0.65965918327784678,0.73550988708190945,0.67751398952697406,0.71903083558138303,0.69497817050835353,0.70213722199504025,0.7120416571304572,0.6848387864499228,0.72869461132479707,0.66714550247590698,0.74492743171813025,0.64906757125539893,0.76073075916819455,0.63061541574177316,0.77609548215978597,0.61179967464994811,0.79101274205806427,0.592631196322564,0.80547393821605839,0.57312103247529722,0.81947073293342776,0.55328043182491893,0.83299505626361992,0.53312083360377127,0.84603911066665238,0.51265386096440091,0.85859537550483733,0.49189131427815214,0.87065661137885597,0.47084516433158247,0.88221586430168275,0.44952754542462525,0.8932664697079542,0.42795074837447689,0.9038020562964687,0.40612721342924346,0.91381654970360315,0.38406952309543058,0.92330417600552883,0.36179039488341569,0.93225946504720569,0.33930267397508074,0.94067725359623744,0.31661932581783586,0.94855268831976813,0.29375342864930321,0.95588122858270352,0.27071816595697057,0.9626586490656458,0.24752681887716299,0.968881042201029,0.22419275853771281,0.9745448204260545,0.20072943834874701,0.9796467182511237,0.17715038624603191,0.98418379414257873,0.1534691968913505,0.98815343221866303,0.12969952383440839,0.9915533437577263,0.10585507164078772,0.99438156851780179,0.081949587990486461,0.99663647586679749,0.05799685575160185,0.99831676572264771,0.03401068503372387,0.99942146930288467,0.010004905225623457,0.99994994968319606,-0.014006642978174999,0.99990190216464836,-0.038010115557339609,0.99927735444936294,-0.061991673147594191,0.99807666662454431,-0.085937489019898144,0.99630053095486948,-0.10983375705233915,0.99394997148335773,-0.13366669969014691,0.9910263434409522,-0.15742257588923522,0.98753133246515168,-0.18108768903869371,0.98346695362814573,-0.20464839485766129,0.97883555027501057,-0.22809110926202925,0.97363979267263778,-0.25140231619643538,0.96788267647017401,-0.274568575427038,0.96156752097185927,-0.29757653029057318,0.95469796722325939,0,0.99948752425849252,0.032010761497180858,0.99795062229674125,0.06398871351689274,0.99539086936469112,0.095901080209789255,0.99181088908490611,0.12771515294830202,0.98721435076348296,0.15939832385139691,0.98160596562919111,0.19091811920607019,0.97499148200469121,0.22224223275132879,0.9673776794147837,0.25333855879054035,0.95877236163772417,0.28417522509821463,0.94918434870673041,0.31472062558748842,0.93862346786987494,0.34494345270483084,0.92710054351763349,0.3748127295187671,0.91462738608840977,0.40429784146973025,0.90121677996340843,0.43336856774849919,0.88688247036326551,0.46199511227106221,0.87163914925986385,0.49014813421815734,0.85550244031777434,0.51779877810818853,0.83848888288075807,0.54491870337269432,0.82061591501974163,0.57148011340405558,0.8019018556596399,0.59745578404566979,0.78236588580334732,0.62281909149539061,0.76202802887214027,0.64754403959363305,0.74090913018264171,0.67160528646817652,0.71903083558138303,0.69497817050835353,0.69641556925886172,0.71763873564200498,0.6730865107658337,0.73956375588929124,0.64906757125539893,0.76073075916819455,0.62438336897522895,0.7811180503273133,0.59905920403505786,0.80070473338233916,0.57312103247529722,0.81947073293342776,0.546595439663354,0.83739681474150873,0.51950961304491849,0.8544646054424484,0.49189131427815214,0.87065661137885597,0.463768850779334,0.88595623653023392,0.43517104670913359,0.90034779952309374,0.40612721342924324,0.91381654970360326,0.37666711945965603,0.92634868225629019,0.3468209599673755,0.9379313523533096,0.31661932581783586,0.94855268831976813,0.28609317222074782,0.95820180380161546,0.25527378700251185,0.96686880892362859,0.22419275853771259,0.9745448204260545,0.19288194337256909,0.98122197076952011,0.16137343357351883,0.9868934161988786,0.12969952383440839,0.9915533437577263,0.097892678375997286,0.99519697724640099,0.065985497671708623,0.99782058211735492,0.03401068503372387,0.99942146930288467,0.0020010130936752141,0.9999979979712954,-0.030010709787711112,0.99954957720867343,-0.061991673147594413,0.99807666662454431,-0.093909098050150283,0.99558077588079574,-0.12573027068339127,0.99206446314434682,-0.15742257588923522,0.98753133246515168,-0.18895353059246164,0.98198603008222252,-0.22029081709428622,0.97543423966146059,-0.2514023161964356,0.9678826764701739,-0.28225614012176581,0.95933908049425476,-0.31282066519768836,0.94981220850506853,-0.34306456426889859,0.93931182508418942,-0.37295683880619168,0.92784869261517655,-0.40246685067844956,0.91543456025265435,-0.43156435355524037,0.90208215187999785,-0.46021952390783816,0.8878051530679707,-0.4884029915768941,0.87261819704767807,-0.51608586987542437,0.85653684971221555,-0.54323978519626304,0.83957759366238327,-0.56983690609363169,0.82175781131282077,-0.59584997180902299,0.80309576707587405,-0.62125232021215415,0.78361058864145972,-0.64601791512835771,0.76332224737211085,-0.67012137302439578,0.74225153783329989,-0.69353798902535257,0.72042005648001639,-0.71624376223593045,0.69785017952145001,-0.7382154203402046,0.67456503998646045,-0.7594304434546163,0.650588504013347,-0.77986708720976239,0.62594514638821264,-0.79950440503731823,0.60066022535700148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99995960082788682,0.0089886991346544865,0.99983840657573331,0.017976671997302143,0.99963642703583455,0.026963192374617716,0.99935367852780288,0.035947534170634357,0.99899018389724947,0.044928971465410993,0.99854597251393873,0.053906778573685421,0.99802108026941483,0.062880230103508516,0.99741554957410217,0.071848601014854671,0.99672942935387809,0.080811166678203844,0.99596277504612052,0.089767202933090401,0.99511564859522805,0.098715986146614115,0.99418811844761534,0.10765679327190852,0.99318025954618239,0.11658890190656183,0.9920921533242596,0.12551159035098589,0.99092388769902828,0.13442413766672837,0.98967555706441646,0.14332582373472333,0.98834726228347236,0.15221592931347563,0.98693911068021511,0.16109373609717451,0.98545121603096253,0.16995852677373144,0.98388369855513869,0.17880958508273795,0.98223668490556026,0.18764619587333792,0.98051030815820295,0.19646764516201093,0.97870470780144958,0.20527322019026079,0.97682002972481907,0.21406220948220525,0.97485642620717972,0.22283390290206212,0.97281405590444425,0.23158759171152696,0.97069308383675146,0.2403225686270381,0.96849368137513259,0.24903812787692392,0.96621602622766489,0.25773356525842811,0.96386030242511289,0.26640817819460777,0.96142670030605937,0.27506126579110096,0.95891541650152601,0.28369212889275736,0.95632665391908611,0.29230007014012915,0.95366062172647004,0.3008843940258164,0.95091753533466439,0.30944440695066272,0.94809761638050782,0.31797941727979734,0.94520109270878261,0.32648873539851764,0.94222819835380567,0.33497167376800913,0.93917917352051816,0.34342754698089745,0.93605426456507823,0.35185567181662791,0.93285372397495536,0.3602553672966689,0.92957781034852982,0.36862595473953375,0.92622678837419847,0.37696675781561662,0.92280092880898834,0.38527710260183962,0.91930050845667977,0.39355631763610405,0.91572581014544141,0.40180373397154362,0.91207712270497787,0.41001868523057428,0.90835474094319291,0.4182005076587364,0.90455896562236959,0.42634854017832502,0.90069010343486866,0.43446212444180388,0.8967484669783492,0.44254060488499875,0.89273437473051021,0.45058332878006596,0.88864815102335892,0.45858964628823168,0.88449012601700516,0.46655891051229786,0.88026063567298451,0.47449047754891066,0.87596002172711374,0.48238370654058615,0.87158863166187894,0.49023795972749151,0.86714681867835919,0.49805260249897387,0.86263494166768906,0.50582700344483666,0.85805336518206021,0.51356053440635596,0.85340245940526682,0.52125257052703533,0.84868260012279462,0.52890249030309233,0.84389416869145883,0.53650967563367546,0.83903755200859031,0.54407351187080599,0.83411314248077573,0.55159338786903989,0.82912133799215115,0.55906869603484777,0.82406254187225403,0.5664988323757072,0.81893716286343454,0.57388319654890441,0.81374561508783028,0.58122119191004107,0.8084883180139053,0.58851222556124216,0.80316569642255842,0.59575570839906078,0.79777818037280102,0.60295105516207737,0.79232620516700958,0.61009768447818724,0.78681021131575346,0.61719501891157491,0.78123064450220259,0.62424248500936974,0.77558795554611693,0.6312395133479799,0.76988260036742118,0.63818553857910132,0.76411503994936691,0.6450799994753964,0.75828574030128637,0.65192233897584007,0.7523951724209389,0.6587120042307304,0.74644381225645584,0.66544844664635661,0.74043214066788432,0.67213112192932589,0.73436064338833473,0.67875949013054027,0.72822981098473449,0.68533301568882399,0.72204013881819018,0.69185116747419639,0.71579212700396444,0.69831341883078579,0.70948628037106642,0.70471924761938243,0.70312310842146308,0.71106813625962706,0.69670312528891187,0.71735957177182963,0.69022684969741988,0.7235930458184181,0.68369480491933188,0.72976805474501061,0.67710751873304997,0.73588409962111034,0.67046552338039134,0.7419406862804182,0.66376935552358252,0.74793732536076041,0.65701955620189911,0.75387353234362819,0.65021667078795031,0.75974882759332651,0.64336124894361335,0.76556273639572736,0.63645384457562237,0.77131478899662587,0.62949501579081302,0.77700452063969616,0.62248532485102903,0.78263147160404234,0.61542533812769173,0.7881951872413433,0.60831562605603884,0.79369521801258791,0.60115676308903354,0.79913111952439675,0.59394932765094999,0.80450245256492814,0.58669390209063788,0.80980878313936622,0.5793910726344691,0.81504968250498644,0.57204142933897195,0.82022472720579809,0.56464556604315519,0.82533349910675791,0.55720408032052748,0.8303755854275553,0.5497175734308134,0.83535057877596408,0.54218665027137414,0.84025807718075918,0.5346119193283313,0.84509768412419506,0.52699399262740276,0.84986900857404435,0.51933348568445281,0.85457166501519122,0.51163101745575823,0.85920527348078213,0.50388721028799832,0.86376945958292517,0,0.99983840657573331,0.017976671997302143,0.99935367852780288,0.035947534170634357,0.99854597251393873,0.053906778573685421,0.99741554957410217,0.071848601014854671,0.99596277504612052,0.089767202933090401,0.99418811844761534,0.10765679327190852,0.9920921533242596,0.12551159035098589,0.98967555706441646,0.14332582373472333,0.98693911068021511,0.16109373609717451,0.98388369855513869,0.17880958508273795,0.98051030815820295,0.19646764516201093,0.97682002972481907,0.21406220948220525,0.97281405590444425,0.23158759171152696,0.96849368137513259,0.24903812787692392,0.96386030242511289,0.26640817819460777,0.95891541650152601,0.28369212889275736,0.95366062172647004,0.3008843940258164,0.94809761638050782,0.31797941727979734,0.94222819835380567,0.33497167376800913,0.93605426456507823,0.35185567181662791,0.92957781034852982,0.36862595473953375,0.92280092880898834,0.38527710260183962,0.91572581014544141,0.40180373397154362,0.90835474094319291,0.4182005076587364,0.90069010343486866,0.43446212444180388,0.89273437473051021,0.45058332878006596,0.88449012601700516,0.46655891051229786,0.87596002172711374,0.48238370654058615,0.86714681867835919,0.49805260249897387,0.85805336518206021,0.51356053440635596,0.84868260012279462,0.52890249030309233,0.83903755200859031,0.54407351187080599,0.82912133799215115,0.55906869603484777,0.81893716286343454,0.57388319654890441,0.8084883180139053,0.58851222556124216,0.79777818037280102,0.60295105516207737,0.78681021131575346,0.61719501891157491,0.77558795554611693,0.6312395133479799,0.76411503994936691,0.6450799994753964,0.7523951724209389,0.6587120042307304,0.74043214066788432,0.67213112192932589,0.72822981098473449,0.68533301568882399,0.71579212700396444,0.69831341883078579,0.70312310842146308,0.71106813625962706,0.69022684969741988,0.7235930458184181,0.67710751873304997,0.73588409962111034,0.66376935552358252,0.74793732536076041,0.65021667078795031,0.75974882759332651,0.63645384457562237,0.77131478899662587,0.62248532485102903,0.78263147160404234,0.60831562605603884,0.79369521801258791,0.59394932765094999,0.80450245256492814,0.5793910726344691,0.81504968250498644,0.56464556604315519,0.82533349910675791,0.5497175734308134,0.83535057877596408,0.5346119193283313,0.84509768412419506,0.51933348568445281,0.85457166501519122,0.50388721028799832,0.86376945958292517,0.48827808517203453,0.87268809522115709,0.4725111550005161,0.881324689544142,0.45659151543791621,0.88967645131817841,0.4405243115023747,0.89774068136369911,0.42431473590289659,0.90551477342760955,0.40796802736113574,0.91299621502559558,0.39148946891830971,0.92018258825412458,0.37488438622778997,0.9270715705718805,0.35815814583392069,0.93366093555037843,0.34131615343762306,0.93994855359351714,0.32436385214934232,0.94593239262583639,0.30730672072990733,0.95161051874925739,0.29015027181986652,0.95698109686809252,0.27290005015787494,0.96204239128212499,0.25556163078870847,0.9667927662475635,0.23814061726148134,0.97123068650569344,0.22064263981865367,0.97535471777905292,0.20307335357641096,0.97916352723497113,0.18543843669700477,0.98265588391632341,0.1677435885536453,0.98583065913936019,0.14999452788853973,0.98868682685848208,0.13219699096466861,0.99122346399784511,0.11435672971190203,0.99343975074968638,0.096479509868051275,0.99533497083927513,0.078571109115458004,0.99690851175640327,0.060637315213724161,0.99815986495334075,0.042683924129182871,0.99908862600919157,0.024716738161719234,0.99969449476059691,0.0067415640695430868,0.99997727539874437,-0.011235788807478882,0.99993687653265084,-0.029209510425325599,0.9995733112186983,-0.047173791913550527,0.99888669695641508,-0.06512282745263355,0.99787725565050056,-0.08305081615034457,0.99654531353910936,-0.10095196391651584,0.99489130108841461,-0.11882048533561591,0.99291575285348788,-0.13665060553651892,0.99061930730553738,-0.15443656205886841,0.98800270662556244,-0.17217260671542778,0.9850667964644908,-0.18985300744981903,0.98181252566987498,-0.20747205018904818,0.97824094597923728,-0.22502404069021778,0.97435321168016231,-0.24250330638083248,0.97015057923724612,-0.25990419819209903,0.96563440688602331,-0.27722109238463127,0.96080615419400373,-0.29444839236596898,0.9556673815889587,-0.31158053049932199,0.95021974985461188,-0.3286119699029586,0.94446501959389528,-0.3455372062396519,0.93840505065994628,-0.36235076949560963,0.93204180155502658,-0.3790472257483104,0.92537732879756107,-0.39562117892267651,0.91841378625749714,-0.4120672725350133,0.91115342446020309,-0.42838019142415557,0.90359858985912755,-0.44455466346925798,0.89575172407745596,-0.46058546129367256,0.88761536311901168,-0.47646740395437132,0.87919213654865114,-0.49219535861635721,0.87048476664242413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99991944110285935,0.012692962796189505,0.99967777739090913,0.025383880530210394,0.9992750478004736,0.038070708469389952,0.99871131721845596,0.050751402539994189,0.99798667647188444,0.063423919656564506,0.99710124231327746,0.076086218051095084,0.99605515740183381,0.088736257601998034,0.99484859028044692,0.10137200016280339,0.99348173534855022,0.11399140989054062,0.99195481283079534,0.12659245357374926,0.99026806874157036,0.13917310096006544,0.98842177484536242,0.15173132508333162,0.98641622861297173,0.16426510259017701,0.98425175317358371,0.17677241406601565,0.98192869726270671,0.18925124436041019,0.9794474351659852,0.20169958291174839,0.97680836665889514,0.21411542407118034,0.97401191694233347,0.22649676742576436,0.97105853657411034,0.23884161812076887,0.96794870139635625,0.25114798718107922,0.96468291245885573,0.2634138918316567,0.96126169593831889,0.27563735581699916,0.95768560305360528,0.28781640971955091,0.95395520997691263,0.29994909127701064,0.95007111774094544,0.31203344569848712,0.94603395214207719,0.3240675259794506,0.94184436363952473,0.33604939321543009,0.93750302725054624,0.34797711691440514,0.93301064244168508,0.35984877530784254,0.92836793301607268,0.37166245566032752,0.92357564699681105,0.38341625457773926,0.91863455650645354,0.39510827831392187,0.91354545764260087,0.40673664307580015,0.90830917034963721,0.41829947532689271,0.90292653828662128,0.42979491208917159,0.89739842869135844,0.44122110124322128,0.89172573224067331,0.45257620182664826,0.88590936290690558,0.46385838433069265,0.87995025781065317,0.47506583099499483,0.87384937706978494,0.48619673610046871,0.86760770364474915,0.49724930626023517,0.86122624318020058,0.50822176070856906,0.85470602384297356,0.51911233158781189,0.84804809615642596,0.5299192642332049,0.84125353283118121,0.54064081745559756,0.83432342859229525,0.55127526382198333,0.82725890000287716,0.56182088993382007,0.82006108528419108,0.5722759967030896,0.81273114413226799,0.5826388996260502,0.80527025753105863,0.5929079290546404,0.79767962756215538,0.60308143046548945,0.78996047721111617,0.61315776472648986,0.78211405017041935,0.62313530836089115,0.77414161063908249,0.63301245380887039,0.76604444311897801,0.64278760968653925,0.75782385220787685,0.65245920104234412,0.74948116238925411,0.66202566961081855,0.7410177178188917,0.67148547406364745,0.73243488210831098,0.68083709025800343,0.7237340381050702,0.69007901148211193,0.71491658766996358,0.69920974869801067,0.70598395145115644,0.70822783078145923,0.69693756865529344,0.71713180475896343,0.68777889681561699,0.72592023604187594,0.67850941155713218,0.7345917086575332,0.66913060635885824,0.74314482547739424,0.65964399231320159,0.75157820844214263,0.65005109788249249,0.75989049878371695,0.64035346865272236,0.76808035724423185,0.63055266708452251,0.77614646429175682,0.62065027226142377,0.78408752033291573,0.61064787963543821,0.79190224592227509,0.60054710077000317,0.79958938196848495,0.59034956308032993,0.80714768993714126,0.58005690957119826,0.81457595205033562,0.56967079857223879,0.82187297148286109,0.5591929034707469,0.82903757255504162,0.54862491244207001,0.83606860092215574,0.53796852817761254,0.84296492376042154,0.52722546761050237,0.84972542994951439,0.51639746163896194,0.85634903025158893,0.50548625484742971,0.86283465748677446,0,0.99967777739090913,0.025383880530210394,0.99871131721845596,0.050751402539994189,0.99710124231327746,0.076086218051095084,0.99484859028044692,0.10137200016280339,0.99195481283079534,0.12659245357374926,0.98842177484536242,0.15173132508333162,0.98425175317358371,0.17677241406601565,0.9794474351659852,0.20169958291174839,0.97401191694233347,0.22649676742576436,0.96794870139635625,0.25114798718107922,0.96126169593831889,0.27563735581699916,0.95395520997691263,0.29994909127701064,0.94603395214207719,0.3240675259794506,0.93750302725054624,0.34797711691440514,0.92836793301607268,0.37166245566032752,0.91863455650645354,0.39510827831392187,0.90830917034963721,0.41829947532689271,0.89739842869135844,0.44122110124322128,0.88590936290690558,0.46385838433069265,0.87384937706978494,0.48619673610046871,0.86122624318020058,0.50822176070856906,0.84804809615642596,0.5299192642332049,0.83432342859229525,0.55127526382198333,0.82006108528419108,0.5722759967030896,0.80527025753105863,0.5929079290546404,0.78996047721111617,0.61315776472648986,0.77414161063908249,0.63301245380887039,0.75782385220787685,0.65245920104234412,0.7410177178188917,0.67148547406364745,0.7237340381050702,0.69007901148211193,0.70598395145115644,0.70822783078145923,0.68777889681561699,0.72592023604187594,0.66913060635885824,0.74314482547739424,0.65005109788249249,0.75989049878371695,0.63055266708452251,0.77614646429175682,0.61064787963543821,0.79190224592227509,0.59034956308032993,0.80714768993714126,0.56967079857223879,0.82187297148286109,0.54862491244207001,0.83606860092215574,0.52722546761050237,0.84972542994951439,0.50548625484742971,0.86283465748677446,0.48342128388456385,0.87538783535493569,0.46104477438693131,0.88737687371854779,0.43837114678907746,0.89879404629916693,0.41541501300188644,0.90963199535451833,0.39219116699600548,0.9198837364201583,0.36871457526794077,0.92954266281057918,0.34500036719497068,0.93860254987685565,0.32106382528509086,0.94705755901809086,0.29692037532827492,0.95490224144407387,0.27258557645539788,0.96213154168672721,0.24807511111122887,0.96874080085807857,0.2234047749479543,0.9747257596526594,0.19859046664574553,0.98008256109239345,0.17364817766693041,0.98480775301220802,0.14859398195037188,0.98889829028476561,0.12344402555269482,0.99235153678288102,0.098214516243037217,0.99516526707836128,0.072921713058030746,0.99733766787617228,0.047581915823742403,0.99886733918300796,0.02221145465132952,0.99975329520950917,-0.0031733205868222725,0.99999496500555107,-0.028556050793696133,0.99959219282818923,-0.053920378190185837,0.99854523824202746,-0.079249956856788317,0.99685477595194238,-0.10452846326765333,0.9945218953682734,-0.12973960681020161,0.99154809990475712,-0.15486714028353227,0.98793530600966006,-0.17989487036885371,0.98368584193073216,-0.20480666806519052,0.97880244621477874,-0.22958647908364097,0.97328826594281759,-0.25421833419348677,0.96714685470195716,-0.27868635951348741,0.96038217029530448,-0.30297478674172712,0.95299857219137796,-0.32706796331742144,0.94500081871466857,-0.35095036250813544,0.93639406397916058,-0.37460659341591185,0.92718385456678742,-0.39802141089586202,0.91737612595296336,-0.4211797253808266,0.90697719868149473,-0.44406661260577412,0.89599377429133586,-0.46666732322567372,0.88443293099781428,-0.48896729232063879,0.87230211913110878,0,0.9992750478004736,0.038070708469389952,0.99710124231327746,0.076086218051095084,0.99348173534855022,0.11399140989054063,0.98842177484536242,0.15173132508333162,0.98192869726270671,0.18925124436041019,0.97401191694233347,0.22649676742576438,0.96468291245885573,0.2634138918316567,0.95395520997691263,0.29994909127701064,0.94184436363952473,0.33604939321543009,0.92836793301607268,0.37166245566032752,0.91354545764260087,0.40673664307580015,0.89739842869135844,0.44122110124322128,0.87995025781065317,0.47506583099499489,0.86122624318020058,0.50822176070856906,0.84125353283118121,0.54064081745559756,0.82006108528419108,0.5722759967030896,0.79767962756215538,0.60308143046548945,0.77414161063908249,0.63301245380887039,0.74948116238925411,0.66202566961081855,0.7237340381050702,0.69007901148211193,0.69693756865529344,0.71713180475896343,0.66913060635885824,0.74314482547739424,0.64035346865272236,0.76808035724423185,0.6106478796354381,0.79190224592227509,0.58005690957119815,0.81457595205033573,0.5486249124420699,0.83606860092215585,0.51639746163896194,0.85634903025158893,0,0.99710124231327746,0.076086218051095084,0.98842177484536242,0.15173132508333162,0.97401191694233347,0.22649676742576438,0.95395520997691263,0.29994909127701064,0.92836793301607268,0.37166245566032752,0.89739842869135844,0.44122110124322128,0.86122624318020058,0.50822176070856906,0.82006108528419108,0.5722759967030896,0.77414161063908249,0.63301245380887039,0.7237340381050702,0.69007901148211193,0.66913060635885824,0.74314482547739424,0.6106478796354381,0.79190224592227509,0.5486249124420699,0.83606860092215585,0.48342128388456385,0.87538783535493569,0.41541501300188644,0.90963199535451833,0.34500036719497068,0.93860254987685565,0.27258557645539788,0.96213154168672721,0.19859046664574553,0.98008256109239345,0.12344402555269482,0.99235153678288102,0.047581915823742403,0.99886733918300796,-0.028556050793696133,0.99959219282818923,-0.10452846326765333,0.9945218953682734,-0.17989487036885371,0.98368584193073216,-0.25421833419348699,0.96714685470195716,-0.32706796331742166,0.94500081871466846,-0.39802141089586224,0.91737612595296336,-0.46666732322567372,0.88443293099781428,0,0.99348173534855022,0.11399140989054062,0.97401191694233347,0.22649676742576436,0.94184436363952473,0.33604939321543009,0.89739842869135844,0.44122110124322128,0.84125353283118121,0.54064081745559756,0,0.97401191694233347,0.22649676742576436,0.89739842869135844,0.44122110124322128,0.77414161063908249,0.63301245380887039,0.61064787963543821,0.79190224592227509,0.41541501300188644,0.90963199535451833,0,0.94184436363952473,0.33604939321543009,0.77414161063908249,0.63301245380887039,0.51639746163896194,0.85634903025158893,0.19859046664574553,0.98008256109239345,-0.142314838273285,0.9898214418809328,0,0.89739842869135844,0.44122110124322128,0.61064787963543821,0.79190224592227509,0.19859046664574553,0.98008256109239345,-0.25421833419348677,0.96714685470195716,-0.6548607339452851,0.75574957435425827,0,0,0,0,0,0,0,0,0,0,0,0,0.99935552364332136,0.035896202634582174,0.99742292527283405,0.071746136761379281,0.99420469591645155,0.10750359351052489,0.98970498371963489,0.14312248321111948,0.98392958859862967,0.17855689479863665,0.97688595476464768,0.21376115499211443,0.96858316112863119,0.24868988716485474,0.95903190959896567,0.28329806983274941,0.94824451128722631,0.31754109468484432,0.9362348706397372,0.35137482408134268,0.92301846751539729,0.38475564794493594,0.90861233723287449,0.41764053997213108,0.89303504861288541,0.44998711309212114,0.87630668004386358,0.48175367410171521,0.8584487936018661,0.51289927740590613,0.83948440725807727,0.54338377779480562,0.81943796520973189,0.57316788218892212,0,0.99742292527283405,0.071746136761379281,0.98970498371963489,0.14312248321111948,0.97688595476464768,0.21376115499211443,0.95903190959896567,0.28329806983274941,0.9362348706397372,0.35137482408134268,0.90861233723287449,0.41764053997213108,0.87630668004386358,0.48175367410171521,0.83948440725807727,0.54338377779480562,0.79833530637270156,0.60221320028608205,0.75307146600361097,0.65793872593971259,0.70392618274894503,0.71027313706805695,0.65115275874357359,0.75894669429455552,0.59502319610203724,0.80370852683078864,0.53582679497899677,0.84432792550201496,0.47386866247299869,0.880595531856738,0.40946814005889065,0.9123244172314543,0.34295715765413171,0.9393510462089234,0,0.99420469591645155,0.10750359351052489,0.97688595476464768,0.21376115499211443,0.94824451128722631,0.31754109468484432,0.90861233723287449,0.41764053997213108,0.8584487936018661,0.51289927740590613,0.79833530637270156,0.60221320028608205,0.72896862742141155,0.68454710592868862,0.65115275874357359,0.75894669429455552,0.56578963358221457,0.82454962890714067,0.47386866247299869,0.880595531856738,0.37645526537439217,0.92643479704288745,0.2746785228023903,0.96153611950414886,0.16971808910066918,0.98549265356572668,0.062790519529313527,0.99802672842827156,-0.04486483035051464,0.9989930665413147,-0.15200016956126694,0.98838046745843078,-0.25737373436530225,0.96631193765722401,0,0.98970498371963489,0.14312248321111948,0.95903190959896567,0.28329806983274941,0.90861233723287449,0.41764053997213108,0.83948440725807727,0.54338377779480562,0.75307146600361097,0.65793872593971259,0.65115275874357359,0.75894669429455552,0.53582679497899677,0.84432792550201496,0.40946814005889065,0.9123244172314543,0.2746785228023903,0.96153611950414886,0.13423326581765554,0.9909497617679347,-0.0089758584809977136,0.99995971617087109,-0.15200016956126694,0.98838046745843078,-0.29189479220103315,0.95645043273863162,-0.42577929156507233,0.90482705246601969,-0.55089698145210242,0.83457325372130275,-0.66467168455342551,0.74713556450814977,-0.76476077602759807,0.64431432969449465,0,0.98392958859862967,0.17855689479863665,0.9362348706397372,0.35137482408134268,0.8584487936018661,0.51289927740590613,0,0.9362348706397372,0.35137482408134268,0.75307146600361097,0.65793872593971259,0.47386866247299869,0.880595531856738,0,0.8584487936018661,0.51289927740590613,0.47386866247299869,0.880595531856738,-0.044864830350514862,0.9989930665413147,0,0.75307146600361097,0.65793872593971259,0.13423326581765554,0.9909497617679347,-0.55089698145210242,0.83457325372130275,0,0,0,0,0,0,0,0]} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/medium.json b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/medium.json new file mode 100644 index 000000000000..7825df644a03 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/medium.json @@ -0,0 +1 @@ +{"lengths":[80,30,85,41,64,21,113,71,16,60],"offsets":[0,80,110,195,236,300,321,434,505,521],"cosines":[0.99980724048206482,0.9992290362407229,0.99826561018471593,0.99691733373312796,0.99518472667219693,0.99306845695492629,0.99056934044357725,0.98768834059513777,0.9844265680898916,0.98078528040323043,0.97676588132087239,0.97236992039767656,0.96759909236025976,0.96245523645364728,0.95694033573220882,0.95105651629515353,0.94480604646687805,0.93819133592248416,0.93121493475880357,0.92387953251128674,0.91618795711713596,0.90814317382508125,0.89974828405222151,0.8910065241883679,0.88192126434835505,0.87249600707279718,0.86273438597779184,0.85264016435409229,0.84221723371628654,0.83146961230254524,0.82040144352551359,0.80901699437494745,0.79732065377270711,0.78531693088074495,0.77301045336273699,0.76040596560003093,0.74750832686259683,0.73432250943568556,0.72085359670291882,0.70710678118654757,0.69308736254563585,0.67880074553294178,0.66425243791128175,0.64944804833018366,0.63439328416364549,0.61909394930983397,0.60355594195357143,0.58778525229247314,0.57178796022761225,0.55557023301960229,0.53913832291100039,0.52249856471594891,0.50565737337798455,0.48862124149695496,0.47139673682599781,0.45399049973954686,0.43640924067334202,0.41865973753742813,0.40074883310314113,0.38268343236508984,0.36447049987914959,0.34611705707749302,0.32763017956169366,0.30901699437494745,0.29028467725446233,0.27144044986507432,0.25249157701515812,0.23344536385590547,0.21430915306505069,0.19509032201612833,0.17579627993435468,0.15643446504023092,0.13701234168196799,0.1175373974578377,0.09801714032956077,0.078459095727844999,0.058870803651188984,0.039259815759068666,0.019633692460628474,6.123233995736766e-17,0.99862953475457383,0.99452189536827329,0.98768834059513777,0.97814760073380569,0.96592582628906831,0.95105651629515353,0.93358042649720174,0.91354545764260087,0.8910065241883679,0.86602540378443871,0.83867056794542405,0.80901699437494745,0.7771459614569709,0.74314482547739436,0.70710678118654757,0.66913060635885824,0.6293203910498375,0.58778525229247314,0.54463903501502708,0.50000000000000011,0.45399049973954686,0.40673664307580037,0.35836794954530038,0.30901699437494745,0.25881904510252096,0.20791169081775945,0.15643446504023092,0.10452846326765368,0.052335956242943966,6.123233995736766e-17,0.99982925045805271,0.99931706014302291,0.99846360396743394,0.99726917338578802,0.99573417629503447,0.99385913689527372,0.99164469551074275,0.98909160837114596,0.98620074735340257,0.98297309968390179,0.97940976760136589,0.9755119679804366,0.97128103191611381,0.96671840426918743,0.96182564317281904,0.95660441950044084,0.95105651629515353,0.94518382816081958,0.93898836061505653,0.93247222940435581,0.92563765978155632,0.91848698574592302,0.91102264924608833,0.90324719934612885,0.89516329135506234,0.88677368592006189,0.87808124808369792,0.86908894630552835,0.85979985144837245,0.85021713572961422,0.84034407163789271,0.8301840308155507,0.81974048290722112,0.80901699437494745,0.79801722728023949,0.78674493803348333,0.7752039761111299,0.763398282741103,0.75133188955687336,0.73900891722065909,0.72643357401622421,0.71361015441175235,0.70054303759329095,0.68723668596926268,0.67369564364655721,0.6599245348787226,0.64592806248678736,0.63171100625325105,0.61727822128979293,0.60263463637925641,0.58778525229247314,0.5727351400805053,0.55748943934288553,0.54205335647244945,0.52643216287735584,0.51063119318090699,0.49465584339977892,0.4785115691012865,0.46220388354031322,0.44573835577653831,0.4291206087726091,0.41235631747390344,0.39545120687054258,0.37841105004231035,0.36124166618715303,0.34394891863392829,0.32653871284008329,0.30901699437494745,0.29138974688932473,0.273662990072083,0.25584277759443558,0.23793519504261884,0.2199463578396687,0.20188240915701039,0.18374951781657031,0.16555387618413001,0.14730169805463758,0.12899921653020341,0.11065268189150082,0.092268359463302016,0.07385252747487403,0.05541147491597008,0.036951499389145069,0.018478904959129915,6.123233995736766e-17,0.99926618105081,0.99706580118374044,0.99340208975967503,0.98828042378034853,0.98170831999685493,0.97369542387777908,0.96425349545314099,0.95339639205493054,0.94114004797956152,0.92750245110209462,0.91250361647654998,0.8961655569610556,0.87851225091094243,0.85956960698720108,0.83936542613194998,0.81792936076671763,0.7952928712734264,0.77148917982194298,0.74655322161196258,0.72052159360078705,0.69343250079224172,0.66532570016556525,0.6362424423265598,0.60622541096663796,0.57531866021862055,0.54356755000122114,0.51101867944711032,0.47771981851226275,0.44371983786695968,0.40906863717133979,0.37381707184076884,0.3380168784085027,0.30172059859519218,0.26498150219666167,0.22785350890313749,0.19039110916466842,0.15264928421887447,0.1146834253984003,0.076549252836495663,0.038302733690035271,-1.6081226496766366e-16,0.99969881869620425,0.99879545620517241,0.99729045667869021,0.99518472667219693,0.99247953459870997,0.98917650996478101,0.98527764238894122,0.98078528040323043,0.97570213003852857,0.97003125319454397,0.96377606579543984,0.95694033573220882,0.94952818059303667,0.94154406518302081,0.93299279883473896,0.92387953251128674,0.91420975570353069,0.90398929312344334,0.89322430119551532,0.88192126434835505,0.87008699110871146,0.85772861000027212,0.84485356524970712,0.83146961230254524,0.81758481315158371,0.80320753148064494,0.78834642762660623,0.77301045336273699,0.75720884650648457,0.74095112535495922,0.724247082951467,0.70710678118654757,0.68954054473706694,0.67155895484701833,0.65317284295377687,0.63439328416364549,0.61523159058062682,0.59569930449243347,0.57580819141784534,0.55557023301960229,0.53499761988709726,0.51410274419322166,0.49289819222978409,0.47139673682599781,0.4496113296546066,0.4275550934302822,0.40524131400498986,0.38268343236508984,0.35989503653498828,0.33688985339222005,0.31368174039889157,0.29028467725446233,0.26671275747489842,0.24298017990326398,0.21910124015686977,0.19509032201612833,0.17096188876030136,0.14673047445536175,0.12241067519921628,0.09801714032956077,0.073564563599667454,0.049067674327418126,0.024541228522912264,6.123233995736766e-17,0.99720379718118013,0.98883082622512852,0.97492791218182362,0.95557280578614068,0.93087374864420425,0.90096886790241915,0.8660254037844386,0.82623877431599491,0.7818314824680298,0.73305187182982634,0.68017273777091936,0.62348980185873359,0.56332005806362195,0.49999999999999989,0.43388373911755818,0.36534102436639498,0.2947551744109041,0.22252093395631445,0.14904226617617444,0.074730093586424171,6.123233995736766e-17,0.99990338470638107,0.99961355749455405,0.99913057436800123,0.99845452865383599,0.99758555098476864,0.9965238092738643,0.9952695086820974,0.99382289157870785,0.9921842374943679,0.99035386306716877,0.98833212198143583,0.98611940489938621,0.98371613938564106,0.9811227898246071,0.97833985733074269,0.975367879651728,0.97220743106455521,0.96885912226456061,0.96532360024742003,0.96160154818412902,0.95769368528899346,0.9536007666806553,0.94932358323618105,0.94486296143823911,0.94021976321539902,0.93539488577558016,0.93038926143268352,0.92520385742644029,0.91983967573551173,0.91429775288387605,0.90857915974054027,0.90268500131261564,0.89661641653179647,0.89037457803428377,0.88396069193419569,0.87737599759050977,0.87062176736758112,0.86369930638928183,0.8566099522868118,0.84935507494022766,0.84193607621373923,0.83435438968482722,0.82661148036723175,0.8187088444278674,0.81064800889771726,0.80243053137676457,0.79405799973301627,0.78553203179567854,0.77685427504254267,0.76802640628164209,0.75905013132724153,0.74992718467022146,0.74065932914292176,0.73124835557850854,0.72169608246493022,0.71200435559352981,0.70217504770238204,0.69221005811442282,0.6821113123704422,0.67188076185701062,0.66152038342941155,0.65103217902965238,0.64041817529962863,0.62968042318951389,0.61882099756145403,0.60784199678864015,0.59674554234983879,0.58553377841945764,0.57420887145322486,0.56277300976956379,0.55122840312674337,0.53957728229588453,0.52782189862990736,0.51596452362850098,0.50400744849919987,0.4919529837146529,0.47980345856616935,0.46756122071362805,0.45522863573183869,0.4428080866534394,0.43030197350842236,0.41771271286037459,0.40504273733952406,0.39229449517268095,0.37947044971016541,0.36657307894981289,0.35360487505814908,0.34056834388882778,0.32746600449842223,0.31430038865966692,0.30107404037224184,0.28778951537119346,0.27444938063308905,0.26105621387999778,0.24761260308139635,0.23412114595409397,0.22058444946027386,0.2070051293037492,0.1933858094245279,0.17972912149178802,0.1660377043953585,0.15231420373580504,0.13856127131321905,0.12478156461480873,0.11097774630139143,0.097152483692885747,0.083308448252904677,0.069448315072545827,0.055574762353482812,0.041690470890454627,0.027798123553254055,0.01390040476831517,6.123233995736766e-17,0.999755276685243,0.9990212265199736,0.99779820878257108,0.99608682207494481,0.99388790402955074,0.99120253089941457,0.98803201703136401,0.98437791422272558,0.98024201096180286,0.97562633155250678,0.97053313512356731,0.96496491452280997,0.95892439509704008,0.95241453335813131,0.94543851553597025,0.93799975601896746,0.93010189568289625,0.92174880010887839,0.91294455769138871,0.90369347763720387,0.89400008785627572,0.88386913274556111,0.87330557086689276,0.86231457252002774,0.85090151721206209,0.83907199102444863,0.82683178387890877,0.8141868867035742,0.80114348850074812,0.78770797331771836,0.77388691712210689,0.75968708458328493,0.74511542576142853,0.73017907270583426,0.71488533596416248,0.69924170100431415,0.68325582455069345,0.6669355308366508,0.65028880777493692,0.63332380304804703,0.61604882012036422,0.59847231417405733,0.58060288797072068,0.56244928764078062,0.54402039840273231,0.52532524021429883,0.50637296335764392,0.48717284396079646,0.46773427945748181,0.44806678398757854,0.42817998374045535,0.4080836122434649,0.38778750559790215,0.3673015976647569,0.34663591520261949,0.3258005729601175,0.30480576872528664,0.28366177833429679,0.26237895064197908,0.24096770245661442,0.21943851344146065,0.19780192098551741,0.17606851504603618,0.15424893296530237,0.13235385426422255,0.11039399541526972,0.08838010459734251,0.066322956435104038,0.044233346725379007,0.022122087153186896,6.123233995736766e-17,0.99518472667219693,0.98078528040323043,0.95694033573220882,0.92387953251128674,0.88192126434835505,0.83146961230254524,0.77301045336273699,0.70710678118654757,0.63439328416364549,0.55557023301960229,0.47139673682599781,0.38268343236508984,0.29028467725446233,0.19509032201612833,0.09801714032956077,6.123233995736766e-17,0.99965732497555726,0.99862953475457383,0.99691733373312796,0.99452189536827329,0.99144486137381038,0.98768834059513777,0.98325490756395462,0.97814760073380569,0.97236992039767656,0.96592582628906831,0.95881973486819305,0.95105651629515353,0.94264149109217843,0.93358042649720174,0.92387953251128674,0.91354545764260087,0.90258528434986063,0.8910065241883679,0.87881711266196538,0.86602540378443871,0.85264016435409229,0.83867056794542405,0.8241261886220157,0.80901699437494745,0.79335334029123528,0.7771459614569709,0.76040596560003093,0.74314482547739436,0.72537437101228774,0.70710678118654757,0.68835457569375402,0.66913060635885824,0.64944804833018366,0.6293203910498375,0.60876142900872066,0.58778525229247314,0.56640623692483294,0.54463903501502708,0.52249856471594891,0.50000000000000011,0.47715876025960857,0.45399049973954686,0.43051109680829525,0.40673664307580037,0.38268343236508984,0.35836794954530038,0.33380685923377112,0.30901699437494745,0.28401534470392276,0.25881904510252096,0.23344536385590547,0.20791169081775945,0.18223552549214767,0.15643446504023092,0.13052619222005171,0.10452846326765368,0.078459095727844999,0.052335956242943966,0.026176948307873361,6.123233995736766e-17],"twiddles":[0.99691733373312796,0.078459095727844944,0.98768834059513777,0.15643446504023087,0.97236992039767656,0.23344536385590539,0.95105651629515353,0.3090169943749474,0.92387953251128674,0.38268343236508978,0.8910065241883679,0.45399049973954675,0.85264016435409229,0.5224985647159488,0.80901699437494745,0.58778525229247314,0.76040596560003093,0.64944804833018366,0,0,0.98768834059513777,0.15643446504023087,0.95105651629515353,0.3090169943749474,0.8910065241883679,0.45399049973954675,0.80901699437494745,0.58778525229247314,0.70710678118654757,0.70710678118654746,0.58778525229247314,0.80901699437494745,0.45399049973954686,0.8910065241883679,0.30901699437494745,0.95105651629515353,0.15643446504023092,0.98768834059513777,0,0,0.97236992039767656,0.23344536385590539,0.8910065241883679,0.45399049973954675,0.76040596560003093,0.64944804833018366,0.58778525229247314,0.80901699437494745,0.38268343236508984,0.92387953251128674,0.15643446504023092,0.98768834059513777,-0.078459095727844874,0.99691733373312796,-0.30901699437494734,0.95105651629515364,-0.5224985647159488,0.85264016435409229,0,0,0.95105651629515353,0.3090169943749474,0.80901699437494745,0.58778525229247314,0,0.80901699437494745,0.58778525229247314,0.30901699437494745,0.95105651629515353,0,0.58778525229247314,0.80901699437494745,-0.30901699437494734,0.95105651629515364,0,0,0,0,0,0,0.97814760073380569,0.20791169081775931,0.91354545764260087,0.40673664307580015,0.80901699437494745,0.58778525229247314,0.66913060635885824,0.74314482547739424,0.50000000000000011,0.8660254037844386,0.30901699437494745,0.95105651629515353,0.10452846326765368,0.99452189536827329,0,0.91354545764260087,0.40673664307580015,0.66913060635885824,0.74314482547739424,0,0.66913060635885824,0.74314482547739424,-0.10452846326765333,0.9945218953682734,0,0,0,0,0,0,0.99726917338578802,0.073852527474873961,0.98909160837114596,0.1473016980546375,0.9755119679804366,0.21994635783966859,0.95660441950044084,0.29138974688932462,0.93247222940435581,0.36124166618715292,0.90324719934612885,0.42912060877260894,0.86908894630552835,0.49465584339977881,0.8301840308155507,0.55748943934288553,0,0.98909160837114596,0.1473016980546375,0.95660441950044084,0.29138974688932462,0.90324719934612885,0.42912060877260894,0.8301840308155507,0.55748943934288553,0.73900891722065909,0.67369564364655721,0.63171100625325105,0.77520397611112979,0.51063119318090699,0.85979985144837234,0.37841105004231035,0.92563765978155621,0,0.9755119679804366,0.21994635783966859,0.90324719934612885,0.42912060877260894,0.78674493803348333,0.61727822128979282,0.63171100625325105,0.77520397611112979,0.44573835577653831,0.89516329135506234,0.23793519504261904,0.97128103191611381,0.018478904959130137,0.99982925045805271,-0.20188240915701006,0.97940976760136589,0,0.95660441950044084,0.29138974688932462,0.8301840308155507,0.55748943934288553,0.63171100625325105,0.77520397611112979,0.37841105004231035,0.92563765978155621,0.092268359463302016,0.99573417629503447,-0.20188240915701006,0.97940976760136589,-0.47851156910128639,0.87808124808369803,-0.71361015441175224,0.70054303759329106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.99518472667219693,0.098017140329560604,0.98078528040323043,0.19509032201612825,0.95694033573220882,0.29028467725446233,0.92387953251128674,0.38268343236508978,0.88192126434835505,0.47139673682599764,0.83146961230254524,0.55557023301960218,0.77301045336273699,0.63439328416364549,0,0,0.98078528040323043,0.19509032201612825,0.92387953251128674,0.38268343236508978,0.83146961230254524,0.55557023301960218,0.70710678118654757,0.70710678118654746,0.55557023301960229,0.83146961230254524,0.38268343236508984,0.92387953251128674,0.19509032201612833,0.98078528040323043,0,0,0.95694033573220882,0.29028467725446233,0.83146961230254524,0.55557023301960218,0.63439328416364549,0.77301045336273699,0.38268343236508984,0.92387953251128674,0.09801714032956077,0.99518472667219682,-0.19509032201612819,0.98078528040323043,-0.4713967368259977,0.88192126434835505,0,0,0.92387953251128674,0.38268343236508978,0,0,0.70710678118654757,0.70710678118654746,0,0,0.38268343236508984,0.92387953251128674,0,0,0,0,0,0,0.95557280578614068,0.29475517441090421,0.82623877431599491,0.56332005806362206,0.62348980185873359,0.7818314824680298,0,0.82623877431599491,0.56332005806362206,0.36534102436639498,0.93087374864420425,-0.22252093395631434,0.97492791218182362,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.92387953251128674,0.38268343236508978,0,0,0.70710678118654757,0.70710678118654746,0,0,0.38268343236508984,0.92387953251128674,0,0,0,0,0,0,0.99452189536827329,0.10452846326765346,0.97814760073380569,0.20791169081775931,0.95105651629515353,0.3090169943749474,0.91354545764260087,0.40673664307580015,0.86602540378443871,0.49999999999999994,0.80901699437494745,0.58778525229247314,0.74314482547739436,0.66913060635885813,0,0.97814760073380569,0.20791169081775931,0.91354545764260087,0.40673664307580015,0.80901699437494745,0.58778525229247314,0.66913060635885824,0.74314482547739424,0.50000000000000011,0.8660254037844386,0.30901699437494745,0.95105651629515353,0.10452846326765368,0.99452189536827329,0,0.95105651629515353,0.3090169943749474,0.80901699437494745,0.58778525229247314,0.58778525229247314,0.80901699437494745,0.30901699437494745,0.95105651629515353,6.123233995736766e-17,1,-0.30901699437494734,0.95105651629515364,-0.58778525229247303,0.80901699437494745,0,0.91354545764260087,0.40673664307580015,0.66913060635885824,0.74314482547739424,0,0.66913060635885824,0.74314482547739424,-0.10452846326765333,0.9945218953682734,0,0,0,0,0,0]} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/runner.c b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/runner.c new file mode 100644 index 000000000000..9c78a33c7c15 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/runner.c @@ -0,0 +1,304 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +/** +* Generate FFTPACK test fixtures. +* +* ## Notes +* +* - Run this script from the directory in which fixtures should be written. +* +*/ + +#include +#include +#include + +/** +* Define prototypes for external functions. +*/ +extern void cosqi( int n, double *wsave ); + +/** +* Generates a random number on the interval [0,1]. +* +* @return random number +*/ +double rand_double( void ) { + int r = rand(); + return (double)r / ( (double)RAND_MAX + 1.0 ); +} + +/** +* Generates an array of pseudorandom integers drawn from a uniform distribution. +* +* ## Notes +* +* - WARNING: the method used here is not particularly robust, as some integer values may be sampled more frequently than others. +* +* +* @param out output array +* @param len array length +* @param a lower bound (inclusive) +* @param b upper bound (exclusive) +*/ +void rand_array_i32( int *out, const unsigned int len, const int a, const int b ) { + unsigned int i; + unsigned int r; + double delta; + + delta = (double)b - (double)a; + + for ( i = 0; i < len; i++ ) { + r = (unsigned int)( delta * rand_double() ); // truncation + out[ i ] = (int)( a + r ); + } +} + +/** +* Writes an array of doubles to a file as a series of comma-separated values. +* +* @param f file to write to +* @param x array of doubles +* @param len array length +*/ +void write_array_f64( FILE *f, const double *x, const unsigned int len ) { + unsigned int i; + + for ( i = 0; i < len; i++ ) { + fprintf( f, "%.17g", x[ i ] ); + if ( i < len-1 ) { + fprintf( f, "," ); + } + } +} + +/** +* Writes an array of integers to a file as a series of comma-separated values. +* +* @param f file to write to +* @param x array of integers +* @param len array length +*/ +void write_array_i32( FILE *f, const int *x, const unsigned int len ) { + unsigned int i; + + for ( i = 0; i < len; i++ ) { + fprintf( f, "%d", x[ i ] ); + if ( i < len-1 ) { + fprintf( f, "," ); + } + } +} + +/** +* Writes a named array of doubles to a file as JSON. +* +* @param f file to write to +* @param name array name +* @param x data +* @param len array length +*/ +void write_named_array_f64( FILE *f, const char *name, const double *x, const unsigned int len ) { + fprintf( f, "\"%s\":[", name ); + write_array_f64( f, x, len ); + fprintf( f, "]" ); +} + +/** +* Writes a named array of integers to a file as JSON. +* +* @param f file to write to +* @param name array name +* @param x data +* @param len array length +*/ +void write_named_array_i32( FILE *f, const char *name, const int *x, const unsigned int len ) { + fprintf( f, "\"%s\":[", name ); + write_array_i32( f, x, len ); + fprintf( f, "]" ); +} + +/** +* Writes data to a file as JSON. +* +* ## Notes +* +* - This function SHOULD be tailored to the input data (e.g., input types, output types, number of arguments, etc) and may vary from use case to use case. +* +* +* @param f file to write to +* @param lengths sequence lengths +* @param offsets cosine and twiddle offsets +* @param cosines cosine values +* @param twiddles twiddle factors +* @param num number of sequence lengths +* @param total total number of cosine and twiddle values +*/ +void write_data_as_json( FILE *f, const int *lengths, const int *offsets, const double *cosines, const double *twiddles, const unsigned int num, const unsigned int total ) { + fprintf( f, "{" ); + write_named_array_i32( f, "lengths", lengths, num ); + fprintf( f, "," ); + write_named_array_i32( f, "offsets", offsets, num ); + fprintf( f, "," ); + write_named_array_f64( f, "cosines", cosines, total ); + fprintf( f, "," ); + write_named_array_f64( f, "twiddles", twiddles, total ); + fprintf( f, "}\n" ); +} + +/** +* Generates test fixtures. +* +* @param lengths sequence lengths +* @param offsets cosine and twiddle offsets into flat output array +* @param num number of sequence lengths +* @param total total number of cosine and twiddle values +* @param name output filename +*/ +void generate( const int *lengths, const int *offsets, const unsigned int num, const unsigned int total, const char *name ) { + unsigned int i; + unsigned int j; + double *cosines; + double *twiddles; + double *wsave; + FILE *f; + int off; + int n; + + // Allocate an output array for cosine values: + cosines = (double*) malloc( total * sizeof(double) ); + if ( cosines == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + + // Allocate an output array for twiddle factors: + twiddles = (double*) malloc( total * sizeof(double) ); + if ( twiddles == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + + // Generate fixture data: + for ( i = 0; i < num; i++ ) { + n = lengths[ i ]; + wsave = (double*) calloc( 3*n + 15, sizeof(double) ); + if ( wsave == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + cosqi( n, wsave ); + + // Copy cosine region into flat array (N values starting at wsave[0]): + off = offsets[ i ]; + for ( j = 0; j < (unsigned int)n; j++ ) { + cosines[ off + j ] = wsave[ j ]; + } + + // Copy twiddle region into flat array (N values starting at wsave[2*n]): + off = offsets[ i ]; + for ( j = 0; j < (unsigned int)n; j++ ) { + twiddles[ off + j ] = wsave[ ( 2*n ) + j ]; + } + free( wsave ); + } + // Open a new file: + f = fopen( name, "w" ); + if ( f == NULL ) { + printf( "Error opening file.\n" ); + exit( 1 ); + } + + // Write data as JSON: + write_data_as_json( f, lengths, offsets, cosines, twiddles, num, total ); + + // Close the file: + fclose( f ); + + // Free allocated memory: + free( cosines ); + free( twiddles ); +} + +/** +* Computes offsets into flat cosine and twiddle arrays for each sequence length. +* +* @param offsets output array of offsets +* @param lengths sequence lengths +* @param num number of sequence lengths +* @return total number of cosine and twiddle values +*/ +unsigned int compute_offsets( int *offsets, const int *lengths, const unsigned int num ) { + unsigned int total; + unsigned int i; + + total = 0; + for ( i = 0; i < num; i++ ) { + offsets[ i ] = total; + total += lengths[ i ]; + } + return total; +} + +/** +* Main execution sequence. +*/ +int main( void ) { + unsigned int total; + unsigned int num; + int *lengths; + int *offsets; + + // Use the current time to seed the random number generator: + srand( time( NULL ) ); + + // Define the number of sequence lengths per range: + num = 10; + + // Allocate arrays: + lengths = (int*) malloc( num * sizeof(int) ); + if ( lengths == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + offsets = (int*) malloc( num * sizeof(int) ); + if ( offsets == NULL ) { + printf( "Error allocating memory.\n" ); + exit( 1 ); + } + + // Generate fixture data: + rand_array_i32( lengths, num, 2, 16 ); + total = compute_offsets( offsets, lengths, num ); + generate( lengths, offsets, num, total, "small.json" ); + + rand_array_i32( lengths, num, 16, 128 ); + total = compute_offsets( offsets, lengths, num ); + generate( lengths, offsets, num, total, "medium.json" ); + + rand_array_i32( lengths, num, 128, 1024 ); + total = compute_offsets( offsets, lengths, num ); + generate( lengths, offsets, num, total, "large.json" ); + + // Free allocated memory: + free( lengths ); + free( offsets ); + + return 0; +} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/small.json b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/small.json new file mode 100644 index 000000000000..4e069a37b2ec --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/fixtures/c/fftpack/small.json @@ -0,0 +1 @@ +{"lengths":[15,2,13,8,15,5,4,6,13,6],"offsets":[0,15,17,30,38,53,58,62,68,81],"cosines":[0.99452189536827329,0.97814760073380569,0.95105651629515353,0.91354545764260087,0.86602540378443871,0.80901699437494745,0.74314482547739436,0.66913060635885824,0.58778525229247314,0.50000000000000011,0.40673664307580037,0.30901699437494745,0.20791169081775945,0.10452846326765368,6.123233995736766e-17,0.70710678118654757,6.123233995736766e-17,0.99270887409805397,0.97094181742605201,0.93501624268541483,0.88545602565320991,0.82298386589365646,0.74851074817110119,0.6631226582407953,0.56806474673115581,0.46472317204376862,0.35460488704253579,0.23931566428755782,0.12053668025532323,6.123233995736766e-17,0.98078528040323043,0.92387953251128674,0.83146961230254524,0.70710678118654757,0.55557023301960229,0.38268343236508984,0.19509032201612833,6.123233995736766e-17,0.99452189536827329,0.97814760073380569,0.95105651629515353,0.91354545764260087,0.86602540378443871,0.80901699437494745,0.74314482547739436,0.66913060635885824,0.58778525229247314,0.50000000000000011,0.40673664307580037,0.30901699437494745,0.20791169081775945,0.10452846326765368,6.123233995736766e-17,0.95105651629515353,0.80901699437494745,0.58778525229247314,0.30901699437494745,6.123233995736766e-17,0.92387953251128674,0.70710678118654757,0.38268343236508984,6.123233995736766e-17,0.96592582628906831,0.86602540378443871,0.70710678118654757,0.50000000000000011,0.25881904510252096,6.123233995736766e-17,0.99270887409805397,0.97094181742605201,0.93501624268541483,0.88545602565320991,0.82298386589365646,0.74851074817110119,0.6631226582407953,0.56806474673115581,0.46472317204376862,0.35460488704253579,0.23931566428755782,0.12053668025532323,6.123233995736766e-17,0.96592582628906831,0.86602540378443871,0.70710678118654757,0.50000000000000011,0.25881904510252096,6.123233995736766e-17],"twiddles":[0.91354545764260087,0.40673664307580015,0.66913060635885824,0.74314482547739424,0,0.66913060635885824,0.74314482547739424,-0.10452846326765333,0.9945218953682734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.70710678118654757,0.70710678118654746,0,0,0,0,0,0,0.91354545764260087,0.40673664307580015,0.66913060635885824,0.74314482547739424,0,0.66913060635885824,0.74314482547739424,-0.10452846326765333,0.9945218953682734,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.50000000000000011,0.8660254037844386,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.50000000000000011,0.8660254037844386,0,0,0,0]} diff --git a/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/test.js b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/test.js new file mode 100644 index 000000000000..ba823af6d8a1 --- /dev/null +++ b/lib/node_modules/@stdlib/fft/base/fftpack/float64/cosqi/test/test.js @@ -0,0 +1,314 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var Float64Array = require( '@stdlib/array/float64' ); +var isAlmostSameValue = require( '@stdlib/number/float64/base/assert/is-almost-same-value' ); +var cosqi = require( './../lib' ); + + +// FIXTURES // + +var small = require( './fixtures/c/fftpack/small.json' ); +var medium = require( './fixtures/c/fftpack/medium.json' ); +var large = require( './fixtures/c/fftpack/large.json' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof cosqi, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function has an arity of 4', function test( t ) { + t.strictEqual( cosqi.length, 4, 'returns expected value' ); + t.end(); +}); + +tape( 'the function returns a reference to the workspace array', function test( t ) { + var workspace; + var out; + var N; + + N = 8; + workspace = new Float64Array( ( 3*N ) + 34 ); + out = cosqi( N, workspace, 1, 0 ); + + t.strictEqual( out, workspace, 'same reference' ); + t.end(); +}); + +tape( 'the function correctly initializes cosine values (small sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = small.lengths; + offsets = small.offsets; + expected = small.cosines; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ N ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function correctly initializes twiddle factors (small sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = small.lengths; + offsets = small.offsets; + expected = small.twiddles; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ (2*N) - 1 ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ (2*N) + i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function correctly initializes cosine values (medium sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = medium.lengths; + offsets = medium.offsets; + expected = medium.cosines; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ N ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function correctly initializes twiddle factors (medium sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = medium.lengths; + offsets = medium.offsets; + expected = medium.twiddles; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ (2*N) - 1 ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ (2*N) + i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function correctly initializes cosine values (large sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = large.lengths; + offsets = large.offsets; + expected = large.cosines; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ N ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function correctly initializes twiddle factors (large sequence lengths)', function test( t ) { + var workspace; + var expected; + var lengths; + var offsets; + var ulps; + var off; + var y; + var e; + var N; + var i; + var k; + + lengths = large.lengths; + offsets = large.offsets; + expected = large.twiddles; + + ulps = 1; + for ( k = 0; k < lengths.length; k++ ) { + N = lengths[ k ]; + off = offsets[ k ]; + workspace = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, workspace, 1, 0 ); + + t.strictEqual( workspace[ (2*N) - 1 ], 0.0, 'returns expected value' ); + for ( i = 0; i < N; i++ ) { + y = workspace[ (2*N) + i ]; + e = expected[ off+i ]; + t.strictEqual( isAlmostSameValue( y, e, ulps ), true, 'within '+ulps+' ULPs. N: '+N+'. y: '+y+'. E: '+e ); + } + } + t.end(); +}); + +tape( 'the function does not modify the scratch region of the workspace', function test( t ) { + var workspace; + var N; + var i; + + N = 8; + workspace = new Float64Array( ( 3*N ) + 34 ); + + for ( i = 0; i < workspace.length; i++ ) { + workspace[ i ] = i + 1.0; + } + cosqi( N, workspace, 1, 0 ); + for ( i = N; i < 2*N; i++ ) { + t.strictEqual( workspace[ i ], i + 1.0, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function correctly handles stride and offset parameters', function test( t ) { + var workspace; + var expected; + var stride; + var offset; + var nf; + var N; + var i; + + N = 8; + stride = 2; + offset = 3; + workspace = new Float64Array( offset + ( ( ( 3*N ) + 34 ) * stride ) ); + + cosqi( N, workspace, stride, offset ); + + t.strictEqual( workspace[ offset + ( 3*N * stride ) ], N, 'returns expected value' ); + + nf = workspace[ offset + ( ( ( 3*N ) + 1 ) * stride ) ]; + t.strictEqual( nf, 2, 'returns expected value' ); + t.strictEqual( workspace[ offset + ( ( ( 3*N ) + 2 ) * stride ) ], 2, 'returns expected value' ); + t.strictEqual( workspace[ offset + ( ( ( 3*N ) + 3 ) * stride ) ], 4, 'returns expected value' ); + + expected = new Float64Array( ( 3*N ) + 34 ); + cosqi( N, expected, 1, 0 ); + + for ( i = 0; i < N; i++ ) { + t.strictEqual( workspace[ offset + ( ( (2*N)+i ) * stride ) ], expected[ (2*N)+i ], 'returns expected value' ); + } + t.end(); +});