Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Test failure in arrow-compute-aggregate-test #12681

Open
ArchangeGabriel opened this issue Mar 21, 2022 · 25 comments
Open

[C++] Test failure in arrow-compute-aggregate-test #12681

ArchangeGabriel opened this issue Mar 21, 2022 · 25 comments

Comments

@ArchangeGabriel
Copy link

While building for Arch Linux, I’m observing 4 tests failures in the aforementioned suite:

[ RUN      ] TestRandomInt64QuantileKernel.Overlapped
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
[  FAILED  ] TestRandomInt64QuantileKernel.Overlapped (6 ms)
[ RUN      ] TestRandomInt64QuantileKernel.Sliced
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
[  FAILED  ] TestRandomInt64QuantileKernel.Sliced (25 ms)
[ RUN      ] TestRandomFloatQuantileKernel.Exact
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
[  FAILED  ] TestRandomFloatQuantileKernel.Exact (0 ms)
[ RUN      ] TestRandomFloatQuantileKernel.Sliced
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
/build/arrow/src/apache-arrow-7.0.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3234: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
[  FAILED  ] TestRandomFloatQuantileKernel.Sliced (0 ms)

They are also happening with 6.0.1, but were not sometime ago so I suspect an update in some of arrow dependencies to be responsible for this. I’m happy to provide any information that could be useful, but I don’t want to create an account on JIRA, I try to limit the number of accounts I have everywhere.

@loqs
Copy link

loqs commented Mar 22, 2022

Swapping from gcc to clang and the tests than pass. I verified the same four tests fails on my system using gcc 11.2.0.

@wjones127
Copy link
Member

wjones127 commented Mar 22, 2022

We've recently had some issues with SIMD instructions seeming incorrect in certain compilers, which sounds like this might be related to. (See #12422 (comment)). Stumped us so far, but I think we are still looking into it. cc @rok @jonkeane

@loqs
Copy link

loqs commented Mar 26, 2022

Adding any of -mno-sse -mno-sse2 -mno-sse3 to CXXFLAGS and the tests pass.
Replacing -DARROW_SIMD_LEVEL=AVX2 with -DARROW_SIMD_LEVEL=NONE -DARROW_RUNTIME_SIMD_LEVEL=AVX512 and the tests also pass.
This is all on an AMD system that supports up to avx2.

@erydit
Copy link

erydit commented Aug 3, 2022

I confirm the problem on my machine.
With -DARROW_SIMD_LEVEL=AVX2 all test was failed.
With -DARROW_SIMD_LEVEL=SSE4_2 the 54th test 'arrow-flight-test' failed and all other tests passed.

As I understand my CPU does not support AVX2 instructions and that was the main problem.
But the test 'arrow-flight-test' is not related to that, anyway I also append Log of that test.

arrow-flight-test' Running arrow-flight-test, redirecting output into /home/rstanislav/Desktop/arrow/src/build/build/test-logs/arrow-flight-test.txt (attempt 1/1) Traceback (most recent call last): File "/home/rstanislav/Desktop/arrow/src/apache-arrow-8.0.1/cpp/build-support/asan_symbolize.py", line 368, in loop.process_stdin() File "/home/rstanislav/Desktop/arrow/src/apache-arrow-8.0.1/cpp/build-support/asan_symbolize.py", line 340, in process_stdin line = sys.stdin.readline() File "/usr/lib/python3.10/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 3112: invalid continuation byte ~/Desktop/arrow/src/build/src/arrow/flight Test time = 1.36 sec
My system:

OS: Manjaro 21.3.6 Ruah
Kernel: x86_64 Linux 5.15.57-2-MANJARO
Uptime: 26m
Packages: 1469
Shell: bash
Resolution: 1920x1080
DE: Xfce4
WM: Xfwm4
WM Theme: Matcha-sea
GTK Theme: Matcha-sea [GTK2]
Icon Theme: Papirus-Maia
Font: Noto Sans 10
Disk: 1,5T / 6,8T (23%)
CPU: AMD FX-8350 Eight-Core @ 8x 4GHz
GPU: AMD RS780 (DRM 2.50.0 / 5.15.57-2-MANJARO, LLVM 14.0.6)
RAM: 1829MiB / 19485MiB

lscpu:

Архитектура: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Порядок байт: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
ID прроизводителя: AuthenticAMD
Имя модели: AMD FX(tm)-8350 Eight-Core Processor
Семейство ЦПУ: 21
Модель: 2
Thread(s) per core: 2
Ядер на сокет: 4
Сокетов: 1
Степпинг: 0
Frequency boost: enabled
CPU(s) scaling MHz: 38%
CPU max MHz: 4000,0000
CPU min MHz: 1400,0000
BogoMIPS: 8003.18
Флаги: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx f
xsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good no
pl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4
_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse
4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topo
ext perfctr_core perfctr_nb cpb hw_pstate ssbd ibpb vmmcall bmi1 arat npt lbrv svm_lo
ck nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold
Virtualization features:
Виртуализация: AMD-V
Caches (sum of all):
L1d: 128 KiB (8 instances)
L1i: 256 KiB (4 instances)
L2: 8 MiB (4 instances)
L3: 8 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-7
Vulnerabilities:
Itlb multihit: Not affected
L1tf: Not affected
Mds: Not affected
Meltdown: Not affected
Mmio stale data: Not affected
Retbleed: Mitigation; untrained return thunk; SMT vulnerable
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Spectre v2: Mitigation; Retpolines, IBPB conditional, STIBP disabled, RSB filling
Srbds: Not affected
Tsx async abort: Not affected

@pitrou
Copy link
Member

pitrou commented Aug 4, 2022

Hmm, it's a pity that we're not displaying the actual values being compared on failure.
It's possible that the test failures are simply due to floating-point accuracy. But ideally the tests should be improved to take that into account.
@cyb70289 You might want to take a look.
(but @wjones127 perhaps you also want to take a deeper look and suggest improvements/fixes, especially if you manage to reproduce?)

@pitrou
Copy link
Member

pitrou commented Aug 4, 2022

@erydit The GDAL is issue is unrelated, please let's not conflate these.

Also, the fact that Arrow doesn't work on an AVX2 CPU if compiled with AVX2 enabled is entirely expected. It is not a bug.

@QuLogic
Copy link
Contributor

QuLogic commented Nov 18, 2024

These are failing on Fedora aarch64 with 16.1.0. It appears that these now contain more information, and seem like they're small floating-point discrepancies:

`TestRandomInt64QuantileKernel` failures
[ RUN      ] TestRandomInt64QuantileKernel.Overlapped
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: -96.604516447145414
Expected Value: -96.6045164471454
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0.455953, 0.921543, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506, 0.383346, 0.936233, 0.339629, 0.297952, 0.900499, 0.857184, 0.653614, 0.129542, 0.217169, 0.388928, 0.17698, 0.326413, 0.909206, 0.0306526, 0.974719, 0.703773, 0.993273, 0.380596, 0.233652, 0.234122, 0.630908, 0.530852, 0.666203, 0.234246, 0.921481, 0.997352, 0.727928, 0.832278, 0.293703, 0.355026, 0.0545722, 0.590572, 0.699486, 0.269062, 0.722889, 0.696988, 0.173468, 0.508949, 0.599501, 0.458897, 0.983599, 0.331484, 0.865528, 0.461627, 0.400035, 0.168063, 0.157134, 0.109909, 0.710068, 0.182637, 0.690934, 0.135252, 0.899454, 0.504379, 0.660139, 0.764871, 0.853747, 0.848719, 0.0272836, 0.518163, 0.759279, 0.970537, 0.809002, 0.486462, 0.447079, 0.0464962, 0.973203, 0.54377, 0.541084, 0.291505, 0.619145, 0.911483, 0.728837, 0.636963, 0.776182, 0.034613, 0.4667, 0.128537, 0.536565, 0.557826, 0.0278804, 0.658133, 0.640968, 0.214674, 0.00936576, 0.803819, 0.877152, 0.95029, 0.423806, 0.493793, 0.841125, 0.359482, 0.404914, 0.172006, 0.35687, 0.450437, 0.2964, 0.44098, 0.151952, 0.602233, 0.878962, 0.840874, 0.282119, 0.89877, 0.000634424, 0.187171, 0.278135, 0.4988, 0.152097, 0.556516, 0.175967, 0.596536, 0.0186029, 0.132065, 0.933871, 0.131683, 0.567401, 0.197444, 0.656939, 0.284921, 0.804436, 0.412908, 0.561427, 0.748628, 0.250415, 0.230743, 0.0432755, 0.409903, 0.147285, 0.881642, 0.400351, 0.477739, 0.0739613, 0.287301, 0.80888, 0.0641656, 0.583566, 0.739248, 0.947711, 0.920055, 0.408739, 0.504036, 0.423047, 0.220754, 0.997771, 0.793563, 0.517629, 0.025231, 0.913275, 0.00103728, 0.763836, 0.304314, 0.813199, 0.55936, 0.270574, 0.109522, 0.51708, 0.66076, 0.963825, 0.289866, 0.880283, 0.996411, 0.240723, 0.0678465, 0.188415, 0.285935, 0.770613, 0.570434, 0.319003, 0.945217, 0.186701, 0.983169, 0.202902, 0.324237, 0.807664, 0.271696, 0.0587016, 0.283663, 0.000954976, 0.0382351, 0.397298, 0.404526, 0.36703, 0.517531, 0.498755, 0.311409, 0.507991, 0.401791, 0.726492, 0.0446453, 0.511205, 0.90243, 0.738288, 0.165134, 0.928797, 0.987389, 0.109776, 0.842537, 0.719231, 0.214216, 0.379606, 0.845322, 0.955747, 0.328652, 0.915013, 0.57356, 0.134076, 0.0241821, 0.020113, 0.0299267, 0.160571, 0.915679, 0.567156, 0.2347, 0.796452, 0.24093, 0.175581, 0.983378, 0.633461, 0.685453, 0.689408, 0.493696, 0.299353, 0.4529, 0.279605, 0.14219, 0.753566, 0.811835, 0.200649, 0.599732, 0.563584, 0.827789, 0.474211, 0.535733, 0.827023, 0.973095, 0.627146, 0.742883, 0.576517, 0.000509707, 0.55291, 0.471952, 0.878885, 0.493843, 0.692889, 0.408453, 0.182746, 0.945522, 0.33455, 0.644239, 0.482905, 0.691455, 0.389872, 0.195186, 0.109201, 0.0656652, 0.0396657, 0.916877, 0.0845861, 0.959574, 0.770136, 0.503348, 0.0225591, 0.921746, 0.251277, 0.979461, 0.453607, 0.616981, 0.90173, 0.925597, 0.201789, 0.309968, 0.457685, 0.0472081, 0.77899, 0.0013766, 0.692367, 0.362196, 0.27748, 0.884218, 0.310381, 0.222766, 0.0411604, 0.543143, 0.593627, 0.894135, 0.721916, 0.417936, 0.606306, 0.546079, 0.268634, 0.186463, 0.924429, 0.209844, 0.858063, 0.407882, 0.667514, 0.613343, 0.0423775, 0.985294, 0.616905, 0.0201963, 0.298696, 0.24807, 0.648685, 0.960897, 0.708083, 0.113586, 0.707494, 0.124366, 0.081117, 0.773962, 0.708876, 0.752204, 0.675004, 0.246842, 0.633578, 0.838132, 0.879189, 0.261342, 0.0580252, 0.1741, 0.0902317, 0.375481, 0.314646, 0.193613, 0.426445, 0.351538, 0.958129, 0.434199, 0.885359, 0.686815, 0.0830589, 0.079623, 0.985222, 0.723519, 0.170911, 0.34518, 0.555379, 0.0385881, 0.269033, 0.145101, 0.754818, 0.497914, 0.195308, 0.440626, 0.324197, 0.796279, 0.545164, 0.297028, 0.389126, 0.365788, 0.825955, 0.0997818, 0.545839, 0.876465, 0.0363211, 0.330428, 0.444553, 0.551731, 0.884465, 0.512897, 0.901, 0.466488, 0.0976573, 0.141909, 0.424742, 0.949088, 0.300172, 0.327024, 0.951026, 0.924899, 0.147546, 0.550729, 0.861522, 0.506555, 0.956814, 0.0589772, 0.6605, 0.164234, 0.594745, 0.122247, 0.525603, 0.908006, 0.952002, 0.49878, 0.467522, 0.952582, 0.458056, 0.705024, 0.787802, 0.141204, 0.153371, 0.123679, 0.942643, 0.699063, 0.0206785, 0.071368, 0.264332, 0.863454, 0.208668, 0.524239, 0.0629335, 0.545401, 0.392272, 0.868564, 0.651444, 0.0102065, 0.890391, 0.0282739, 0.14298, 0.24294, 0.158346, 0.329178, 0.260102, 0.129058, 0.346522, 0.196168, 0.230196, 0.526561, 0.698245, 0.329864, 0.181203, 0.262444, 0.467025, 0.773993, 0.531128, 0.226005, 0.770547, 0.0955654, 0.356216, 0.362006, 0.289285, 0.983067, 0.732604, 0.287611, 0.531652, 0.741232, 0.188965, 0.215815, 0.306908, 0.282897, 0.611575, 0.508058, 0.887766, 0.158215, 0.521395, 0.445648, 0.748639, 0.540307, 0.394328, 0.637275, 0.0504444, 0.626742, 0.0941137, 0.800898, 0.290087, 0.186131, 0.126659, 0.388673, 0.6166, 0.633952, 0.452813, 0.239717, 0.810354, 0.424806, 0.188876, 0.159097, 0.567552, 0.532206, 0.251258, 0.801738, 0.482138, 0.430484, 0.175755, 0.545511, 0.135474, 0.191384, 0.962844, 0.828813, 0.100399, 0.438671, 0.152473, 0.708799, 0.248266, 0.0781702, 0.501505, 0.522936, 0.163854, 0.469611, 0.577049, 0.676028, 0.124282, 0.699922, 0.491586, 0.0747689, 0.480923, 0.838184, 0.308157, 0.182561, 0.0571805, 0.120934, 0.75139, 0.533054, 0.00725456, 0.594532, 0.209891, 0.141132, 0.257545, 0.948271, 0.956518, 0.327364, 0.0296764, 0.358609, 0.958833, 0.243545, 0.299261, 0.0300948, 0.324331, 0.0196669, 0.51038, 0.605097, 0.466483, 0.973467, 0.13012, 0.193492, 0.440804, 0.350578, 0.629068, 0.181506, 0.75401, 0.936267, 0.502068, 0.0921219, 0.142001, 0.862657, 0.270716, 0.0283923, 0.489386, 0.866446, 0.273858, 0.395155, 0.549193, 0.435706, 0.212272, 0.326445, 0.363935, 0.718623, 0.265679, 0.947972, 0.365856, 0.0514511, 0.410199, 0.753961, 0.747228, 0.868466, 0.610985, 0.735867, 0.794668, 0.21226, 0.888529, 0.742413, 0.646979, 0.572553, 0.660272, 0.0122512, 0.734982, 0.539863, 0.263984, 0.45891, 0.00309733, 0.599398, 0.923784, 0.707412, 0.86739, 0.27902, 0.260988, 0.0794332, 0.707361, 0.193052, 0.60285, 0.598903, 0.988095, 0.740821, 0.12881, 0.593706, 0.297442, 0.409275, 0.482203, 0.603707, 0.285462, 0.891842, 0.708874, 0.388369, 0.846848, 0.881055, 0.681122, 0.401818, 0.31629, 0.679071, 0.323238, 0.86252, 0.484888, 0.14905, 0.402445, 0.17131, 0.900165, 0.990281, 0.755721, 0.714475, 0.274964, 0.031916, 0.274576, 0.12146, 0.342006, 0.313374, 0.0193124, 0.526062, 0.199773, 0.0409117, 0.500504, 0.595715, 0.946248, 0.251395, 0.791207, 0.569572, 0.132409, 0.509271, 0.485131, 0.616421, 0.976127, 0.630555, 0.897699, 0.0488039, 0.601372, 0.160807, 0.571484, 0.449684, 0.346313, 0.165259, 0.367049, 0.503594, 0.485898, 0.129519, 0.108479, 0.961292, 0.807171, 0.420781, 0.881782, 0.514197, 0.515323, 0.0337006, 0.877696, 0.0148947, 0.498323, 0.564082, 0.485952, 0.505123, 0.667308, 0.829151, 0.0986236, 0.388361, 0.870053, 0.447719, 0.380787, 0.485956, 0.277274, 0.136344, 0.914645, 0.41875, 0.330182, 0.840292, 0.457539, 0.730999, 0.633358, 0.722724, 0.570204, 0.965474, 0.795254, 0.858696, 0.398543, 0.777567, 0.568421, 0.844525, 0.801798, 0.524226, 0.426756, 0.246139, 0.0707913, 0.873752, 0.82526, 0.870523, 0.271432, 0.30728, 0.358944, 0.0356341, 0.634709, 0.0475158, 0.423243, 0.173951, 0.0468558, 0.451644, 0.604346, 0.145215, 0.422729, 0.991721, 0.971816, 0.626326, 0.254864, 0.608105, 0.15043, 0.452547, 0.546353, 0.961911, 0.629434, 0.0501531, 0.947904, 0.542105, 0.156992, 0.930216, 0.208223, 0.545077, 0.953586, 0.224682, 0.95735, 0.312202, 0.982226, 0.913456, 0.35944, 0.652286, 0.525613, 0.0475911, 0.801398, 0.71921, 0.991509, 0.717306, 0.00497748, 0.835881, 0.613738, 0.756049, 0.405947, 0.185057, 0.843682, 0.502043, 0.267372, 0.405095, 0.954739, 0.475875, 0.240081, 0.42706, 0.638826, 0.140216, 0.626873, 0.22475, 0.650095, 0.0946058, 0.433061, 0.892561, 0.734917, 0.0547347, 0.118599, 0.445334, 0.410968, 0.810041, 0.121702, 0.496971, 0.973273, 0.511385, 0.52619, 0.40029, 0.720279, 0.584886, 0.00530115, 0.121663, 0.147436, 0.907282, 0.693348, 0.523167, 0.775579, 0.884629, 0.277755, 0.260367, 0.657194, 0.452782, 0.0388368, 0.0817849, 0.631141, 0.698603, 0.240297, 0.858938, 0.695993, 0.895181, 0.0363091, 0.945503, 0.308697, 0.558255, 0.349529, 0.285174, 0.206187, 0.056599, 0.946567, 0.428628, 0.0260649, 0.285063, 0.942933, 0.714488, 0.340852, 0.0920848, 0.529548, 0.349236, 0.151443, 0.282681, 0.469706, 0.488439, 0.286332, 0.923537, 0.649635, 0.034633, 0.835552, 0.737737, 0.901638, 0.297055, 0.120535, 0.7031, 0.260746, 0.684854, 0.699587, 0.456326, 0.292104, 0.75405, 0.202563, 0.881192, 0.730713, 0.0149277, 0.167642, 0.459208, 0.148752, 0.809688, 0.977507, 0.411325, 0.070261, 0.954428, 0.0702322, 0.659173, 0.717369, 0.902642, 0.926419, 0.975627, 0.480148, 0.722572, 0.691585, 0.374205, 0.627611, 0.25231, 0.0781907, 0.95341, 0.880642, 0.681807, 0.590342, 0.672628, 0.112897, 0.504578, 0.68663, 0.257968, 0.534273, 0.600903, 0.626571, 0.335944, 0.540416, 0.65048, 0.407869, 0.47478, 0.808409, 0.607099, 0.688076, 0.317786, 0.318006, 0.87251, 0.370171, 0.676835, 0.391415, 0.580091, 0.674471, 0.221379, 0.437343, 0.333767, 0.393704, 0.262331, 0.811439, 0.912183, 0.164462, 0.916835, 0.37644, 0.125907, 0.814776, 0.269522, 0.514563, 0.316716, 0.66191, 0.262844, 0.934766, 0.624609, 0.356656, 0.659201, 0.71811, 0.442434, 0.517332, 0.730992, 0.429961, 0.389976, 0.761551, 0.342798, 0.230894, 0.555435, 0.908532, 0.889966, 0.107968, 0.586683, 0.462847, 0.010701, 0.545986, 0.731682, 0.995147, 0.0845719, 0.270937, 0.331802, 0.293511, 0.981788, 0.143602, 0.459787, 0.695177, 0.162295, 0.19105, 0.732422, 0.0425079, 0.592907, 0.774092, 0.30798, 0.236449, 0.23854, 0.441618, 0.633263, 0.816714, 0.490252, 0.531365, 0.182236, 0.343093, 0.927754, 0.209535, 0.600789, 0.693145, 0.598713, 0.293381, 0.428041, 0.226912, 0.603227, 0.391483, 0.131038, 0.815626, 0.0228924, 0.0428712, 0.985296, 0.944953, 0.646929, 0.0613776, 0.276884, 0.32339, 0.74896, 0.932632, 0.714446, 0.0245354, 0.900012, 0.0352101, 0.10936, 0.275402, 0.463275, 0.426537, 0.85896, 0.233203, 0.389153, 0.713187, 0.378148, 0.471305, 0.152666, 0.806606, 0.141447, 0.471311, 0.138, 0.381375, 0.0559121, 0.263704, 0.0101847, 0.497231, 0.563311, 0.121469, 0.114285, 0.783791, 0.351606, 0.327675, 0.773627, 0.748848, 0.861569, 0.703256, 0.977019, 0.801187, 0.467297, 0.166155, 0.467614, 0.30466, 0.296822, 0.0845082, 0.526018, 0.881577, 0.337802, 0.0532516, 0.922616, 0.639704, 0.17686, 0.28428, 0.403265, 0.211194, 0.660364, 0.915506, 0.549068, 0.667999, 0.967911, 0.644774, 0.46004, 0.647416, 0.96484, 0.998348, 0.65086, 0.681214, 0.416278, 0.162191, 0.192004, 0.0652002, 0.721368, 0.0529346, 0.310262, 0.645097, 0.272849, 0.770542, 0.344967, 0.477076, 0.626978, 0.449492, 0.993408, 0.681124, 0.0704262, 0.140115, 0.64084, 0.00599282, 0.0652905, 0.158436, 0.0882248, 0.575307, 0.465145, 0.131417, 0.119563, 0.573823, 0.661179, 0.905743, 0.373042, 0.790606, 0.891498, 0.660845, 0.0325836, 0.189969, 0.657335, 0.13673, 0.377153, 0.0814687, 0.239977, 0.604565, 0.589576, 0.581766, 0.29321, 0.872824, 0.358055, 0.25211, 0.524329, 0.462651, 0.807974, 0.37466, 0.56183, 0.266735, 0.322214, 0.0752641, 0.207058, 0.719738, 0.876797, 0.780569, 0.319336, 0.418038, 0.0552388, 0.931171, 0.220745, 0.985189, 0.158804, 0.614187, 0.185727, 0.11265, 0.683475, 0.99752, 0.726617, 0.663954, 0.420905, 0.0533288, 0.0924069, 0.794496, 0.577994, 0.168585, 0.950575, 0.280473, 0.763817, 0.543789, 0.0322767, 0.869947, 0.152436, 0.859328, 0.182965, 0.883533, 0.739226, 0.714242, 0.197052, 0.838103, 0.71078, 0.653244, 0.4818, 0.452592, 0.6529, 0.662093, 0.0373838, 0.320572, 0.96337, 0.974422, 0.815096, 0.884975, 0.183269, 0.689947, 0.448374, 0.442098, 0.434461, 0.99301, 0.990067, 0.93286, 0.302052, 0.522152, 0.970844, 0.978719, 0.677171, 0.350912, 0.12413, 0.456406, 0.378971, 0.161717, 0.697616, 0.865483, 0.907131, 0.430001, 0.861823, 0.328293, 0.43917, 0.308978, 0.699235, 0.187007, 0.502859, 0.486964, 0.394346, 0.891637, 0.0153677, 0.111234, 0.773986, 0.782812, 0.203118, 0.931446, 0.319741, 0.273046, 0.834944, 0.425867, 0.519954, 0.75173, 0.24246, 0.613967, 0.785002, 0.480002, 0.272729, 0.169412, 0.00723079, 0.511212, 0.331207, 0.807384, 0.965802, 0.418783, 0.386638, 0.663126, 0.542708, 0.42009, 0.130504, 0.303988, 0.0292606, 0.00450049, 0.338739, 0.148155, 0.63584, 0.873923, 0.406879, 0.513033, 0.14835, 0.879232, 0.898919, 0.245055, 0.523105, 0.434127, 0.891529, 0.866418, 0.475037, 0.0222874, 0.75703, 0.50054, 0.8723, 0.976461, 0.210233, 0.4924, 0.506196, 0.411464, 0.84095, 0.998925, 0.661592, 0.301579, 0.539997, 0.933943, 0.0610428, 0.556471, 0.780631, 0.0218675, 0.973427, 0.526392, 0.759865, 0.962226, 0.229993, 0.759358, 0.631883, 0.291543, 0.786749, 0.829151, 0.419038, 0.0969804, 0.261544, 0.209425, 0.963943, 0.218385, 0.496776, 0.288346, 0.971589, 0.644609, 0.259401, 0.180324, 0.149004, 0.346292, 0.160801, 0.40109, 0.584003, 0.944911, 0.42358, 0.392176, 0.202544, 0.796092, 0.873882, 0.0851817, 0.790609, 0.288866, 0.302661, 0.995434, 0.135654, 0.791152, 0.708826, 0.000882854, 0.597145, 0.123516, 0.224706, 0.478546, 0.216501, 0.810466, 0.817503, 0.0717472, 0.114409, 0.267587, 0.373728, 0.437338, 0.700286, 0.423326, 0.467057, 0.458608, 0.730971, 0.521068, 0.742883, 0.431247, 0.808438, 0.381239, 0.328456, 0.40038, 0.366556, 0.296981, 0.277041, 0.665383, 0.916177, 0.877627, 0.0285116, 0.657676, 0.300686, 0.94713, 0.0516804, 0.244709, 0.109333, 0.270658, 0.026065, 0.123464, 0.221445, 0.420814, 0.438677, 0.214445, 0.277022, 0.460726, 0.82446, 0.975518, 0.485508, 0.297983, 0.0256161, 0.347127, 0.502342, 0.141786, 0.433376, 0.00954312, 0.442718, 0.373999, 0.00101524, 0.132625, 0.062771, 0.226584, 0.323228, 0.733352, 0.287963, 0.495665, 0.188211, 0.670258, 0.181503, 0.421988, 0.880607, 0.91711, 0.314713, 0.447105, 0.550301, 0.654895, 0.870385, 0.461987, 0.388641, 0.942057, 0.678346, 0.561549, 0.213499, 0.947126, 0.0491126, 0.917205, 0.829925, 0.110163, 0.0131269, 0.364873, 0.127684, 0.402343, 0.855479, 0.545018, 0.93668, 0.839001, 0.896463, 0.652215, 0.425084, 0.970901, 0.820667, 0.484666, 0.218544, 0.914502, 0.225698, 0.971639, 0.303149, 0.752751, 0.910218, 0.593894, 0.0217162, 0.106788, 0.158888, 0.838819, 0.868734, 0.654983, 0.0256387, 0.192928, 0.95104, 0.100242, 0.729874, 0.484382, 0.175596, 0.190504, 0.519792, 0.510053, 0.0449751, 0.0766785, 0.354095, 0.832923, 0.665472, 0.641877, 0.317532, 0.794101, 0.197938, 0.843378, 0.536815, 0.571092, 0.579421, 0.857799, 0.615451, 0.480892, 0.816451, 0.993555, 0.320876, 0.0672676, 0.169361, 0.93099, 0.949211, 0.804301, 0.77598, 0.894851, 0.492388, 0.0837337, 0.564529, 0.538251, 0.588611, 0.873791, 0.314498, 0.659873, 0.869429, 0.368508, 0.117914, 0.453321, 0.222712, 0.919936, 0.290311, 0.412873, 0.46884, 0.316137, 0.398893, 0.254373, 0.993304, 0.302072, 0.515504, 0.467867, 0.00477172, 0.181132, 0.210744, 0.508713, 0.022587, 0.957584, 0.176026, 0.846987, 0.405341, 0.745968, 0.840509, 0.723283, 0.822664, 0.192678, 0.235603, 0.442724, 0.0814924, 0.700362, 0.166721, 0.941895, 0.311918, 0.537189, 0.365266, 0.762149, 0.502038, 0.846228, 0.254111, 0.525261, 0.252997, 0.932381, 0.929345, 0.943701, 0.888215, 0.970683, 0.850155, 0.491029, 0.0412176, 0.298035, 0.755198, 0.896727, 0.248637, 0.321728, 0.523999, 0.498217, 0.674706, 0.747742, 0.779112, 0.0957831, 0.399018, 0.0434451, 0.8892, 0.307645, 0.151139, 0.174435, 0.969116, 0.497138, 0.97631, 0.648712, 0.528799, 0.344379, 0.411906, 0.823613, 0.127587, 0.394542, 0.639973, 0.6933, 0.638027, 0.382818, 0.646416, 0.126051, 0.0595994, 0.950671, 0.613567, 0.34019, 0.852215, 0.450654, 0.671096, 0.1767, 0.0900256, 0.222734, 0.360362, 0.302357, 0.984159, 0.0553531, 0.932009, 0.993531, 0.589595, 0.731336, 0.981369, 0.827404, 0.427496, 0.962138, 0.871442, 0.228559, 0.617748, 0.858615, 0.960511, 0.581975, 0.28067, 0.147945, 0.516842, 0.140153, 0.0291324, 0.946126, 0.708853, 0.876342, 0.963467, 0.213673, 0.11377, 0.420346, 0.4132, 0.590899, 0.741966, 0.497208, 0.190671, 0.0217031, 0.9535, 0.0445615, 0.555561, 0.0136704, 0.18883, 0.629626, 0.738238, 0.0987797, 0.67267, 0.837717, 0.275894, 0.927239, 0.61411, 0.232621, 0.0829035, 0.523542, 0.488953, 0.706613, 0.775157, 0.0400561, 0.491593, 0.535329, 0.854023, 0.529799, 0.839637, 0.480844, 0.102294, 0.750052, 0.453642, 0.0365836, 0.736253, 0.0500613, 0.116064, 0.660993, 0.0983873, 0.458532, 0.0711589, 0.141331, 0.232265, 0.118762, 0.0751822, 0.760862, 0.259439, 0.0280445, 0.704648, 0.834813, 0.971344, 0.411314, 0.0333718, 0.463907, 0.510352, 0.430245, 0.634843, 0.652474, 0.847454, 0.512679, 0.423449, 0.902024, 0.362352, 0.611308, 0.786727, 0.694375, 0.157491, 0.474734, 0.881197, 0.259245, 0.23867, 0.296322, 0.586567, 0.583661, 0.39069, 0.783304, 0.640493, 0.407004, 0.141037, 0.669353, 0.780944, 0.74461, 0.182002, 0.241908, 0.102879, 0.479039, 0.834057, 0.92469, 0.0605185, 0.059324, 0.401287, 0.729736, 0.733151, 0.803105, 0.0802479, 0.0423488, 0.0498994, 0.663269, 0.807175, 0.711607, 0.737177, 0.24102, 0.898841, 0.0971605, 0.366442, 0.546706, 0.851194, 0.0624871, 0.0762481, 0.526471, 0.328244, 0.921896, 0.110282, 0.428852, 0.00346321, 0.443365, 0.385191, 0.603682, 0.635699, 0.201612, 0.884095, 0.596699, 0.688772, 0.927395, 0.888346, 0.956049, 0.50728, 0.123878, 0.144652, 0.585432, 0.974155, 0.938953, 0.601872, 0.796886, 0.665905, 0.0409808, 0.755875, 0.230608, 0.20252, 0.596874, 0.249498, 0.327984, 0.851408, 0.641385, 0.835144, 0.159222, 0.832912, 0.919625, 0.413604, 0.400922, 0.83084, 0.338057, 0.0959892, 0.453417, 0.944508, 0.995313, 0.700658, 0.418918, 0.938605, 0.601669, 0.803269, 0.638494, 0.520906, 0.403202, 0.588773, 0.649253, 0.264696, 0.444188, 0.282903, 0.845908, 0.858472, 0.124191, 0.48007, 0.927936, 0.240737, 0.148844, 0.614938, 0.146604, 0.917565, 0.0885519, 0.903103, 0.0169547, 0.714078, 0.00961458, 0.757838, 0.657845, 0.353586, 0.427535, 0.773354, 0.940707, 0.897598, 0.643822, 0.682411, 0.372804, 0.0757411, 0.176485, 0.779426, 0.441618, 0.393993, 0.877072, 0.408844, 0.584383, 0.329117, 0.988659, 0.967509, 0.461847, 0.0549822, 0.636837, 0.118303, 0.189134, 0.516839, 0.808131, 0.973472, 0.361167, 0.931444, 0.181445, 0.651111, 0.597853, 0.955762, 0.392947, 0.935396, 0.259098, 0.025157, 0.509564, 0.968464, 0.756557, 0.676167, 0.597831, 0.666863, 0.858154, 0.253984, 0.628643, 0.814471, 0.0909236, 0.774189, 0.635507, 0.344108, 0.155256, 0.774705, 0.0901677, 0.295728, 0.605914, 0.567208, 0.544299, 0.421148, 0.294287, 0.70504, 0.771986, 0.617309, 0.0185654, 0.290945, 0.0716402, 0.524612, 0.933057, 0.905117, 0.00801263, 0.325966, 0.444056, 0.0622699, 0.146559, 0.856375, 0.955924, 0.20213, 0.637618, 0.667041, 0.180455, 0.00126892, 0.973472, 0.895139, 0.62252, 0.455037, 0.382274, 0.744974, 0.344317, 0.962535, 0.41116, 0.827236, 0.592501, 0.76984, 0.907276, 0.747804, 0.0472403, 0.17638, 0.898028, 0.0297541, 0.202418, 0.936293, 0.861478, 0.33657, 0.650003, 0.115933, 0.788583, 0.982734, 0.916597, 0.957495, 0.325388, 0.641845, 0.302243, 0.703041, 0.0810213, 0.414623, 0.828721, 0.0546583, 0.16687, 0.0485212, 0.904022, 0.756019, 0.266567, 0.615097, 0.852431, 0.912937, 0.399334, 0.169625, 0.0864093, 0.67765, 0.503805, 0.434945, 0.938731, 0.604987, 0.498088, 0.85266, 0.853271, 0.25617, 0.712706, 0.945348, 0.835669, 0.810492, 0.485503, 0.270922, 0.903988, 0.384716, 0.203826, 0.530147, 0.486924, 0.17688, 0.630891, 0.606102, 0.899307, 0.191986, 0.473564, 0.171813, 0.865138, 0.997772, 0.572874, 0.495164, 0.0718694, 0.655387, 0.611157, 0.300281, 0.152933, 0.614118, 0.225933, 0.984018, 0.972444, 0.912091, 0.461564, 0.698379, 0.367503, 0.0390384, 0.757083, 0.867822, 0.696549, 0.146637, 0.507304, 0.785995, 0.935371, 0.709936, 0.775911, 0.475973, 0.156478, 0.690991, 0.750097, 0.929433, 0.563763, 0.765019, 0.743186, 0.437672, 0.704983, 0.0650484, 0.819288, 0.892241, 0.949356, 0.991599, 0.727447, 0.0137179, 0.363291, 0.243469, 0.803488, 0.69797, 0.139995, 0.288365, 0.0356684, 0.258139, 0.0284919, 0.189255, 0.475202, 0.280609, 0.423674, 0.433195, 0.291969, 0.971508, 0.935682, 0.290035, 0.0568999, 0.0789911, 0.783601, 0.427005, 0.503023, 0.867626, 0.0302323, 0.992511, 0.643652, 0.467755, 0.701039, 0.923713, 0.96327, 0.639105, 0.319452, 0.460388, 0.968033, 0.667076, 0.41725, 0.932641, 0.617043, 0.790541, 0.934961, 0.676183, 0.927454, 0.992308, 0.987654, 0.433208, 0.0475157, 0.567294, 0.202961, 0.702222, 0.755634, 0.392399, 0.762054, 0.94738, 0.492562, 0.639266, 0.373128, 0.162732, 0.685847, 0.49101, 0.315102, 0.0856025, 0.0159048, 0.247686, 0.595183, 0.755526, 0.844488, 0.444256, 0.663398, 0.184401, 0.478817, 0.72093, 0.471957, 0.660578, 0.86052, 0.992371, 0.562465, 0.489003, 0.985304, 0.850678, 0.555524, 0.455428, 0.324139, 0.104824, 0.990221, 0.82953, 0.463903, 0.628029, 0.154093, 0.654292, 0.385221, 0.606301, 0.686528, 0.74544, 0.0726822, 0.977015, 0.611306, 0.461119, 0.393766, 0.427418, 0.124929, 0.587396, 0.492077, 0.756638, 0.956603, 0.969352, 0.373101, 0.534708, 0.523876, 0.0432621, 0.752361, 0.196488, 0.236259, 0.673799, 0.0161936, 0.270773, 0.30196, 0.0373159, 0.510366, 0.863971, 0.420586, 0.985393, 0.909836, 0.621004, 0.238727, 0.363464, 0.19205, 0.416743, 0.299777, 0.0706851, 0.227994, 0.332344, 0.101326, 0.892676, 0.384059, 0.693002, 0.740496, 0.193346, 0.561595, 0.475733, 0.49185, 0.195779, 0.640873, 0.587568, 0.498026, 0.629703, 0.401866, 0.437573, 0.868883, 0.283757, 0.554924, 0.575435, 0.685651, 0.829386, 0.87486, 0.260603, 0.307086, 0.458364, 0.595493, 0.0016653, 0.621798, 0.729636, 0.812779, 0.110247, 0.1467, 0.504537, 0.0928173, 0.598707, 0.322812, 0.811394, 0.754898, 0.366374, 0.436763, 0.878244, 0.114568, 0.489306, 0.0211019, 0.193594, 0.987554, 0.442297, 0.176512, 0.917272, 0.908774, 0.595576, 0.396592, 0.637596, 0.316455, 0.548691, 0.490879, 0.693255, 0.31689, 0.475481, 0.866626, 0.795266, 0.106516, 0.607034, 0.160373, 0.339203, 0.79331, 0.431944, 0.784507, 0.0442201, 0.836957, 0.91755, 0.947618, 0.889266, 0.0334214, 0.8691, 0.922405, 0.962772, 0.304484, 0.139749, 0.0794064, 0.133893, 0.0880436, 0.912819, 0.397493, 0.640629, 0.882145, 0.147763, 0.605355, 0.296854, 0.216384, 0.179245, 0.748437, 0.141286, 0.461773, 0.840149, 0.854233, 0.283556, 0.643829, 0.949934, 0.128645, 0.745982, 0.127932, 0.0922534, 0.494172, 0.0206559, 0.491771, 0.875524, 0.702019, 0.676181, 0.882126, 0.893244, 0.17056, 0.675681, 0.921471, 0.722914, 0.338931, 0.00722271, 0.935974, 0.375468, 0.208624, 0.62637, 0.69296, 0.954334, 0.733292, 0.655253, 0.833465, 0.217156, 0.737111, 0.164768, 0.209423, 0.882986, 0.387769, 0.213257, 0.222217, 0.558353, 0.52187, 0.426397, 0.684116, 0.915114, 0.926928, 0.200302, 0.387005, 0.812211, 0.408018, 0.0755884, 0.992747, 0.784254, 0.514748, 0.693672, 0.999046, 0.722308, 0.724698, 0.487502, 0.937393, 0.312549, 0.891556, 0.302093, 0.836216, 0.775155, 0.467013, 0.986634, 0.162847, 0.177896, 0.183313, 0.655414, 0.792265, 0.417101, 0.19213, 0.709347, 0.833425, 0.0500837, 0.166038, 0.664378, 0.861637, 0.505642, 0.219943, 0.957268, 0.281296, 0.732945, 0.71899, 0.32458, 0.0247682, 0.797212, 0.243762, 0.0616259, 0.0401179, 0.874586, 0.136927, 0.286743, 0.072656, 0.897197, 0.751937, 0.539602, 0.00549522, 0.494872, 0.589915, 0.148184, 0.564103, 0.787551, 0.548638, 0.811691, 0.833328, 0.47947, 0.159679, 0.980659, 0.448015, 0.649844, 0.358679, 0.878838, 0.273336, 0.695026, 0.309733, 0.965201, 0.927334, 0.777283, 0.352927, 0.399974, 0.0453627, 0.73848, 0.919253, 0.482295, 0.82234, 0.686049, 0.20957, 0.201448, 0.921163, 0.497954, 0.274793, 0.0191795, 0.769736, 0.768182, 0.948991, 0.782893, 0.214566, 0.50872, 0.0331033, 0.142944, 0.0999874, 0.504673, 0.458662, 0.553146, 0.716814, 0.856047, 0.826576, 0.266422, 0.331359, 0.82727, 0.851724, 0.0459368, 0.254371, 0.599408, 0.211079, 0.0750027, 0.2921, 0.625512, 0.885123, 0.774535, 0.976643, 0.411542, 0.434884, 0.445911, 0.604507, 0.333557, 0.726314, 0.287596, 0.880896, 0.42221, 0.451597, 0.414059, 0.880061, 0.535406, 0.612528, 0.370991, 0.298645, 0.206238, 0.655174, 0.384112, 0.145776, 0.639374, 0.549012, 0.919176, 0.153158, 0.333821, 0.997286, 0.353503, 0.840603, 0.364996, 0.822254, 0.672564, 0.651387, 0.398489, 0.00300096, 0.327991, 0.444382, 0.227965, 0.0987756, 0.845434, 0.965123, 0.242871, 0.13355, 0.0226232, 0.334426, 0.238989, 0.433765, 0.722584, 0.983887, 0.395423, 0.364337, 0.438305, 0.096169, 0.427998, 0.986201, 0.179909, 0.705401, 0.75415, 0.167761, 0.79501, 0.181427, 0.33159, 0.985135, 0.119943, 0.293395, 0.831361, 0.341583, 0.698186, 0.866918, 0.505199, 0.146063, 0.815393, 0.834464, 0.633709, 0.363195, 0.165974, 0.696173, 0.592954, 0.42728, 0.739469, 0.49108, 0.480289, 0.931982, 0.0480345, 0.923233, 0.224634, 0.314608, 0.00167352, 0.184523, 0.115015, 0.975132, 0.824553, 0.0191633, 0.839418, 0.532573, 0.515021, 0.249686, 0.0447819, 0.10068, 0.0835615, 0.418188, 0.125361, 0.0368943, 0.620092, 0.10202, 0.825325, 0.927504, 0.227206, 0.0669152, 0.92125, 0.323409, 0.869345, 0.112782, 0.94737, 0.346534, 0.566328, 0.40793, 0.0775861, 0.677642, 0.640123, 0.0129527, 0.865991, 0.293937, 0.404942, 0.434947, 0.0591339, 0.12621, 0.933626, 0.360944, 0.0994732, 0.685087, 0.517207, 0.467195, 0.613837, 0.907182, 0.365507, 0.475765, 0.585499, 0.32146, 0.872018, 0.788401, 0.764034, 0.751506, 0.516156, 0.149201, 0.534067, 0.435643, 0.101926, 0.00828011, 0.473005, 0.500935, 0.284325, 0.544034, 0.541504, 0.991869, 0.906426, 0.844472, 0.612975, 0.297477, 0.862067, 0.722155, 0.161987, 0.829329, 0.149154, 0.607042, 0.026151, 0.679086, 0.735412, 0.058366, 0.467341, 0.731097, 0.558608, 0.067829, 0.56897, 0.861304, 0.514146, 0.965047, 0.367938, 0.200062, 0.950354, 0.849343, 0.460098, 0.895083, 0.617222, 0.416396, 0.514853, 0.10069, 0.898916, 0.599908, 0.268705, 0.665621, 0.255886, 0.888697, 0.734157, 0.377009, 0.655058, 0.818739, 0.540971, 0.386733, 0.0433285, 0.196293, 0.141609, 0.391699, 0.872037, 0.174114, 0.249245, 0.428392, 0.126297, 0.749008, 0.711259, 0.789277, 0.916604, 0.623104, 0.00800362, 0.491312, 0.0602021, 0.574504, 0.967911, 0.332524, 0.0161282, 0.816926, 0.582474, 0.614759, 0.981052, 0.708012, 0.862061, 0.500147, 0.443571, 0.00274691, 0.703829, 0.73706, 0.0732309, 0.342706, 0.723817, 0.688594, 0.116824, 0.425774, 0.207852, 0.950168, 0.204806, 0.430138, 0.985613, 0.608734, 0.555908, 0.364005, 0.745671, 0.959996, 0.879693, 0.186338, 0.0283125, 0.649423, 0.316534, 0.231403, 0.624954, 0.317443, 0.430701, 0.483384, 0.653907, 0.879423, 0.825428, 0.0492354, 0.271903, 0.71952, 0.0334751, 0.93993, 0.485563, 0.23465, 0.865639, 0.340872, 0.957027, 0.71051, 0.515432, 0.38282, 0.171161, 0.859228, 0.392567, 0.0780299, 0.345086, 0.652154, 0.692993, 0.0307791, 0.574728, 0.411338, 0.79975, 0.184794, 0.974957, 0.7302, 0.335732, 0.766012, 0.47971, 0.831253, 0.577517, 0.601936, 0.531545, 0.933531, 0.566327, 0.989699, 0.66234, 0.690819, 0.941376, 0.509408, 0.878598, 0.507575, 0.412234, 0.21951, 0.531418, 0.661068, 0.607391, 0.645974, 0.908278, 0.358586, 0.985154, 0.825382, 0.67076, 0.573246, 0.986157, 0.298714, 0.273077, 0.448331, 0.631098, 0.77205, 0.240419, 0.846143, 0.268248, 0.903793, 0.492143, 0.558521, 0.321423, 0.825505, 0.208423, 0.835864, 0.527045, 0.859432, 0.906768, 0.471328, 0.349286, 0.634996, 0.729354, 0.116462, 0.930159, 0.331522, 0.760859, 0.972587, 0.601577, 0.800102, 0.19989, 0.928076, 0.446861, 0.892833, 0.668182, 0.722305, 0.542107, 0.991203, 0.372947, 0.175826, 0.0121565, 0.896571, 0.433829, 0.213811, 0.944581, 0.99052, 0.153989, 0.679926, 0.450486, 0.99473, 0.0331712, 0.197112, 0.852914, 0.17857, 0.844769, 0.826415, 0.420046, 0.326291, 0.273352, 0.184684, 0.785371, 0.708824, 0.805593, 0.592125, 0.0960981, 0.714261, 0.428986, 0.458301, 0.491747, 0.376913, 0.612317, 0.688147, 0.549322, 0.506751, 0.882389, 0.171348, 0.276475, 0.706649, 0.152688, 0.919486, 0.404864, 0.579845, 0.674377, 0.588175, 0.110695, 0.578129, 0.720896, 0.297351, 0.704281, 0.345857, 0.725409, 0.883221, 0.244461, 0.0380105, 0.642841, 0.65645, 0.884178, 0.816638, 0.657893, 0.431075, 0.621088, 0.706447, 0.94517, 0.501386, 0.839443, 0.894078, 0.677359, 0.62705, 0.61343, 0.208235, 0.307067, 0.772914, 0.23673, 0.930696, 0.254417, 0.5996, 0.0632018, 0.27349, 0.748947, 0.887421, 0.489346, 0.766972, 0.676702, 0.278701, 0.300096, 0.561388, 0.0698252, 0.39463, 0.133721, 0.171934, 0.420035, 0.0131253, 0.478704, 0.423985, 0.846314, 0.321119, 0.915707, 0.323934, 0.120965, 0.267304, 0.439891, 0.827265, 0.509816, 0.684402, 0.292179, 0.624477, 0.360528, 0.941373, 0.35497, 0.665609, 0.175046, 0.932044, 0.0101692, 0.845098, 0.611357, 0.731115, 0.857983, 0.192074, 0.597192, 0.0686213, 0.673272, 0.729505, 0.199785, 0.422709, 0.49377, 0.230089, 0.0749028, 0.515778, 0.961663, 0.606941, 0.540714, 0.807614, 0.963819, 0.475172, 0.046539, 0.289678, 0.205714, 0.172103, 0.146422, 0.969602, 0.227365, 0.160755, 0.59916, 0.409619, 0.996261, 0.268418, 0.66875, 0.3844, 0.106144, 0.0244802, 0.512082, 0.844384, 0.831658, 0.107419, 0.959137, 0.596098, 0.861612, 0.304703, 0.554393, 0.383838, 0.523914, 0.129377, 0.492818, 0.41336, 0.517916, 0.637907, 0.0612803, 0.693758, 0.746672, 0.628834, 0.893883, 0.00528869, 0.065848, 0.331503, 0.0561087, 0.411689, 0.186186, 0.882801, 0.181797, 0.0253786, 0.133733, 0.889442, 0.426636, 0.671254, 0.0368363, 0.297006, 0.619246, 0.625586, 0.949119, 0.896354, 0.248009, 0.728062, 0.179039, 0.45286, 0.321053, 0.431454, 0.933377, 0.460448, 0.151043, 0.549768, 0.7839, 0.355631, 0.180034, 0.516901, 0.994771, 0.876859, 0.386847, 0.739393, 0.97341, 0.150034, 0.233933, 0.472762, 0.705142, 0.207187, 0.26898, 0.0179647, 0.62504, 0.762203, 0.321086, 0.899385, 0.00817336, 0.514308, 0.747641, 0.358145, 0.0556391, 0.652259, 0.152658, 0.00808302, 0.367249, 0.749899, 0.24663, 0.410349, 0.642683, 0.0512242, 0.32979, 0.297043, 0.371057, 0.454132, 0.685106, 0.336634, 0.610731, 0.936374, 0.632436, 0.811141, 0.765653, 0.199344, 0.510054, 0.196659, 0.0238014, 0.380652, 0.404022, 0.545074, 0.314351, 0.847229, 0.743801, 0.125486, 0.139967, 0.469556, 0.644199, 0.795062, 0.816132, 0.378791, 0.468636, 0.0205304, 0.110169, 0.334171, 0.952977, 0.065903, 0.624213, 0.336303, 0.26335, 0.711178, 0.321872, 0.274641, 0.587131, 0.815386, 0.845845, 0.44648, 0.952946, 0.352259, 0.386232, 0.456266, 0.158612, 0.806202, 0.391733, 0.846475, 0.473143, 0.671274, 0.826891, 0.994171, 0.193562, 0.854803, 0.0342413, 0.956594, 0.63792, 0.601017, 0.919326, 0.125807, 0.141151, 0.964548, 0.89693, 0.377953, 0.175079, 0.111874, 0.0269457, 0.588226, 0.599973, 0.963387, 0.896044, 0.439402, 0.568133, 0.224904, 0.552146, 0.786809, 0.904084, 0.412505, 0.437934, 0.0527802, 0.0627715, 0.103555, 0.537519, 0.238641, 0.352074, 0.551757, 0.483146, 0.696988, 0.49041, 0.666746, 0.468643, 0.450685, 0.812198, 0.787825, 0.897509, 0.630022, 0.184486, 0.296481, 0.927498, 0.0576876, 0.956062, 0.872906, 0.0575978, 0.793707, 0.570447, 0.31382, 0.480645, 0.535389, 0.342339, 0.754756, 0.992079, 0.746363, 0.539759, 0.594048, 0.111611, 0.824261, 0.312703, 0.350695, 0.846562, 0.610848, 0.709736, 0.750983, 0.554171, 0.155503, 0.141948, 0.63248, 0.37383, 0.468886, 0.956469, 0.851789, 0.90935, 0.24629, 0.147858, 0.0811218, 0.269305, 0.52719, 0.447068, 0.17277, 0.775465, 0.957114, 0.417471, 0.568288, 0.883681, 0.407288, 0.464264, 0.594897, 0.399828, 0.798473, 0.607932, 0.840769, 0.277003, 0.88473, 0.987855, 0.58323, 0.204425, 0.0424601, 0.86971, 0.511052, 0.526687, 0.350557, 0.706629, 0.739353, 0.49756, 0.685872, 0.425401, 0.512529, 0.698766, 0.645639, 0.227311, 0.506434, 0.410081, 0.308332, 0.315671, 0.614753, 0.0198678, 0.519135, 0.467353, 0.482139, 0.378871, 0.32302, 0.12033, 0.431829, 0.296275, 0.310974, 0.18224, 0.344441, 0.0921965, 0.972639, 0.92178, 0.0156304, 0.846857, 0.515884, 0.815942, 0.960195, 0.990112, 0.182769, 0.214778, 0.258975, 0.817981, 0.199803, 0.222866, 0.903662, 0.0980868, 0.383791, 0.915739, 0.85721, 0.781918, 0.699057, 0.204764, 0.0745628, 0.0412947, 0.988941, 0.622472, 0.971799, 0.875343, 0.371582, 0.132679, 0.866178, 0.56679, 0.281781, 0.690991, 0.965907, 0.299651, 0.451908, 0.664889, 0.371256, 0.859439, 0.371331, 0.741847, 0.753061, 0.0486244, 0.890212, 0.444648, 0.988053, 0.166308, 0.671684, 0.726667, 0.0578544, 0.425659, 0.665754, 0.976426, 0.118865, 0.222971, 0.170978, 0.274598, 0.48143, 0.401541, 0.90107, 0.518374, 0.994331, 0.919879, 0.746881, 0.315868, 0.478986, 0.4435, 0.469378, 0.723643, 0.463736, 0.199442, 0.623148, 0.567034, 0.705359, 0.268414, 0.397726, 0.609244, 0.0236713, 0.16956, 0.602314, 0.756965, 0.97997, 0.933725, 0.523026, 0.0580975, 0.732652, 0.681009, 0.658301, 0.0537281, 0.0943069, 0.27455, 0.703678, 0.0815391, 0.362059, 0.271151, 0.920773, 0.296644, 0.0183375, 0.594387, 0.92997, 0.0750272, 0.881927, 0.728428, 0.587038, 0.86818, 0.565628, 0.154236, 0.946037, 0.205219, 0.0918337, 0.804225, 0.385845, 0.125827, 0.301139, 0.305177, 0.418556, 0.757148, 0.148778, 0.287248, 0.355418, 0.348821, 0.901407, 0.654393, 0.687851, 0.574622, 0.977229, 0.309761, 0.4549, 0.99888, 0.0980567, 0.312009, 0.319697, 0.249895, 0.291501, 0.334045, 0.994672, 0.530406, 0.953776, 0.531384, 0.587593, 0.438673, 0.11231, 0.733234, 0.879871, 0.775188, 0.24372, 0.954519, 0.524849, 0.386942, 0.620721, 0.320875, 0.874574, 0.960335, 0.0728633, 0.732815, 0.610063, 0.535151, 0.707397, 0.645657, 0.904439, 0.130618, 0.783367, 0.681332, 0.771723, 0.805234, 0.221575, 0.986385, 0.10926, 0.180919, 0.478569, 0.762908, 0.793846, 0.545122, 0.974642, 0.850236, 0.179811, 0.522111, 0.613862, 0.932977, 0.514509, 0.829376, 0.724671, 0.820376, 0.493047, 0.876028, 0.250296, 0.37123, 0.502124, 0.0447732, 0.103207, 0.815157, 0.120445, 0.205033, 0.944951, 0.917323, 0.957048, 0.812629, 0.718146, 0.761061, 0.0341472, 0.0111389, 0.86736, 0.0148891, 0.864153, 0.777238, 0.364185, 0.42502, 0.90366, 0.682295, 0.294668, 0.961524, 0.837472, 0.659278, 0.732558, 0.160918, 0.342996, 0.525685, 0.0263115, 0.25544, 0.721533, 0.129669, 0.236816, 0.613163, 0.513149, 0.417458, 0.161309, 0.279825, 0.763416, 0.470316, 0.149378, 0.538049, 0.392198, 0.924627, 0.642615, 0.0111322, 0.718518, 0.739104, 0.813217, 0.515893, 0.341474, 0.0427283, 0.00648908, 0.385333, 0.31838, 0.0533192, 0.602503, 0.443515, 0.0280414, 0.274622, 0.134164, 0.76449, 0.948269, 0.101286, 0.641331, 0.901419, 0.523427, 0.171704, 0.122625, 0.491419, 0.587968, 0.40383, 0.444296, 0.748451, 0.231668, 0.316066, 0.778124, 0.220029, 0.691693, 0.800996, 0.13923, 0.884378, 0.0172412, 0.442838, 0.841683, 0.900573, 0.0367333, 0.1129, 0.661112, 0.817509, 0.459859, 0.329836, 0.399931, 0.582055, 0.313169, 0.437011, 0.280742, 0.511708, 0.980704, 0.695484, 0.236446, 0.0628936, 0.0469662, 0.113515, 0.219827, 0.119967, 0.678017, 0.154892, 0.748964, 0.950309, 0.408305, 0.909641, 0.979683, 0.75683, 0.482745, 0.990507, 0.0467465, 0.949621, 0.200697, 0.758021, 0.117882, 0.907719, 0.929762, 0.0783406, 0.648908, 0.629016, 0.0951925, 0.947773, 0.00556247, 0.524547, 0.548716, 0.139078, 0.81219, 0.462118, 0.0640107, 0.543033, 0.486748, 0.213032, 0.181411, 0.261914, 0.434401, 0.0692591, 0.0656192, 0.318534, 0.103237, 0.282773, 0.255499, 0.98553, 0.311467, 0.776866, 0.235836, 0.33176, 0.0253359, 0.0916266, 0.552096, 0.153638, 0.959688, 0.718672, 0.606933, 0.875292, 0.0633605, 0.140916, 0.465807, 0.491876, 0.658043, 0.714066, 0.892801, 0.661401, 0.304186, 0.149437, 0.305425, 0.655639, 0.473743, 0.660908, 0.9259, 0.974856, 0.143817, 0.615043, 0.0399842, 0.553194, 0.526723, 0.356777, 0.309662, 0.0523284, 0.937552, 0.452779, 0.36172, 0.585019, 0.945123, 0.272872, 0.0467423, 0.371039, 0.695515, 0.883712, 0.490018, 0.0593713, 0.959068, 0.31223, 0.535175, 0.653268, 0.188744, 0.46427, 0.29457, 0.242699, 0.434814, 0.471351, 0.517754, 0.180075, 0.0853446, 0.105079, 0.0522586, 0.562467, 0.113129, 0.996403, 0.458529, 0.823064, 0.589005, 0.153245, 0.198721, 0.282445, 0.599125, 0.460393, 0.776314, 0.745769, 0.269098, 0.540046, 0.11169, 0.287346, 0.117505, 0.401144, 0.926949, 0.444907, 0.0474345, 0.166268, 0.371854, 0.533882, 0.822201, 0.559504, 0.663264, 0.778737, 0.957046, 0.121779, 0.487958, 0.122332, 0.143786, 0.273772, 0.771591, 0.653075, 0.250972, 0.721283, 0.515551, 0.305239, 0.972345, 0.569642, 0.925912, 0.20253, 0.863836, 0.190253, 0.918531, 0.55707, 0.00381102, 0.121934, 0.507126, 0.723297, 0.554563, 0.280677, 0.283054, 0.0592052, 0.238377, 0.825847, 0.425025, 0.483275, 0.412176, 0.658717, 0.680297, 0.0594718, 0.885164, 0.943674, 0.997116, 0.891411, 0.964488, 0.570559, 0.282718, 0.479557, 0.112167, 0.258337, 0.748488, 0.645516, 0.743514, 0.484313, 0.300418, 0.381673, 0.641193, 0.00926527, 0.264516, 0.765184, 0.747472, 0.206553, 0.113778, 0.982196, 0.0437513, 0.400194, 0.980403, 0.470436, 0.766836, 0.405202, 0.480065, 0.979077, 0.683857, 0.163979, 0.473461, 0.618463, 0.0800061, 0.568879, 0.660909, 0.622503, 0.612119, 0.200822, 0.339291, 0.438397, 0.449467, 0.429825, 0.88199, 0.75763, 0.136227, 0.449028, 0.968591, 0.405553, 0.971981, 0.770315, 0.747102, 0.796861, 0.125783, 0.811271, 0.636342, 0.273831, 0.235756, 0.492141, 0.883657, 0.212418, 0.145532, 0.713105, 0.706413, 0.804785, 0.175217, 0.248335, 0.347617, 0.278054, 0.895166, 0.337599, 0.262932, 0.695062, 0.571366, 0.0989308, 0.417155, 0.174341, 0.0552865, 0.560711, 0.144447, 0.0199909, 0.604846, 0.562701, 0.412576, 0.499018, 0.438862, 0.891483, 0.895943, 0.477519, 0.735267, 0.159857, 0.39036, 0.249456, 0.02296, 0.066634, 0.0671506, 0.380889, 0.446089, 0.600482, 0.495276, 0.124695, 0.157632, 0.693873, 0.0736496, 0.0488247, 0.418174, 0.0398581, 0.834848, 0.747334, 0.0942416, 0.178998, 0.812125, 0.522942, 0.833465, 0.0496451, 0.138676, 0.316137, 0.858321, 0.869884, 0.838262, 0.39471, 0.650486, 0.27887, 0.875143, 0.978975, 0.955176, 0.923937, 0.798182, 0.339691, 0.785894, 0.248732, 0.956497, 0.421943, 0.933406, 0.550654, 0.194392, 0.148448, 0.348369, 0.709465, 0.784529, 0.481173, 0.298179, 0.966487, 0.764214, 0.75058, 0.351974, 0.0168012, 0.67683, 0.369576, 0.518943, 0.940523, 0.644518, 0.378732, 0.180835, 0.861074, 0.213608, 0.300751, 0.1181, 0.773626, 0.584996, 0.75232, 0.403539, 0.14443, 0.859443, 0.449131, 0.961382, 0.787595, 0.574917, 0.497724, 0.284252, 0.411033, 0.344344, 0.793698, 0.903117, 0.590039, 0.814945, 0.959247, 0.514789, 0.109212, 0.999169, 0.354847, 0.489715, 0.291184, 0.777465, 0.22009, 0.900417, 0.640874, 0.705187, 0.284892, 0.869386, 0.867505, 0.511653, 0.525175, 0.53074, 0.574808, 0.796221, 0.0398024, 0.257697, 0.898306, 0.480761, 0.564537, 0.868306, 0.727761, 0.836186, 0.258021, 0.397114, 0.650319, 0.408059, 0.0129322, 0.521819, 0.417224, 0.749437, 0.582333, 0.881981, 0.524359, 0.479003, 0.592225, 0.8712, 0.215048, 0.190864, 0.852618, 0.970324, 0.314189, 0.700772, 0.456949, 0.0142384, 0.352051, 0.887544, 0.774537, 0.703121, 0.373281, 0.540038, 0.644873, 0.629066, 0.707686, 0.0571016, 0.701987, 0.351081, 0.673277, 0.978446, 0.038449, 0.964904, 0.756123, 0.0796779, 0.236577, 0.333577, 0.0277549, 0.86124, 0.888597, 0.811346, 0.358027, 0.688901, 0.601918, 0.202984, 0.301276, 0.816449, 0.0349382, 0.459503, 0.951967, 0.311848, 0.879228, 0.0280754, 0.314563, 0.48922, 0.701092, 0.130085, 0.882497, 0.842101, 0.441621, 0.458778, 0.648142, 0.707042, 0.506873, 0.817636, 0.482634, 0.69666, 0.095202, 0.0793807, 0.528611, 0.21054, 0.441959, 0.0210357, 0.551746, 0.772927, 0.200266, 0.0402244, 0.0120856, 0.895954, 0.981656, 0.697775, 0.96245, 0.727631, 0.875313, 0.39502, 0.44727, 0.684905, 0.719364, 0.981836, 0.218495, 0.857345, 0.458979, 0.872708, 0.939516, 0.410672, 0.12291, 0.303604, 0.0452652, 0.752576, 0.701876, 0.14429, 0.367657, 0.973246, 0.630014, 0.282922, 0.755175, 0.382289, 0.507623, 0.511621, 0.411193, 0.978224, 0.509501, 0.954558, 0.512085, 0.727582, 0.862638, 0.441028, 0.702257, 0.736486, 0.446479, 0.0389686, 0.773483, 0.761533, 0.629007, 0.65046, 0.225984, 0.136022, 0.773071, 0.383934, 0.970997, 0.471922, 0.381897, 0.912417, 0.164172, 0.545899, 0.962691, 0.437086, 0.591485, 0.0214106, 0.567985, 0.611053, 0.450853, 0.983435, 0.340055, 0.0752412, 0.652486, 0.47165, 0.588177, 0.498334, 0.383942, 0.443194, 0.660555, 0.156862, 0.593154, 0.416579, 0.929719, 0.0256307, 0.72073, 0.762408, 0.325277, 0.0491365, 0.231975, 0.791776, 0.127564, 0.236148, 0.33913, 0.741108, 0.595527, 0.733173, 0.491999, 0.521343, 0.745784, 0.0536438, 0.705479, 0.0740605, 0.698381, 0.54315, 0.433691, 0.276832, 0.46471, 0.0668336, 1, 0.534649, 0.380125, 0.912816, 0.511167, 0.467059, 0.189434, 0.998362, 0.501627, 0.187632, 0.109599, 0.21737, 0.955805, 0.116203, 0.135417, 0.820156, 0.178158, 0.726243, 0.188286, 0.967268, 0.957784, 0.0565583, 0.331546, 0.587704, 0.627384, 0.378857, 0.910315, 0.577889, 0.259565, 0.601996, 0.0467934, 0.278736, 0.434382, 0.0722475, 0.0794114, 0.743569, 0.0807633, 0.351582, 0.339576, 0.805575, 0.841142, 0.212817, 0.238836, 0.144734, 0.572544, 0.227176, 0.105994, 0.94879, 0.937645, 0.053326, 0.629536, 0.0966523, 0.10057, 0.439584, 0.90342, 0.952163, 0.743428, 0.337726, 0.71229, 0.680203, 0.841026, 0.422939, 0.65251, 0.253137, 0.675419, 0.568637, 0.603073, 0.852764, 0.388886, 0.410462, 0.476728, 0.510533, 0.301942, 0.379301, 0.149956, 0.808542, 0.848912, 0.100597, 0.617219, 0.469416, 0.469011, 0.0687396, 0.190661, 0.502269, 0.686276, 0.609706, 0.550519, 0.362331, 0.946722, 0.201394, 0.647379, 0.543172, 0.714426, 0.546917, 0.58512, 0.317949, 0.0111047, 0.890669, 0.328099, 0.436081, 0.448325, 0.432207, 0.214826, 0.443853, 0.0842934, 0.832098, 0.13181, 0.634658, 0.376995, 0.706129, 0.197461, 0.0890721, 0.0308775, 0.567922, 0.138594, 0.345698, 0.542949, 0.988092, 0.61366, 0.444303, 0.140035, 0.997918, 0.970758, 0.756369, 0.850417, 0.704505, 0.845934, 0.167488, 0.678966, 0.0791962, 0.317072, 0.553948, 0.961764, 0.266834, 0.112267, 0.472534, 0.437951, 0.41819, 0.589639, 0.836162, 0.640385, 0.419122, 0.879733, 0.0215169, 0.545106, 0.811654, 0.368397, 0.545883, 0.218121, 0.308856, 0.970945, 0.164763, 0.0833245, 0.891669, 0.313721, 0.138196, 0.999736, 0.846489, 0.251089, 0.143294, 0.907812, 0.229007, 0.90131, 0.0869075, 0.824083, 0.250005, 0.969888, 0.417303, 0.117991, 0.292969, 0.832882, 0.689027, 0.83043, 0.69579, 0.480893, 0.267528, 0.405996, 0.578269, 0.03197, 0.787975, 0.424118, 0.147029, 0.0962544, 0.848264, 0.0824609, 0.912907, 0.921646, 0.790334, 0.902114, 0.365017, 0.171807, 0.0796289, 0.672038, 0.587797, 0.207598, 0.219838, 0.587787, 0.0925063, 0.164567, 0.050361, 0.70654, 0.998544, 0.6913, 0.314585, 0.965963, 0.261155, 0.494288, 0.504885, 0.327598, 0.818081, 0.392978, 0.669028, 0.515681, 0.576109, 0.891496, 0.343932, 0.343278, 0.210709, 0.799101, 0.150515, 0.67959, 0.0869917, 0.64697, 0.517052, 0.784082, 0.434442, 0.683405, 0.151715, 0.364158, 0.533576, 0.416155, 0.633381, 0.0105608, 0.411807, 0.267263, 0.201245, 0.853347, 0.803212, 0.489332, 0.391618, 0.906979, 0.389094, 0.732599, 0.540485, 0.203335, 0.528552, 0.119091, 0.980714, 0.531515, 0.253234, 0.203646, 0.68016, 0.802235, 0.166546, 0.765178, 0.696448, 0.637395, 0.658175, 0.657892, 0.941429, 0.272868, 0.650092, 0.0141799, 0.949041, 0.798854, 0.78102, 0.749516, 0.00284496, 0.853585, 0.063686, 0.710953, 0.629978, 0.378365, 0.286316, 0.240123, 0.271781, 0.0532606, 0.516435, 0.512621, 0.903667, 0.312805, 0.592327, 0.534378, 0.399062, 0.351568, 0.348073, 0.351099, 0.878121, 0.00852462, 0.967123, 0.256503, 0.432617, 0.610003, 0.262833, 0.79102, 0.407924, 0.287385, 0.638023, 0.616393, 0.115964, 0.56895, 0.439804, 0.827512, 0.685054, 0.834155, 0.838647, 0.998326, 0.137987, 0.511495, 0.285721, 0.252526, 0.153681, 0.162173, 0.614444, 0.657301, 0.64953, 0.568712, 0.573069, 0.227013, 0.750514, 0.923495, 0.846269, 0.290335, 0.454151, 0.860921, 0.328575, 0.954431, 0.0955721, 0.739636, 0.863548, 0.382976, 0.581971, 0.163425, 0.237802, 0.330289, 0.171705, 0.588654, 0.800343, 0.314376, 0.672668, 0.297174, 0.359896, 0.66208, 0.840302, 0.209987, 0.652685, 0.431418, 0.862184, 0.147982, 0.513305, 0.438692, 0.211673, 0.670082, 0.952139, 0.729084, 0.0658926, 0.415465, 0.941695, 0.979433, 0.885361, 0.572453, 0.440163, 0.445841, 0.407351, 0.244812, 0.776673, 0.821962, 0.0356108, 0.11611, 0.939212, 0.764294, 0.563954, 0.189871, 0.506891, 0.993638, 0.412937, 0.0669241, 0.0029951, 0.503381, 0.836273, 0.254115, 0.73269, 0.951653, 0.343077, 0.567725, 0.213019, 0.233328, 0.926974, 0.445676, 0.0557172, 0.647064, 0.260774, 0.326079, 0.248384, 0.666974, 0.207244, 0.078958, 0.583094, 0.575161, 0.762487, 0.874543, 0.745034, 0.794406, 0.659945, 0.927887, 0.490104, 0.887452, 0.818105, 0.465006, 0.140414, 0.929325, 0.0822307, 0.258076, 0.326836, 0.388695, 0.357107, 0.927782, 0.581428, 0.947107, 0.747672, 0.343561, 0.822224, 0.721027, 0.106697, 0.0900304, 0.405827, 0.734765, 0.166731, 0.09956, 0.200387, 0.585737, 0.599669, 0.724478, 0.691632, 0.582199, 0.0551151, 0.914622, 0.670609, 0.118239, 0.340486, 0.483041, 0.702132, 0.658969, 0.0843298, 0.559416, 0.166231, 0.687642, 0.679254, 0.47015, 0.217913, 0.803567, 0.595803, 0.827822, 0.474204, 0.322077, 0.311678, 0.734078, 0.309757, 0.389268, 0.941472, 0.336683, 0.0472055, 0.774327, 0.755982, 0.543597, 0.886328, 0.674854, 0.856463, 0.289106, 0.183975, 0.615692, 0.486081, 0.508756, 0.301868, 0.316682, 0.66107, 0.190163, 0.986937, 0.521312, 0.617194, 0.0128777, 0.334402, 0.291899, 0.727617, 0.646448, 0.980431, 0.245638, 0.100408, 0.867419, 0.753079, 0.619584, 0.604698, 0.635036, 0.296076, 0.185603, 0.289326, 0.68896, 0.178509, 0.236927, 0.835063, 0.185124, 0.0283554, 0.48892, 0.670488, 0.379158, 0.789049, 0.443331, 0.299892, 0.681071, 0.99212, 0.128715, 0.134455, 0.792771, 0.247035, 0.721657, 0.89531, 0.0317777, 0.315355, 0.235227, 0.741361, 0.951764, 0.339439, 0.03348, 0.695221, 0.0785878, 0.00833043, 0.314854, 0.775541, 0.795041, 0.986474, 0.521147, 0.605619, 0.734118, 0.717664, 0.471279, 0.202821, 0.834592, 0.759339, 0.558764, 0.658476, 0.103599, 0.965012, 0.994038, 0.341327, 0.696113, 0.189786, 0.868719, 0.60927, 0.922434, 0.635436, 0.749053, 0.0780983, 0.672403, 0.566617, 0.208607, 0.720733, 0.189837, 0.229932, 0.0867006, 0.400971, 0.86854, 0.432769, 0.713816, 0.652089, 0.924112, 0.133025, 0.125826, 0.457013, 0.0880801, 0.183837, 0.958992, 0.207756, 0.498049, 0.740143, 0.33916, 0.513497, 0.726251, 0.109652, 0.588813, 0.147343, 0.135221, 0.929679, 0.450744, 0.386881, 0.84224, 0.588499, 0.43192, 0.905016, 0.311989, 0.144757, 0.0127828, 0.300859, 0.650715, 0.786708, 0.236716, 0.39271, 0.538506, 0.92658, 0.502621, 0.00129624, 0.374738, 0.687828, 0.425267, 0.695922, 0.271628, 0.267609, 0.448037, 0.764976, 0.00985754, 0.993415, 0.740126, 0.96593, 0.130155, 0.595889, 0.991082, 0.999982, 0.308795, 0.234162, 0.510756, 0.798733, 0.208918, 0.449918, 0.621955, 0.690216, 0.990872, 0.161265, 0.77657, 0.769393, 0.536126, 0.526992, 0.128817, 0.132468, 0.235292, 0.0784356, 0.170721, 0.985488, 0.439469, 0.83395, 0.980758, 0.265345, 0.575595, 0.468431, 0.757955, 0.757002, 0.711104, 0.927202, 0.261604, 0.493911, 0.0424471, 0.729279, 0.375319, 0.843083, 0.484256, 0.885053, 0.192494, 0.34795, 0.0455751, 0.515137, 0.477784, 0.0649554, 0.650016, 0.956627, 0.050764, 0.272256, 0.025658, 0.248842, 0.299862, 0.308331, 0.359465, 0.611013, 0.0472935, 0.207076, 0.954112, 0.823119, 0.594145, 0.722014, 0.92946, 0.311688, 0.570109, 0.326544, 0.53002, 0.574666, 0.025404, 0.993925, 0.419538, 0.774414, 0.0261002, 0.795538, 0.382437, 0.389587, 0.652332, 0.854384, 0.873042, 0.952378, 0.317103, 0.0361413, 0.116577, 0.463217, 0.285727, 0.932741, 0.324546, 0.31741, 0.312902, 0.971811, 0.903006, 0.904205, 0.751936, 0.491303, 0.233713, 0.455358, 0.0411465, 0.533216, 0.691844, 0.93975, 0.443571, 0.157401, 0.323671, 0.986036, 0.435571, 0.711231, 0.424171, 0.202061, 0.476592, 0.187951, 0.997167, 0.822913, 0.681013, 0.115605, 0.282858, 0.180021, 0.918261, 0.406588, 0.8646, 0.267413, 0.473288, 0.125995, 0.00131054, 0.426363, 0.66798, 0.537716, 0.346836, 0.429234, 0.62206, 0.29584, 0.976714, 0.451949, 0.985898, 0.277213, 0.392429, 0.22063, 0.0628975, 0.359, 0.150573, 0.133869, 0.620183, 0.902421, 0.810666, 0.258409, 0.0210337, 0.0961636, 0.584963, 0.930785, 0.214695, 0.265263, 0.871547, 0.151312, 0.699748, 0.0450061, 0.910223, 0.235195, 0.848569, 0.299817, 0.527422, 0.428382, 0.823018, 0.260234, 0.327794, 0.0477415, 0.684552, 0.554492, 0.061122, 0.318074, 0.295923, 0.950095, 0.971548, 0.200227, 0.159502, 0.989376, 0.000181309, 0.290116, 0.0980655, 0.51087, 0.40843, 0.156578, 0.919796, 0.927811, 0.00787659, 0.350387, 0.559916, 0.449739, 0.892714, 0.934983, 0.579323, 0.167472, 0.904336, 0.688128, 0.621818, 0.473989, 0.534156, 0.81434, 0.121198, 0.830013, 0.798168, 0.272081, 0.684559, 0.177527, 0.910539, 0.65642, 0.205445, 0.0252518, 0.027905, 0.774112, 0.578485, 0.792427, 0.818469, 0.131575, 0.697511, 0.59973, 0.301915, 0.0119127, 0.579161, 0.766104, 0.964891, 0.699964, 0.855512, 0.222158, 0.688281, 0.899556, 0.216731, 0.370764, 0.318147, 0.373838, 0.743697, 0.22219, 0.729973, 0.764269, 0.859449, 0.504316, 0.897829, 0.0920401, 0.396412, 0.937039, 0.191127, 0.558869, 0.265851, 0.599098, 0.961812, 0.155103, 0.647618, 0.0698488, 0.995937, 0.582297, 0.820517, 0.0478966, 0.0818173, 0.0636291, 0.98021, 0.854298, 0.89553, 0.533979, 0.143815, 0.790217, 0.0250228, 0.662897, 0.278488, 0.303812, 0.673583, 0.913426, 0.533529, 0.689299, 0.881157, 0.680355, 0.00740174, 0.663995, 0.967639, 0.103869, 0.780659, 0.874741, 0.525152, 0.776343, 0.0776852, 0.578212, 0.252742, 0.30215, 0.875205, 0.0973279, 0.0681778, 0.239187, 0.780169, 0.0461958, 0.755976, 0.930635, 0.281147, 0.740307, 0.893058, 0.686403, 0.204147, 0.78937, 0.777098, 0.66563, 0.598454, 0.598207, 0.13296, 0.945659, 0.245659, 0.697052, 0.0706009, 0.252892, 0.771578, 0.0707641, 0.192206, 0.831026, 0.154797, 0.438269, 0.25017, 0.91352, 0.313912, 0.187547, 0.651264, 0.0634346, 0.723774, 0.912347, 0.431135, 0.786549, 0.896661, 0.673512, 0.326191, 0.312847, 0.984751, 0.37331, 0.00158407, 0.43311, 0.717923, 0.0102345, 0.306766, 0.187318, 0.551426, 0.403001, 0.756382, 0.466606, 0.985166, 0.496499, 0.885107, 0.0346581, 0.562298, 0.829654, 0.187659, 0.40626, 0.671657, 0.255205, 0.495253, 0.0696849, 0.0321291, 0.728724, 0.0534811, 0.663813, 0.0639717, 0.117046, 0.365665, 0.123565, 0.973086, 0.352176, 0.00729006, 0.561651, 0.530549, 0.465334, 0.619018, 0.673429, 0.33839, 0.243359, 0.491217, 0.299119, 0.278391, 0.542227, 0.499365, 0.187813, 0.721693, 0.59535, 0.537717, 0.48948, 0.356821, 0.734558, 0.0117308, 0.757514, 0.303086, 0.213038, 0.23938, 0.932718, 0.934701, 0.933399, 0.677056, 0.998034, 0.808591, 0.706243, 0.618281, 0.786762, 0.328223, 0.790937, 0.807792, 0.492201, 0.75667, 0.0389603, 0.687735, 0.684143, 0.94992, 0.626977, 0.578089, 0.24783, 0.567546, 0.0916048, 0.428268, 0.891156, 0.0942982, 0.76031, 0.0284436, 0.985265, 0.945117, 0.330456, 0.713405, 0.130942, 0.115196, 0.59905, 0.956426, 0.71099, 0.110549, 0.0249017, 0.0233836, 0.943334, 0.56555, 0.16012, 0.654387, 0.213717, 0.937971, 0.469584, 0.928693, 0.087222, 0.842372, 0.496351, 0.340762, 0.886811, 0.985658, 0.931091, 0.626308, 0.660099, 0.915961, 0.603531, 0.733776, 0.51079, 0.659871, 0.558242, 0.617787, 0.667047, 0.295419, 0.0551591, 0.264099, 0.799619, 0.15651, 0.0764005, 0.422984, 0.0202244, 0.891092, 0.67849, 0.630009, 0.215038, 0.310006, 0.614872, 0.312407, 0.902146, 0.151641, 0.914057, 0.708748, 0.21216, 0.0232438, 0.453112, 0.66096, 0.508303, 0.352855, 0.875645, 0.084713, 0.379215, 0.900673, 0.86154, 0.486893, 0.00537183, 0.348694, 0.560657, 0.905072, 0.633698, 0.994599, 0.559535, 0.824699, 0.816697, 0.598691, 0.169897, 0.573792, 0.524769, 0.00850163, 0.604211, 0.992741, 0.512384, 0.453254, 0.148024, 0.801813, 0.755688, 0.637341, 0.617061, 0.949338, 0.581019, 0.571387, 0.600699, 0.117938, 0.411359, 0.927926, 0.752928, 0.715753, 0.934348, 0.568014, 0.690842, 0.841732, 0.015069, 0.594771, 0.165404, 0.428721, 0.873358, 0.940763, 0.770483, 0.468984, 0.977815, 0.862355, 0.687214, 0.260979, 0.831053, 0.683784, 0.730552, 0.586282, 0.699716, 0.592185, 0.201781, 0.787032, 0.171147, 0.200121, 0.870475, 0.753097, 0.415393, 0.708939, 0.627627, 0.359178, 0.931772, 0.15007, 0.620159, 0.963496, 0.369226, 0.743274, 0.396918, 0.145946, 0.383654, 0.6062, 0.46939, 0.851749, 0.967471, 0.473204, 0.612918, 0.852051, 0.41005, 0.354198, 0.974986, 0.137004, 0.128644, 0.0705869, 0.672332, 0.222469, 0.886623, 0.783188, 0.762526, 0.950055, 0.89466, 0.417668, 0.883254, 0.311522, 0.451677, 0.32162, 0.40389, 0.961797, 0.481417, 0.105766, 0.329029, 0.2593, 0.038418, 0.147344, 0.996207, 0.0227872, 0.997277, 0.0559484, 0.290415, 0.509924, 0.78105, 0.259174, 0.624502, 0.955392, 0.166407, 0.258785, 0.732313, 0.000257506, 0.213003, 0.395102, 0.459407, 0.0786457, 0.759219, 0.579006, 0.0659727, 0.439613, 0.0276911, 0.155768, 0.128981, 0.00765603, 0.871646, 0.300881, 0.0880125, 0.656164, 0.4489, 0.572942, 0.191037, 0.996863, 0.465324, 0.996544, 0.639098, 0.079738, 0.579622, 0.366462, 0.00852622, 0.983265, 0.847557, 0.528055, 0.620087, 0.345166, 0.661005, 0.474273, 0.574851, 0.150577, 0.821059, 0.361186, 0.992237, 0.182514, 0.924418, 0.585461, 0.844204, 0.306433, 0.437001, 0.2157, 0.737877, 0.188907, 0.810021, 0.483862, 0.0935239, 0.615325, 0.965499, 0.428688, 0.0195098, 0.101319, 0.810557, 0.327364, 0.672945, 0.101972, 0.774424, 0.445966, 0.846479, 0.515845, 0.505852, 0.584812, 0.324095, 0.621901, 0.423033, 0.729503, 0.482347, 0.480506, 0.302675, 0.886335, 0.149147, 0.962986, 0.933432, 0.180085, 0.457787, 0.139065, 0.499211, 0.605832, 0.329876, 0.352571, 0.415843, 0.578401, 0.339472, 0.194886, 0.264691, 0.830351, 0.922894, 0.558303, 0.419198, 0.622253, 0.741526, 0.0453581, 0.142005, 0.31336, 0.806433, 0.232656, 0.956898, 0.851459, 0.256476, 0.740467, 0.0249367, 0.953497, 0.899508, 0.770342, 0.758447, 0.927485, 0.310305, 0.624985, 0.166628, 0.0247503, 0.294539, 0.31966, 0.581667, 0.558056, 0.94075, 0.0481254, 0.278626, 0.144352, 0.0797595, 0.894766, 0.205037, 0.0790566, 0.703477, 0.455415, 0.651989, 0.665777, 0.0390693, 0.16248, 0.55931, 0.458255, 0.751159, 0.891267, 0.329399, 0.819112, 0.402242, 0.665274, 0.771575, 0.547082, 0.152219, 0.877681, 0.251901, 0.922786, 0.952178, 0.555252, 0.0316401, 0.55352, 0.271904, 0.037495, 0.415971, 0.298813, 0.56826, 0.436901, 0.577173, 0.817858, 0.847888, 0.0676278, 0.176205, 0.213929, 0.435223, 0.581398, 0.951432, 0.798489, 0.84443, 0.173472, 0.849825, 0.736335, 0.931349, 0.867622, 0.808382, 0.743966, 0.953752, 0.637471, 0.305474, 0.467269, 0.0156392, 0.960227, 0.529988, 0.537135, 0.52798, 0.200048, 0.783176, 0.531724, 0.0874458, 0.960348, 0.13284, 0.916038, 0.310078, 0.314001, 0.381371, 0.317984, 0.424795, 0.848246, 0.897606, 0.901429, 0.663888, 0.775928, 0.696112, 0.491274, 0.251927, 0.709468, 0.631409, 0.964136, 0.838871, 0.673734, 0.0349753, 0.553625, 0.487262, 0.953038, 0.925184, 0.717333, 0.925794, 0.769757, 0.410872, 0.536194, 0.316176, 0.984915, 0.52565, 0.696893, 0.209431, 0.821212, 0.885326, 0.71463, 0.171792, 0.663639, 0.517136, 0.91975, 0.491996, 0.5179, 0.663451, 0.421178, 0.0691154, 0.161887, 0.181074, 0.393132, 0.0254707, 0.701277, 0.690192, 0.531019, 0.945704, 0.614062, 0.151473, 0.400165, 0.0415361, 0.965977, 0.0314672, 0.0481952, 0.214615, 0.295326, 0.43428, 0.569448, 0.453824, 0.360233, 0.647979, 0.157994, 0.517723, 0.515074, 0.0273796, 0.427802, 0.859925, 0.063676, 0.806979, 0.231039, 0.69043, 0.190798, 0.25716, 0.547952, 0.268875, 0.546476, 0.893843, 0.859769, 0.0846714, 0.181579, 0.188657, 0.986507, 0.937119, 0.419447, 0.199551, 0.24698, 0.59333, 0.0709606, 0.669645, 0.735183, 0.845917, 0.673668, 0.836039, 0.486732, 0.941623, 0.402114, 0.439044, 0.135021, 0.263392, 0.765108, 0.413111, 0.657554, 0.196551, 0.404475, 0.129879, 0.0505086, 0.00466897, 0.105102, 0.141835, 0.726331, 0.165081, 0.100709, 0.914696, 0.441655, 0.998282, 0.125784, 0.967116, 0.950755, 0.149229, 0.304046, 0.708734, 0.335679, 0.55964, 0.560483, 0.628257, 0.455348, 0.603545, 0.851436, 0.893565, 0.476705, 0.104704, 0.796748, 0.784699, 0.781135, 0.106211, 0.277441, 0.289343, 0.95793, 0.631682, 0.0271881, 0.455434, 0.610086, 0.307972, 0.651827, 0.855031, 0.765553, 0.074987, 0.200871, 0.484881, 0.483972, 0.066425, 0.511655, 0.254437, 0.226836, 0.875817, 0.0378287, 0.236484, 0.404451, 0.786611, 0.397115, 0.592105, 0.861911, 0.706302, 0.641974, 0.804218, 0.297126, 0.375719, 0.399631, 0.490453, 0.281737, 0.841077, 0.959483, 0.584851, 0.978059, 0.275329, 0.673805, 0.0991874, 0.0822971, 0.675075, 0.151708, 0.828523, 0.738316, 0.106096, 0.351146, 0.59212, 0.782156, 0.697675, 0.672146, 0.391308, 0.994455, 0.70723, 0.601611, 0.505208, 0.296439, 0.193982, 0.675068, 0.964641, 0.0251922, 0.0516646, 0.2421, 0.185921, 0.414099, 0.784746, 0.0056449, 0.0014927, 0.0883201, 0.389037, 0.838693, 0.472022, 0.747276, 0.670899, 0.663473, 0.984446, 0.928507, 0.20132, 0.95488, 0.636111, 0.0699201, 0.583516, 0.211213, 0.688312, 0.91938, 0.551805, 0.389652, 0.741283, 0.052524, 0.550189, 0.304772, 0.820712, 0.0177963, 0.537043, 0.896841, 0.322799, 0.00701728, 0.0407345, 0.86977, 0.363575, 0.456524, 0.921916, 0.421796, 0.246733, 0.414963, 0.778618, 0.764075, 0.955053, 0.105118, 0.579191, 0.532768, 0.15703, 0.54805, 0.251995, 0.0294958, 0.0359925, 0.271806, 0.625352, 0.988511, 0.549665, 0.650531, 0.495402, 0.444079, 0.255418, 0.424125, 0.921934, 0.831157, 0.239731, 0.311678, 0.184466, 0.905731, 0.320168, 0.178902, 0.372863, 0.0368721, 0.342141, 0.566292, 0.90077, 0.719034, 0.38821, 0.483519, 0.530794, 0.302108, 0.489568, 0.890171, 0.373671, 0.0824403, 0.445017, 0.442758, 0.313625, 0.38634, 0.661522, 0.361428, 0.0217333, 0.730581, 0.88917, 0.970692, 0.719907, 0.25984, 0.805597, 0.673053, 0.458223, 0.107897, 0.361561, 0.0291539, 0.855708, 0.172413, 0.533138, 0.225099, 0.645763, 0.844209, 0.558501, 0.418254, 0.116997, 0.406512, 0.00183524, 0.496051, 0.674179, 0.902401, 0.284562, 0.233373, 0.237694, 0.700545, 0.268462, 0.668095, 0.950185, 0.841456, 0.139014, 0.71714, 0.448669, 0.805342, 0.993116, 0.530876, 0.679141, 0.404655, 0.675437, 0.147761, 0.582268, 0.604154, 0.0762493, 0.629325, 0.156989, 0.719128, 0.0203815, 0.585468, 0.796693, 0.884006, 0.0808964, 0.742137, 0.494992, 0.799028, 0.905965, 0.0423807, 0.340777, 0.24199, 0.798418, 0.123217, 0.168016, 0.893709, 0.870615, 0.93698, 0.753019, 0.0852228, 0.99572, 0.449124, 0.412202, 0.197275, 0.338711, 0.499454, 0.6388, 0.428767, 0.839672, 0.570992, 0.208661, 0.568966, 0.751003, 0.70565, 0.82319, 0.939326, 0.268698, 0.356745, 0.829908, 0.223638, 0.773777, 0.958328, 0.282418, 0.719318, 0.78842, 0.81075, 0.61092, 0.673505, 0.308543, 0.0874788, 0.989528, 0.427193, 0.122348, 0.818504, 0.0403227, 0.00215071, 0.48062, 0.168503, 0.649648, 0.0122458, 0.0867355, 0.611364, 0.026259, 0.550539, 0.90442, 0.0929411, 0.94349, 0.438042, 0.46759, 0.350625, 0.489027, 0.963676, 0.982726, 0.222678, 0.521699, 0.107323, 0.612311, 0.286303, 0.600474, 0.421695, 0.209431, 0.751705, 0.93188, 0.487897, 0.506325, 0.887726, 0.477848, 0.094315, 0.669075, 0.674156, 0.0687686, 0.99799, 0.548078, 0.202686, 0.287848, 0.881276, 0.526667, 0.161727, 0.266224, 0.659318, 0.734559, 0.459679, 0.0273649, 0.201377, 0.771459, 0.894653, 0.901491, 0.76, 0.482567, 0.334403, 0.265654, 0.423835, 0.257329, 0.890674, 0.848466, 0.395115, 0.0160041, 0.180226, 0.450168, 0.962235, 0.643789, 0.46348, 0.0736525, 0.343841, 0.109349, 0.505405, 0.849111, 0.99017, 0.121314, 0.565838, 0.205635, 0.70589, 0.19903, 0.560052, 0.740696, 0.363356, 0.737106, 0.621815, 0.435792, 0.475101, 0.0685072, 0.652101, 0.529883, 0.761216, 0.209347, 0.864878, 0.1801, 0.838679, 0.909011, 0.890645, 0.125065, 0.85264, 0.00553248, 0.359452, 0.0215704, 0.948519, 0.245559, 0.304927, 0.130233, 0.0645426, 0.264597, 0.442142, 0.474472, 0.412466, 0.393704, 0.329054, 0.0305282, 0.943062, 0.787283, 0.520625, 0.643102, 0.393824, 0.135733, 0.555884, 0.366707, 0.288212, 0.00154851, 0.760691, 0.148698, 0.878215, 0.729474, 0.756162, 0.203675, 0.096348, 0.0229167, 0.548427, 0.176644, 0.977684, 0.519568, 0.956985, 0.117229, 0.202766, 0.36117, 0.493883, 0.0955729, 0.429983, 0.215631, 0.721776, 0.493656, 0.635157, 0.0853646, 0.488352, 0.211347, 0.206745, 0.0442616, 0.215304, 0.614827, 0.434182, 0.142541, 0.0682421, 0.168634, 0.174711, 0.299031, 0.521567, 0.146293, 0.279439, 0.199777, 0.0200187, 0.258583, 0.681859, 0.0596317, 0.0392842, 0.61713, 0.369436, 0.0799901, 0.480434, 0.254634, 0.417208, 0.946654, 0.907955, 0.954811, 0.787866, 0.381337, 0.420529, 0.527454, 0.887459, 0.81664, 0.4266, 0.817779, 0.0741167, 0.39021, 0.974817, 0.954317, 0.699245, 0.83607, 0.249205, 0.297981, 0.511476, 0.204782, 0.762984, 0.0727764, 0.28233, 0.781094, 0.590758, 0.6528, 0.19211, 0.9405, 0.317923, 0.662987, 0.0535192, 0.7402, 0.968426, 0.0933652, 0.0648408, 0.406435, 0.693375, 0.842601, 0.982824, 0.0507998, 0.976644, 0.837249, 0.298373, 0.667242, 0.955321, 0.454235, 0.272865, 0.690256, 0.989745, 0.317436, 0.101836, 0.0388043, 0.317934, 0.641849, 0.936255, 0.020014, 0.0661062, 0.879686, 0.117952, 0.705039, 0.582077, 0.14264, 0.356294, 0.117195, 0.0495249, 0.0564082, 0.303122, 0.56035, 0.3861, 0.634594, 0.140865, 0.336389, 0.505846, 0.0264053, 0.775876, 0.445072, 0.820959, 0.668448, 0.42349, 0.247024, 0.18433, 0.527374, 0.795369, 0.348493, 0.703083, 0.111835, 0.344671, 0.181617, 0.980603, 0.322127, 0.151618, 0.0291552, 0.977675, 0.264931, 0.648227, 0.936524, 0.373635, 0.535304, 0.0492618, 0.811494, 0.602634, 0.963197, 0.784475, 0.344308, 0.332398, 0.990225, 0.307511, 0.528101, 0.711152, 0.80227, 0.410128, 0.328325, 0.248034, 0.457591, 0.00531339, 0.934736, 0.472902, 0.154699, 0.258107, 0.252473, 0.0378371, 0.439693, 0.798836, 0.5687, 0.271195, 0.839663, 0.909918, 0.77006, 0.62147, 0.987425, 0.80478, 0.226358, 0.691456, 0.362752, 0.136576, 0.367025, 0.500041, 0.743259, 0.452868, 0.176915, 0.996972, 0.608362, 0.755794, 0.835839, 0.656593, 0.146737, 0.128627, 0.421769, 0.801329, 0.217781, 0.785198, 0.471612, 0.787722, 0.489773, 0.445195, 0.0905099, 0.891647, 0.324559, 0.476954, 0.712408, 0.973274, 0.570632, 0.297038, 0.19666, 0.691032, 0.571544, 0.712805, 0.773283, 0.352252, 0.513854, 0.42297, 0.33506, 0.00358028, 0.991002, 0.359155, 0.191451, 0.794602, 0.518109, 0.00470158, 0.748708, 0.0797746, 0.189823, 0.492121, 0.121755, 0.798563, 0.803132, 0.140422, 0.29135, 0.463747, 0.137983, 0.0604471, 0.341771, 0.885016, 0.322533, 0.385943, 0.880094, 0.496986, 0.932964, 0.193366, 0.708382, 0.429535, 0.250575, 0.222575, 0.178777, 0.162057, 0.706416, 0.937513, 0.328438, 0.0937158, 0.732432, 0.0608153, 0.166251, 0.205925, 0.847815, 0.855735, 0.597828, 0.711719, 0.547604, 0.661033, 0.541048, 0.517265, 0.445875, 0.471972, 0.332354, 0.422843, 0.890394, 0.732324, 0.759995, 0.644569, 0.401106, 0.502339, 0.956756, 0.610954, 0.412489, 0.626986, 0.113694, 0.5746, 0.987722, 0.240286, 0.00432481, 0.762028, 0.626383, 0.714022, 0.793543, 0.471099, 0.104179, 0.78249, 0.590291, 0.527225, 0.005684, 0.914185, 0.353396, 0.202321, 0.320321, 0.287565, 0.945875, 0.345299, 0.291706, 0.32416, 0.00276939, 0.63825, 0.402977, 0.576277, 0.105995, 0.545826, 0.358624, 0.808883, 0.465006, 0.776206, 0.224446, 0.663314, 0.808429, 0.256921, 0.315287, 0.92233, 0.376786, 0.715354, 0.841388, 0.544618, 0.987958, 0.782977, 0.87551, 0.646046, 0.390378, 0.894271, 0.996544, 0.359162, 0.286426, 0.82989, 0.13782, 0.631988, 0.812207, 0.0445571, 0.124157, 0.680088, 0.328989, 0.712035, 0.641283, 0.269281, 0.80373, 0.967612, 0.382533, 0.687583, 0.843749, 0.886197, 0.0950496, 0.574353, 0.0699918, 0.53912, 0.504064, 0.660618, 0.374065, 0.637483, 0.8169, 0.939656, 0.0261757, 0.20097, 0.456177, 0.213099, 0.0986604, 0.0258389, 0.524193, 0.439806, 0.37675, 0.212355, 0.850126, 0.104027, 0.328546, 0.63781, 0.0911744, 0.659202, 0.340858, 0.820599, 0.472196, 0.543987, 0.398669, 0.21216, 0.595441, 0.671733, 0.570267, 0.842117, 0.64249, 0.0599297, 0.754539, 0.250047, 0.163175, 0.823667, 0.117618, 0.596957, 0.765014, 0.803367, 0.90033, 0.634176, 0.778779, 0.389948, 0.876019, 0.732239, 0.736938, 0.720254, 0.494277, 0.616738, 0.579972, 0.95222, 0.0774625, 0.819565, 0.668885, 0.0805742, 0.543568, 0.0770902, 0.649517, 0.497256, 0.0441864, 0.580331, 0.437448, 0.769814, 0.331711, 0.724905, 0.487847, 0.659598, 0.960873, 0.901915, 0.293857, 0.927622, 0.0186188, 0.756045, 0.602516, 0.290121, 0.16717, 0.119101, 0.692152, 0.191299, 0.219723, 0.69781, 0.943302, 0.781711, 0.152227, 0.221124, 0.71624, 0.674647, 0.996695, 0.0450881, 0.668669, 0.139406, 0.527812, 0.758102, 0.395534, 0.544884, 0.440144, 0.71225, 0.746676, 0.271011, 0.475564, 0.551375, 0.910251, 0.820301, 0.769109, 0.0731969, 0.87809, 0.729973, 0.0203998, 0.675103, 0.897538, 0.715723, 0.452311, 0.883072, 0.631141, 0.283313, 0.0292786, 0.204652, 0.654933, 0.0381755, 0.318017, 0.105407, 0.15067, 0.480509, 0.991616, 0.136995, 0.945078, 0.28657, 0.397912, 0.261945, 0.318339, 0.640031, 0.990142, 0.81702, 0.193438, 0.535045, 0.0597312, 0.173213, 0.292445, 0.185084, 0.587259, 0.00148147, 0.975324, 0.251657, 0.170629, 0.401428, 0.170941, 0.581001, 0.199033, 0.972185, 0.340634, 0.768658, 0.23833, 0.673096, 0.87095, 0.905173, 0.908362, 0.617971, 0.644884, 0.481082, 0.845657, 0.156609, 0.730224, 0.647719, 0.993506, 0.301256, 0.0116288, 0.379652, 0.442735, 0.167211, 0.309261, 0.955926, 0.831823, 0.11743, 0.666602, 0.533286, 0.479091, 0.347829, 0.104072, 0.91867, 0.339395, 0.86384, 0.796643, 0.29879, 0.500049, 0.924571, 0.849123, 0.445291, 0.0270821, 0.112541, 0.133311, 0.29196, 0.436591, 0.425379, 0.196352, 0.635492, 0.0853693, 0.41619, 0.524924, 0.0309553, 0.817637, 0.899302, 0.540612, 0.402474, 0.574986, 0.550486, 0.935755, 0.542061, 0.142351, 0.0597138, 0.840648, 0.762772, 0.723046, 0.750349, 0.936069, 0.9534, 0.193353, 0.407915, 0.143609, 0.952848, 0.657239, 0.961232, 0.624849, 0.354556, 0.841626, 0.818479, 0.534767, 0.810802, 0.44789, 0.295864, 0.754041, 0.171901, 0.20736, 0.999154, 0.465007, 0.169413, 0.498973, 0.777322, 0.256924, 0.0537464, 0.107834, 0.728536, 0.427211, 0.611289, 0.00918443, 0.56757, 0.0195821, 0.870644, 0.649434, 0.296429, 0.338838, 0.394508, 0.506031, 0.590673, 0.791687, 0.397516, 0.490591, 0.698134, 0.95506, 0.399043, 0.108685, 0.72881, 0.813275, 0.732466, 0.506318, 0.896323, 0.556262, 0.488211, 0.812715, 0.192092, 0.159456, 0.171804, 0.112848, 0.545957, 0.911496, 0.970745, 0.968508, 0.604032, 0.356468, 0.280022, 0.461702, 0.866809, 0.930541, 0.646378, 0.842364, 0.457869, 0.810455, 0.757497, 0.420034, 0.524511, 0.355183, 0.85737, 0.00623311, 0.142426, 0.13031, 0.65588, 0.915588, 0.215766, 0.212401, 0.743461, 0.229986, 0.017642, 0.302409, 0.333892, 0.187124, 0.463878, 0.692419, 0.793604, 0.524824, 0.915982, 0.936224, 0.264829, 0.219627, 0.978267, 0.255686, 0.377408, 0.0765961, 0.815463, 0.196348, 0.586533, 0.965611, 0.940065, 0.382438, 0.675937, 0.200695, 0.459002, 0.529287, 0.730012, 0.0333491, 0.97293, 0.338763, 0.813401, 0.569148, 0.35753, 0.614917, 0.0133922, 0.227313, 0.145857, 0.725897, 0.548445, 0.250983, 0.773812, 0.719022, 0.660629, 0.232681, 0.468867, 0.797858, 0.144093, 0.0407103, 0.321641, 0.339029, 0.912671, 0.20084, 0.729883, 0.575855, 0.191571, 0.397984, 0.243607, 0.97661, 0.974892, 0.785988, 0.983069, 0.0707246, 0.158579, 0.698131, 0.716163, 0.336125, 0.0804066, 0.279019, 0.593757, 0.888541, 0.398578, 0.964843, 0.564949, 0.932278, 0.308927, 0.531247, 0.265197, 0.0722603, 0.582487, 0.0128856, 0.503734, 0.464389, 0.749397, 0.163665, 0.739268, 0.532718, 0.307705, 0.825203, 0.506772, 0.934988, 0.439218, 0.0988986, 0.181364, 0.999178, 0.0115725, 0.622664, 0.363274, 0.295258, 0.467167, 0.462446, 0.644967, 0.237777, 0.24021, 0.129736, 0.236774, 0.71736, 0.592575, 0.80587, 0.684147, 0.813818, 0.455822, 0.567276, 0.44103, 0.819876, 0.523352, 0.686162, 0.504607, 0.847563, 0.417824, 0.87599, 0.670343, 0.446771, 0.490173, 0.201381, 0.407379, 0.191155, 0.729373, 0.791839, 0.0446854, 0.998692, 0.182122, 0.630169, 0.274626, 0.889297, 0.887643, 0.585267, 0.93546, 0.601583, 0.242956, 0.410642, 0.844702, 0.765115, 0.627112, 0.581133, 0.598814, 0.0855001, 0.274711, 0.437285, 0.483497, 0.851629, 0.697016, 0.0266857, 0.468908, 0.0126986, 0.140353, 0.390803, 0.105963, 0.223323, 0.945771, 0.063375, 0.626944, 0.920751, 0.576469, 0.151342, 0.299934, 0.86341, 0.399419, 0.371485, 0.0164574, 0.353213, 0.52613, 0.987738, 0.733948, 0.377381, 0.217811, 0.386791, 0.391439, 0.819787, 0.214162, 0.620336, 0.909608, 0.187866, 0.42259, 0.515044, 0.862285, 0.900656, 0.669366, 0.497045, 0.649787, 0.297262, 0.21194, 0.968647, 0.48627, 0.841014, 0.419426, 0.505779, 0.153638, 0.824678, 0.709199, 0.865626, 0.42651, 0.37411, 0.345413, 0.243714, 0.978569, 0.377851, 0.549782, 0.0471732, 0.33871, 0.331785, 0.570494, 0.443454, 0.873528, 0.0834733, 0.162678, 0.36167, 0.846555, 0.845858, 0.749199, 0.626633, 0.65603, 0.881981, 0.737916, 0.461459, 0.474325, 0.840657, 0.779013, 0.84699, 0.202703, 0.294086, 0.825382, 0.0422565, 0.788005, 0.613018, 0.651833, 0.643324, 0.825643, 0.255919, 0.531083, 0.509035, 0.324197, 0.142594, 0.149332, 0.914391, 0.876952, 0.554899, 0.511945, 0.355697, 0.0298718, 0.24527, 0.727191, 0.897312, 0.511753, 0.86309, 0.822378, 0.168686, 0.305507, 0.917995, 0.806191, 0.539028, 0.892038, 0.0471423, 0.915764, 0.947819, 0.170481, 0.240748, 0.399979, 0.904382, 0.915078, 0.843223, 0.317477, 0.31286, 0.0760083, 0.982432, 0.292617, 0.274774, 0.0252961, 0.926118, 0.552318, 0.332799, 0.815043, 0.822998, 0.701285, 0.305563, 0.993832, 0.0229769, 0.122922, 0.292697, 0.642108, 0.57287, 0.360714, 0.877482, 0.993773, 0.408161, 0.561433, 0.123195, 0.670783, 0.43694, 0.535567, 0.0587223, 0.531395, 0.803974, 0.751394, 0.767416, 0.826159, 0.72084, 0.6653, 0.390057, 0.811412, 0.38598, 0.606537, 0.776579, 0.632889, 0.019757, 0.573167, 0.691271, 0.908813, 0.397752, 0.44632, 0.392576, 0.487321, 0.273685, 0.0818348, 0.884463, 0.225171, 0.719704, 0.208884, 0.986866, 0.199405, 0.701573, 0.752292, 0.114698, 0.546618, 0.957797, 0.0857847, 0.435463, 0.886511, 0.45565, 0.527449, 0.34607, 0.614304, 0.698266, 0.701658, 0.994631, 0.960054, 0.86394, 0.513186, 0.845196, 0.792049, 0.0754076, 0.923477, 0.178525, 0.0939209, 0.15817, 0.706766, 0.762543, 0.337017, 0.0114238, 0.500742, 0.466454, 0.444165, 0.898095, 0.584016, 0.424526, 0.123472, 0.621883, 0.268239, 0.980863, 0.299303, 0.689411, 0.0396197, 0.745702, 0.0832048, 0.390107, 0.192269, 0.473779, 0.592743, 0.92324, 0.99588, 0.560325, 0.844227, 0.895227, 0.315217, 0.427876, 0.740612, 0.404239, 0.297523, 0.550009, 0.130367, 0.529985, 0.903811, 0.0274738, 0.541456, 0.0453864, 0.824928, 0.940527, 0.175145, 0.520364, 0.178877, 0.303806, 0.238205, 0.150916, 0.851411, 0.0231129, 0.76401, 0.326563, 0.74719, 0.236742, 0.36392, 0.162055, 0.63259, 0.146906, 0.116181, 0.316018, 0.145111, 0.745504, 0.134543, 0.585036, 0.436159, 0.381443, 0.443352, 0.703843, 0.675227, 0.633806, 0.0643132, 0.406283, 0.109112, 0.594532, 0.844119, 0.864958, 0.159077, 0.295483, 0.404933, 0.991778, 0.90864, 0.93622, 0.38529, 0.677832, 0.193571, 0.0310793, 0.308378, 0.0230702, 0.694971, 0.868969, 0.758579, 0.708147, 0.0661495, 0.263227, 0.407218, 0.530183, 0.423451, 0.888105, 0.690569, 0.632032, 0.573501, 0.833762, 0.294366, 0.687145, 0.37138, 0.472334, 0.52598, 0.0378606, 0.679576, 0.27689, 0.994222, 0.492055, 0.010563, 0.19406, 0.449026, 0.580421, 0.253145, 0.0598715, 0.294879, 0.186504, 0.542578, 0.193358, 0.615846, 0.72037, 0.663472, 0.274297, 0.496184, 0.218168, 0.514598, 0.0106869, 0.821031, 0.74533, 0.992393, 0.0079268, 0.623167, 0.75849, 0.41025, 0.407622, 0.588331, 0.533143, 0.697857, 0.649481, 0.698867, 0.485025, 0.621063, 0.266581, 0.74821, 0.00979377, 0.498716, 0.228609, 0.848485, 0.570586, 0.599712, 0.360678, 0.245729, 0.278217, 0.944465, 0.265801, 0.215457, 0.139656, 0.973041, 0.458311, 0.534735, 0.682743, 0.753719, 0.114598, 0.0841108, 0.309155, 0.317644, 0.787148, 0.582741, 0.939913, 0.227198, 0.372308, 0.668988, 0.77885, 0.112538, 0.514408, 0.341342, 0.0572044, 0.879492, 0.615803, 0.599904, 0.291506, 0.887071, 0.0125394, 0.34209, 0.219155, 0.564994, 0.356455, 0.983372, 0.134833, 0.254677, 0.49876, 0.974607, 0.332973, 0.108532, 0.938997, 0.377587, 0.13598, 0.115318, 0.239941, 0.924513, 0.102238, 0.0785566, 0.44881, 0.350119, 0.954669, 0.940411, 0.342005, 0.284375, 0.449665, 0.830971, 0.200926, 0.314001, 0.781365, 0.224286, 0.446819, 0.221535, 0.729129, 0.749673, 0.456387, 0.460851, 0.556725, 0.42669, 0.727319, 0.641873, 0.126432, 0.624861, 0.909245, 0.963678, 0.666631, 0.35122, 0.115731, 0.457848, 0.840563, 0.829899, 0.587245, 0.0676621, 0.7204, 0.405456, 0.73395, 0.634702, 0.728035, 0.406434, 0.915283, 0.0281269, 0.45249, 0.148192, 0.0569771, 0.811251, 0.321011, 0.496894, 0.138661, 0.0233334, 0.958999, 0.83323, 0.673589, 0.111097, 0.927691, 0.96956, 0.803502, 0.426052, 0.268938, 0.650221, 0.518595, 0.869249, 0.12616, 0.445036, 0.792153, 0.250818, 0.270308, 0.235789, 0.0916088, 0.417104, 0.485238, 0.420994, 0.456175, 0.497569, 0.135986, 0.677542, 0.747215, 0.786937, 0.837866, 0.685386, 0.535484, 0.586124, 0.297443, 0.429421, 0.970676, 0.411305, 0.177696, 0.836751, 0.861931, 0.883494, 0.266848, 0.800904, 0.910869, 0.647787, 0.458961, 0.367783, 0.627652, 0.92467, 0.710434, 0.305664, 0.190825, 0.428195, 0.420536, 0.904273, 0.695588, 0.0288807, 0.849306, 0.530703, 0.223866, 0.628806, 0.678897, 0.666574, 0.266342, 0.879409, 0.959895, 0.584696, 0.136131, 0.108802, 0.35221, 0.0258654, 0.265173, 0.14325, 0.915411, 0.764868, 0.210694, 0.512209, 0.12814, 0.197892, 0.371246, 0.49882, 0.0912386, 0.404809, 0.607549, 0.102802, 0.128005, 0.347408, 0.722213, 0.36048, 0.9551, 0.17463, 0.446398, 0.931424, 0.530748, 0.269071, 0.64025, 0.421115, 0.650868, 0.705462, 0.335059, 0.0388648, 0.31432, 0.662333, 0.136416, 0.290576, 0.0447381, 0.158673, 0.309095, 0.636449, 0.414804, 0.545607, 0.709402, 0.278694, 0.032229, 0.397313, 0.236337, 0.079546, 0.029676, 0.367649, 0.97837, 0.157604, 0.154469, 0.128897, 0.145668, 0.322224, 0.497913, 0.992355, 0.0490014, 0.0357072, 0.885171, 0.561672, 0.724415, 0.0278577, 0.900952, 0.409489, 0.80081, 0.17966, 0.67615, 0.0814261, 0.00933907, 0.425483, 0.307292, 0.150995, 0.1178, 0.72147, 0.244173, 0.308405, 0.524435, 0.0505395, 0.162976, 0.000473051, 0.424379, 0.368167, 0.287574, 0.97879, 0.406892, 0.029309, 0.804494, 0.0651036, 0.364125, 0.0906702, 0.482078, 0.452336, 0.664215, 0.310149, 0.190369, 0.884773, 0.823005, 0.631533, 0.476774, 0.960769, 0.341807, 0.345441, 0.480597, 0.315413, 0.69107, 0.845847, 0.886766, 0.836193, 0.989477, 0.54399, 0.177607, 0.312971, 0.58895, 0.916655, 0.546785, 0.868053, 0.638604, 0.0446389, 0.866618, 0.463116, 0.0494757, 0.775277, 0.901478, 0.0122732, 0.743257, 0.464878, 0.86917, 0.133451, 0.254811, 0.343519, 0.685055, 0.942921, 0.544339, 0.350514, 0.497013, 0.803573, 0.375931, 0.623204, 0.0941352, 0.272948, 0.136265, 0.511682, 0.139624, 0.429161, 0.206527, 0.509373, 0.859521, 0.925949, 0.499605, 0.790755, 0.119934, 0.875595, 0.22982, 0.187654, 0.763739, 0.681742, 0.545873, 0.287214, 0.78967, 0.567398, 0.252215, 0.120755, 0.959086, 0.0479171, 0.11374, 0.496431, 0.805225, 0.324546, 0.689093, 0.466023, 0.625236, 0.00472004, 0.591252, 0.384503, 0.542377, 0.90085, 0.00122121, 0.269388, 0.895873, 0.159084, 0.37047, 0.42162, 0.940574, 0.258733, 0.529226, 0.693492, 0.505791, 0.294256, 0.898773, 0.419368, 0.480522, 0.564886, 0.176224, 0.921276, 0.792116, 0.16608, 0.162783, 0.671904, 0.264497, 0.617866, 0.447074, 0.258017, 0.974751, 0.336274, 0.462277, 0.95055, 0.523666, 0.409062, 0.183054, 0.699761, 0.375878, 0.86722, 0.770883, 0.000851633, 0.251526, 0.549471, 0.449181, 0.95701, 0.927214, 0.981551, 0.826636, 0.733184, 0.96642, 0.629246, 0.636909, 0.53124, 0.179606, 0.464742, 0.0400807, 0.604443, 0.330255, 0.072674, 0.932621, 0.204053, 0.776848, 0.379215, 0.885377, 0.556823, 0.85463, 0.337601, 0.323212, 0.690609, 0.857476, 0.160593, 0.777465, 0.137037, 0.151911, 0.487994, 0.323686, 0.281968, 0.477483, 0.106987, 0.995125, 0.449014, 0.723742, 0.86978, 0.811594, 0.790774, 0.28724, 0.194595, 0.849272, 0.603875, 0.880154, 0.919798, 0.101893, 0.831234, 0.190585, 0.953663, 0.338354, 0.483885, 0.276068, 0.302059, 0.437448, 0.245571, 0.476639, 0.691866, 0.339166, 0.193713, 0.897117, 0.264888, 0.287271, 0.461854, 0.388697, 0.265172, 0.629611, 0.651171, 0.325438, 0.120362, 0.626797, 0.147897, 0.549682, 0.223586, 0.127779, 0.503829, 0.878814, 0.0331089, 0.808739, 0.720965, 0.380705, 0.965217, 0.74141, 0.858958, 0.2002, 0.922087, 0.305936, 0.497151, 0.881819, 0.150455, 0.00640164, 0.509484, 0.0341554, 0.0508411, 0.560729, 0.660507, 0.269282, 0.87427, 0.145757, 0.0990064, 0.443958, 0.993314, 0.180677, 0.36549, 0.11974, 0.486402, 0.666158, 0.987996, 0.49794, 0.809442, 0.399304, 0.682552, 0.279349, 0.41605, 0.972327, 0.212928, 0.0103477, 0.220735, 0.252542, 0.317357, 0.460478, 0.574865, 0.688563, 0.53697, 0.034205, 0.552818, 0.454708, 0.298627, 0.785054, 0.908282, 0.377482, 0.842075, 0.226792, 0.589935, 0.985318, 0.869989, 0.885076, 0.487119, 0.821329, 0.255379, 0.845923, 0.507132, 0.525322, 0.348076, 0.414321, 0.0778961, 0.627172, 0.686471, 0.263352, 0.664414, 0.652894, 0.0247953, 0.10795, 0.839704, 0.476985, 0.247435, 0.143884, 0.7085, 0.0136472, 0.242428, 0.739944, 0.988595, 0.822596, 0.10532, 0.0772491, 0.335011, 0.0657931, 0.520807, 0.206022, 0.245193, 0.325074, 0.904524, 0.0739077, 0.571638, 0.931064, 0.297146, 0.61685, 0.509237, 0.322162, 0.475656, 0.544813, 0.512851, 0.172579, 0.142968, 0.0879005, 0.534363, 0.339804, 0.453303, 0.864434, 0.433077, 0.628966, 0.598438, 0.114274, 0.595906, 0.730428, 0.067732, 0.700871, 0.369155, 0.442389, 0.724598, 0.0460155, 0.532052, 0.705064, 0.611344, 0.842466, 0.232252, 0.0262844, 0.302999, 0.953524, 0.57827, 0.0302192, 0.278318, 0.718003, 0.195293, 0.297784, 0.330832, 0.969948, 0.133409, 0.93693, 0.580152, 0.511166, 0.499904, 0.186629, 0.268931, 0.767583, 0.302701, 0.615334, 0.628826, 0.255051, 0.97305, 0.795311, 0.775532, 0.689835, 0.237078, 0.360954, 0.417174, 0.723748, 0.179876, 0.400633, 0.972136, 0.0871248, 0.303728, 0.732359, 0.574555, 0.263276, 0.345694, 0.816845, 0.903077, 0.561636, 0.742531, 0.749078, 0.134299, 0.492476, 0.158188, 0.934725, 0.953813, 0.295708, 0.986498, 0.611067, 0.177715, 0.949316, 0.185606, 0.718663, 0.573143, 0.0588703, 0.9727, 0.184714, 0.504238, 0.00728518, 0.914093, 0.418517, 0.554102, 0.43792, 0.157187, 0.335394, 0.893068, 0.703491, 0.614429, 0.704899, 0.477428, 0.594464, 0.447295, 0.997049, 0.416729, 0.940063, 0.0139116, 0.133896, 0.796255, 0.897123, 0.647964, 0.38058, 0.392299, 0.623965, 0.904776, 0.828072, 0.634806, 0.515089, 0.662495, 0.0338738, 0.801784, 0.834025, 0.417127, 0.356752, 0.826879, 0.613938, 0.771592, 0.899979, 0.108727, 0.173881, 0.729641, 0.249908, 0.382414, 0.534933, 0.122459, 0.00843437, 0.469932, 0.695537, 0.0181435, 0.343332, 0.518371, 0.975779, 0.471192, 0.508717, 0.760328, 0.858131, 0.3114, 0.698017, 0.750423, 0.948294, 0.752613, 0.902856, 0.405749, 0.518239, 0.811451, 0.338463, 0.970454, 0.905129, 0.920309, 0.459484, 0.829674, 0.15217, 0.803506, 0.1393, 0.37536, 0.102592, 0.231604, 0.61563, 0.140626, 0.618238, 0.178371, 0.649203, 0.163589, 0.211339, 0.0198645, 0.179293, 0.555218, 0.499426, 0.585758, 0.219774, 0.497085, 0.384709, 0.781305, 0.74623, 0.40446, 0.499456, 0.158322, 0.101463, 0.944175, 0.976697, 0.387152, 0.0874108, 0.291747, 0.522671, 0.469613, 0.86634, 0.428619, 0.0614372, 0.0138539, 0.915759, 0.0601158, 0.363978, 0.89505, 0.796032, 0.635785, 0.798932, 0.476431, 0.392314, 0.0900049, 0.341118, 0.241749, 0.850912, 0.630465, 0.976522, 0.665516, 0.7818, 0.361505, 0.662432, 0.846545, 0.0819307, 0.481853, 0.881906, 0.982353, 0.824495, 0.347854, 0.772948, 0.872673, 0.482032, 0.456836, 0.525977, 0.150315, 0.342944, 0.0678741, 0.00531548, 0.697875, 0.390893, 0.216017, 0.85658, 0.937875, 0.945518, 0.18446, 0.736902, 0.0257816, 0.457051, 0.834324, 0.543669, 0.303268, 0.562745, 0.516526, 0.403206, 0.677522, 0.867852, 0.0560869, 0.392466, 0.262106, 0.520758, 0.0852706, 0.401975, 0.554367, 0.324352, 0.0913793, 0.0420227, 0.745377, 0.742523, 0.391214, 0.120072, 0.461411, 0.921767, 0.318642, 0.205453, 0.718482, 0.647235, 0.665684, 0.880746, 0.225931, 0.417575, 0.160898, 0.421059, 0.961636, 0.0697897, 0.983723, 0.910501, 0.798282, 0.997332, 0.969685, 0.907608, 0.500216, 0.300856, 0.710867, 0.780875, 0.276026, 0.972886, 0.266782, 0.151579, 0.248001, 0.171248, 0.670606, 0.845464, 0.0556738, 0.694453, 0.895476, 0.95073, 0.479478, 0.595215, 0.21304, 0.266815, 0.931071, 0.950242, 0.729106, 0.922297, 0.454995, 0.49376, 0.33428, 0.940673, 0.388845, 0.245484, 0.823545, 0.879505, 0.269529, 0.591644, 0.251293, 0.480068, 0.92831, 0.117461, 0.201973, 0.112129, 0.780206, 0.428074, 0.941058, 0.719312, 0.571449, 0.214453, 0.986236, 0.201239, 0.674788, 0.672823, 0.526929, 0.270598, 0.732538, 0.0254235, 0.796492, 0.687063, 0.785137, 0.880443, 0.73402, 0.540099, 0.269576, 0.496429, 0.254422, 0.225949, 0.993571, 0.997502, 0.813347, 0.242718, 0.325313, 0.139629, 0.746575, 0.773937, 0.788561, 0.696432, 0.177798, 0.445375, 0.988983, 0.286481, 0.400972, 0.640031, 0.55383, 0.3627, 0.378497, 0.125882, 0.358582, 0.543147, 0.900968, 0.217309, 0.597306, 0.30873, 0.385701, 0.41532, 0.719299, 0.64301, 0.489881, 0.505181, 0.101254, 0.935507, 0.519913, 0.0411447, 0.0826704, 0.625998, 0.872168, 0.5911, 0.646805, 0.837528, 0.0294726, 0.292544, 0.773749, 0.1642, 0.623435, 0.965808, 0.462676, 0.915788, 0.0474685, 0.578581, 0.696498, 0.450402, 0.833004, 0.610198, 6.22247e-05, 0, 0.0411785, 0.859191, 0.655521, 0.207606, 0.0515503, 0.767413, 0.247735, 0.685529, 0.927673, 0.377235, 0.437481, 0.911763, 0.229175, 0.995564, 0.237449, 0.540573, 0.954935, 0.864006, 0.110553, 0.247096, 0.680161, 0.796481, 0.75947, 0.346903, 0.862562, 0.976349, 0.85767, 0.116603, 0.0293972, 0.880856, 0.414829, 0.622484, 0.364544, 0.867673, 0.762814, 0.68332, 0.502251, 0.572492, 0.122969, 0.199045, 0.216532, 0.998303, 0.629116, 0.239194, 0.867324, 0.22501, 0.977933, 0.542218, 0.936295, 0.3942, 0.396093, 0.517408, 0.874036, 0.402867, 0.102063, 0.577422, 0.227301, 0.346674, 0.603723, 0.390422, 0.765895, 0.0627359, 0.56111, 0.85565, 0.64603, 0.250506, 0.573624, 0.392633, 0.738647, 0.415252, 0.0487958, 0.266969, 0.716005, 0.733683, 0.260375, 0.955279, 0.349567, 0.0837205, 0.23522, 0.152549, 0.732474, 0.924649, 0.844459, 0.900002, 0.534889, 0.105909, 0.158404, 0.259559, 0.346455, 0.514716, 0.855091, 0.995828, 0.504762, 0.117295, 0.365729, 0.288279, 0.409852, 0.97426, 0.837714, 0.767852, 0.600203, 0.456274, 0.361133, 0.384121, 0.847328, 0.993283, 0.138267, 0.215819, 0.260646, 0.492023, 0.661658, 0.00755343, 0.177718, 0.0375619, 0.526101, 0.210125, 0.542744, 0.772439, 0.399343, 0.207763, 0.208483, 0.643718, 0.705793, 0.0503072, 0.458125, 0.592714, 0.166993, 0.45621, 0.279284, 0.757498, 0.35156, 0.795765, 0.61819, 0.282813, 0.603972, 0.358331, 0.749881, 0.555426, 0.644511, 0.153439, 0.849958, 0.538708, 0.746961, 0.993012, 0.144348, 0.675978, 0.497899, 0.387301, 0.705768, 0.168563, 0.338133, 0.89447, 0.331813, 0.745346, 0.275094, 0.194522, 0.36614, 0.843491, 0.379024, 0.295109, 0.112574, 0.319397, 0.593917, 0.897922, 0.226558, 0.355303, 0.722264, 0.0777364, 0.872702, 0.511083, 0.749809, 0.485488, 0.177254, 0.437233, 0.950956, 0.816707, 0.684253, 0.308925, 0.226315, 0.799656, 0.339596, 0.237148, 0.772012, 0.896609, 0.718736, 0.978604, 0.601101, 0.686094, 0.764597, 0.518077, 0.417215, 0.439026, 0.053551, 0.427255, 0.494392, 0.421036, 0.716186, 0.123023, 0.166491, 0.604351, 0.283138, 0.16794, 0.175683, 0.94473, 0.119732, 0.560689, 0.738961, 0.923031, 0.173492, 0.557516, 0.501461, 0.679278, 0.44261, 0.473015, 0.915764, 0.213147, 0.475543, 0.68471, 0.688122, 0.837873, 0.71955, 0.228631, 0.729914, 0.750836, 0.0245915, 0.965777, 0.00775968, 0.289455, 0.729944, 0.585787, 0.00711482, 0.524292, 0.230204, 0.182254, 0.606495, 0.912214, 0.608086, 0.135869, 0.773862, 0.33308, 0.341252, 0.608657, 0.498542, 0.404089, 0.245638, 0.95323, 0.695819, 0.73861, 0.909312, 0.853306, 0.493841, 0.398906, 0.941977, 0.206938, 0.0221683, 0.465367, 0.872358, 0.54107, 0.0204105, 0.779591, 0.361977, 0.659539, 0.779929, 0.468623, 0.906688, 0.686451, 0.202932, 0.540069, 0.432716, 0.534377, 0.85311, 0.436728, 0.827886, 0.107042, 0.985658, 0.529532, 0.148711, 0.958524, 0.339531, 0.290338, 0.623354, 0.0320311, 0.103555, 0.99016, 0.222377, 0.289018, 0.7196, 0.58343, 0.452294, 0.374487, 0.830092, 0.248397, 0.09829, 0.135354, 0.269151, 0.100021, 0.144964, 0.31565, 0.630972, 0.888977, 0.596952, 0.930832, 0.829127, 0.82261, 0.300651, 0.678178, 0.93958, 0.657061, 0.675248, 0.425583, 0.802645, 0.796832, 0.15651, 0.635741, 0.663012, 0.329877, 0.236143, 0.323548, 0.96514, 0.579784, 0.968874, 0.360067, 0.417122, 0.958193, 0.490492, 0.0246663, 0.119957, 0.918093, 0.784963, 0.716396, 0.158781, 0.213394, 0.802652, 0.719948, 0.287712, 0.531416, 0.693411, 0.726481, 0.616615, 0.195557, 0.208021, 0.242683, 0.0330871, 0.396466, 0.992229, 0.0413355, 0.0352372, 0.795598, 0.983521, 0.217654, 0.869123, 0.361079, 0.465161, 0.169655, 0.774527, 0.896807, 0.211099, 0.310754, 0.871354, 0.0920743, 0.742347, 0.450827, 0.240016, 0.310487, 0.503972, 0.420965, 0.730176, 0.1591, 0.956224, 0.562719, 0.463296, 0.255851, 0.308371, 0.932974, 0.31193, 0.314475, 0.48931, 0.406459, 0.143155, 0.813925, 0.741533, 0.722603, 0.640151, 0.246176, 0.71365, 0.0582433, 0.182494, 0.203181, 0.0252758, 0.170128, 0.0154096, 0.545356, 0.691287, 0.543397, 0.657228, 0.198367, 0.050693, 0.989451, 0.392412, 0.977029, 0.158677, 0.6048, 0.144091, 0.206844, 0.287143, 0.534673, 0.809228, 0.0490723, 0.272467, 0.134396, 0.800014, 0.247246, 0.180526, 0.00970631, 0.28212, 0.80893, 0.620354, 0.126275, 0.971839, 0.461178, 0.704497, 0.809704, 0.0249421, 0.555697, 0.443986, 0.974597, 0.0484623, 0.475298, 0.710143, 0.0737412, 0.683967, 0.192841, 0.528177, 0.207987, 0.827586, 0.974087, 0.28409, 0.938781, 0.81852, 0.925814, 0.0168007, 0.397425, 0.92286, 0.959022, 0.824113, 0.375998, 0.214659, 0.619089, 0.606103, 0.408412, 0.212213, 0.0110221, 0.267765, 0.779957, 0.687957, 0.551054, 0.361363, 0.900813, 0.290075, 0.294512, 0.82821, 0.000464103, 0.531166, 0.0299319, 0.329931, 0.556661, 0.478818, 0.885471, 0.397674, 0.286788, 0.420382, 0.51655, 0.0840922, 0.32378, 0.146968, 0.295532, 0.709525, 0.962847, 0.64998, 0.626175, 0.780055, 0.882195, 0.690406, 0.353004, 0.603298, 0.0138161, 0.736676, 0.796787, 0.727109, 0.900816, 0.830962, 0.618743, 0.256615, 0.137908, 0.345018, 0.211881, 0.237058, 0.424252, 0.895004, 0.324775, 0.352619, 0.672136, 0.777687, 0.0412988, 0.336073, 0.044487, 0.162455, 0.571928, 0.775161, 0.0598284, 0.103342, 0.289797, 0.249067, 0.841106, 0.482185, 0.123463, 0.706085, 0.115408, 0.183014, 0.305931, 0.435523, 0.72183, 0.101241, 0.623748, 0.826689, 0.823315, 0.731713, 0.245546, 0.747985, 0.62042, 0.210347, 0.517732, 0.0731075, 0.698874, 0.551502, 0.964809, 0.49113, 0.355327, 0.612016, 0.992566, 0.995265, 0.110563, 0.185823, 0.0558226, 0.597782, 0.687722, 0.717823, 0.106035, 0.673452, 0.23909, 0.157253, 0.370636, 0.320584, 0.0860948, 0.947806, 0.723712, 0.53805, 0.440841, 0.104642, 0.845375, 0.923537, 0.124704, 0.363094, 0.47602, 0.861782, 0.853319, 0.729837, 0.853504, 0.21487, 0.0798665, 0.700028, 0.501551, 0.272565, 0.669036, 0.666588, 0.301293, 0.921911, 0.787095, 0.113293, 0.103385, 0.586283, 0.892409, 0.801211, 0.0599081, 0.00342777, 0.365385, 0.44095, 0.0579287, 0.599827, 0.594688, 0.142849, 0.38251, 0.266457, 0.0338388, 0.659333, 0.058457, 0.84654, 0.628473, 0.68027, 0.37167, 0.60575, 0.509744, 0.351389, 0.907622, 0.470353, 0.103798, 0.349986, 0.253429, 0.912378, 0.197613, 0.0403265, 0.718182, 0.321399, 0.816728, 0.405303, 0.930749, 0.873826, 0.342084, 0.91444, 0.506306, 0.540239, 0.520183, 0.0531438, 0.661585, 0.216863, 0.687307, 0.744595, 0.128469, 0.282228, 0.147632, 0.261348, 0.403563, 0.556329, 0.711454, 0.735371, 0.394171, 0.0998056, 0.939845, 0.627765, 0.521008, 0.801396, 0.875959, 0.529241, 0.835645, 0.68269, 0.794094, 0.583255, 0.197031, 0.786035, 0.789505, 0.0206315, 0.119318, 0.71412, 0.567799, 0.685548, 0.402881, 0.834494, 0.0120164, 0.464563, 0.0753865, 0.868625, 0.522893, 0.265454, 0.753043, 0.796171, 0.904817, 0.802953, 0.874958, 0.457281, 0.772562, 0.482614, 0.976987, 0.106311, 0.0848561, 0.440729, 0.800565, 0.179723, 0.512816, 0.891459, 0.868742, 0.227092, 0.838788, 0.432586, 0.884191, 0.862725, 0.637822, 0.0416964, 0.320266, 0.362191, 0.51315, 0.271657, 0.622642, 0.918343, 0.507689, 0.883793, 0.0151057, 0.900886, 0.111859, 0.272461, 0.68563, 0.712316, 0.775663, 0.413346, 0.139965, 0.0721885, 0.00238312, 0.832212, 0.870448, 0.244973, 0.896541, 0.3968, 0.594492, 0.450633, 0.332836, 0.176933, 0.989478, 0.819047, 0.318671, 0.997486, 0.459574, 0.531382, 0.676055, 0.186021, 0.520219, 0.584984, 0.752623, 0.215864, 0.730526, 0.142256, 0.135467, 0.251752, 0.363863, 0.784571, 0.562725, 0.326132, 0.391506, 0.917935, 0.90171, 0.348224, 0.732252, 0.264694, 0.722058, 0.626816, 0.616161, 0.905295, 0.753425, 0.140744, 0.840926, 0.199702, 0.94351, 0.566404, 0.974086, 0.117986, 0.44177, 0.512758, 0.162812, 0.0109521, 0.61362, 0.401823, 0.925966, 0.67179, 0.762002, 0.804603, 0.649834, 0.108046, 0.467499, 0.804791, 0.748045, 0.346442, 0.803652, 0.072031, 0.0824681, 0.507788, 0.487754, 0.896763, 0.155103, 0.770115, 0.508962, 0.300837, 0.405953, 0.656408, 0.745977, 0.813832, 0.605795, 0.60065, 0.338622, 0.520063, 0.709365, 0.302564, 0.160525, 0.048934, 0.153211, 0.0979693, 0.585246, 0.186601, 0.104683, 0.526775, 0.575317, 0.391016, 0.528485, 0.321211, 0.513313, 0.387521, 0.300061, 0.765065, 0.960063, 0.414842, 0.144672, 0.897634, 0.608502, 0.676946, 0.664397, 0.758205, 0.520737, 0.140404, 0.615097, 0.594392, 0.117755, 0.163315, 0.784954, 0.453251, 0.177082, 0.308442, 0.230545, 0.903297, 0.0287393, 0.186035, 0.0274551, 0.221591, 0.0244356, 0.825862, 0.477338, 0.279893, 0.851118, 0.0369037, 0.420337, 0.917385, 0.362971, 0.637056, 0.154318, 0.238798, 0.208739, 0.207914, 0.35731, 0.192295, 0.382615, 0.302854, 0.473778, 0.263131, 0.725213, 0.553648, 0.32837, 0.687852, 0.844986, 0.404409, 0.955623, 0.716102, 0.168598, 0.440793, 0.571197, 0.587134, 0.667834, 0.797521, 0.378882, 0.745483, 0.967265, 0.734528, 0.70659, 0.0987761, 0.169321, 0.224566, 0.156711, 0.665174, 0.360337, 0.342941, 0.646013, 0.569375, 0.0520218, 0.307188, 0.483498, 0.0966246, 0.575242, 0.636486, 0.116221, 0.68448, 0.536513, 0.854833, 0.190295, 0.464203, 0.914419, 0.31244, 0.977715, 0.238248, 0.317084, 0.199165, 0.280563, 0.502374, 0.962288, 0.39752, 0.398971, 0.339705, 0.298167, 0.00745649, 0.430209, 0.0049989, 0.916446, 0.226556, 0.783824, 0.7886, 0.384806, 0.399715, 0.646267, 0.827764, 0.48317, 0.363454, 0.58678, 0.666656, 0.516185, 0.641497, 0.401608, 0.925708, 0.355058, 0.783326, 0.194907, 0.185221, 0.292976, 0.336547, 0.241921, 0.222978, 0.187937, 0.683499, 0.150161, 0.620385, 0.197871, 0.629519, 0.0419284, 0.446319, 0.857916, 0.979779, 0.673601, 0.623399, 0.154907, 0.333154, 0.520113, 0.251476, 0.703618, 0.277157, 0.734134, 0.602624, 0.139334, 0.929815, 0.476717, 0.960694, 0.363647, 0.706484, 0.557967, 0.423039, 0.121962, 0.00342579, 0.488256, 0.756788, 0.415958, 0.920675, 0.0641799, 0.351439, 0.967031, 0.624833, 0.208773, 0.644032, 0.659612, 0.465326, 0.804165, 0.369814, 0.494975, 0.593309, 0.121057, 0.760649, 0.57331, 0.666261, 0.509377, 0.0407056, 0.320824, 0.521182, 0.339379, 0.992081, 0.515415, 0.334697, 0.210323, 0.15901, 0.645126, 0.517365, 0.0254992, 0.0293763, 0.0402495, 0.55812, 0.0026102, 0.656146, 0.103478, 0.064676, 0.129345, 0.171191, 0.755335, 0.125466, 0.275713, 0.105061, 0.804497, 0.290957, 0.510088, 0.49273, 0.194512, 0.710476, 0.403731, 0.686556, 0.00178038, 0.0815327, 0.771339, 0.0723332, 0.663185, 0.540845, 0.950231, 0.0367804, 0.526287, 0.806363, 0.800921, 0.642395, 0.859062, 0.453283, 0.487073, 0.150936, 0.539645, 0.116233, 0.0308348, 0.736589, 0.0493481, 0.758945, 0.758195, 0.0617706, 0.807089, 0.492916, 0.399608, 0.143526, 0.139158, 0.8796, 0.197779, 0.0779595, 0.362362, 0.300692, 0.97851, 0.0104698, 0.192644, 0.52008, 0.693706, 0.248541, 0.162401, 0.831241, 0.756625, 0.419994, 0.886374, 0.353068, 0.428672, 0.416551, 0.675976, 0.812775, 0.0956979, 0.595431, 0.978533, 0.419428, 0.840427, 0.473783, 0.468809, 0.914212, 0.258228, 0.0150147, 0.1587, 0.672666, 0.248187, 0.771647, 0.296073, 0.564261, 0.0125839, 0.276965, 0.953613, 0.275472, 0.778582, 0.648744, 0.238095, 0.276708, 0.416537, 0.682565, 0.378771, 0.28988, 0.824362, 0.433932, 0.517288, 0.199239, 0.744395, 0.0606235, 0.118995, 0.472289, 0.500232, 0.698422, 0.418463, 0.457558, 0.917576, 0.686001, 0.796715, 0.402792, 0.127562, 0.427651, 0.853585, 0.972814, 0.105973, 0.0793423, 0.98116, 0.875042, 0.537331, 0.0799635, 0.179769, 0.902929, 0.405648, 0.685454, 0.111112, 0.459766, 0.808524, 0.921564, 0.537707, 0.405669, 0.72745, 0.78815, 0.688579, 0.22489, 0.187582, 0.546279, 0.634652, 0.651952, 0.314304, 0.525059, 0.611764, 0.855956, 0.718273, 0.142821, 0.0453707, 0.896863, 0.092679, 0.747219, 0.917571, 0.0731972, 0.661405, 0.604927, 0.779198, 0.299365, 0.370233, 0.53524, 0.729707, 0.816524, 0.70501, 0.0218381, 0.892949, 0.319046, 0.401738, 0.980237, 0.557396, 0.479661, 0.600171, 0.457313, 0.799489, 0.389206, 0.177254, 0.684324, 0.747074, 0.295869, 0.646938, 0.570394, 0.891639, 0.191201, 0.444248, 0.320299, 0.128295, 0.890203, 0.040049, 0.773338, 0.775279, 0.0896363, 0.977285, 0.699413, 0.686892, 0.0928151, 0.084222, 0.772234, 0.90879, 0.322252, 0.424111, 0.456582, 0.211281, 0.152547, 0.822845, 0.651525, 0.0951654, 0.318529, 0.680529, 0.560494, 0.146471, 0.559511, 0.522097, 0.016973, 0.854451, 0.208366, 0.661677, 0.257037, 0.490394, 0.456836, 0.847955, 0.430229, 0.413986, 0.0327207, 0.0701416, 0.692481, 0.296655, 0.239411, 0.620993, 0.623729, 0.777375, 0.167906, 0.405074, 0.792154, 0.339251, 0.549165, 0.753816, 0.809805, 0.447473, 0.167136, 0.870296, 0.0685248, 0.411249, 0.677873, 0.797643, 0.872939, 0.950203, 0.507292, 0.355899, 0.170323, 0.0360475, 0.0984876, 0.596622, 0.113763, 0.805821, 0.236725, 0.976801, 0.575419, 0.412835, 0.948665, 0.509121, 0.373124, 0.493966, 0.392151, 0.392559, 0.0173065, 0.408415, 0.845881, 0.919762, 0.0896031, 0.881383, 0.18597, 0.449703, 0.961568, 0.75411, 0.884792, 0.478236, 0.257587, 0.336347, 0.489798, 0.0544795, 0.865432, 0.0746668, 0.583166, 0.428413, 0.104698, 0.349547, 0.268296, 0.989102, 0.542171, 0.889369, 0.34159, 0.837643, 0.714933, 0.478829, 0.188563, 0.948085, 0.643688, 0.413322, 0.431801, 0.897449, 0.844409, 0.412101, 0.782565, 0.583747, 0.470898, 0.560576, 0.47433, 0.947986, 0.914791, 0.766427, 0.840075, 0.736528, 0.391112, 0.0779203, 0.614396, 0.899694, 0.818001, 0.837299, 0.21808, 0.0983637, 0.280336, 0.690076, 0.544788, 0.661167, 0.315425, 0.519439, 0.476031, 0.766445, 0.0687238, 0.744265, 0.676296, 0.780267, 0.307157, 0.114418, 0.953155, 0.606454, 0.0678382, 0.601885, 0.922897, 0.251749, 0.445381, 0.430273, 0.925937, 0.638047, 0.755144, 0.806439, 0.0134726, 0.568747, 0.797883, 0.93462, 0.147489, 0.306003, 0.413368, 0.421044, 0.750507, 0.28604, 0.446963, 0.672784, 0.352725, 0.659517, 0.160887, 0.389207, 0.593233, 0.711809, 0.727853, 0.0642025, 0.0863785, 0.792148, 0.361738, 0.830872, 0.237105, 0.0331161, 0.983638, 0.362169, 0.794195, 0.567723, 0.844493, 0.691288, 0.522534, 0.883798, 0.174394, 0.297631, 0.619723, 0.977114, 0.814397, 0.681646, 0.272901, 0.236517, 0.630671, 0.595642, 0.336958, 0.562712, 0.436264, 0.602713, 0.235842, 0.768013, 0.542674, 0.126802, 0.69415, 0.17002, 0.0721962, 0.0351405, 0.423934, 0.471369, 0.110266, 0.484458, 0.626199, 0.893436, 0.0237165, 0.098868, 0.868058, 0.0757324, 0.316806, 0.254852, 0.081038, 0.965093, 0.646502, 0.274202, 0.219023, 0.331691, 0.616875, 0.408186, 0.726399, 0.64896, 0.614542, 0.522084, 0.0607258, 0.254803, 0.65864, 0.268795, 0.638914, 0.370013, 0.433378, 0.215782, 0.446804, 0.158273, 0.933446, 0.553875, 0.656215, 0.34912, 0.863566, 0.145065, 0.934189, 0.532389, 0.559081, 0.0621524, 0.767997, 0.0521405, 0.896336, 0.59747, 0.815893, 0.358119, 0.533253, 0.0533899, 0.697997, 0.398086, 0.806873, 0.536107, 0.670902, 0.0290292, 0.853767, 0.110528, 0.971958, 0.34728, 0.957664, 0.7272, 0.522413, 0.81057, 0.180915, 0.913719, 0.991148, 0.872248, 0.381889, 0.670106, 0.487412, 0.775037, 0.0100907, 0.147778, 0.989031, 0.801157, 0.803673, 0.741123, 0.443324, 0.566872, 0.9629, 0.785281, 0.0206614, 0.0767667, 0.135757, 0.431214, 0.731648, 0.13157, 0.409125, 0.0704587, 0.607701, 0.307404, 0.896607, 0.298252, 0.175596, 0.608234, 0.0569343, 0.196948, 0.765044, 0.314589, 0.0932817, 0.415534, 0.0846405, 0.41945, 0.240532, 0.040392, 0.535018, 0.582702, 0.141898, 0.54476, 0.466169, 0.995312, 0.390848, 0.30113, 0.140724, 0.898312, 0.800586, 0.98958, 0.290221, 0.110126, 0.626556, 0.465906, 0.300354, 0.502619, 0.936324, 0.665306, 0.363065, 0.754182, 0.890603, 0.522398, 0.112205, 0.906577, 0.463331, 0.367895, 0.412867, 0.265601, 0.453261, 0.726921, 0.246737, 0.903361, 0.495286, 0.414242, 0.912984, 0.124627, 0.350554, 0.737064, 0.878915, 0.625403, 0.406374, 0.00194901, 0.756148, 0.40521, 0.259131, 0.0812695, 0.924166, 0.890386, 0.0820119, 0.382096, 0.427365, 0.310918, 0.656358, 0.939914, 0.740649, 0.698186, 0.0818523, 0.120588, 0.681149, 0.239396, 0.563299, 0.296759, 0.973287, 0.453024, 0.637589, 0.644246, 0.172662, 0.759961, 0.759096, 0.727529, 0.788149, 0.388684, 0.881467, 0.656818, 0.173998, 0.630006, 0.583091, 0.442432, 0.609266, 0.0291625, 0.360219, 0.0116448, 0.388861, 0.0595606, 0.905221, 0.726779, 0.791643, 0.852218, 0.009965, 0.442634, 0.596469, 0.301522, 0.0254079, 0.936714, 0.629599, 0.0676402, 0.10361, 0.713801, 0.426539, 0.590474, 0.317061, 0.696206, 0.885209, 0.638934, 0.383698, 0.357235, 0.0759967, 0.591594, 0.279815, 0.72634, 0.0414329, 0.562933, 0.560525, 0.992872, 0.419204, 0.137397, 0.64008, 0.384573, 0.168369, 0.995674, 0.531296, 0.492118, 0.825175, 0.536092, 0.658034, 0.923019, 0.566845, 0.174497, 0.0648834, 0.795544, 0.451354, 0.0594561, 0.909489, 0.140509, 0.856169, 0.467122, 0.826275, 0.559361, 0.431642, 0.484415, 0.620942, 0.450704, 0.733447, 0.535407, 0.527538, 0.174466, 0.413084, 0.124406, 0.536978, 0.219521, 0.846492, 0.435244, 0.210887, 0.151809, 0.568871, 0.26238, 0.754607, 0.91273, 0.682741, 0.199788, 0.873412, 0.0294868, 0.434353, 0.542414, 0.500791, 0.944282, 0.952254, 0.016458, 0.325404, 0.651054, 0.919068, 0.44105, 0.498539, 0.25034, 0.849116, 0.947194, 0.942902, 0.111705, 0.726453, 0.433599, 0.0992087, 0.326026, 0.580676, 0.152708, 0.316492, 0.297374, 0.176834, 0.0701395, 0.350888, 0.874863, 0.550583, 0.876144, 0.722012, 0.636697, 0.00827379, 0.110606, 0.242694, 0.351289, 0.313232, 0.954827, 0.953451, 0.65917, 0.223748, 0.125494, 0.0477873, 0.296042, 0.907612, 0.157689, 0.187254, 0.889215, 0.293049, 0.790306, 0.555934, 0.975886, 0.316588, 0.312306, 0.432349, 0.993119, 0.937973, 0.156961, 0.608057, 0.203603, 0.962816, 0.479161, 0.160445, 0.0611037, 0.615232, 0.714553, 0.377501, 0.621024, 0.455021, 0.270713, 0.177508, 0.109005, 0.613595, 0.684462, 0.261818, 0.463075, 0.871642, 0.143501, 0.670796, 0.991097, 0.311024, 0.717062, 0.235616, 0.00088584, 0.754367, 0.0708614, 0.753091, 0.00138124, 0.597964, 0.269411, 0.424731, 0.449987, 0.459782, 0.72633, 0.586814, 0.53527, 0.31375, 0.0438741, 0.0987674, 0.148043, 0.978503, 0.502457, 0.334098, 0.252127, 0.955773, 0.392142, 0.244966, 0.373074, 0.763667, 0.557594, 0.429887, 0.976538, 0.892974, 0.0949663, 0.0202669, 0.658829, 0.691237, 0.544986, 0.783253, 0.595877, 0.679136, 0.368396, 0.0644006, 0.134609, 0.813503, 0.419295, 0.811985, 0.105355, 0.0249111, 0.983664, 0.908891, 0.717318, 0.568706, 0.977469, 0.375948, 0.427709, 0.809679, 0.016352, 0.690939, 0.565435, 0.069974, 0.847915, 0.738225, 0.171374, 0.172798, 0.846401, 0.266818, 0.561611, 0.716392, 0.191842, 0.617442, 0.989669, 0.868054, 0.561965, 0.0511846, 0.568623, 0.509219, 0.447648, 0.928562, 0.274747, 0.314033, 0.0772794, 0.925125, 0.639961, 0.606204, 0.396195, 0.940627, 0.301942, 0.155671, 0.923264, 0.522643, 0.933337, 0.0641777, 0.884564, 0.371769, 0.435249, 0.597622, 0.734302, 0.0482287, 0.0161611, 0.465568, 0.642532, 0.280151, 0.281151, 0.965285, 0.284192, 0.735406, 0.440712, 0.148275, 0.757897, 0.98578, 0.0201164, 0.802608, 0.976202, 0.190985, 0.999514, 0.284539, 0.773677, 0.492004, 0.674719, 0.265582, 0.00655045, 0.961205, 0.0673651, 0.37073, 0.110351, 0.0121133, 0.795218, 0.325636, 0.144443, 0.262261, 0.685698, 0.756412, 0.284352, 0.683444, 0.579955, 0.873003, 0.629087, 0.554893, 0.607224, 0.203311, 0.235679, 0.155369, 0.477025, 0.152465, 0.0223561, 0.260711, 0.0946126, 0.124039, 0.124129, 0.620445, 0.426583, 0.487999, 0.278801, 0.124027, 0.180552, 0.0610276, 0.449947, 0.335284, 0.988455, 0.597545, 0.0359206, 0.732713, 0.706581, 0.186795, 0.975545, 0.112312, 0.296893, 0.95706, 0.0703639, 0.701003, 0.410985, 0.136005, 0.957961, 0.0775584, 0.633984, 0.8589, 0.747672, 0.898553, 0.7566, 0.155273, 0.205962, 0.0812958, 0.706155, 0.855733, 0.452243, 0.579904, 0.102569], interpolation=LINEAR, skip_nulls=true, min_count=0}
[  FAILED  ] TestRandomInt64QuantileKernel.Overlapped (13 ms)
[ RUN      ] TestRandomInt64QuantileKernel.Sliced
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 66.94394890759834
Expected Value: 66.943948907598354
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
[  FAILED  ] TestRandomInt64QuantileKernel.Sliced (24 ms)
[----------] 4 tests from TestRandomInt64QuantileKernel (47 ms total)
[----------] 3 tests from TestRandomFloatQuantileKernel
[ RUN      ] TestRandomFloatQuantileKernel.Exact
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 124.6864762710842
Expected Value: 124.68647627108422
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0.455953, 0.921543, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506, 0.383346, 0.936233, 0.339629, 0.297952, 0.900499, 0.857184, 0.653614, 0.129542, 0.217169, 0.388928, 0.17698, 0.326413, 0.909206, 0.0306526, 0.974719, 0.703773, 0.993273, 0.380596, 0.233652, 0.234122, 0.630908, 0.530852, 0.666203, 0.234246, 0.921481, 1, 0.727928, 0.832278, 0.293703, 0.355026, 0.0545722, 0.590572, 0.699486, 0.269062, 0.722889, 0.696988, 0.173468, 0.508949, 0.599501, 0.458897, 0.983599, 0.331484, 0.865528, 0.461627, 0.400035, 0.168063, 0.157134, 0.109909, 0.710068, 0.182637, 0.690934, 0.135252, 0.899454, 0.504379, 0.660139, 0.764871, 0.853747, 0.848719, 0.0272836, 0.518163, 0.759279, 0.970537, 0.809002, 0.486462, 0.447079, 0.0464962, 0.973203, 0.54377, 0.541084, 0.291505, 0.619145, 0.911483, 0.728837, 0.636963, 0.776182, 0.034613, 0.4667, 0.128537, 0.536565, 0.557826, 0.0278804, 0.658133, 0.640968, 0.214674, 0, 0.803819, 0.877152, 0.95029, 0.423806, 0.493793], interpolation=LINEAR, skip_nulls=true, min_count=0}
[  FAILED  ] TestRandomFloatQuantileKernel.Exact (0 ms)
[ RUN      ] TestRandomFloatQuantileKernel.TDigest
[       OK ] TestRandomFloatQuantileKernel.TDigest (3 ms)
[ RUN      ] TestRandomFloatQuantileKernel.Sliced
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 124.78534557968042
Expected Value: 124.78534557968041
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 124.78534557968042
Expected Value: 124.78534557968041
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 56.062646181940785
Expected Value: 56.062646181940778
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
  Actual: false
Expected: true
  Actual Value: 82.431365553561236
Expected Value: 82.431365553561221
Google Test trace:
/builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
[  FAILED  ] TestRandomFloatQuantileKernel.Sliced (0 ms)
[----------] 3 tests from TestRandomFloatQuantileKernel (4 ms total)

@cyb70289
Copy link
Contributor

I tested arrow 16.1.0 tag in fedora42 container on an arm neoverse n2 server, but didn't reproduce this issue. All tests passed.
I'm using the same cmake command line as in the build log provided by @QuLogic.
What's the hardware running the build?

@QuLogic
Copy link
Contributor

QuLogic commented Nov 18, 2024

@cyb70289
Copy link
Contributor

From hardware info, the failure happens on neoverse-n1, probably in a virtual machine due to low cpu count.
I tested on a neoverse-n1 machine, still cannot reproduce the error. This is strange.

@QuLogic
Copy link
Contributor

QuLogic commented Nov 19, 2024

Also fails on s390x in a similar way:

s390x failures
29: [ RUN      ] TestRandomInt64QuantileKernel.Overlapped
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: -96.604516447145414
29: Expected Value: -96.6045164471454
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0.455953, 0.921543, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506, 0.383346, 0.936233, 0.339629, 0.297952, 0.900499, 0.857184, 0.653614, 0.129542, 0.217169, 0.388928, 0.17698, 0.326413, 0.909206, 0.0306526, 0.974719, 0.703773, 0.993273, 0.380596, 0.233652, 0.234122, 0.630908, 0.530852, 0.666203, 0.234246, 0.921481, 0.997352, 0.727928, 0.832278, 0.293703, 0.355026, 0.0545722, 0.590572, 0.699486, 0.269062, 0.722889, 0.696988, 0.173468, 0.508949, 0.599501, 0.458897, 0.983599, 0.331484, 0.865528, 0.461627, 0.400035, 0.168063, 0.157134, 0.109909, 0.710068, 0.182637, 0.690934, 0.135252, 0.899454, 0.504379, 0.660139, 0.764871, 0.853747, 0.848719, 0.0272836, 0.518163, 0.759279, 0.970537, 0.809002, 0.486462, 0.447079, 0.0464962, 0.973203, 0.54377, 0.541084, 0.291505, 0.619145, 0.911483, 0.728837, 0.636963, 0.776182, 0.034613, 0.4667, 0.128537, 0.536565, 0.557826, 0.0278804, 0.658133, 0.640968, 0.214674, 0.00936576, 0.803819, 0.877152, 0.95029, 0.423806, 0.493793, 0.841125, 0.359482, 0.404914, 0.172006, 0.35687, 0.450437, 0.2964, 0.44098, 0.151952, 0.602233, 0.878962, 0.840874, 0.282119, 0.89877, 0.000634424, 0.187171, 0.278135, 0.4988, 0.152097, 0.556516, 0.175967, 0.596536, 0.0186029, 0.132065, 0.933871, 0.131683, 0.567401, 0.197444, 0.656939, 0.284921, 0.804436, 0.412908, 0.561427, 0.748628, 0.250415, 0.230743, 0.0432755, 0.409903, 0.147285, 0.881642, 0.400351, 0.477739, 0.0739613, 0.287301, 0.80888, 0.0641656, 0.583566, 0.739248, 0.947711, 0.920055, 0.408739, 0.504036, 0.423047, 0.220754, 0.997771, 0.793563, 0.517629, 0.025231, 0.913275, 0.00103728, 0.763836, 0.304314, 0.813199, 0.55936, 0.270574, 0.109522, 0.51708, 0.66076, 0.963825, 0.289866, 0.880283, 0.996411, 0.240723, 0.0678465, 0.188415, 0.285935, 0.770613, 0.570434, 0.319003, 0.945217, 0.186701, 0.983169, 0.202902, 0.324237, 0.807664, 0.271696, 0.0587016, 0.283663, 0.000954976, 0.0382351, 0.397298, 0.404526, 0.36703, 0.517531, 0.498755, 0.311409, 0.507991, 0.401791, 0.726492, 0.0446453, 0.511205, 0.90243, 0.738288, 0.165134, 0.928797, 0.987389, 0.109776, 0.842537, 0.719231, 0.214216, 0.379606, 0.845322, 0.955747, 0.328652, 0.915013, 0.57356, 0.134076, 0.0241821, 0.020113, 0.0299267, 0.160571, 0.915679, 0.567156, 0.2347, 0.796452, 0.24093, 0.175581, 0.983378, 0.633461, 0.685453, 0.689408, 0.493696, 0.299353, 0.4529, 0.279605, 0.14219, 0.753566, 0.811835, 0.200649, 0.599732, 0.563584, 0.827789, 0.474211, 0.535733, 0.827023, 0.973095, 0.627146, 0.742883, 0.576517, 0.000509707, 0.55291, 0.471952, 0.878885, 0.493843, 0.692889, 0.408453, 0.182746, 0.945522, 0.33455, 0.644239, 0.482905, 0.691455, 0.389872, 0.195186, 0.109201, 0.0656652, 0.0396657, 0.916877, 0.0845861, 0.959574, 0.770136, 0.503348, 0.0225591, 0.921746, 0.251277, 0.979461, 0.453607, 0.616981, 0.90173, 0.925597, 0.201789, 0.309968, 0.457685, 0.0472081, 0.77899, 0.0013766, 0.692367, 0.362196, 0.27748, 0.884218, 0.310381, 0.222766, 0.0411604, 0.543143, 0.593627, 0.894135, 0.721916, 0.417936, 0.606306, 0.546079, 0.268634, 0.186463, 0.924429, 0.209844, 0.858063, 0.407882, 0.667514, 0.613343, 0.0423775, 0.985294, 0.616905, 0.0201963, 0.298696, 0.24807, 0.648685, 0.960897, 0.708083, 0.113586, 0.707494, 0.124366, 0.081117, 0.773962, 0.708876, 0.752204, 0.675004, 0.246842, 0.633578, 0.838132, 0.879189, 0.261342, 0.0580252, 0.1741, 0.0902317, 0.375481, 0.314646, 0.193613, 0.426445, 0.351538, 0.958129, 0.434199, 0.885359, 0.686815, 0.0830589, 0.079623, 0.985222, 0.723519, 0.170911, 0.34518, 0.555379, 0.0385881, 0.269033, 0.145101, 0.754818, 0.497914, 0.195308, 0.440626, 0.324197, 0.796279, 0.545164, 0.297028, 0.389126, 0.365788, 0.825955, 0.0997818, 0.545839, 0.876465, 0.0363211, 0.330428, 0.444553, 0.551731, 0.884465, 0.512897, 0.901, 0.466488, 0.0976573, 0.141909, 0.424742, 0.949088, 0.300172, 0.327024, 0.951026, 0.924899, 0.147546, 0.550729, 0.861522, 0.506555, 0.956814, 0.0589772, 0.6605, 0.164234, 0.594745, 0.122247, 0.525603, 0.908006, 0.952002, 0.49878, 0.467522, 0.952582, 0.458056, 0.705024, 0.787802, 0.141204, 0.153371, 0.123679, 0.942643, 0.699063, 0.0206785, 0.071368, 0.264332, 0.863454, 0.208668, 0.524239, 0.0629335, 0.545401, 0.392272, 0.868564, 0.651444, 0.0102065, 0.890391, 0.0282739, 0.14298, 0.24294, 0.158346, 0.329178, 0.260102, 0.129058, 0.346522, 0.196168, 0.230196, 0.526561, 0.698245, 0.329864, 0.181203, 0.262444, 0.467025, 0.773993, 0.531128, 0.226005, 0.770547, 0.0955654, 0.356216, 0.362006, 0.289285, 0.983067, 0.732604, 0.287611, 0.531652, 0.741232, 0.188965, 0.215815, 0.306908, 0.282897, 0.611575, 0.508058, 0.887766, 0.158215, 0.521395, 0.445648, 0.748639, 0.540307, 0.394328, 0.637275, 0.0504444, 0.626742, 0.0941137, 0.800898, 0.290087, 0.186131, 0.126659, 0.388673, 0.6166, 0.633952, 0.452813, 0.239717, 0.810354, 0.424806, 0.188876, 0.159097, 0.567552, 0.532206, 0.251258, 0.801738, 0.482138, 0.430484, 0.175755, 0.545511, 0.135474, 0.191384, 0.962844, 0.828813, 0.100399, 0.438671, 0.152473, 0.708799, 0.248266, 0.0781702, 0.501505, 0.522936, 0.163854, 0.469611, 0.577049, 0.676028, 0.124282, 0.699922, 0.491586, 0.0747689, 0.480923, 0.838184, 0.308157, 0.182561, 0.0571805, 0.120934, 0.75139, 0.533054, 0.00725456, 0.594532, 0.209891, 0.141132, 0.257545, 0.948271, 0.956518, 0.327364, 0.0296764, 0.358609, 0.958833, 0.243545, 0.299261, 0.0300948, 0.324331, 0.0196669, 0.51038, 0.605097, 0.466483, 0.973467, 0.13012, 0.193492, 0.440804, 0.350578, 0.629068, 0.181506, 0.75401, 0.936267, 0.502068, 0.0921219, 0.142001, 0.862657, 0.270716, 0.0283923, 0.489386, 0.866446, 0.273858, 0.395155, 0.549193, 0.435706, 0.212272, 0.326445, 0.363935, 0.718623, 0.265679, 0.947972, 0.365856, 0.0514511, 0.410199, 0.753961, 0.747228, 0.868466, 0.610985, 0.735867, 0.794668, 0.21226, 0.888529, 0.742413, 0.646979, 0.572553, 0.660272, 0.0122512, 0.734982, 0.539863, 0.263984, 0.45891, 0.00309733, 0.599398, 0.923784, 0.707412, 0.86739, 0.27902, 0.260988, 0.0794332, 0.707361, 0.193052, 0.60285, 0.598903, 0.988095, 0.740821, 0.12881, 0.593706, 0.297442, 0.409275, 0.482203, 0.603707, 0.285462, 0.891842, 0.708874, 0.388369, 0.846848, 0.881055, 0.681122, 0.401818, 0.31629, 0.679071, 0.323238, 0.86252, 0.484888, 0.14905, 0.402445, 0.17131, 0.900165, 0.990281, 0.755721, 0.714475, 0.274964, 0.031916, 0.274576, 0.12146, 0.342006, 0.313374, 0.0193124, 0.526062, 0.199773, 0.0409117, 0.500504, 0.595715, 0.946248, 0.251395, 0.791207, 0.569572, 0.132409, 0.509271, 0.485131, 0.616421, 0.976127, 0.630555, 0.897699, 0.0488039, 0.601372, 0.160807, 0.571484, 0.449684, 0.346313, 0.165259, 0.367049, 0.503594, 0.485898, 0.129519, 0.108479, 0.961292, 0.807171, 0.420781, 0.881782, 0.514197, 0.515323, 0.0337006, 0.877696, 0.0148947, 0.498323, 0.564082, 0.485952, 0.505123, 0.667308, 0.829151, 0.0986236, 0.388361, 0.870053, 0.447719, 0.380787, 0.485956, 0.277274, 0.136344, 0.914645, 0.41875, 0.330182, 0.840292, 0.457539, 0.730999, 0.633358, 0.722724, 0.570204, 0.965474, 0.795254, 0.858696, 0.398543, 0.777567, 0.568421, 0.844525, 0.801798, 0.524226, 0.426756, 0.246139, 0.0707913, 0.873752, 0.82526, 0.870523, 0.271432, 0.30728, 0.358944, 0.0356341, 0.634709, 0.0475158, 0.423243, 0.173951, 0.0468558, 0.451644, 0.604346, 0.145215, 0.422729, 0.991721, 0.971816, 0.626326, 0.254864, 0.608105, 0.15043, 0.452547, 0.546353, 0.961911, 0.629434, 0.0501531, 0.947904, 0.542105, 0.156992, 0.930216, 0.208223, 0.545077, 0.953586, 0.224682, 0.95735, 0.312202, 0.982226, 0.913456, 0.35944, 0.652286, 0.525613, 0.0475911, 0.801398, 0.71921, 0.991509, 0.717306, 0.00497748, 0.835881, 0.613738, 0.756049, 0.405947, 0.185057, 0.843682, 0.502043, 0.267372, 0.405095, 0.954739, 0.475875, 0.240081, 0.42706, 0.638826, 0.140216, 0.626873, 0.22475, 0.650095, 0.0946058, 0.433061, 0.892561, 0.734917, 0.0547347, 0.118599, 0.445334, 0.410968, 0.810041, 0.121702, 0.496971, 0.973273, 0.511385, 0.52619, 0.40029, 0.720279, 0.584886, 0.00530115, 0.121663, 0.147436, 0.907282, 0.693348, 0.523167, 0.775579, 0.884629, 0.277755, 0.260367, 0.657194, 0.452782, 0.0388368, 0.0817849, 0.631141, 0.698603, 0.240297, 0.858938, 0.695993, 0.895181, 0.0363091, 0.945503, 0.308697, 0.558255, 0.349529, 0.285174, 0.206187, 0.056599, 0.946567, 0.428628, 0.0260649, 0.285063, 0.942933, 0.714488, 0.340852, 0.0920848, 0.529548, 0.349236, 0.151443, 0.282681, 0.469706, 0.488439, 0.286332, 0.923537, 0.649635, 0.034633, 0.835552, 0.737737, 0.901638, 0.297055, 0.120535, 0.7031, 0.260746, 0.684854, 0.699587, 0.456326, 0.292104, 0.75405, 0.202563, 0.881192, 0.730713, 0.0149277, 0.167642, 0.459208, 0.148752, 0.809688, 0.977507, 0.411325, 0.070261, 0.954428, 0.0702322, 0.659173, 0.717369, 0.902642, 0.926419, 0.975627, 0.480148, 0.722572, 0.691585, 0.374205, 0.627611, 0.25231, 0.0781907, 0.95341, 0.880642, 0.681807, 0.590342, 0.672628, 0.112897, 0.504578, 0.68663, 0.257968, 0.534273, 0.600903, 0.626571, 0.335944, 0.540416, 0.65048, 0.407869, 0.47478, 0.808409, 0.607099, 0.688076, 0.317786, 0.318006, 0.87251, 0.370171, 0.676835, 0.391415, 0.580091, 0.674471, 0.221379, 0.437343, 0.333767, 0.393704, 0.262331, 0.811439, 0.912183, 0.164462, 0.916835, 0.37644, 0.125907, 0.814776, 0.269522, 0.514563, 0.316716, 0.66191, 0.262844, 0.934766, 0.624609, 0.356656, 0.659201, 0.71811, 0.442434, 0.517332, 0.730992, 0.429961, 0.389976, 0.761551, 0.342798, 0.230894, 0.555435, 0.908532, 0.889966, 0.107968, 0.586683, 0.462847, 0.010701, 0.545986, 0.731682, 0.995147, 0.0845719, 0.270937, 0.331802, 0.293511, 0.981788, 0.143602, 0.459787, 0.695177, 0.162295, 0.19105, 0.732422, 0.0425079, 0.592907, 0.774092, 0.30798, 0.236449, 0.23854, 0.441618, 0.633263, 0.816714, 0.490252, 0.531365, 0.182236, 0.343093, 0.927754, 0.209535, 0.600789, 0.693145, 0.598713, 0.293381, 0.428041, 0.226912, 0.603227, 0.391483, 0.131038, 0.815626, 0.0228924, 0.0428712, 0.985296, 0.944953, 0.646929, 0.0613776, 0.276884, 0.32339, 0.74896, 0.932632, 0.714446, 0.0245354, 0.900012, 0.0352101, 0.10936, 0.275402, 0.463275, 0.426537, 0.85896, 0.233203, 0.389153, 0.713187, 0.378148, 0.471305, 0.152666, 0.806606, 0.141447, 0.471311, 0.138, 0.381375, 0.0559121, 0.263704, 0.0101847, 0.497231, 0.563311, 0.121469, 0.114285, 0.783791, 0.351606, 0.327675, 0.773627, 0.748848, 0.861569, 0.703256, 0.977019, 0.801187, 0.467297, 0.166155, 0.467614, 0.30466, 0.296822, 0.0845082, 0.526018, 0.881577, 0.337802, 0.0532516, 0.922616, 0.639704, 0.17686, 0.28428, 0.403265, 0.211194, 0.660364, 0.915506, 0.549068, 0.667999, 0.967911, 0.644774, 0.46004, 0.647416, 0.96484, 0.998348, 0.65086, 0.681214, 0.416278, 0.162191, 0.192004, 0.0652002, 0.721368, 0.0529346, 0.310262, 0.645097, 0.272849, 0.770542, 0.344967, 0.477076, 0.626978, 0.449492, 0.993408, 0.681124, 0.0704262, 0.140115, 0.64084, 0.00599282, 0.0652905, 0.158436, 0.0882248, 0.575307, 0.465145, 0.131417, 0.119563, 0.573823, 0.661179, 0.905743, 0.373042, 0.790606, 0.891498, 0.660845, 0.0325836, 0.189969, 0.657335, 0.13673, 0.377153, 0.0814687, 0.239977, 0.604565, 0.589576, 0.581766, 0.29321, 0.872824, 0.358055, 0.25211, 0.524329, 0.462651, 0.807974, 0.37466, 0.56183, 0.266735, 0.322214, 0.0752641, 0.207058, 0.719738, 0.876797, 0.780569, 0.319336, 0.418038, 0.0552388, 0.931171, 0.220745, 0.985189, 0.158804, 0.614187, 0.185727, 0.11265, 0.683475, 0.99752, 0.726617, 0.663954, 0.420905, 0.0533288, 0.0924069, 0.794496, 0.577994, 0.168585, 0.950575, 0.280473, 0.763817, 0.543789, 0.0322767, 0.869947, 0.152436, 0.859328, 0.182965, 0.883533, 0.739226, 0.714242, 0.197052, 0.838103, 0.71078, 0.653244, 0.4818, 0.452592, 0.6529, 0.662093, 0.0373838, 0.320572, 0.96337, 0.974422, 0.815096, 0.884975, 0.183269, 0.689947, 0.448374, 0.442098, 0.434461, 0.99301, 0.990067, 0.93286, 0.302052, 0.522152, 0.970844, 0.978719, 0.677171, 0.350912, 0.12413, 0.456406, 0.378971, 0.161717, 0.697616, 0.865483, 0.907131, 0.430001, 0.861823, 0.328293, 0.43917, 0.308978, 0.699235, 0.187007, 0.502859, 0.486964, 0.394346, 0.891637, 0.0153677, 0.111234, 0.773986, 0.782812, 0.203118, 0.931446, 0.319741, 0.273046, 0.834944, 0.425867, 0.519954, 0.75173, 0.24246, 0.613967, 0.785002, 0.480002, 0.272729, 0.169412, 0.00723079, 0.511212, 0.331207, 0.807384, 0.965802, 0.418783, 0.386638, 0.663126, 0.542708, 0.42009, 0.130504, 0.303988, 0.0292606, 0.00450049, 0.338739, 0.148155, 0.63584, 0.873923, 0.406879, 0.513033, 0.14835, 0.879232, 0.898919, 0.245055, 0.523105, 0.434127, 0.891529, 0.866418, 0.475037, 0.0222874, 0.75703, 0.50054, 0.8723, 0.976461, 0.210233, 0.4924, 0.506196, 0.411464, 0.84095, 0.998925, 0.661592, 0.301579, 0.539997, 0.933943, 0.0610428, 0.556471, 0.780631, 0.0218675, 0.973427, 0.526392, 0.759865, 0.962226, 0.229993, 0.759358, 0.631883, 0.291543, 0.786749, 0.829151, 0.419038, 0.0969804, 0.261544, 0.209425, 0.963943, 0.218385, 0.496776, 0.288346, 0.971589, 0.644609, 0.259401, 0.180324, 0.149004, 0.346292, 0.160801, 0.40109, 0.584003, 0.944911, 0.42358, 0.392176, 0.202544, 0.796092, 0.873882, 0.0851817, 0.790609, 0.288866, 0.302661, 0.995434, 0.135654, 0.791152, 0.708826, 0.000882854, 0.597145, 0.123516, 0.224706, 0.478546, 0.216501, 0.810466, 0.817503, 0.0717472, 0.114409, 0.267587, 0.373728, 0.437338, 0.700286, 0.423326, 0.467057, 0.458608, 0.730971, 0.521068, 0.742883, 0.431247, 0.808438, 0.381239, 0.328456, 0.40038, 0.366556, 0.296981, 0.277041, 0.665383, 0.916177, 0.877627, 0.0285116, 0.657676, 0.300686, 0.94713, 0.0516804, 0.244709, 0.109333, 0.270658, 0.026065, 0.123464, 0.221445, 0.420814, 0.438677, 0.214445, 0.277022, 0.460726, 0.82446, 0.975518, 0.485508, 0.297983, 0.0256161, 0.347127, 0.502342, 0.141786, 0.433376, 0.00954312, 0.442718, 0.373999, 0.00101524, 0.132625, 0.062771, 0.226584, 0.323228, 0.733352, 0.287963, 0.495665, 0.188211, 0.670258, 0.181503, 0.421988, 0.880607, 0.91711, 0.314713, 0.447105, 0.550301, 0.654895, 0.870385, 0.461987, 0.388641, 0.942057, 0.678346, 0.561549, 0.213499, 0.947126, 0.0491126, 0.917205, 0.829925, 0.110163, 0.0131269, 0.364873, 0.127684, 0.402343, 0.855479, 0.545018, 0.93668, 0.839001, 0.896463, 0.652215, 0.425084, 0.970901, 0.820667, 0.484666, 0.218544, 0.914502, 0.225698, 0.971639, 0.303149, 0.752751, 0.910218, 0.593894, 0.0217162, 0.106788, 0.158888, 0.838819, 0.868734, 0.654983, 0.0256387, 0.192928, 0.95104, 0.100242, 0.729874, 0.484382, 0.175596, 0.190504, 0.519792, 0.510053, 0.0449751, 0.0766785, 0.354095, 0.832923, 0.665472, 0.641877, 0.317532, 0.794101, 0.197938, 0.843378, 0.536815, 0.571092, 0.579421, 0.857799, 0.615451, 0.480892, 0.816451, 0.993555, 0.320876, 0.0672676, 0.169361, 0.93099, 0.949211, 0.804301, 0.77598, 0.894851, 0.492388, 0.0837337, 0.564529, 0.538251, 0.588611, 0.873791, 0.314498, 0.659873, 0.869429, 0.368508, 0.117914, 0.453321, 0.222712, 0.919936, 0.290311, 0.412873, 0.46884, 0.316137, 0.398893, 0.254373, 0.993304, 0.302072, 0.515504, 0.467867, 0.00477172, 0.181132, 0.210744, 0.508713, 0.022587, 0.957584, 0.176026, 0.846987, 0.405341, 0.745968, 0.840509, 0.723283, 0.822664, 0.192678, 0.235603, 0.442724, 0.0814924, 0.700362, 0.166721, 0.941895, 0.311918, 0.537189, 0.365266, 0.762149, 0.502038, 0.846228, 0.254111, 0.525261, 0.252997, 0.932381, 0.929345, 0.943701, 0.888215, 0.970683, 0.850155, 0.491029, 0.0412176, 0.298035, 0.755198, 0.896727, 0.248637, 0.321728, 0.523999, 0.498217, 0.674706, 0.747742, 0.779112, 0.0957831, 0.399018, 0.0434451, 0.8892, 0.307645, 0.151139, 0.174435, 0.969116, 0.497138, 0.97631, 0.648712, 0.528799, 0.344379, 0.411906, 0.823613, 0.127587, 0.394542, 0.639973, 0.6933, 0.638027, 0.382818, 0.646416, 0.126051, 0.0595994, 0.950671, 0.613567, 0.34019, 0.852215, 0.450654, 0.671096, 0.1767, 0.0900256, 0.222734, 0.360362, 0.302357, 0.984159, 0.0553531, 0.932009, 0.993531, 0.589595, 0.731336, 0.981369, 0.827404, 0.427496, 0.962138, 0.871442, 0.228559, 0.617748, 0.858615, 0.960511, 0.581975, 0.28067, 0.147945, 0.516842, 0.140153, 0.0291324, 0.946126, 0.708853, 0.876342, 0.963467, 0.213673, 0.11377, 0.420346, 0.4132, 0.590899, 0.741966, 0.497208, 0.190671, 0.0217031, 0.9535, 0.0445615, 0.555561, 0.0136704, 0.18883, 0.629626, 0.738238, 0.0987797, 0.67267, 0.837717, 0.275894, 0.927239, 0.61411, 0.232621, 0.0829035, 0.523542, 0.488953, 0.706613, 0.775157, 0.0400561, 0.491593, 0.535329, 0.854023, 0.529799, 0.839637, 0.480844, 0.102294, 0.750052, 0.453642, 0.0365836, 0.736253, 0.0500613, 0.116064, 0.660993, 0.0983873, 0.458532, 0.0711589, 0.141331, 0.232265, 0.118762, 0.0751822, 0.760862, 0.259439, 0.0280445, 0.704648, 0.834813, 0.971344, 0.411314, 0.0333718, 0.463907, 0.510352, 0.430245, 0.634843, 0.652474, 0.847454, 0.512679, 0.423449, 0.902024, 0.362352, 0.611308, 0.786727, 0.694375, 0.157491, 0.474734, 0.881197, 0.259245, 0.23867, 0.296322, 0.586567, 0.583661, 0.39069, 0.783304, 0.640493, 0.407004, 0.141037, 0.669353, 0.780944, 0.74461, 0.182002, 0.241908, 0.102879, 0.479039, 0.834057, 0.92469, 0.0605185, 0.059324, 0.401287, 0.729736, 0.733151, 0.803105, 0.0802479, 0.0423488, 0.0498994, 0.663269, 0.807175, 0.711607, 0.737177, 0.24102, 0.898841, 0.0971605, 0.366442, 0.546706, 0.851194, 0.0624871, 0.0762481, 0.526471, 0.328244, 0.921896, 0.110282, 0.428852, 0.00346321, 0.443365, 0.385191, 0.603682, 0.635699, 0.201612, 0.884095, 0.596699, 0.688772, 0.927395, 0.888346, 0.956049, 0.50728, 0.123878, 0.144652, 0.585432, 0.974155, 0.938953, 0.601872, 0.796886, 0.665905, 0.0409808, 0.755875, 0.230608, 0.20252, 0.596874, 0.249498, 0.327984, 0.851408, 0.641385, 0.835144, 0.159222, 0.832912, 0.919625, 0.413604, 0.400922, 0.83084, 0.338057, 0.0959892, 0.453417, 0.944508, 0.995313, 0.700658, 0.418918, 0.938605, 0.601669, 0.803269, 0.638494, 0.520906, 0.403202, 0.588773, 0.649253, 0.264696, 0.444188, 0.282903, 0.845908, 0.858472, 0.124191, 0.48007, 0.927936, 0.240737, 0.148844, 0.614938, 0.146604, 0.917565, 0.0885519, 0.903103, 0.0169547, 0.714078, 0.00961458, 0.757838, 0.657845, 0.353586, 0.427535, 0.773354, 0.940707, 0.897598, 0.643822, 0.682411, 0.372804, 0.0757411, 0.176485, 0.779426, 0.441618, 0.393993, 0.877072, 0.408844, 0.584383, 0.329117, 0.988659, 0.967509, 0.461847, 0.0549822, 0.636837, 0.118303, 0.189134, 0.516839, 0.808131, 0.973472, 0.361167, 0.931444, 0.181445, 0.651111, 0.597853, 0.955762, 0.392947, 0.935396, 0.259098, 0.025157, 0.509564, 0.968464, 0.756557, 0.676167, 0.597831, 0.666863, 0.858154, 0.253984, 0.628643, 0.814471, 0.0909236, 0.774189, 0.635507, 0.344108, 0.155256, 0.774705, 0.0901677, 0.295728, 0.605914, 0.567208, 0.544299, 0.421148, 0.294287, 0.70504, 0.771986, 0.617309, 0.0185654, 0.290945, 0.0716402, 0.524612, 0.933057, 0.905117, 0.00801263, 0.325966, 0.444056, 0.0622699, 0.146559, 0.856375, 0.955924, 0.20213, 0.637618, 0.667041, 0.180455, 0.00126892, 0.973472, 0.895139, 0.62252, 0.455037, 0.382274, 0.744974, 0.344317, 0.962535, 0.41116, 0.827236, 0.592501, 0.76984, 0.907276, 0.747804, 0.0472403, 0.17638, 0.898028, 0.0297541, 0.202418, 0.936293, 0.861478, 0.33657, 0.650003, 0.115933, 0.788583, 0.982734, 0.916597, 0.957495, 0.325388, 0.641845, 0.302243, 0.703041, 0.0810213, 0.414623, 0.828721, 0.0546583, 0.16687, 0.0485212, 0.904022, 0.756019, 0.266567, 0.615097, 0.852431, 0.912937, 0.399334, 0.169625, 0.0864093, 0.67765, 0.503805, 0.434945, 0.938731, 0.604987, 0.498088, 0.85266, 0.853271, 0.25617, 0.712706, 0.945348, 0.835669, 0.810492, 0.485503, 0.270922, 0.903988, 0.384716, 0.203826, 0.530147, 0.486924, 0.17688, 0.630891, 0.606102, 0.899307, 0.191986, 0.473564, 0.171813, 0.865138, 0.997772, 0.572874, 0.495164, 0.0718694, 0.655387, 0.611157, 0.300281, 0.152933, 0.614118, 0.225933, 0.984018, 0.972444, 0.912091, 0.461564, 0.698379, 0.367503, 0.0390384, 0.757083, 0.867822, 0.696549, 0.146637, 0.507304, 0.785995, 0.935371, 0.709936, 0.775911, 0.475973, 0.156478, 0.690991, 0.750097, 0.929433, 0.563763, 0.765019, 0.743186, 0.437672, 0.704983, 0.0650484, 0.819288, 0.892241, 0.949356, 0.991599, 0.727447, 0.0137179, 0.363291, 0.243469, 0.803488, 0.69797, 0.139995, 0.288365, 0.0356684, 0.258139, 0.0284919, 0.189255, 0.475202, 0.280609, 0.423674, 0.433195, 0.291969, 0.971508, 0.935682, 0.290035, 0.0568999, 0.0789911, 0.783601, 0.427005, 0.503023, 0.867626, 0.0302323, 0.992511, 0.643652, 0.467755, 0.701039, 0.923713, 0.96327, 0.639105, 0.319452, 0.460388, 0.968033, 0.667076, 0.41725, 0.932641, 0.617043, 0.790541, 0.934961, 0.676183, 0.927454, 0.992308, 0.987654, 0.433208, 0.0475157, 0.567294, 0.202961, 0.702222, 0.755634, 0.392399, 0.762054, 0.94738, 0.492562, 0.639266, 0.373128, 0.162732, 0.685847, 0.49101, 0.315102, 0.0856025, 0.0159048, 0.247686, 0.595183, 0.755526, 0.844488, 0.444256, 0.663398, 0.184401, 0.478817, 0.72093, 0.471957, 0.660578, 0.86052, 0.992371, 0.562465, 0.489003, 0.985304, 0.850678, 0.555524, 0.455428, 0.324139, 0.104824, 0.990221, 0.82953, 0.463903, 0.628029, 0.154093, 0.654292, 0.385221, 0.606301, 0.686528, 0.74544, 0.0726822, 0.977015, 0.611306, 0.461119, 0.393766, 0.427418, 0.124929, 0.587396, 0.492077, 0.756638, 0.956603, 0.969352, 0.373101, 0.534708, 0.523876, 0.0432621, 0.752361, 0.196488, 0.236259, 0.673799, 0.0161936, 0.270773, 0.30196, 0.0373159, 0.510366, 0.863971, 0.420586, 0.985393, 0.909836, 0.621004, 0.238727, 0.363464, 0.19205, 0.416743, 0.299777, 0.0706851, 0.227994, 0.332344, 0.101326, 0.892676, 0.384059, 0.693002, 0.740496, 0.193346, 0.561595, 0.475733, 0.49185, 0.195779, 0.640873, 0.587568, 0.498026, 0.629703, 0.401866, 0.437573, 0.868883, 0.283757, 0.554924, 0.575435, 0.685651, 0.829386, 0.87486, 0.260603, 0.307086, 0.458364, 0.595493, 0.0016653, 0.621798, 0.729636, 0.812779, 0.110247, 0.1467, 0.504537, 0.0928173, 0.598707, 0.322812, 0.811394, 0.754898, 0.366374, 0.436763, 0.878244, 0.114568, 0.489306, 0.0211019, 0.193594, 0.987554, 0.442297, 0.176512, 0.917272, 0.908774, 0.595576, 0.396592, 0.637596, 0.316455, 0.548691, 0.490879, 0.693255, 0.31689, 0.475481, 0.866626, 0.795266, 0.106516, 0.607034, 0.160373, 0.339203, 0.79331, 0.431944, 0.784507, 0.0442201, 0.836957, 0.91755, 0.947618, 0.889266, 0.0334214, 0.8691, 0.922405, 0.962772, 0.304484, 0.139749, 0.0794064, 0.133893, 0.0880436, 0.912819, 0.397493, 0.640629, 0.882145, 0.147763, 0.605355, 0.296854, 0.216384, 0.179245, 0.748437, 0.141286, 0.461773, 0.840149, 0.854233, 0.283556, 0.643829, 0.949934, 0.128645, 0.745982, 0.127932, 0.0922534, 0.494172, 0.0206559, 0.491771, 0.875524, 0.702019, 0.676181, 0.882126, 0.893244, 0.17056, 0.675681, 0.921471, 0.722914, 0.338931, 0.00722271, 0.935974, 0.375468, 0.208624, 0.62637, 0.69296, 0.954334, 0.733292, 0.655253, 0.833465, 0.217156, 0.737111, 0.164768, 0.209423, 0.882986, 0.387769, 0.213257, 0.222217, 0.558353, 0.52187, 0.426397, 0.684116, 0.915114, 0.926928, 0.200302, 0.387005, 0.812211, 0.408018, 0.0755884, 0.992747, 0.784254, 0.514748, 0.693672, 0.999046, 0.722308, 0.724698, 0.487502, 0.937393, 0.312549, 0.891556, 0.302093, 0.836216, 0.775155, 0.467013, 0.986634, 0.162847, 0.177896, 0.183313, 0.655414, 0.792265, 0.417101, 0.19213, 0.709347, 0.833425, 0.0500837, 0.166038, 0.664378, 0.861637, 0.505642, 0.219943, 0.957268, 0.281296, 0.732945, 0.71899, 0.32458, 0.0247682, 0.797212, 0.243762, 0.0616259, 0.0401179, 0.874586, 0.136927, 0.286743, 0.072656, 0.897197, 0.751937, 0.539602, 0.00549522, 0.494872, 0.589915, 0.148184, 0.564103, 0.787551, 0.548638, 0.811691, 0.833328, 0.47947, 0.159679, 0.980659, 0.448015, 0.649844, 0.358679, 0.878838, 0.273336, 0.695026, 0.309733, 0.965201, 0.927334, 0.777283, 0.352927, 0.399974, 0.0453627, 0.73848, 0.919253, 0.482295, 0.82234, 0.686049, 0.20957, 0.201448, 0.921163, 0.497954, 0.274793, 0.0191795, 0.769736, 0.768182, 0.948991, 0.782893, 0.214566, 0.50872, 0.0331033, 0.142944, 0.0999874, 0.504673, 0.458662, 0.553146, 0.716814, 0.856047, 0.826576, 0.266422, 0.331359, 0.82727, 0.851724, 0.0459368, 0.254371, 0.599408, 0.211079, 0.0750027, 0.2921, 0.625512, 0.885123, 0.774535, 0.976643, 0.411542, 0.434884, 0.445911, 0.604507, 0.333557, 0.726314, 0.287596, 0.880896, 0.42221, 0.451597, 0.414059, 0.880061, 0.535406, 0.612528, 0.370991, 0.298645, 0.206238, 0.655174, 0.384112, 0.145776, 0.639374, 0.549012, 0.919176, 0.153158, 0.333821, 0.997286, 0.353503, 0.840603, 0.364996, 0.822254, 0.672564, 0.651387, 0.398489, 0.00300096, 0.327991, 0.444382, 0.227965, 0.0987756, 0.845434, 0.965123, 0.242871, 0.13355, 0.0226232, 0.334426, 0.238989, 0.433765, 0.722584, 0.983887, 0.395423, 0.364337, 0.438305, 0.096169, 0.427998, 0.986201, 0.179909, 0.705401, 0.75415, 0.167761, 0.79501, 0.181427, 0.33159, 0.985135, 0.119943, 0.293395, 0.831361, 0.341583, 0.698186, 0.866918, 0.505199, 0.146063, 0.815393, 0.834464, 0.633709, 0.363195, 0.165974, 0.696173, 0.592954, 0.42728, 0.739469, 0.49108, 0.480289, 0.931982, 0.0480345, 0.923233, 0.224634, 0.314608, 0.00167352, 0.184523, 0.115015, 0.975132, 0.824553, 0.0191633, 0.839418, 0.532573, 0.515021, 0.249686, 0.0447819, 0.10068, 0.0835615, 0.418188, 0.125361, 0.0368943, 0.620092, 0.10202, 0.825325, 0.927504, 0.227206, 0.0669152, 0.92125, 0.323409, 0.869345, 0.112782, 0.94737, 0.346534, 0.566328, 0.40793, 0.0775861, 0.677642, 0.640123, 0.0129527, 0.865991, 0.293937, 0.404942, 0.434947, 0.0591339, 0.12621, 0.933626, 0.360944, 0.0994732, 0.685087, 0.517207, 0.467195, 0.613837, 0.907182, 0.365507, 0.475765, 0.585499, 0.32146, 0.872018, 0.788401, 0.764034, 0.751506, 0.516156, 0.149201, 0.534067, 0.435643, 0.101926, 0.00828011, 0.473005, 0.500935, 0.284325, 0.544034, 0.541504, 0.991869, 0.906426, 0.844472, 0.612975, 0.297477, 0.862067, 0.722155, 0.161987, 0.829329, 0.149154, 0.607042, 0.026151, 0.679086, 0.735412, 0.058366, 0.467341, 0.731097, 0.558608, 0.067829, 0.56897, 0.861304, 0.514146, 0.965047, 0.367938, 0.200062, 0.950354, 0.849343, 0.460098, 0.895083, 0.617222, 0.416396, 0.514853, 0.10069, 0.898916, 0.599908, 0.268705, 0.665621, 0.255886, 0.888697, 0.734157, 0.377009, 0.655058, 0.818739, 0.540971, 0.386733, 0.0433285, 0.196293, 0.141609, 0.391699, 0.872037, 0.174114, 0.249245, 0.428392, 0.126297, 0.749008, 0.711259, 0.789277, 0.916604, 0.623104, 0.00800362, 0.491312, 0.0602021, 0.574504, 0.967911, 0.332524, 0.0161282, 0.816926, 0.582474, 0.614759, 0.981052, 0.708012, 0.862061, 0.500147, 0.443571, 0.00274691, 0.703829, 0.73706, 0.0732309, 0.342706, 0.723817, 0.688594, 0.116824, 0.425774, 0.207852, 0.950168, 0.204806, 0.430138, 0.985613, 0.608734, 0.555908, 0.364005, 0.745671, 0.959996, 0.879693, 0.186338, 0.0283125, 0.649423, 0.316534, 0.231403, 0.624954, 0.317443, 0.430701, 0.483384, 0.653907, 0.879423, 0.825428, 0.0492354, 0.271903, 0.71952, 0.0334751, 0.93993, 0.485563, 0.23465, 0.865639, 0.340872, 0.957027, 0.71051, 0.515432, 0.38282, 0.171161, 0.859228, 0.392567, 0.0780299, 0.345086, 0.652154, 0.692993, 0.0307791, 0.574728, 0.411338, 0.79975, 0.184794, 0.974957, 0.7302, 0.335732, 0.766012, 0.47971, 0.831253, 0.577517, 0.601936, 0.531545, 0.933531, 0.566327, 0.989699, 0.66234, 0.690819, 0.941376, 0.509408, 0.878598, 0.507575, 0.412234, 0.21951, 0.531418, 0.661068, 0.607391, 0.645974, 0.908278, 0.358586, 0.985154, 0.825382, 0.67076, 0.573246, 0.986157, 0.298714, 0.273077, 0.448331, 0.631098, 0.77205, 0.240419, 0.846143, 0.268248, 0.903793, 0.492143, 0.558521, 0.321423, 0.825505, 0.208423, 0.835864, 0.527045, 0.859432, 0.906768, 0.471328, 0.349286, 0.634996, 0.729354, 0.116462, 0.930159, 0.331522, 0.760859, 0.972587, 0.601577, 0.800102, 0.19989, 0.928076, 0.446861, 0.892833, 0.668182, 0.722305, 0.542107, 0.991203, 0.372947, 0.175826, 0.0121565, 0.896571, 0.433829, 0.213811, 0.944581, 0.99052, 0.153989, 0.679926, 0.450486, 0.99473, 0.0331712, 0.197112, 0.852914, 0.17857, 0.844769, 0.826415, 0.420046, 0.326291, 0.273352, 0.184684, 0.785371, 0.708824, 0.805593, 0.592125, 0.0960981, 0.714261, 0.428986, 0.458301, 0.491747, 0.376913, 0.612317, 0.688147, 0.549322, 0.506751, 0.882389, 0.171348, 0.276475, 0.706649, 0.152688, 0.919486, 0.404864, 0.579845, 0.674377, 0.588175, 0.110695, 0.578129, 0.720896, 0.297351, 0.704281, 0.345857, 0.725409, 0.883221, 0.244461, 0.0380105, 0.642841, 0.65645, 0.884178, 0.816638, 0.657893, 0.431075, 0.621088, 0.706447, 0.94517, 0.501386, 0.839443, 0.894078, 0.677359, 0.62705, 0.61343, 0.208235, 0.307067, 0.772914, 0.23673, 0.930696, 0.254417, 0.5996, 0.0632018, 0.27349, 0.748947, 0.887421, 0.489346, 0.766972, 0.676702, 0.278701, 0.300096, 0.561388, 0.0698252, 0.39463, 0.133721, 0.171934, 0.420035, 0.0131253, 0.478704, 0.423985, 0.846314, 0.321119, 0.915707, 0.323934, 0.120965, 0.267304, 0.439891, 0.827265, 0.509816, 0.684402, 0.292179, 0.624477, 0.360528, 0.941373, 0.35497, 0.665609, 0.175046, 0.932044, 0.0101692, 0.845098, 0.611357, 0.731115, 0.857983, 0.192074, 0.597192, 0.0686213, 0.673272, 0.729505, 0.199785, 0.422709, 0.49377, 0.230089, 0.0749028, 0.515778, 0.961663, 0.606941, 0.540714, 0.807614, 0.963819, 0.475172, 0.046539, 0.289678, 0.205714, 0.172103, 0.146422, 0.969602, 0.227365, 0.160755, 0.59916, 0.409619, 0.996261, 0.268418, 0.66875, 0.3844, 0.106144, 0.0244802, 0.512082, 0.844384, 0.831658, 0.107419, 0.959137, 0.596098, 0.861612, 0.304703, 0.554393, 0.383838, 0.523914, 0.129377, 0.492818, 0.41336, 0.517916, 0.637907, 0.0612803, 0.693758, 0.746672, 0.628834, 0.893883, 0.00528869, 0.065848, 0.331503, 0.0561087, 0.411689, 0.186186, 0.882801, 0.181797, 0.0253786, 0.133733, 0.889442, 0.426636, 0.671254, 0.0368363, 0.297006, 0.619246, 0.625586, 0.949119, 0.896354, 0.248009, 0.728062, 0.179039, 0.45286, 0.321053, 0.431454, 0.933377, 0.460448, 0.151043, 0.549768, 0.7839, 0.355631, 0.180034, 0.516901, 0.994771, 0.876859, 0.386847, 0.739393, 0.97341, 0.150034, 0.233933, 0.472762, 0.705142, 0.207187, 0.26898, 0.0179647, 0.62504, 0.762203, 0.321086, 0.899385, 0.00817336, 0.514308, 0.747641, 0.358145, 0.0556391, 0.652259, 0.152658, 0.00808302, 0.367249, 0.749899, 0.24663, 0.410349, 0.642683, 0.0512242, 0.32979, 0.297043, 0.371057, 0.454132, 0.685106, 0.336634, 0.610731, 0.936374, 0.632436, 0.811141, 0.765653, 0.199344, 0.510054, 0.196659, 0.0238014, 0.380652, 0.404022, 0.545074, 0.314351, 0.847229, 0.743801, 0.125486, 0.139967, 0.469556, 0.644199, 0.795062, 0.816132, 0.378791, 0.468636, 0.0205304, 0.110169, 0.334171, 0.952977, 0.065903, 0.624213, 0.336303, 0.26335, 0.711178, 0.321872, 0.274641, 0.587131, 0.815386, 0.845845, 0.44648, 0.952946, 0.352259, 0.386232, 0.456266, 0.158612, 0.806202, 0.391733, 0.846475, 0.473143, 0.671274, 0.826891, 0.994171, 0.193562, 0.854803, 0.0342413, 0.956594, 0.63792, 0.601017, 0.919326, 0.125807, 0.141151, 0.964548, 0.89693, 0.377953, 0.175079, 0.111874, 0.0269457, 0.588226, 0.599973, 0.963387, 0.896044, 0.439402, 0.568133, 0.224904, 0.552146, 0.786809, 0.904084, 0.412505, 0.437934, 0.0527802, 0.0627715, 0.103555, 0.537519, 0.238641, 0.352074, 0.551757, 0.483146, 0.696988, 0.49041, 0.666746, 0.468643, 0.450685, 0.812198, 0.787825, 0.897509, 0.630022, 0.184486, 0.296481, 0.927498, 0.0576876, 0.956062, 0.872906, 0.0575978, 0.793707, 0.570447, 0.31382, 0.480645, 0.535389, 0.342339, 0.754756, 0.992079, 0.746363, 0.539759, 0.594048, 0.111611, 0.824261, 0.312703, 0.350695, 0.846562, 0.610848, 0.709736, 0.750983, 0.554171, 0.155503, 0.141948, 0.63248, 0.37383, 0.468886, 0.956469, 0.851789, 0.90935, 0.24629, 0.147858, 0.0811218, 0.269305, 0.52719, 0.447068, 0.17277, 0.775465, 0.957114, 0.417471, 0.568288, 0.883681, 0.407288, 0.464264, 0.594897, 0.399828, 0.798473, 0.607932, 0.840769, 0.277003, 0.88473, 0.987855, 0.58323, 0.204425, 0.0424601, 0.86971, 0.511052, 0.526687, 0.350557, 0.706629, 0.739353, 0.49756, 0.685872, 0.425401, 0.512529, 0.698766, 0.645639, 0.227311, 0.506434, 0.410081, 0.308332, 0.315671, 0.614753, 0.0198678, 0.519135, 0.467353, 0.482139, 0.378871, 0.32302, 0.12033, 0.431829, 0.296275, 0.310974, 0.18224, 0.344441, 0.0921965, 0.972639, 0.92178, 0.0156304, 0.846857, 0.515884, 0.815942, 0.960195, 0.990112, 0.182769, 0.214778, 0.258975, 0.817981, 0.199803, 0.222866, 0.903662, 0.0980868, 0.383791, 0.915739, 0.85721, 0.781918, 0.699057, 0.204764, 0.0745628, 0.0412947, 0.988941, 0.622472, 0.971799, 0.875343, 0.371582, 0.132679, 0.866178, 0.56679, 0.281781, 0.690991, 0.965907, 0.299651, 0.451908, 0.664889, 0.371256, 0.859439, 0.371331, 0.741847, 0.753061, 0.0486244, 0.890212, 0.444648, 0.988053, 0.166308, 0.671684, 0.726667, 0.0578544, 0.425659, 0.665754, 0.976426, 0.118865, 0.222971, 0.170978, 0.274598, 0.48143, 0.401541, 0.90107, 0.518374, 0.994331, 0.919879, 0.746881, 0.315868, 0.478986, 0.4435, 0.469378, 0.723643, 0.463736, 0.199442, 0.623148, 0.567034, 0.705359, 0.268414, 0.397726, 0.609244, 0.0236713, 0.16956, 0.602314, 0.756965, 0.97997, 0.933725, 0.523026, 0.0580975, 0.732652, 0.681009, 0.658301, 0.0537281, 0.0943069, 0.27455, 0.703678, 0.0815391, 0.362059, 0.271151, 0.920773, 0.296644, 0.0183375, 0.594387, 0.92997, 0.0750272, 0.881927, 0.728428, 0.587038, 0.86818, 0.565628, 0.154236, 0.946037, 0.205219, 0.0918337, 0.804225, 0.385845, 0.125827, 0.301139, 0.305177, 0.418556, 0.757148, 0.148778, 0.287248, 0.355418, 0.348821, 0.901407, 0.654393, 0.687851, 0.574622, 0.977229, 0.309761, 0.4549, 0.99888, 0.0980567, 0.312009, 0.319697, 0.249895, 0.291501, 0.334045, 0.994672, 0.530406, 0.953776, 0.531384, 0.587593, 0.438673, 0.11231, 0.733234, 0.879871, 0.775188, 0.24372, 0.954519, 0.524849, 0.386942, 0.620721, 0.320875, 0.874574, 0.960335, 0.0728633, 0.732815, 0.610063, 0.535151, 0.707397, 0.645657, 0.904439, 0.130618, 0.783367, 0.681332, 0.771723, 0.805234, 0.221575, 0.986385, 0.10926, 0.180919, 0.478569, 0.762908, 0.793846, 0.545122, 0.974642, 0.850236, 0.179811, 0.522111, 0.613862, 0.932977, 0.514509, 0.829376, 0.724671, 0.820376, 0.493047, 0.876028, 0.250296, 0.37123, 0.502124, 0.0447732, 0.103207, 0.815157, 0.120445, 0.205033, 0.944951, 0.917323, 0.957048, 0.812629, 0.718146, 0.761061, 0.0341472, 0.0111389, 0.86736, 0.0148891, 0.864153, 0.777238, 0.364185, 0.42502, 0.90366, 0.682295, 0.294668, 0.961524, 0.837472, 0.659278, 0.732558, 0.160918, 0.342996, 0.525685, 0.0263115, 0.25544, 0.721533, 0.129669, 0.236816, 0.613163, 0.513149, 0.417458, 0.161309, 0.279825, 0.763416, 0.470316, 0.149378, 0.538049, 0.392198, 0.924627, 0.642615, 0.0111322, 0.718518, 0.739104, 0.813217, 0.515893, 0.341474, 0.0427283, 0.00648908, 0.385333, 0.31838, 0.0533192, 0.602503, 0.443515, 0.0280414, 0.274622, 0.134164, 0.76449, 0.948269, 0.101286, 0.641331, 0.901419, 0.523427, 0.171704, 0.122625, 0.491419, 0.587968, 0.40383, 0.444296, 0.748451, 0.231668, 0.316066, 0.778124, 0.220029, 0.691693, 0.800996, 0.13923, 0.884378, 0.0172412, 0.442838, 0.841683, 0.900573, 0.0367333, 0.1129, 0.661112, 0.817509, 0.459859, 0.329836, 0.399931, 0.582055, 0.313169, 0.437011, 0.280742, 0.511708, 0.980704, 0.695484, 0.236446, 0.0628936, 0.0469662, 0.113515, 0.219827, 0.119967, 0.678017, 0.154892, 0.748964, 0.950309, 0.408305, 0.909641, 0.979683, 0.75683, 0.482745, 0.990507, 0.0467465, 0.949621, 0.200697, 0.758021, 0.117882, 0.907719, 0.929762, 0.0783406, 0.648908, 0.629016, 0.0951925, 0.947773, 0.00556247, 0.524547, 0.548716, 0.139078, 0.81219, 0.462118, 0.0640107, 0.543033, 0.486748, 0.213032, 0.181411, 0.261914, 0.434401, 0.0692591, 0.0656192, 0.318534, 0.103237, 0.282773, 0.255499, 0.98553, 0.311467, 0.776866, 0.235836, 0.33176, 0.0253359, 0.0916266, 0.552096, 0.153638, 0.959688, 0.718672, 0.606933, 0.875292, 0.0633605, 0.140916, 0.465807, 0.491876, 0.658043, 0.714066, 0.892801, 0.661401, 0.304186, 0.149437, 0.305425, 0.655639, 0.473743, 0.660908, 0.9259, 0.974856, 0.143817, 0.615043, 0.0399842, 0.553194, 0.526723, 0.356777, 0.309662, 0.0523284, 0.937552, 0.452779, 0.36172, 0.585019, 0.945123, 0.272872, 0.0467423, 0.371039, 0.695515, 0.883712, 0.490018, 0.0593713, 0.959068, 0.31223, 0.535175, 0.653268, 0.188744, 0.46427, 0.29457, 0.242699, 0.434814, 0.471351, 0.517754, 0.180075, 0.0853446, 0.105079, 0.0522586, 0.562467, 0.113129, 0.996403, 0.458529, 0.823064, 0.589005, 0.153245, 0.198721, 0.282445, 0.599125, 0.460393, 0.776314, 0.745769, 0.269098, 0.540046, 0.11169, 0.287346, 0.117505, 0.401144, 0.926949, 0.444907, 0.0474345, 0.166268, 0.371854, 0.533882, 0.822201, 0.559504, 0.663264, 0.778737, 0.957046, 0.121779, 0.487958, 0.122332, 0.143786, 0.273772, 0.771591, 0.653075, 0.250972, 0.721283, 0.515551, 0.305239, 0.972345, 0.569642, 0.925912, 0.20253, 0.863836, 0.190253, 0.918531, 0.55707, 0.00381102, 0.121934, 0.507126, 0.723297, 0.554563, 0.280677, 0.283054, 0.0592052, 0.238377, 0.825847, 0.425025, 0.483275, 0.412176, 0.658717, 0.680297, 0.0594718, 0.885164, 0.943674, 0.997116, 0.891411, 0.964488, 0.570559, 0.282718, 0.479557, 0.112167, 0.258337, 0.748488, 0.645516, 0.743514, 0.484313, 0.300418, 0.381673, 0.641193, 0.00926527, 0.264516, 0.765184, 0.747472, 0.206553, 0.113778, 0.982196, 0.0437513, 0.400194, 0.980403, 0.470436, 0.766836, 0.405202, 0.480065, 0.979077, 0.683857, 0.163979, 0.473461, 0.618463, 0.0800061, 0.568879, 0.660909, 0.622503, 0.612119, 0.200822, 0.339291, 0.438397, 0.449467, 0.429825, 0.88199, 0.75763, 0.136227, 0.449028, 0.968591, 0.405553, 0.971981, 0.770315, 0.747102, 0.796861, 0.125783, 0.811271, 0.636342, 0.273831, 0.235756, 0.492141, 0.883657, 0.212418, 0.145532, 0.713105, 0.706413, 0.804785, 0.175217, 0.248335, 0.347617, 0.278054, 0.895166, 0.337599, 0.262932, 0.695062, 0.571366, 0.0989308, 0.417155, 0.174341, 0.0552865, 0.560711, 0.144447, 0.0199909, 0.604846, 0.562701, 0.412576, 0.499018, 0.438862, 0.891483, 0.895943, 0.477519, 0.735267, 0.159857, 0.39036, 0.249456, 0.02296, 0.066634, 0.0671506, 0.380889, 0.446089, 0.600482, 0.495276, 0.124695, 0.157632, 0.693873, 0.0736496, 0.0488247, 0.418174, 0.0398581, 0.834848, 0.747334, 0.0942416, 0.178998, 0.812125, 0.522942, 0.833465, 0.0496451, 0.138676, 0.316137, 0.858321, 0.869884, 0.838262, 0.39471, 0.650486, 0.27887, 0.875143, 0.978975, 0.955176, 0.923937, 0.798182, 0.339691, 0.785894, 0.248732, 0.956497, 0.421943, 0.933406, 0.550654, 0.194392, 0.148448, 0.348369, 0.709465, 0.784529, 0.481173, 0.298179, 0.966487, 0.764214, 0.75058, 0.351974, 0.0168012, 0.67683, 0.369576, 0.518943, 0.940523, 0.644518, 0.378732, 0.180835, 0.861074, 0.213608, 0.300751, 0.1181, 0.773626, 0.584996, 0.75232, 0.403539, 0.14443, 0.859443, 0.449131, 0.961382, 0.787595, 0.574917, 0.497724, 0.284252, 0.411033, 0.344344, 0.793698, 0.903117, 0.590039, 0.814945, 0.959247, 0.514789, 0.109212, 0.999169, 0.354847, 0.489715, 0.291184, 0.777465, 0.22009, 0.900417, 0.640874, 0.705187, 0.284892, 0.869386, 0.867505, 0.511653, 0.525175, 0.53074, 0.574808, 0.796221, 0.0398024, 0.257697, 0.898306, 0.480761, 0.564537, 0.868306, 0.727761, 0.836186, 0.258021, 0.397114, 0.650319, 0.408059, 0.0129322, 0.521819, 0.417224, 0.749437, 0.582333, 0.881981, 0.524359, 0.479003, 0.592225, 0.8712, 0.215048, 0.190864, 0.852618, 0.970324, 0.314189, 0.700772, 0.456949, 0.0142384, 0.352051, 0.887544, 0.774537, 0.703121, 0.373281, 0.540038, 0.644873, 0.629066, 0.707686, 0.0571016, 0.701987, 0.351081, 0.673277, 0.978446, 0.038449, 0.964904, 0.756123, 0.0796779, 0.236577, 0.333577, 0.0277549, 0.86124, 0.888597, 0.811346, 0.358027, 0.688901, 0.601918, 0.202984, 0.301276, 0.816449, 0.0349382, 0.459503, 0.951967, 0.311848, 0.879228, 0.0280754, 0.314563, 0.48922, 0.701092, 0.130085, 0.882497, 0.842101, 0.441621, 0.458778, 0.648142, 0.707042, 0.506873, 0.817636, 0.482634, 0.69666, 0.095202, 0.0793807, 0.528611, 0.21054, 0.441959, 0.0210357, 0.551746, 0.772927, 0.200266, 0.0402244, 0.0120856, 0.895954, 0.981656, 0.697775, 0.96245, 0.727631, 0.875313, 0.39502, 0.44727, 0.684905, 0.719364, 0.981836, 0.218495, 0.857345, 0.458979, 0.872708, 0.939516, 0.410672, 0.12291, 0.303604, 0.0452652, 0.752576, 0.701876, 0.14429, 0.367657, 0.973246, 0.630014, 0.282922, 0.755175, 0.382289, 0.507623, 0.511621, 0.411193, 0.978224, 0.509501, 0.954558, 0.512085, 0.727582, 0.862638, 0.441028, 0.702257, 0.736486, 0.446479, 0.0389686, 0.773483, 0.761533, 0.629007, 0.65046, 0.225984, 0.136022, 0.773071, 0.383934, 0.970997, 0.471922, 0.381897, 0.912417, 0.164172, 0.545899, 0.962691, 0.437086, 0.591485, 0.0214106, 0.567985, 0.611053, 0.450853, 0.983435, 0.340055, 0.0752412, 0.652486, 0.47165, 0.588177, 0.498334, 0.383942, 0.443194, 0.660555, 0.156862, 0.593154, 0.416579, 0.929719, 0.0256307, 0.72073, 0.762408, 0.325277, 0.0491365, 0.231975, 0.791776, 0.127564, 0.236148, 0.33913, 0.741108, 0.595527, 0.733173, 0.491999, 0.521343, 0.745784, 0.0536438, 0.705479, 0.0740605, 0.698381, 0.54315, 0.433691, 0.276832, 0.46471, 0.0668336, 1, 0.534649, 0.380125, 0.912816, 0.511167, 0.467059, 0.189434, 0.998362, 0.501627, 0.187632, 0.109599, 0.21737, 0.955805, 0.116203, 0.135417, 0.820156, 0.178158, 0.726243, 0.188286, 0.967268, 0.957784, 0.0565583, 0.331546, 0.587704, 0.627384, 0.378857, 0.910315, 0.577889, 0.259565, 0.601996, 0.0467934, 0.278736, 0.434382, 0.0722475, 0.0794114, 0.743569, 0.0807633, 0.351582, 0.339576, 0.805575, 0.841142, 0.212817, 0.238836, 0.144734, 0.572544, 0.227176, 0.105994, 0.94879, 0.937645, 0.053326, 0.629536, 0.0966523, 0.10057, 0.439584, 0.90342, 0.952163, 0.743428, 0.337726, 0.71229, 0.680203, 0.841026, 0.422939, 0.65251, 0.253137, 0.675419, 0.568637, 0.603073, 0.852764, 0.388886, 0.410462, 0.476728, 0.510533, 0.301942, 0.379301, 0.149956, 0.808542, 0.848912, 0.100597, 0.617219, 0.469416, 0.469011, 0.0687396, 0.190661, 0.502269, 0.686276, 0.609706, 0.550519, 0.362331, 0.946722, 0.201394, 0.647379, 0.543172, 0.714426, 0.546917, 0.58512, 0.317949, 0.0111047, 0.890669, 0.328099, 0.436081, 0.448325, 0.432207, 0.214826, 0.443853, 0.0842934, 0.832098, 0.13181, 0.634658, 0.376995, 0.706129, 0.197461, 0.0890721, 0.0308775, 0.567922, 0.138594, 0.345698, 0.542949, 0.988092, 0.61366, 0.444303, 0.140035, 0.997918, 0.970758, 0.756369, 0.850417, 0.704505, 0.845934, 0.167488, 0.678966, 0.0791962, 0.317072, 0.553948, 0.961764, 0.266834, 0.112267, 0.472534, 0.437951, 0.41819, 0.589639, 0.836162, 0.640385, 0.419122, 0.879733, 0.0215169, 0.545106, 0.811654, 0.368397, 0.545883, 0.218121, 0.308856, 0.970945, 0.164763, 0.0833245, 0.891669, 0.313721, 0.138196, 0.999736, 0.846489, 0.251089, 0.143294, 0.907812, 0.229007, 0.90131, 0.0869075, 0.824083, 0.250005, 0.969888, 0.417303, 0.117991, 0.292969, 0.832882, 0.689027, 0.83043, 0.69579, 0.480893, 0.267528, 0.405996, 0.578269, 0.03197, 0.787975, 0.424118, 0.147029, 0.0962544, 0.848264, 0.0824609, 0.912907, 0.921646, 0.790334, 0.902114, 0.365017, 0.171807, 0.0796289, 0.672038, 0.587797, 0.207598, 0.219838, 0.587787, 0.0925063, 0.164567, 0.050361, 0.70654, 0.998544, 0.6913, 0.314585, 0.965963, 0.261155, 0.494288, 0.504885, 0.327598, 0.818081, 0.392978, 0.669028, 0.515681, 0.576109, 0.891496, 0.343932, 0.343278, 0.210709, 0.799101, 0.150515, 0.67959, 0.0869917, 0.64697, 0.517052, 0.784082, 0.434442, 0.683405, 0.151715, 0.364158, 0.533576, 0.416155, 0.633381, 0.0105608, 0.411807, 0.267263, 0.201245, 0.853347, 0.803212, 0.489332, 0.391618, 0.906979, 0.389094, 0.732599, 0.540485, 0.203335, 0.528552, 0.119091, 0.980714, 0.531515, 0.253234, 0.203646, 0.68016, 0.802235, 0.166546, 0.765178, 0.696448, 0.637395, 0.658175, 0.657892, 0.941429, 0.272868, 0.650092, 0.0141799, 0.949041, 0.798854, 0.78102, 0.749516, 0.00284496, 0.853585, 0.063686, 0.710953, 0.629978, 0.378365, 0.286316, 0.240123, 0.271781, 0.0532606, 0.516435, 0.512621, 0.903667, 0.312805, 0.592327, 0.534378, 0.399062, 0.351568, 0.348073, 0.351099, 0.878121, 0.00852462, 0.967123, 0.256503, 0.432617, 0.610003, 0.262833, 0.79102, 0.407924, 0.287385, 0.638023, 0.616393, 0.115964, 0.56895, 0.439804, 0.827512, 0.685054, 0.834155, 0.838647, 0.998326, 0.137987, 0.511495, 0.285721, 0.252526, 0.153681, 0.162173, 0.614444, 0.657301, 0.64953, 0.568712, 0.573069, 0.227013, 0.750514, 0.923495, 0.846269, 0.290335, 0.454151, 0.860921, 0.328575, 0.954431, 0.0955721, 0.739636, 0.863548, 0.382976, 0.581971, 0.163425, 0.237802, 0.330289, 0.171705, 0.588654, 0.800343, 0.314376, 0.672668, 0.297174, 0.359896, 0.66208, 0.840302, 0.209987, 0.652685, 0.431418, 0.862184, 0.147982, 0.513305, 0.438692, 0.211673, 0.670082, 0.952139, 0.729084, 0.0658926, 0.415465, 0.941695, 0.979433, 0.885361, 0.572453, 0.440163, 0.445841, 0.407351, 0.244812, 0.776673, 0.821962, 0.0356108, 0.11611, 0.939212, 0.764294, 0.563954, 0.189871, 0.506891, 0.993638, 0.412937, 0.0669241, 0.0029951, 0.503381, 0.836273, 0.254115, 0.73269, 0.951653, 0.343077, 0.567725, 0.213019, 0.233328, 0.926974, 0.445676, 0.0557172, 0.647064, 0.260774, 0.326079, 0.248384, 0.666974, 0.207244, 0.078958, 0.583094, 0.575161, 0.762487, 0.874543, 0.745034, 0.794406, 0.659945, 0.927887, 0.490104, 0.887452, 0.818105, 0.465006, 0.140414, 0.929325, 0.0822307, 0.258076, 0.326836, 0.388695, 0.357107, 0.927782, 0.581428, 0.947107, 0.747672, 0.343561, 0.822224, 0.721027, 0.106697, 0.0900304, 0.405827, 0.734765, 0.166731, 0.09956, 0.200387, 0.585737, 0.599669, 0.724478, 0.691632, 0.582199, 0.0551151, 0.914622, 0.670609, 0.118239, 0.340486, 0.483041, 0.702132, 0.658969, 0.0843298, 0.559416, 0.166231, 0.687642, 0.679254, 0.47015, 0.217913, 0.803567, 0.595803, 0.827822, 0.474204, 0.322077, 0.311678, 0.734078, 0.309757, 0.389268, 0.941472, 0.336683, 0.0472055, 0.774327, 0.755982, 0.543597, 0.886328, 0.674854, 0.856463, 0.289106, 0.183975, 0.615692, 0.486081, 0.508756, 0.301868, 0.316682, 0.66107, 0.190163, 0.986937, 0.521312, 0.617194, 0.0128777, 0.334402, 0.291899, 0.727617, 0.646448, 0.980431, 0.245638, 0.100408, 0.867419, 0.753079, 0.619584, 0.604698, 0.635036, 0.296076, 0.185603, 0.289326, 0.68896, 0.178509, 0.236927, 0.835063, 0.185124, 0.0283554, 0.48892, 0.670488, 0.379158, 0.789049, 0.443331, 0.299892, 0.681071, 0.99212, 0.128715, 0.134455, 0.792771, 0.247035, 0.721657, 0.89531, 0.0317777, 0.315355, 0.235227, 0.741361, 0.951764, 0.339439, 0.03348, 0.695221, 0.0785878, 0.00833043, 0.314854, 0.775541, 0.795041, 0.986474, 0.521147, 0.605619, 0.734118, 0.717664, 0.471279, 0.202821, 0.834592, 0.759339, 0.558764, 0.658476, 0.103599, 0.965012, 0.994038, 0.341327, 0.696113, 0.189786, 0.868719, 0.60927, 0.922434, 0.635436, 0.749053, 0.0780983, 0.672403, 0.566617, 0.208607, 0.720733, 0.189837, 0.229932, 0.0867006, 0.400971, 0.86854, 0.432769, 0.713816, 0.652089, 0.924112, 0.133025, 0.125826, 0.457013, 0.0880801, 0.183837, 0.958992, 0.207756, 0.498049, 0.740143, 0.33916, 0.513497, 0.726251, 0.109652, 0.588813, 0.147343, 0.135221, 0.929679, 0.450744, 0.386881, 0.84224, 0.588499, 0.43192, 0.905016, 0.311989, 0.144757, 0.0127828, 0.300859, 0.650715, 0.786708, 0.236716, 0.39271, 0.538506, 0.92658, 0.502621, 0.00129624, 0.374738, 0.687828, 0.425267, 0.695922, 0.271628, 0.267609, 0.448037, 0.764976, 0.00985754, 0.993415, 0.740126, 0.96593, 0.130155, 0.595889, 0.991082, 0.999982, 0.308795, 0.234162, 0.510756, 0.798733, 0.208918, 0.449918, 0.621955, 0.690216, 0.990872, 0.161265, 0.77657, 0.769393, 0.536126, 0.526992, 0.128817, 0.132468, 0.235292, 0.0784356, 0.170721, 0.985488, 0.439469, 0.83395, 0.980758, 0.265345, 0.575595, 0.468431, 0.757955, 0.757002, 0.711104, 0.927202, 0.261604, 0.493911, 0.0424471, 0.729279, 0.375319, 0.843083, 0.484256, 0.885053, 0.192494, 0.34795, 0.0455751, 0.515137, 0.477784, 0.0649554, 0.650016, 0.956627, 0.050764, 0.272256, 0.025658, 0.248842, 0.299862, 0.308331, 0.359465, 0.611013, 0.0472935, 0.207076, 0.954112, 0.823119, 0.594145, 0.722014, 0.92946, 0.311688, 0.570109, 0.326544, 0.53002, 0.574666, 0.025404, 0.993925, 0.419538, 0.774414, 0.0261002, 0.795538, 0.382437, 0.389587, 0.652332, 0.854384, 0.873042, 0.952378, 0.317103, 0.0361413, 0.116577, 0.463217, 0.285727, 0.932741, 0.324546, 0.31741, 0.312902, 0.971811, 0.903006, 0.904205, 0.751936, 0.491303, 0.233713, 0.455358, 0.0411465, 0.533216, 0.691844, 0.93975, 0.443571, 0.157401, 0.323671, 0.986036, 0.435571, 0.711231, 0.424171, 0.202061, 0.476592, 0.187951, 0.997167, 0.822913, 0.681013, 0.115605, 0.282858, 0.180021, 0.918261, 0.406588, 0.8646, 0.267413, 0.473288, 0.125995, 0.00131054, 0.426363, 0.66798, 0.537716, 0.346836, 0.429234, 0.62206, 0.29584, 0.976714, 0.451949, 0.985898, 0.277213, 0.392429, 0.22063, 0.0628975, 0.359, 0.150573, 0.133869, 0.620183, 0.902421, 0.810666, 0.258409, 0.0210337, 0.0961636, 0.584963, 0.930785, 0.214695, 0.265263, 0.871547, 0.151312, 0.699748, 0.0450061, 0.910223, 0.235195, 0.848569, 0.299817, 0.527422, 0.428382, 0.823018, 0.260234, 0.327794, 0.0477415, 0.684552, 0.554492, 0.061122, 0.318074, 0.295923, 0.950095, 0.971548, 0.200227, 0.159502, 0.989376, 0.000181309, 0.290116, 0.0980655, 0.51087, 0.40843, 0.156578, 0.919796, 0.927811, 0.00787659, 0.350387, 0.559916, 0.449739, 0.892714, 0.934983, 0.579323, 0.167472, 0.904336, 0.688128, 0.621818, 0.473989, 0.534156, 0.81434, 0.121198, 0.830013, 0.798168, 0.272081, 0.684559, 0.177527, 0.910539, 0.65642, 0.205445, 0.0252518, 0.027905, 0.774112, 0.578485, 0.792427, 0.818469, 0.131575, 0.697511, 0.59973, 0.301915, 0.0119127, 0.579161, 0.766104, 0.964891, 0.699964, 0.855512, 0.222158, 0.688281, 0.899556, 0.216731, 0.370764, 0.318147, 0.373838, 0.743697, 0.22219, 0.729973, 0.764269, 0.859449, 0.504316, 0.897829, 0.0920401, 0.396412, 0.937039, 0.191127, 0.558869, 0.265851, 0.599098, 0.961812, 0.155103, 0.647618, 0.0698488, 0.995937, 0.582297, 0.820517, 0.0478966, 0.0818173, 0.0636291, 0.98021, 0.854298, 0.89553, 0.533979, 0.143815, 0.790217, 0.0250228, 0.662897, 0.278488, 0.303812, 0.673583, 0.913426, 0.533529, 0.689299, 0.881157, 0.680355, 0.00740174, 0.663995, 0.967639, 0.103869, 0.780659, 0.874741, 0.525152, 0.776343, 0.0776852, 0.578212, 0.252742, 0.30215, 0.875205, 0.0973279, 0.0681778, 0.239187, 0.780169, 0.0461958, 0.755976, 0.930635, 0.281147, 0.740307, 0.893058, 0.686403, 0.204147, 0.78937, 0.777098, 0.66563, 0.598454, 0.598207, 0.13296, 0.945659, 0.245659, 0.697052, 0.0706009, 0.252892, 0.771578, 0.0707641, 0.192206, 0.831026, 0.154797, 0.438269, 0.25017, 0.91352, 0.313912, 0.187547, 0.651264, 0.0634346, 0.723774, 0.912347, 0.431135, 0.786549, 0.896661, 0.673512, 0.326191, 0.312847, 0.984751, 0.37331, 0.00158407, 0.43311, 0.717923, 0.0102345, 0.306766, 0.187318, 0.551426, 0.403001, 0.756382, 0.466606, 0.985166, 0.496499, 0.885107, 0.0346581, 0.562298, 0.829654, 0.187659, 0.40626, 0.671657, 0.255205, 0.495253, 0.0696849, 0.0321291, 0.728724, 0.0534811, 0.663813, 0.0639717, 0.117046, 0.365665, 0.123565, 0.973086, 0.352176, 0.00729006, 0.561651, 0.530549, 0.465334, 0.619018, 0.673429, 0.33839, 0.243359, 0.491217, 0.299119, 0.278391, 0.542227, 0.499365, 0.187813, 0.721693, 0.59535, 0.537717, 0.48948, 0.356821, 0.734558, 0.0117308, 0.757514, 0.303086, 0.213038, 0.23938, 0.932718, 0.934701, 0.933399, 0.677056, 0.998034, 0.808591, 0.706243, 0.618281, 0.786762, 0.328223, 0.790937, 0.807792, 0.492201, 0.75667, 0.0389603, 0.687735, 0.684143, 0.94992, 0.626977, 0.578089, 0.24783, 0.567546, 0.0916048, 0.428268, 0.891156, 0.0942982, 0.76031, 0.0284436, 0.985265, 0.945117, 0.330456, 0.713405, 0.130942, 0.115196, 0.59905, 0.956426, 0.71099, 0.110549, 0.0249017, 0.0233836, 0.943334, 0.56555, 0.16012, 0.654387, 0.213717, 0.937971, 0.469584, 0.928693, 0.087222, 0.842372, 0.496351, 0.340762, 0.886811, 0.985658, 0.931091, 0.626308, 0.660099, 0.915961, 0.603531, 0.733776, 0.51079, 0.659871, 0.558242, 0.617787, 0.667047, 0.295419, 0.0551591, 0.264099, 0.799619, 0.15651, 0.0764005, 0.422984, 0.0202244, 0.891092, 0.67849, 0.630009, 0.215038, 0.310006, 0.614872, 0.312407, 0.902146, 0.151641, 0.914057, 0.708748, 0.21216, 0.0232438, 0.453112, 0.66096, 0.508303, 0.352855, 0.875645, 0.084713, 0.379215, 0.900673, 0.86154, 0.486893, 0.00537183, 0.348694, 0.560657, 0.905072, 0.633698, 0.994599, 0.559535, 0.824699, 0.816697, 0.598691, 0.169897, 0.573792, 0.524769, 0.00850163, 0.604211, 0.992741, 0.512384, 0.453254, 0.148024, 0.801813, 0.755688, 0.637341, 0.617061, 0.949338, 0.581019, 0.571387, 0.600699, 0.117938, 0.411359, 0.927926, 0.752928, 0.715753, 0.934348, 0.568014, 0.690842, 0.841732, 0.015069, 0.594771, 0.165404, 0.428721, 0.873358, 0.940763, 0.770483, 0.468984, 0.977815, 0.862355, 0.687214, 0.260979, 0.831053, 0.683784, 0.730552, 0.586282, 0.699716, 0.592185, 0.201781, 0.787032, 0.171147, 0.200121, 0.870475, 0.753097, 0.415393, 0.708939, 0.627627, 0.359178, 0.931772, 0.15007, 0.620159, 0.963496, 0.369226, 0.743274, 0.396918, 0.145946, 0.383654, 0.6062, 0.46939, 0.851749, 0.967471, 0.473204, 0.612918, 0.852051, 0.41005, 0.354198, 0.974986, 0.137004, 0.128644, 0.0705869, 0.672332, 0.222469, 0.886623, 0.783188, 0.762526, 0.950055, 0.89466, 0.417668, 0.883254, 0.311522, 0.451677, 0.32162, 0.40389, 0.961797, 0.481417, 0.105766, 0.329029, 0.2593, 0.038418, 0.147344, 0.996207, 0.0227872, 0.997277, 0.0559484, 0.290415, 0.509924, 0.78105, 0.259174, 0.624502, 0.955392, 0.166407, 0.258785, 0.732313, 0.000257506, 0.213003, 0.395102, 0.459407, 0.0786457, 0.759219, 0.579006, 0.0659727, 0.439613, 0.0276911, 0.155768, 0.128981, 0.00765603, 0.871646, 0.300881, 0.0880125, 0.656164, 0.4489, 0.572942, 0.191037, 0.996863, 0.465324, 0.996544, 0.639098, 0.079738, 0.579622, 0.366462, 0.00852622, 0.983265, 0.847557, 0.528055, 0.620087, 0.345166, 0.661005, 0.474273, 0.574851, 0.150577, 0.821059, 0.361186, 0.992237, 0.182514, 0.924418, 0.585461, 0.844204, 0.306433, 0.437001, 0.2157, 0.737877, 0.188907, 0.810021, 0.483862, 0.0935239, 0.615325, 0.965499, 0.428688, 0.0195098, 0.101319, 0.810557, 0.327364, 0.672945, 0.101972, 0.774424, 0.445966, 0.846479, 0.515845, 0.505852, 0.584812, 0.324095, 0.621901, 0.423033, 0.729503, 0.482347, 0.480506, 0.302675, 0.886335, 0.149147, 0.962986, 0.933432, 0.180085, 0.457787, 0.139065, 0.499211, 0.605832, 0.329876, 0.352571, 0.415843, 0.578401, 0.339472, 0.194886, 0.264691, 0.830351, 0.922894, 0.558303, 0.419198, 0.622253, 0.741526, 0.0453581, 0.142005, 0.31336, 0.806433, 0.232656, 0.956898, 0.851459, 0.256476, 0.740467, 0.0249367, 0.953497, 0.899508, 0.770342, 0.758447, 0.927485, 0.310305, 0.624985, 0.166628, 0.0247503, 0.294539, 0.31966, 0.581667, 0.558056, 0.94075, 0.0481254, 0.278626, 0.144352, 0.0797595, 0.894766, 0.205037, 0.0790566, 0.703477, 0.455415, 0.651989, 0.665777, 0.0390693, 0.16248, 0.55931, 0.458255, 0.751159, 0.891267, 0.329399, 0.819112, 0.402242, 0.665274, 0.771575, 0.547082, 0.152219, 0.877681, 0.251901, 0.922786, 0.952178, 0.555252, 0.0316401, 0.55352, 0.271904, 0.037495, 0.415971, 0.298813, 0.56826, 0.436901, 0.577173, 0.817858, 0.847888, 0.0676278, 0.176205, 0.213929, 0.435223, 0.581398, 0.951432, 0.798489, 0.84443, 0.173472, 0.849825, 0.736335, 0.931349, 0.867622, 0.808382, 0.743966, 0.953752, 0.637471, 0.305474, 0.467269, 0.0156392, 0.960227, 0.529988, 0.537135, 0.52798, 0.200048, 0.783176, 0.531724, 0.0874458, 0.960348, 0.13284, 0.916038, 0.310078, 0.314001, 0.381371, 0.317984, 0.424795, 0.848246, 0.897606, 0.901429, 0.663888, 0.775928, 0.696112, 0.491274, 0.251927, 0.709468, 0.631409, 0.964136, 0.838871, 0.673734, 0.0349753, 0.553625, 0.487262, 0.953038, 0.925184, 0.717333, 0.925794, 0.769757, 0.410872, 0.536194, 0.316176, 0.984915, 0.52565, 0.696893, 0.209431, 0.821212, 0.885326, 0.71463, 0.171792, 0.663639, 0.517136, 0.91975, 0.491996, 0.5179, 0.663451, 0.421178, 0.0691154, 0.161887, 0.181074, 0.393132, 0.0254707, 0.701277, 0.690192, 0.531019, 0.945704, 0.614062, 0.151473, 0.400165, 0.0415361, 0.965977, 0.0314672, 0.0481952, 0.214615, 0.295326, 0.43428, 0.569448, 0.453824, 0.360233, 0.647979, 0.157994, 0.517723, 0.515074, 0.0273796, 0.427802, 0.859925, 0.063676, 0.806979, 0.231039, 0.69043, 0.190798, 0.25716, 0.547952, 0.268875, 0.546476, 0.893843, 0.859769, 0.0846714, 0.181579, 0.188657, 0.986507, 0.937119, 0.419447, 0.199551, 0.24698, 0.59333, 0.0709606, 0.669645, 0.735183, 0.845917, 0.673668, 0.836039, 0.486732, 0.941623, 0.402114, 0.439044, 0.135021, 0.263392, 0.765108, 0.413111, 0.657554, 0.196551, 0.404475, 0.129879, 0.0505086, 0.00466897, 0.105102, 0.141835, 0.726331, 0.165081, 0.100709, 0.914696, 0.441655, 0.998282, 0.125784, 0.967116, 0.950755, 0.149229, 0.304046, 0.708734, 0.335679, 0.55964, 0.560483, 0.628257, 0.455348, 0.603545, 0.851436, 0.893565, 0.476705, 0.104704, 0.796748, 0.784699, 0.781135, 0.106211, 0.277441, 0.289343, 0.95793, 0.631682, 0.0271881, 0.455434, 0.610086, 0.307972, 0.651827, 0.855031, 0.765553, 0.074987, 0.200871, 0.484881, 0.483972, 0.066425, 0.511655, 0.254437, 0.226836, 0.875817, 0.0378287, 0.236484, 0.404451, 0.786611, 0.397115, 0.592105, 0.861911, 0.706302, 0.641974, 0.804218, 0.297126, 0.375719, 0.399631, 0.490453, 0.281737, 0.841077, 0.959483, 0.584851, 0.978059, 0.275329, 0.673805, 0.0991874, 0.0822971, 0.675075, 0.151708, 0.828523, 0.738316, 0.106096, 0.351146, 0.59212, 0.782156, 0.697675, 0.672146, 0.391308, 0.994455, 0.70723, 0.601611, 0.505208, 0.296439, 0.193982, 0.675068, 0.964641, 0.0251922, 0.0516646, 0.2421, 0.185921, 0.414099, 0.784746, 0.0056449, 0.0014927, 0.0883201, 0.389037, 0.838693, 0.472022, 0.747276, 0.670899, 0.663473, 0.984446, 0.928507, 0.20132, 0.95488, 0.636111, 0.0699201, 0.583516, 0.211213, 0.688312, 0.91938, 0.551805, 0.389652, 0.741283, 0.052524, 0.550189, 0.304772, 0.820712, 0.0177963, 0.537043, 0.896841, 0.322799, 0.00701728, 0.0407345, 0.86977, 0.363575, 0.456524, 0.921916, 0.421796, 0.246733, 0.414963, 0.778618, 0.764075, 0.955053, 0.105118, 0.579191, 0.532768, 0.15703, 0.54805, 0.251995, 0.0294958, 0.0359925, 0.271806, 0.625352, 0.988511, 0.549665, 0.650531, 0.495402, 0.444079, 0.255418, 0.424125, 0.921934, 0.831157, 0.239731, 0.311678, 0.184466, 0.905731, 0.320168, 0.178902, 0.372863, 0.0368721, 0.342141, 0.566292, 0.90077, 0.719034, 0.38821, 0.483519, 0.530794, 0.302108, 0.489568, 0.890171, 0.373671, 0.0824403, 0.445017, 0.442758, 0.313625, 0.38634, 0.661522, 0.361428, 0.0217333, 0.730581, 0.88917, 0.970692, 0.719907, 0.25984, 0.805597, 0.673053, 0.458223, 0.107897, 0.361561, 0.0291539, 0.855708, 0.172413, 0.533138, 0.225099, 0.645763, 0.844209, 0.558501, 0.418254, 0.116997, 0.406512, 0.00183524, 0.496051, 0.674179, 0.902401, 0.284562, 0.233373, 0.237694, 0.700545, 0.268462, 0.668095, 0.950185, 0.841456, 0.139014, 0.71714, 0.448669, 0.805342, 0.993116, 0.530876, 0.679141, 0.404655, 0.675437, 0.147761, 0.582268, 0.604154, 0.0762493, 0.629325, 0.156989, 0.719128, 0.0203815, 0.585468, 0.796693, 0.884006, 0.0808964, 0.742137, 0.494992, 0.799028, 0.905965, 0.0423807, 0.340777, 0.24199, 0.798418, 0.123217, 0.168016, 0.893709, 0.870615, 0.93698, 0.753019, 0.0852228, 0.99572, 0.449124, 0.412202, 0.197275, 0.338711, 0.499454, 0.6388, 0.428767, 0.839672, 0.570992, 0.208661, 0.568966, 0.751003, 0.70565, 0.82319, 0.939326, 0.268698, 0.356745, 0.829908, 0.223638, 0.773777, 0.958328, 0.282418, 0.719318, 0.78842, 0.81075, 0.61092, 0.673505, 0.308543, 0.0874788, 0.989528, 0.427193, 0.122348, 0.818504, 0.0403227, 0.00215071, 0.48062, 0.168503, 0.649648, 0.0122458, 0.0867355, 0.611364, 0.026259, 0.550539, 0.90442, 0.0929411, 0.94349, 0.438042, 0.46759, 0.350625, 0.489027, 0.963676, 0.982726, 0.222678, 0.521699, 0.107323, 0.612311, 0.286303, 0.600474, 0.421695, 0.209431, 0.751705, 0.93188, 0.487897, 0.506325, 0.887726, 0.477848, 0.094315, 0.669075, 0.674156, 0.0687686, 0.99799, 0.548078, 0.202686, 0.287848, 0.881276, 0.526667, 0.161727, 0.266224, 0.659318, 0.734559, 0.459679, 0.0273649, 0.201377, 0.771459, 0.894653, 0.901491, 0.76, 0.482567, 0.334403, 0.265654, 0.423835, 0.257329, 0.890674, 0.848466, 0.395115, 0.0160041, 0.180226, 0.450168, 0.962235, 0.643789, 0.46348, 0.0736525, 0.343841, 0.109349, 0.505405, 0.849111, 0.99017, 0.121314, 0.565838, 0.205635, 0.70589, 0.19903, 0.560052, 0.740696, 0.363356, 0.737106, 0.621815, 0.435792, 0.475101, 0.0685072, 0.652101, 0.529883, 0.761216, 0.209347, 0.864878, 0.1801, 0.838679, 0.909011, 0.890645, 0.125065, 0.85264, 0.00553248, 0.359452, 0.0215704, 0.948519, 0.245559, 0.304927, 0.130233, 0.0645426, 0.264597, 0.442142, 0.474472, 0.412466, 0.393704, 0.329054, 0.0305282, 0.943062, 0.787283, 0.520625, 0.643102, 0.393824, 0.135733, 0.555884, 0.366707, 0.288212, 0.00154851, 0.760691, 0.148698, 0.878215, 0.729474, 0.756162, 0.203675, 0.096348, 0.0229167, 0.548427, 0.176644, 0.977684, 0.519568, 0.956985, 0.117229, 0.202766, 0.36117, 0.493883, 0.0955729, 0.429983, 0.215631, 0.721776, 0.493656, 0.635157, 0.0853646, 0.488352, 0.211347, 0.206745, 0.0442616, 0.215304, 0.614827, 0.434182, 0.142541, 0.0682421, 0.168634, 0.174711, 0.299031, 0.521567, 0.146293, 0.279439, 0.199777, 0.0200187, 0.258583, 0.681859, 0.0596317, 0.0392842, 0.61713, 0.369436, 0.0799901, 0.480434, 0.254634, 0.417208, 0.946654, 0.907955, 0.954811, 0.787866, 0.381337, 0.420529, 0.527454, 0.887459, 0.81664, 0.4266, 0.817779, 0.0741167, 0.39021, 0.974817, 0.954317, 0.699245, 0.83607, 0.249205, 0.297981, 0.511476, 0.204782, 0.762984, 0.0727764, 0.28233, 0.781094, 0.590758, 0.6528, 0.19211, 0.9405, 0.317923, 0.662987, 0.0535192, 0.7402, 0.968426, 0.0933652, 0.0648408, 0.406435, 0.693375, 0.842601, 0.982824, 0.0507998, 0.976644, 0.837249, 0.298373, 0.667242, 0.955321, 0.454235, 0.272865, 0.690256, 0.989745, 0.317436, 0.101836, 0.0388043, 0.317934, 0.641849, 0.936255, 0.020014, 0.0661062, 0.879686, 0.117952, 0.705039, 0.582077, 0.14264, 0.356294, 0.117195, 0.0495249, 0.0564082, 0.303122, 0.56035, 0.3861, 0.634594, 0.140865, 0.336389, 0.505846, 0.0264053, 0.775876, 0.445072, 0.820959, 0.668448, 0.42349, 0.247024, 0.18433, 0.527374, 0.795369, 0.348493, 0.703083, 0.111835, 0.344671, 0.181617, 0.980603, 0.322127, 0.151618, 0.0291552, 0.977675, 0.264931, 0.648227, 0.936524, 0.373635, 0.535304, 0.0492618, 0.811494, 0.602634, 0.963197, 0.784475, 0.344308, 0.332398, 0.990225, 0.307511, 0.528101, 0.711152, 0.80227, 0.410128, 0.328325, 0.248034, 0.457591, 0.00531339, 0.934736, 0.472902, 0.154699, 0.258107, 0.252473, 0.0378371, 0.439693, 0.798836, 0.5687, 0.271195, 0.839663, 0.909918, 0.77006, 0.62147, 0.987425, 0.80478, 0.226358, 0.691456, 0.362752, 0.136576, 0.367025, 0.500041, 0.743259, 0.452868, 0.176915, 0.996972, 0.608362, 0.755794, 0.835839, 0.656593, 0.146737, 0.128627, 0.421769, 0.801329, 0.217781, 0.785198, 0.471612, 0.787722, 0.489773, 0.445195, 0.0905099, 0.891647, 0.324559, 0.476954, 0.712408, 0.973274, 0.570632, 0.297038, 0.19666, 0.691032, 0.571544, 0.712805, 0.773283, 0.352252, 0.513854, 0.42297, 0.33506, 0.00358028, 0.991002, 0.359155, 0.191451, 0.794602, 0.518109, 0.00470158, 0.748708, 0.0797746, 0.189823, 0.492121, 0.121755, 0.798563, 0.803132, 0.140422, 0.29135, 0.463747, 0.137983, 0.0604471, 0.341771, 0.885016, 0.322533, 0.385943, 0.880094, 0.496986, 0.932964, 0.193366, 0.708382, 0.429535, 0.250575, 0.222575, 0.178777, 0.162057, 0.706416, 0.937513, 0.328438, 0.0937158, 0.732432, 0.0608153, 0.166251, 0.205925, 0.847815, 0.855735, 0.597828, 0.711719, 0.547604, 0.661033, 0.541048, 0.517265, 0.445875, 0.471972, 0.332354, 0.422843, 0.890394, 0.732324, 0.759995, 0.644569, 0.401106, 0.502339, 0.956756, 0.610954, 0.412489, 0.626986, 0.113694, 0.5746, 0.987722, 0.240286, 0.00432481, 0.762028, 0.626383, 0.714022, 0.793543, 0.471099, 0.104179, 0.78249, 0.590291, 0.527225, 0.005684, 0.914185, 0.353396, 0.202321, 0.320321, 0.287565, 0.945875, 0.345299, 0.291706, 0.32416, 0.00276939, 0.63825, 0.402977, 0.576277, 0.105995, 0.545826, 0.358624, 0.808883, 0.465006, 0.776206, 0.224446, 0.663314, 0.808429, 0.256921, 0.315287, 0.92233, 0.376786, 0.715354, 0.841388, 0.544618, 0.987958, 0.782977, 0.87551, 0.646046, 0.390378, 0.894271, 0.996544, 0.359162, 0.286426, 0.82989, 0.13782, 0.631988, 0.812207, 0.0445571, 0.124157, 0.680088, 0.328989, 0.712035, 0.641283, 0.269281, 0.80373, 0.967612, 0.382533, 0.687583, 0.843749, 0.886197, 0.0950496, 0.574353, 0.0699918, 0.53912, 0.504064, 0.660618, 0.374065, 0.637483, 0.8169, 0.939656, 0.0261757, 0.20097, 0.456177, 0.213099, 0.0986604, 0.0258389, 0.524193, 0.439806, 0.37675, 0.212355, 0.850126, 0.104027, 0.328546, 0.63781, 0.0911744, 0.659202, 0.340858, 0.820599, 0.472196, 0.543987, 0.398669, 0.21216, 0.595441, 0.671733, 0.570267, 0.842117, 0.64249, 0.0599297, 0.754539, 0.250047, 0.163175, 0.823667, 0.117618, 0.596957, 0.765014, 0.803367, 0.90033, 0.634176, 0.778779, 0.389948, 0.876019, 0.732239, 0.736938, 0.720254, 0.494277, 0.616738, 0.579972, 0.95222, 0.0774625, 0.819565, 0.668885, 0.0805742, 0.543568, 0.0770902, 0.649517, 0.497256, 0.0441864, 0.580331, 0.437448, 0.769814, 0.331711, 0.724905, 0.487847, 0.659598, 0.960873, 0.901915, 0.293857, 0.927622, 0.0186188, 0.756045, 0.602516, 0.290121, 0.16717, 0.119101, 0.692152, 0.191299, 0.219723, 0.69781, 0.943302, 0.781711, 0.152227, 0.221124, 0.71624, 0.674647, 0.996695, 0.0450881, 0.668669, 0.139406, 0.527812, 0.758102, 0.395534, 0.544884, 0.440144, 0.71225, 0.746676, 0.271011, 0.475564, 0.551375, 0.910251, 0.820301, 0.769109, 0.0731969, 0.87809, 0.729973, 0.0203998, 0.675103, 0.897538, 0.715723, 0.452311, 0.883072, 0.631141, 0.283313, 0.0292786, 0.204652, 0.654933, 0.0381755, 0.318017, 0.105407, 0.15067, 0.480509, 0.991616, 0.136995, 0.945078, 0.28657, 0.397912, 0.261945, 0.318339, 0.640031, 0.990142, 0.81702, 0.193438, 0.535045, 0.0597312, 0.173213, 0.292445, 0.185084, 0.587259, 0.00148147, 0.975324, 0.251657, 0.170629, 0.401428, 0.170941, 0.581001, 0.199033, 0.972185, 0.340634, 0.768658, 0.23833, 0.673096, 0.87095, 0.905173, 0.908362, 0.617971, 0.644884, 0.481082, 0.845657, 0.156609, 0.730224, 0.647719, 0.993506, 0.301256, 0.0116288, 0.379652, 0.442735, 0.167211, 0.309261, 0.955926, 0.831823, 0.11743, 0.666602, 0.533286, 0.479091, 0.347829, 0.104072, 0.91867, 0.339395, 0.86384, 0.796643, 0.29879, 0.500049, 0.924571, 0.849123, 0.445291, 0.0270821, 0.112541, 0.133311, 0.29196, 0.436591, 0.425379, 0.196352, 0.635492, 0.0853693, 0.41619, 0.524924, 0.0309553, 0.817637, 0.899302, 0.540612, 0.402474, 0.574986, 0.550486, 0.935755, 0.542061, 0.142351, 0.0597138, 0.840648, 0.762772, 0.723046, 0.750349, 0.936069, 0.9534, 0.193353, 0.407915, 0.143609, 0.952848, 0.657239, 0.961232, 0.624849, 0.354556, 0.841626, 0.818479, 0.534767, 0.810802, 0.44789, 0.295864, 0.754041, 0.171901, 0.20736, 0.999154, 0.465007, 0.169413, 0.498973, 0.777322, 0.256924, 0.0537464, 0.107834, 0.728536, 0.427211, 0.611289, 0.00918443, 0.56757, 0.0195821, 0.870644, 0.649434, 0.296429, 0.338838, 0.394508, 0.506031, 0.590673, 0.791687, 0.397516, 0.490591, 0.698134, 0.95506, 0.399043, 0.108685, 0.72881, 0.813275, 0.732466, 0.506318, 0.896323, 0.556262, 0.488211, 0.812715, 0.192092, 0.159456, 0.171804, 0.112848, 0.545957, 0.911496, 0.970745, 0.968508, 0.604032, 0.356468, 0.280022, 0.461702, 0.866809, 0.930541, 0.646378, 0.842364, 0.457869, 0.810455, 0.757497, 0.420034, 0.524511, 0.355183, 0.85737, 0.00623311, 0.142426, 0.13031, 0.65588, 0.915588, 0.215766, 0.212401, 0.743461, 0.229986, 0.017642, 0.302409, 0.333892, 0.187124, 0.463878, 0.692419, 0.793604, 0.524824, 0.915982, 0.936224, 0.264829, 0.219627, 0.978267, 0.255686, 0.377408, 0.0765961, 0.815463, 0.196348, 0.586533, 0.965611, 0.940065, 0.382438, 0.675937, 0.200695, 0.459002, 0.529287, 0.730012, 0.0333491, 0.97293, 0.338763, 0.813401, 0.569148, 0.35753, 0.614917, 0.0133922, 0.227313, 0.145857, 0.725897, 0.548445, 0.250983, 0.773812, 0.719022, 0.660629, 0.232681, 0.468867, 0.797858, 0.144093, 0.0407103, 0.321641, 0.339029, 0.912671, 0.20084, 0.729883, 0.575855, 0.191571, 0.397984, 0.243607, 0.97661, 0.974892, 0.785988, 0.983069, 0.0707246, 0.158579, 0.698131, 0.716163, 0.336125, 0.0804066, 0.279019, 0.593757, 0.888541, 0.398578, 0.964843, 0.564949, 0.932278, 0.308927, 0.531247, 0.265197, 0.0722603, 0.582487, 0.0128856, 0.503734, 0.464389, 0.749397, 0.163665, 0.739268, 0.532718, 0.307705, 0.825203, 0.506772, 0.934988, 0.439218, 0.0988986, 0.181364, 0.999178, 0.0115725, 0.622664, 0.363274, 0.295258, 0.467167, 0.462446, 0.644967, 0.237777, 0.24021, 0.129736, 0.236774, 0.71736, 0.592575, 0.80587, 0.684147, 0.813818, 0.455822, 0.567276, 0.44103, 0.819876, 0.523352, 0.686162, 0.504607, 0.847563, 0.417824, 0.87599, 0.670343, 0.446771, 0.490173, 0.201381, 0.407379, 0.191155, 0.729373, 0.791839, 0.0446854, 0.998692, 0.182122, 0.630169, 0.274626, 0.889297, 0.887643, 0.585267, 0.93546, 0.601583, 0.242956, 0.410642, 0.844702, 0.765115, 0.627112, 0.581133, 0.598814, 0.0855001, 0.274711, 0.437285, 0.483497, 0.851629, 0.697016, 0.0266857, 0.468908, 0.0126986, 0.140353, 0.390803, 0.105963, 0.223323, 0.945771, 0.063375, 0.626944, 0.920751, 0.576469, 0.151342, 0.299934, 0.86341, 0.399419, 0.371485, 0.0164574, 0.353213, 0.52613, 0.987738, 0.733948, 0.377381, 0.217811, 0.386791, 0.391439, 0.819787, 0.214162, 0.620336, 0.909608, 0.187866, 0.42259, 0.515044, 0.862285, 0.900656, 0.669366, 0.497045, 0.649787, 0.297262, 0.21194, 0.968647, 0.48627, 0.841014, 0.419426, 0.505779, 0.153638, 0.824678, 0.709199, 0.865626, 0.42651, 0.37411, 0.345413, 0.243714, 0.978569, 0.377851, 0.549782, 0.0471732, 0.33871, 0.331785, 0.570494, 0.443454, 0.873528, 0.0834733, 0.162678, 0.36167, 0.846555, 0.845858, 0.749199, 0.626633, 0.65603, 0.881981, 0.737916, 0.461459, 0.474325, 0.840657, 0.779013, 0.84699, 0.202703, 0.294086, 0.825382, 0.0422565, 0.788005, 0.613018, 0.651833, 0.643324, 0.825643, 0.255919, 0.531083, 0.509035, 0.324197, 0.142594, 0.149332, 0.914391, 0.876952, 0.554899, 0.511945, 0.355697, 0.0298718, 0.24527, 0.727191, 0.897312, 0.511753, 0.86309, 0.822378, 0.168686, 0.305507, 0.917995, 0.806191, 0.539028, 0.892038, 0.0471423, 0.915764, 0.947819, 0.170481, 0.240748, 0.399979, 0.904382, 0.915078, 0.843223, 0.317477, 0.31286, 0.0760083, 0.982432, 0.292617, 0.274774, 0.0252961, 0.926118, 0.552318, 0.332799, 0.815043, 0.822998, 0.701285, 0.305563, 0.993832, 0.0229769, 0.122922, 0.292697, 0.642108, 0.57287, 0.360714, 0.877482, 0.993773, 0.408161, 0.561433, 0.123195, 0.670783, 0.43694, 0.535567, 0.0587223, 0.531395, 0.803974, 0.751394, 0.767416, 0.826159, 0.72084, 0.6653, 0.390057, 0.811412, 0.38598, 0.606537, 0.776579, 0.632889, 0.019757, 0.573167, 0.691271, 0.908813, 0.397752, 0.44632, 0.392576, 0.487321, 0.273685, 0.0818348, 0.884463, 0.225171, 0.719704, 0.208884, 0.986866, 0.199405, 0.701573, 0.752292, 0.114698, 0.546618, 0.957797, 0.0857847, 0.435463, 0.886511, 0.45565, 0.527449, 0.34607, 0.614304, 0.698266, 0.701658, 0.994631, 0.960054, 0.86394, 0.513186, 0.845196, 0.792049, 0.0754076, 0.923477, 0.178525, 0.0939209, 0.15817, 0.706766, 0.762543, 0.337017, 0.0114238, 0.500742, 0.466454, 0.444165, 0.898095, 0.584016, 0.424526, 0.123472, 0.621883, 0.268239, 0.980863, 0.299303, 0.689411, 0.0396197, 0.745702, 0.0832048, 0.390107, 0.192269, 0.473779, 0.592743, 0.92324, 0.99588, 0.560325, 0.844227, 0.895227, 0.315217, 0.427876, 0.740612, 0.404239, 0.297523, 0.550009, 0.130367, 0.529985, 0.903811, 0.0274738, 0.541456, 0.0453864, 0.824928, 0.940527, 0.175145, 0.520364, 0.178877, 0.303806, 0.238205, 0.150916, 0.851411, 0.0231129, 0.76401, 0.326563, 0.74719, 0.236742, 0.36392, 0.162055, 0.63259, 0.146906, 0.116181, 0.316018, 0.145111, 0.745504, 0.134543, 0.585036, 0.436159, 0.381443, 0.443352, 0.703843, 0.675227, 0.633806, 0.0643132, 0.406283, 0.109112, 0.594532, 0.844119, 0.864958, 0.159077, 0.295483, 0.404933, 0.991778, 0.90864, 0.93622, 0.38529, 0.677832, 0.193571, 0.0310793, 0.308378, 0.0230702, 0.694971, 0.868969, 0.758579, 0.708147, 0.0661495, 0.263227, 0.407218, 0.530183, 0.423451, 0.888105, 0.690569, 0.632032, 0.573501, 0.833762, 0.294366, 0.687145, 0.37138, 0.472334, 0.52598, 0.0378606, 0.679576, 0.27689, 0.994222, 0.492055, 0.010563, 0.19406, 0.449026, 0.580421, 0.253145, 0.0598715, 0.294879, 0.186504, 0.542578, 0.193358, 0.615846, 0.72037, 0.663472, 0.274297, 0.496184, 0.218168, 0.514598, 0.0106869, 0.821031, 0.74533, 0.992393, 0.0079268, 0.623167, 0.75849, 0.41025, 0.407622, 0.588331, 0.533143, 0.697857, 0.649481, 0.698867, 0.485025, 0.621063, 0.266581, 0.74821, 0.00979377, 0.498716, 0.228609, 0.848485, 0.570586, 0.599712, 0.360678, 0.245729, 0.278217, 0.944465, 0.265801, 0.215457, 0.139656, 0.973041, 0.458311, 0.534735, 0.682743, 0.753719, 0.114598, 0.0841108, 0.309155, 0.317644, 0.787148, 0.582741, 0.939913, 0.227198, 0.372308, 0.668988, 0.77885, 0.112538, 0.514408, 0.341342, 0.0572044, 0.879492, 0.615803, 0.599904, 0.291506, 0.887071, 0.0125394, 0.34209, 0.219155, 0.564994, 0.356455, 0.983372, 0.134833, 0.254677, 0.49876, 0.974607, 0.332973, 0.108532, 0.938997, 0.377587, 0.13598, 0.115318, 0.239941, 0.924513, 0.102238, 0.0785566, 0.44881, 0.350119, 0.954669, 0.940411, 0.342005, 0.284375, 0.449665, 0.830971, 0.200926, 0.314001, 0.781365, 0.224286, 0.446819, 0.221535, 0.729129, 0.749673, 0.456387, 0.460851, 0.556725, 0.42669, 0.727319, 0.641873, 0.126432, 0.624861, 0.909245, 0.963678, 0.666631, 0.35122, 0.115731, 0.457848, 0.840563, 0.829899, 0.587245, 0.0676621, 0.7204, 0.405456, 0.73395, 0.634702, 0.728035, 0.406434, 0.915283, 0.0281269, 0.45249, 0.148192, 0.0569771, 0.811251, 0.321011, 0.496894, 0.138661, 0.0233334, 0.958999, 0.83323, 0.673589, 0.111097, 0.927691, 0.96956, 0.803502, 0.426052, 0.268938, 0.650221, 0.518595, 0.869249, 0.12616, 0.445036, 0.792153, 0.250818, 0.270308, 0.235789, 0.0916088, 0.417104, 0.485238, 0.420994, 0.456175, 0.497569, 0.135986, 0.677542, 0.747215, 0.786937, 0.837866, 0.685386, 0.535484, 0.586124, 0.297443, 0.429421, 0.970676, 0.411305, 0.177696, 0.836751, 0.861931, 0.883494, 0.266848, 0.800904, 0.910869, 0.647787, 0.458961, 0.367783, 0.627652, 0.92467, 0.710434, 0.305664, 0.190825, 0.428195, 0.420536, 0.904273, 0.695588, 0.0288807, 0.849306, 0.530703, 0.223866, 0.628806, 0.678897, 0.666574, 0.266342, 0.879409, 0.959895, 0.584696, 0.136131, 0.108802, 0.35221, 0.0258654, 0.265173, 0.14325, 0.915411, 0.764868, 0.210694, 0.512209, 0.12814, 0.197892, 0.371246, 0.49882, 0.0912386, 0.404809, 0.607549, 0.102802, 0.128005, 0.347408, 0.722213, 0.36048, 0.9551, 0.17463, 0.446398, 0.931424, 0.530748, 0.269071, 0.64025, 0.421115, 0.650868, 0.705462, 0.335059, 0.0388648, 0.31432, 0.662333, 0.136416, 0.290576, 0.0447381, 0.158673, 0.309095, 0.636449, 0.414804, 0.545607, 0.709402, 0.278694, 0.032229, 0.397313, 0.236337, 0.079546, 0.029676, 0.367649, 0.97837, 0.157604, 0.154469, 0.128897, 0.145668, 0.322224, 0.497913, 0.992355, 0.0490014, 0.0357072, 0.885171, 0.561672, 0.724415, 0.0278577, 0.900952, 0.409489, 0.80081, 0.17966, 0.67615, 0.0814261, 0.00933907, 0.425483, 0.307292, 0.150995, 0.1178, 0.72147, 0.244173, 0.308405, 0.524435, 0.0505395, 0.162976, 0.000473051, 0.424379, 0.368167, 0.287574, 0.97879, 0.406892, 0.029309, 0.804494, 0.0651036, 0.364125, 0.0906702, 0.482078, 0.452336, 0.664215, 0.310149, 0.190369, 0.884773, 0.823005, 0.631533, 0.476774, 0.960769, 0.341807, 0.345441, 0.480597, 0.315413, 0.69107, 0.845847, 0.886766, 0.836193, 0.989477, 0.54399, 0.177607, 0.312971, 0.58895, 0.916655, 0.546785, 0.868053, 0.638604, 0.0446389, 0.866618, 0.463116, 0.0494757, 0.775277, 0.901478, 0.0122732, 0.743257, 0.464878, 0.86917, 0.133451, 0.254811, 0.343519, 0.685055, 0.942921, 0.544339, 0.350514, 0.497013, 0.803573, 0.375931, 0.623204, 0.0941352, 0.272948, 0.136265, 0.511682, 0.139624, 0.429161, 0.206527, 0.509373, 0.859521, 0.925949, 0.499605, 0.790755, 0.119934, 0.875595, 0.22982, 0.187654, 0.763739, 0.681742, 0.545873, 0.287214, 0.78967, 0.567398, 0.252215, 0.120755, 0.959086, 0.0479171, 0.11374, 0.496431, 0.805225, 0.324546, 0.689093, 0.466023, 0.625236, 0.00472004, 0.591252, 0.384503, 0.542377, 0.90085, 0.00122121, 0.269388, 0.895873, 0.159084, 0.37047, 0.42162, 0.940574, 0.258733, 0.529226, 0.693492, 0.505791, 0.294256, 0.898773, 0.419368, 0.480522, 0.564886, 0.176224, 0.921276, 0.792116, 0.16608, 0.162783, 0.671904, 0.264497, 0.617866, 0.447074, 0.258017, 0.974751, 0.336274, 0.462277, 0.95055, 0.523666, 0.409062, 0.183054, 0.699761, 0.375878, 0.86722, 0.770883, 0.000851633, 0.251526, 0.549471, 0.449181, 0.95701, 0.927214, 0.981551, 0.826636, 0.733184, 0.96642, 0.629246, 0.636909, 0.53124, 0.179606, 0.464742, 0.0400807, 0.604443, 0.330255, 0.072674, 0.932621, 0.204053, 0.776848, 0.379215, 0.885377, 0.556823, 0.85463, 0.337601, 0.323212, 0.690609, 0.857476, 0.160593, 0.777465, 0.137037, 0.151911, 0.487994, 0.323686, 0.281968, 0.477483, 0.106987, 0.995125, 0.449014, 0.723742, 0.86978, 0.811594, 0.790774, 0.28724, 0.194595, 0.849272, 0.603875, 0.880154, 0.919798, 0.101893, 0.831234, 0.190585, 0.953663, 0.338354, 0.483885, 0.276068, 0.302059, 0.437448, 0.245571, 0.476639, 0.691866, 0.339166, 0.193713, 0.897117, 0.264888, 0.287271, 0.461854, 0.388697, 0.265172, 0.629611, 0.651171, 0.325438, 0.120362, 0.626797, 0.147897, 0.549682, 0.223586, 0.127779, 0.503829, 0.878814, 0.0331089, 0.808739, 0.720965, 0.380705, 0.965217, 0.74141, 0.858958, 0.2002, 0.922087, 0.305936, 0.497151, 0.881819, 0.150455, 0.00640164, 0.509484, 0.0341554, 0.0508411, 0.560729, 0.660507, 0.269282, 0.87427, 0.145757, 0.0990064, 0.443958, 0.993314, 0.180677, 0.36549, 0.11974, 0.486402, 0.666158, 0.987996, 0.49794, 0.809442, 0.399304, 0.682552, 0.279349, 0.41605, 0.972327, 0.212928, 0.0103477, 0.220735, 0.252542, 0.317357, 0.460478, 0.574865, 0.688563, 0.53697, 0.034205, 0.552818, 0.454708, 0.298627, 0.785054, 0.908282, 0.377482, 0.842075, 0.226792, 0.589935, 0.985318, 0.869989, 0.885076, 0.487119, 0.821329, 0.255379, 0.845923, 0.507132, 0.525322, 0.348076, 0.414321, 0.0778961, 0.627172, 0.686471, 0.263352, 0.664414, 0.652894, 0.0247953, 0.10795, 0.839704, 0.476985, 0.247435, 0.143884, 0.7085, 0.0136472, 0.242428, 0.739944, 0.988595, 0.822596, 0.10532, 0.0772491, 0.335011, 0.0657931, 0.520807, 0.206022, 0.245193, 0.325074, 0.904524, 0.0739077, 0.571638, 0.931064, 0.297146, 0.61685, 0.509237, 0.322162, 0.475656, 0.544813, 0.512851, 0.172579, 0.142968, 0.0879005, 0.534363, 0.339804, 0.453303, 0.864434, 0.433077, 0.628966, 0.598438, 0.114274, 0.595906, 0.730428, 0.067732, 0.700871, 0.369155, 0.442389, 0.724598, 0.0460155, 0.532052, 0.705064, 0.611344, 0.842466, 0.232252, 0.0262844, 0.302999, 0.953524, 0.57827, 0.0302192, 0.278318, 0.718003, 0.195293, 0.297784, 0.330832, 0.969948, 0.133409, 0.93693, 0.580152, 0.511166, 0.499904, 0.186629, 0.268931, 0.767583, 0.302701, 0.615334, 0.628826, 0.255051, 0.97305, 0.795311, 0.775532, 0.689835, 0.237078, 0.360954, 0.417174, 0.723748, 0.179876, 0.400633, 0.972136, 0.0871248, 0.303728, 0.732359, 0.574555, 0.263276, 0.345694, 0.816845, 0.903077, 0.561636, 0.742531, 0.749078, 0.134299, 0.492476, 0.158188, 0.934725, 0.953813, 0.295708, 0.986498, 0.611067, 0.177715, 0.949316, 0.185606, 0.718663, 0.573143, 0.0588703, 0.9727, 0.184714, 0.504238, 0.00728518, 0.914093, 0.418517, 0.554102, 0.43792, 0.157187, 0.335394, 0.893068, 0.703491, 0.614429, 0.704899, 0.477428, 0.594464, 0.447295, 0.997049, 0.416729, 0.940063, 0.0139116, 0.133896, 0.796255, 0.897123, 0.647964, 0.38058, 0.392299, 0.623965, 0.904776, 0.828072, 0.634806, 0.515089, 0.662495, 0.0338738, 0.801784, 0.834025, 0.417127, 0.356752, 0.826879, 0.613938, 0.771592, 0.899979, 0.108727, 0.173881, 0.729641, 0.249908, 0.382414, 0.534933, 0.122459, 0.00843437, 0.469932, 0.695537, 0.0181435, 0.343332, 0.518371, 0.975779, 0.471192, 0.508717, 0.760328, 0.858131, 0.3114, 0.698017, 0.750423, 0.948294, 0.752613, 0.902856, 0.405749, 0.518239, 0.811451, 0.338463, 0.970454, 0.905129, 0.920309, 0.459484, 0.829674, 0.15217, 0.803506, 0.1393, 0.37536, 0.102592, 0.231604, 0.61563, 0.140626, 0.618238, 0.178371, 0.649203, 0.163589, 0.211339, 0.0198645, 0.179293, 0.555218, 0.499426, 0.585758, 0.219774, 0.497085, 0.384709, 0.781305, 0.74623, 0.40446, 0.499456, 0.158322, 0.101463, 0.944175, 0.976697, 0.387152, 0.0874108, 0.291747, 0.522671, 0.469613, 0.86634, 0.428619, 0.0614372, 0.0138539, 0.915759, 0.0601158, 0.363978, 0.89505, 0.796032, 0.635785, 0.798932, 0.476431, 0.392314, 0.0900049, 0.341118, 0.241749, 0.850912, 0.630465, 0.976522, 0.665516, 0.7818, 0.361505, 0.662432, 0.846545, 0.0819307, 0.481853, 0.881906, 0.982353, 0.824495, 0.347854, 0.772948, 0.872673, 0.482032, 0.456836, 0.525977, 0.150315, 0.342944, 0.0678741, 0.00531548, 0.697875, 0.390893, 0.216017, 0.85658, 0.937875, 0.945518, 0.18446, 0.736902, 0.0257816, 0.457051, 0.834324, 0.543669, 0.303268, 0.562745, 0.516526, 0.403206, 0.677522, 0.867852, 0.0560869, 0.392466, 0.262106, 0.520758, 0.0852706, 0.401975, 0.554367, 0.324352, 0.0913793, 0.0420227, 0.745377, 0.742523, 0.391214, 0.120072, 0.461411, 0.921767, 0.318642, 0.205453, 0.718482, 0.647235, 0.665684, 0.880746, 0.225931, 0.417575, 0.160898, 0.421059, 0.961636, 0.0697897, 0.983723, 0.910501, 0.798282, 0.997332, 0.969685, 0.907608, 0.500216, 0.300856, 0.710867, 0.780875, 0.276026, 0.972886, 0.266782, 0.151579, 0.248001, 0.171248, 0.670606, 0.845464, 0.0556738, 0.694453, 0.895476, 0.95073, 0.479478, 0.595215, 0.21304, 0.266815, 0.931071, 0.950242, 0.729106, 0.922297, 0.454995, 0.49376, 0.33428, 0.940673, 0.388845, 0.245484, 0.823545, 0.879505, 0.269529, 0.591644, 0.251293, 0.480068, 0.92831, 0.117461, 0.201973, 0.112129, 0.780206, 0.428074, 0.941058, 0.719312, 0.571449, 0.214453, 0.986236, 0.201239, 0.674788, 0.672823, 0.526929, 0.270598, 0.732538, 0.0254235, 0.796492, 0.687063, 0.785137, 0.880443, 0.73402, 0.540099, 0.269576, 0.496429, 0.254422, 0.225949, 0.993571, 0.997502, 0.813347, 0.242718, 0.325313, 0.139629, 0.746575, 0.773937, 0.788561, 0.696432, 0.177798, 0.445375, 0.988983, 0.286481, 0.400972, 0.640031, 0.55383, 0.3627, 0.378497, 0.125882, 0.358582, 0.543147, 0.900968, 0.217309, 0.597306, 0.30873, 0.385701, 0.41532, 0.719299, 0.64301, 0.489881, 0.505181, 0.101254, 0.935507, 0.519913, 0.0411447, 0.0826704, 0.625998, 0.872168, 0.5911, 0.646805, 0.837528, 0.0294726, 0.292544, 0.773749, 0.1642, 0.623435, 0.965808, 0.462676, 0.915788, 0.0474685, 0.578581, 0.696498, 0.450402, 0.833004, 0.610198, 6.22247e-05, 0, 0.0411785, 0.859191, 0.655521, 0.207606, 0.0515503, 0.767413, 0.247735, 0.685529, 0.927673, 0.377235, 0.437481, 0.911763, 0.229175, 0.995564, 0.237449, 0.540573, 0.954935, 0.864006, 0.110553, 0.247096, 0.680161, 0.796481, 0.75947, 0.346903, 0.862562, 0.976349, 0.85767, 0.116603, 0.0293972, 0.880856, 0.414829, 0.622484, 0.364544, 0.867673, 0.762814, 0.68332, 0.502251, 0.572492, 0.122969, 0.199045, 0.216532, 0.998303, 0.629116, 0.239194, 0.867324, 0.22501, 0.977933, 0.542218, 0.936295, 0.3942, 0.396093, 0.517408, 0.874036, 0.402867, 0.102063, 0.577422, 0.227301, 0.346674, 0.603723, 0.390422, 0.765895, 0.0627359, 0.56111, 0.85565, 0.64603, 0.250506, 0.573624, 0.392633, 0.738647, 0.415252, 0.0487958, 0.266969, 0.716005, 0.733683, 0.260375, 0.955279, 0.349567, 0.0837205, 0.23522, 0.152549, 0.732474, 0.924649, 0.844459, 0.900002, 0.534889, 0.105909, 0.158404, 0.259559, 0.346455, 0.514716, 0.855091, 0.995828, 0.504762, 0.117295, 0.365729, 0.288279, 0.409852, 0.97426, 0.837714, 0.767852, 0.600203, 0.456274, 0.361133, 0.384121, 0.847328, 0.993283, 0.138267, 0.215819, 0.260646, 0.492023, 0.661658, 0.00755343, 0.177718, 0.0375619, 0.526101, 0.210125, 0.542744, 0.772439, 0.399343, 0.207763, 0.208483, 0.643718, 0.705793, 0.0503072, 0.458125, 0.592714, 0.166993, 0.45621, 0.279284, 0.757498, 0.35156, 0.795765, 0.61819, 0.282813, 0.603972, 0.358331, 0.749881, 0.555426, 0.644511, 0.153439, 0.849958, 0.538708, 0.746961, 0.993012, 0.144348, 0.675978, 0.497899, 0.387301, 0.705768, 0.168563, 0.338133, 0.89447, 0.331813, 0.745346, 0.275094, 0.194522, 0.36614, 0.843491, 0.379024, 0.295109, 0.112574, 0.319397, 0.593917, 0.897922, 0.226558, 0.355303, 0.722264, 0.0777364, 0.872702, 0.511083, 0.749809, 0.485488, 0.177254, 0.437233, 0.950956, 0.816707, 0.684253, 0.308925, 0.226315, 0.799656, 0.339596, 0.237148, 0.772012, 0.896609, 0.718736, 0.978604, 0.601101, 0.686094, 0.764597, 0.518077, 0.417215, 0.439026, 0.053551, 0.427255, 0.494392, 0.421036, 0.716186, 0.123023, 0.166491, 0.604351, 0.283138, 0.16794, 0.175683, 0.94473, 0.119732, 0.560689, 0.738961, 0.923031, 0.173492, 0.557516, 0.501461, 0.679278, 0.44261, 0.473015, 0.915764, 0.213147, 0.475543, 0.68471, 0.688122, 0.837873, 0.71955, 0.228631, 0.729914, 0.750836, 0.0245915, 0.965777, 0.00775968, 0.289455, 0.729944, 0.585787, 0.00711482, 0.524292, 0.230204, 0.182254, 0.606495, 0.912214, 0.608086, 0.135869, 0.773862, 0.33308, 0.341252, 0.608657, 0.498542, 0.404089, 0.245638, 0.95323, 0.695819, 0.73861, 0.909312, 0.853306, 0.493841, 0.398906, 0.941977, 0.206938, 0.0221683, 0.465367, 0.872358, 0.54107, 0.0204105, 0.779591, 0.361977, 0.659539, 0.779929, 0.468623, 0.906688, 0.686451, 0.202932, 0.540069, 0.432716, 0.534377, 0.85311, 0.436728, 0.827886, 0.107042, 0.985658, 0.529532, 0.148711, 0.958524, 0.339531, 0.290338, 0.623354, 0.0320311, 0.103555, 0.99016, 0.222377, 0.289018, 0.7196, 0.58343, 0.452294, 0.374487, 0.830092, 0.248397, 0.09829, 0.135354, 0.269151, 0.100021, 0.144964, 0.31565, 0.630972, 0.888977, 0.596952, 0.930832, 0.829127, 0.82261, 0.300651, 0.678178, 0.93958, 0.657061, 0.675248, 0.425583, 0.802645, 0.796832, 0.15651, 0.635741, 0.663012, 0.329877, 0.236143, 0.323548, 0.96514, 0.579784, 0.968874, 0.360067, 0.417122, 0.958193, 0.490492, 0.0246663, 0.119957, 0.918093, 0.784963, 0.716396, 0.158781, 0.213394, 0.802652, 0.719948, 0.287712, 0.531416, 0.693411, 0.726481, 0.616615, 0.195557, 0.208021, 0.242683, 0.0330871, 0.396466, 0.992229, 0.0413355, 0.0352372, 0.795598, 0.983521, 0.217654, 0.869123, 0.361079, 0.465161, 0.169655, 0.774527, 0.896807, 0.211099, 0.310754, 0.871354, 0.0920743, 0.742347, 0.450827, 0.240016, 0.310487, 0.503972, 0.420965, 0.730176, 0.1591, 0.956224, 0.562719, 0.463296, 0.255851, 0.308371, 0.932974, 0.31193, 0.314475, 0.48931, 0.406459, 0.143155, 0.813925, 0.741533, 0.722603, 0.640151, 0.246176, 0.71365, 0.0582433, 0.182494, 0.203181, 0.0252758, 0.170128, 0.0154096, 0.545356, 0.691287, 0.543397, 0.657228, 0.198367, 0.050693, 0.989451, 0.392412, 0.977029, 0.158677, 0.6048, 0.144091, 0.206844, 0.287143, 0.534673, 0.809228, 0.0490723, 0.272467, 0.134396, 0.800014, 0.247246, 0.180526, 0.00970631, 0.28212, 0.80893, 0.620354, 0.126275, 0.971839, 0.461178, 0.704497, 0.809704, 0.0249421, 0.555697, 0.443986, 0.974597, 0.0484623, 0.475298, 0.710143, 0.0737412, 0.683967, 0.192841, 0.528177, 0.207987, 0.827586, 0.974087, 0.28409, 0.938781, 0.81852, 0.925814, 0.0168007, 0.397425, 0.92286, 0.959022, 0.824113, 0.375998, 0.214659, 0.619089, 0.606103, 0.408412, 0.212213, 0.0110221, 0.267765, 0.779957, 0.687957, 0.551054, 0.361363, 0.900813, 0.290075, 0.294512, 0.82821, 0.000464103, 0.531166, 0.0299319, 0.329931, 0.556661, 0.478818, 0.885471, 0.397674, 0.286788, 0.420382, 0.51655, 0.0840922, 0.32378, 0.146968, 0.295532, 0.709525, 0.962847, 0.64998, 0.626175, 0.780055, 0.882195, 0.690406, 0.353004, 0.603298, 0.0138161, 0.736676, 0.796787, 0.727109, 0.900816, 0.830962, 0.618743, 0.256615, 0.137908, 0.345018, 0.211881, 0.237058, 0.424252, 0.895004, 0.324775, 0.352619, 0.672136, 0.777687, 0.0412988, 0.336073, 0.044487, 0.162455, 0.571928, 0.775161, 0.0598284, 0.103342, 0.289797, 0.249067, 0.841106, 0.482185, 0.123463, 0.706085, 0.115408, 0.183014, 0.305931, 0.435523, 0.72183, 0.101241, 0.623748, 0.826689, 0.823315, 0.731713, 0.245546, 0.747985, 0.62042, 0.210347, 0.517732, 0.0731075, 0.698874, 0.551502, 0.964809, 0.49113, 0.355327, 0.612016, 0.992566, 0.995265, 0.110563, 0.185823, 0.0558226, 0.597782, 0.687722, 0.717823, 0.106035, 0.673452, 0.23909, 0.157253, 0.370636, 0.320584, 0.0860948, 0.947806, 0.723712, 0.53805, 0.440841, 0.104642, 0.845375, 0.923537, 0.124704, 0.363094, 0.47602, 0.861782, 0.853319, 0.729837, 0.853504, 0.21487, 0.0798665, 0.700028, 0.501551, 0.272565, 0.669036, 0.666588, 0.301293, 0.921911, 0.787095, 0.113293, 0.103385, 0.586283, 0.892409, 0.801211, 0.0599081, 0.00342777, 0.365385, 0.44095, 0.0579287, 0.599827, 0.594688, 0.142849, 0.38251, 0.266457, 0.0338388, 0.659333, 0.058457, 0.84654, 0.628473, 0.68027, 0.37167, 0.60575, 0.509744, 0.351389, 0.907622, 0.470353, 0.103798, 0.349986, 0.253429, 0.912378, 0.197613, 0.0403265, 0.718182, 0.321399, 0.816728, 0.405303, 0.930749, 0.873826, 0.342084, 0.91444, 0.506306, 0.540239, 0.520183, 0.0531438, 0.661585, 0.216863, 0.687307, 0.744595, 0.128469, 0.282228, 0.147632, 0.261348, 0.403563, 0.556329, 0.711454, 0.735371, 0.394171, 0.0998056, 0.939845, 0.627765, 0.521008, 0.801396, 0.875959, 0.529241, 0.835645, 0.68269, 0.794094, 0.583255, 0.197031, 0.786035, 0.789505, 0.0206315, 0.119318, 0.71412, 0.567799, 0.685548, 0.402881, 0.834494, 0.0120164, 0.464563, 0.0753865, 0.868625, 0.522893, 0.265454, 0.753043, 0.796171, 0.904817, 0.802953, 0.874958, 0.457281, 0.772562, 0.482614, 0.976987, 0.106311, 0.0848561, 0.440729, 0.800565, 0.179723, 0.512816, 0.891459, 0.868742, 0.227092, 0.838788, 0.432586, 0.884191, 0.862725, 0.637822, 0.0416964, 0.320266, 0.362191, 0.51315, 0.271657, 0.622642, 0.918343, 0.507689, 0.883793, 0.0151057, 0.900886, 0.111859, 0.272461, 0.68563, 0.712316, 0.775663, 0.413346, 0.139965, 0.0721885, 0.00238312, 0.832212, 0.870448, 0.244973, 0.896541, 0.3968, 0.594492, 0.450633, 0.332836, 0.176933, 0.989478, 0.819047, 0.318671, 0.997486, 0.459574, 0.531382, 0.676055, 0.186021, 0.520219, 0.584984, 0.752623, 0.215864, 0.730526, 0.142256, 0.135467, 0.251752, 0.363863, 0.784571, 0.562725, 0.326132, 0.391506, 0.917935, 0.90171, 0.348224, 0.732252, 0.264694, 0.722058, 0.626816, 0.616161, 0.905295, 0.753425, 0.140744, 0.840926, 0.199702, 0.94351, 0.566404, 0.974086, 0.117986, 0.44177, 0.512758, 0.162812, 0.0109521, 0.61362, 0.401823, 0.925966, 0.67179, 0.762002, 0.804603, 0.649834, 0.108046, 0.467499, 0.804791, 0.748045, 0.346442, 0.803652, 0.072031, 0.0824681, 0.507788, 0.487754, 0.896763, 0.155103, 0.770115, 0.508962, 0.300837, 0.405953, 0.656408, 0.745977, 0.813832, 0.605795, 0.60065, 0.338622, 0.520063, 0.709365, 0.302564, 0.160525, 0.048934, 0.153211, 0.0979693, 0.585246, 0.186601, 0.104683, 0.526775, 0.575317, 0.391016, 0.528485, 0.321211, 0.513313, 0.387521, 0.300061, 0.765065, 0.960063, 0.414842, 0.144672, 0.897634, 0.608502, 0.676946, 0.664397, 0.758205, 0.520737, 0.140404, 0.615097, 0.594392, 0.117755, 0.163315, 0.784954, 0.453251, 0.177082, 0.308442, 0.230545, 0.903297, 0.0287393, 0.186035, 0.0274551, 0.221591, 0.0244356, 0.825862, 0.477338, 0.279893, 0.851118, 0.0369037, 0.420337, 0.917385, 0.362971, 0.637056, 0.154318, 0.238798, 0.208739, 0.207914, 0.35731, 0.192295, 0.382615, 0.302854, 0.473778, 0.263131, 0.725213, 0.553648, 0.32837, 0.687852, 0.844986, 0.404409, 0.955623, 0.716102, 0.168598, 0.440793, 0.571197, 0.587134, 0.667834, 0.797521, 0.378882, 0.745483, 0.967265, 0.734528, 0.70659, 0.0987761, 0.169321, 0.224566, 0.156711, 0.665174, 0.360337, 0.342941, 0.646013, 0.569375, 0.0520218, 0.307188, 0.483498, 0.0966246, 0.575242, 0.636486, 0.116221, 0.68448, 0.536513, 0.854833, 0.190295, 0.464203, 0.914419, 0.31244, 0.977715, 0.238248, 0.317084, 0.199165, 0.280563, 0.502374, 0.962288, 0.39752, 0.398971, 0.339705, 0.298167, 0.00745649, 0.430209, 0.0049989, 0.916446, 0.226556, 0.783824, 0.7886, 0.384806, 0.399715, 0.646267, 0.827764, 0.48317, 0.363454, 0.58678, 0.666656, 0.516185, 0.641497, 0.401608, 0.925708, 0.355058, 0.783326, 0.194907, 0.185221, 0.292976, 0.336547, 0.241921, 0.222978, 0.187937, 0.683499, 0.150161, 0.620385, 0.197871, 0.629519, 0.0419284, 0.446319, 0.857916, 0.979779, 0.673601, 0.623399, 0.154907, 0.333154, 0.520113, 0.251476, 0.703618, 0.277157, 0.734134, 0.602624, 0.139334, 0.929815, 0.476717, 0.960694, 0.363647, 0.706484, 0.557967, 0.423039, 0.121962, 0.00342579, 0.488256, 0.756788, 0.415958, 0.920675, 0.0641799, 0.351439, 0.967031, 0.624833, 0.208773, 0.644032, 0.659612, 0.465326, 0.804165, 0.369814, 0.494975, 0.593309, 0.121057, 0.760649, 0.57331, 0.666261, 0.509377, 0.0407056, 0.320824, 0.521182, 0.339379, 0.992081, 0.515415, 0.334697, 0.210323, 0.15901, 0.645126, 0.517365, 0.0254992, 0.0293763, 0.0402495, 0.55812, 0.0026102, 0.656146, 0.103478, 0.064676, 0.129345, 0.171191, 0.755335, 0.125466, 0.275713, 0.105061, 0.804497, 0.290957, 0.510088, 0.49273, 0.194512, 0.710476, 0.403731, 0.686556, 0.00178038, 0.0815327, 0.771339, 0.0723332, 0.663185, 0.540845, 0.950231, 0.0367804, 0.526287, 0.806363, 0.800921, 0.642395, 0.859062, 0.453283, 0.487073, 0.150936, 0.539645, 0.116233, 0.0308348, 0.736589, 0.0493481, 0.758945, 0.758195, 0.0617706, 0.807089, 0.492916, 0.399608, 0.143526, 0.139158, 0.8796, 0.197779, 0.0779595, 0.362362, 0.300692, 0.97851, 0.0104698, 0.192644, 0.52008, 0.693706, 0.248541, 0.162401, 0.831241, 0.756625, 0.419994, 0.886374, 0.353068, 0.428672, 0.416551, 0.675976, 0.812775, 0.0956979, 0.595431, 0.978533, 0.419428, 0.840427, 0.473783, 0.468809, 0.914212, 0.258228, 0.0150147, 0.1587, 0.672666, 0.248187, 0.771647, 0.296073, 0.564261, 0.0125839, 0.276965, 0.953613, 0.275472, 0.778582, 0.648744, 0.238095, 0.276708, 0.416537, 0.682565, 0.378771, 0.28988, 0.824362, 0.433932, 0.517288, 0.199239, 0.744395, 0.0606235, 0.118995, 0.472289, 0.500232, 0.698422, 0.418463, 0.457558, 0.917576, 0.686001, 0.796715, 0.402792, 0.127562, 0.427651, 0.853585, 0.972814, 0.105973, 0.0793423, 0.98116, 0.875042, 0.537331, 0.0799635, 0.179769, 0.902929, 0.405648, 0.685454, 0.111112, 0.459766, 0.808524, 0.921564, 0.537707, 0.405669, 0.72745, 0.78815, 0.688579, 0.22489, 0.187582, 0.546279, 0.634652, 0.651952, 0.314304, 0.525059, 0.611764, 0.855956, 0.718273, 0.142821, 0.0453707, 0.896863, 0.092679, 0.747219, 0.917571, 0.0731972, 0.661405, 0.604927, 0.779198, 0.299365, 0.370233, 0.53524, 0.729707, 0.816524, 0.70501, 0.0218381, 0.892949, 0.319046, 0.401738, 0.980237, 0.557396, 0.479661, 0.600171, 0.457313, 0.799489, 0.389206, 0.177254, 0.684324, 0.747074, 0.295869, 0.646938, 0.570394, 0.891639, 0.191201, 0.444248, 0.320299, 0.128295, 0.890203, 0.040049, 0.773338, 0.775279, 0.0896363, 0.977285, 0.699413, 0.686892, 0.0928151, 0.084222, 0.772234, 0.90879, 0.322252, 0.424111, 0.456582, 0.211281, 0.152547, 0.822845, 0.651525, 0.0951654, 0.318529, 0.680529, 0.560494, 0.146471, 0.559511, 0.522097, 0.016973, 0.854451, 0.208366, 0.661677, 0.257037, 0.490394, 0.456836, 0.847955, 0.430229, 0.413986, 0.0327207, 0.0701416, 0.692481, 0.296655, 0.239411, 0.620993, 0.623729, 0.777375, 0.167906, 0.405074, 0.792154, 0.339251, 0.549165, 0.753816, 0.809805, 0.447473, 0.167136, 0.870296, 0.0685248, 0.411249, 0.677873, 0.797643, 0.872939, 0.950203, 0.507292, 0.355899, 0.170323, 0.0360475, 0.0984876, 0.596622, 0.113763, 0.805821, 0.236725, 0.976801, 0.575419, 0.412835, 0.948665, 0.509121, 0.373124, 0.493966, 0.392151, 0.392559, 0.0173065, 0.408415, 0.845881, 0.919762, 0.0896031, 0.881383, 0.18597, 0.449703, 0.961568, 0.75411, 0.884792, 0.478236, 0.257587, 0.336347, 0.489798, 0.0544795, 0.865432, 0.0746668, 0.583166, 0.428413, 0.104698, 0.349547, 0.268296, 0.989102, 0.542171, 0.889369, 0.34159, 0.837643, 0.714933, 0.478829, 0.188563, 0.948085, 0.643688, 0.413322, 0.431801, 0.897449, 0.844409, 0.412101, 0.782565, 0.583747, 0.470898, 0.560576, 0.47433, 0.947986, 0.914791, 0.766427, 0.840075, 0.736528, 0.391112, 0.0779203, 0.614396, 0.899694, 0.818001, 0.837299, 0.21808, 0.0983637, 0.280336, 0.690076, 0.544788, 0.661167, 0.315425, 0.519439, 0.476031, 0.766445, 0.0687238, 0.744265, 0.676296, 0.780267, 0.307157, 0.114418, 0.953155, 0.606454, 0.0678382, 0.601885, 0.922897, 0.251749, 0.445381, 0.430273, 0.925937, 0.638047, 0.755144, 0.806439, 0.0134726, 0.568747, 0.797883, 0.93462, 0.147489, 0.306003, 0.413368, 0.421044, 0.750507, 0.28604, 0.446963, 0.672784, 0.352725, 0.659517, 0.160887, 0.389207, 0.593233, 0.711809, 0.727853, 0.0642025, 0.0863785, 0.792148, 0.361738, 0.830872, 0.237105, 0.0331161, 0.983638, 0.362169, 0.794195, 0.567723, 0.844493, 0.691288, 0.522534, 0.883798, 0.174394, 0.297631, 0.619723, 0.977114, 0.814397, 0.681646, 0.272901, 0.236517, 0.630671, 0.595642, 0.336958, 0.562712, 0.436264, 0.602713, 0.235842, 0.768013, 0.542674, 0.126802, 0.69415, 0.17002, 0.0721962, 0.0351405, 0.423934, 0.471369, 0.110266, 0.484458, 0.626199, 0.893436, 0.0237165, 0.098868, 0.868058, 0.0757324, 0.316806, 0.254852, 0.081038, 0.965093, 0.646502, 0.274202, 0.219023, 0.331691, 0.616875, 0.408186, 0.726399, 0.64896, 0.614542, 0.522084, 0.0607258, 0.254803, 0.65864, 0.268795, 0.638914, 0.370013, 0.433378, 0.215782, 0.446804, 0.158273, 0.933446, 0.553875, 0.656215, 0.34912, 0.863566, 0.145065, 0.934189, 0.532389, 0.559081, 0.0621524, 0.767997, 0.0521405, 0.896336, 0.59747, 0.815893, 0.358119, 0.533253, 0.0533899, 0.697997, 0.398086, 0.806873, 0.536107, 0.670902, 0.0290292, 0.853767, 0.110528, 0.971958, 0.34728, 0.957664, 0.7272, 0.522413, 0.81057, 0.180915, 0.913719, 0.991148, 0.872248, 0.381889, 0.670106, 0.487412, 0.775037, 0.0100907, 0.147778, 0.989031, 0.801157, 0.803673, 0.741123, 0.443324, 0.566872, 0.9629, 0.785281, 0.0206614, 0.0767667, 0.135757, 0.431214, 0.731648, 0.13157, 0.409125, 0.0704587, 0.607701, 0.307404, 0.896607, 0.298252, 0.175596, 0.608234, 0.0569343, 0.196948, 0.765044, 0.314589, 0.0932817, 0.415534, 0.0846405, 0.41945, 0.240532, 0.040392, 0.535018, 0.582702, 0.141898, 0.54476, 0.466169, 0.995312, 0.390848, 0.30113, 0.140724, 0.898312, 0.800586, 0.98958, 0.290221, 0.110126, 0.626556, 0.465906, 0.300354, 0.502619, 0.936324, 0.665306, 0.363065, 0.754182, 0.890603, 0.522398, 0.112205, 0.906577, 0.463331, 0.367895, 0.412867, 0.265601, 0.453261, 0.726921, 0.246737, 0.903361, 0.495286, 0.414242, 0.912984, 0.124627, 0.350554, 0.737064, 0.878915, 0.625403, 0.406374, 0.00194901, 0.756148, 0.40521, 0.259131, 0.0812695, 0.924166, 0.890386, 0.0820119, 0.382096, 0.427365, 0.310918, 0.656358, 0.939914, 0.740649, 0.698186, 0.0818523, 0.120588, 0.681149, 0.239396, 0.563299, 0.296759, 0.973287, 0.453024, 0.637589, 0.644246, 0.172662, 0.759961, 0.759096, 0.727529, 0.788149, 0.388684, 0.881467, 0.656818, 0.173998, 0.630006, 0.583091, 0.442432, 0.609266, 0.0291625, 0.360219, 0.0116448, 0.388861, 0.0595606, 0.905221, 0.726779, 0.791643, 0.852218, 0.009965, 0.442634, 0.596469, 0.301522, 0.0254079, 0.936714, 0.629599, 0.0676402, 0.10361, 0.713801, 0.426539, 0.590474, 0.317061, 0.696206, 0.885209, 0.638934, 0.383698, 0.357235, 0.0759967, 0.591594, 0.279815, 0.72634, 0.0414329, 0.562933, 0.560525, 0.992872, 0.419204, 0.137397, 0.64008, 0.384573, 0.168369, 0.995674, 0.531296, 0.492118, 0.825175, 0.536092, 0.658034, 0.923019, 0.566845, 0.174497, 0.0648834, 0.795544, 0.451354, 0.0594561, 0.909489, 0.140509, 0.856169, 0.467122, 0.826275, 0.559361, 0.431642, 0.484415, 0.620942, 0.450704, 0.733447, 0.535407, 0.527538, 0.174466, 0.413084, 0.124406, 0.536978, 0.219521, 0.846492, 0.435244, 0.210887, 0.151809, 0.568871, 0.26238, 0.754607, 0.91273, 0.682741, 0.199788, 0.873412, 0.0294868, 0.434353, 0.542414, 0.500791, 0.944282, 0.952254, 0.016458, 0.325404, 0.651054, 0.919068, 0.44105, 0.498539, 0.25034, 0.849116, 0.947194, 0.942902, 0.111705, 0.726453, 0.433599, 0.0992087, 0.326026, 0.580676, 0.152708, 0.316492, 0.297374, 0.176834, 0.0701395, 0.350888, 0.874863, 0.550583, 0.876144, 0.722012, 0.636697, 0.00827379, 0.110606, 0.242694, 0.351289, 0.313232, 0.954827, 0.953451, 0.65917, 0.223748, 0.125494, 0.0477873, 0.296042, 0.907612, 0.157689, 0.187254, 0.889215, 0.293049, 0.790306, 0.555934, 0.975886, 0.316588, 0.312306, 0.432349, 0.993119, 0.937973, 0.156961, 0.608057, 0.203603, 0.962816, 0.479161, 0.160445, 0.0611037, 0.615232, 0.714553, 0.377501, 0.621024, 0.455021, 0.270713, 0.177508, 0.109005, 0.613595, 0.684462, 0.261818, 0.463075, 0.871642, 0.143501, 0.670796, 0.991097, 0.311024, 0.717062, 0.235616, 0.00088584, 0.754367, 0.0708614, 0.753091, 0.00138124, 0.597964, 0.269411, 0.424731, 0.449987, 0.459782, 0.72633, 0.586814, 0.53527, 0.31375, 0.0438741, 0.0987674, 0.148043, 0.978503, 0.502457, 0.334098, 0.252127, 0.955773, 0.392142, 0.244966, 0.373074, 0.763667, 0.557594, 0.429887, 0.976538, 0.892974, 0.0949663, 0.0202669, 0.658829, 0.691237, 0.544986, 0.783253, 0.595877, 0.679136, 0.368396, 0.0644006, 0.134609, 0.813503, 0.419295, 0.811985, 0.105355, 0.0249111, 0.983664, 0.908891, 0.717318, 0.568706, 0.977469, 0.375948, 0.427709, 0.809679, 0.016352, 0.690939, 0.565435, 0.069974, 0.847915, 0.738225, 0.171374, 0.172798, 0.846401, 0.266818, 0.561611, 0.716392, 0.191842, 0.617442, 0.989669, 0.868054, 0.561965, 0.0511846, 0.568623, 0.509219, 0.447648, 0.928562, 0.274747, 0.314033, 0.0772794, 0.925125, 0.639961, 0.606204, 0.396195, 0.940627, 0.301942, 0.155671, 0.923264, 0.522643, 0.933337, 0.0641777, 0.884564, 0.371769, 0.435249, 0.597622, 0.734302, 0.0482287, 0.0161611, 0.465568, 0.642532, 0.280151, 0.281151, 0.965285, 0.284192, 0.735406, 0.440712, 0.148275, 0.757897, 0.98578, 0.0201164, 0.802608, 0.976202, 0.190985, 0.999514, 0.284539, 0.773677, 0.492004, 0.674719, 0.265582, 0.00655045, 0.961205, 0.0673651, 0.37073, 0.110351, 0.0121133, 0.795218, 0.325636, 0.144443, 0.262261, 0.685698, 0.756412, 0.284352, 0.683444, 0.579955, 0.873003, 0.629087, 0.554893, 0.607224, 0.203311, 0.235679, 0.155369, 0.477025, 0.152465, 0.0223561, 0.260711, 0.0946126, 0.124039, 0.124129, 0.620445, 0.426583, 0.487999, 0.278801, 0.124027, 0.180552, 0.0610276, 0.449947, 0.335284, 0.988455, 0.597545, 0.0359206, 0.732713, 0.706581, 0.186795, 0.975545, 0.112312, 0.296893, 0.95706, 0.0703639, 0.701003, 0.410985, 0.136005, 0.957961, 0.0775584, 0.633984, 0.8589, 0.747672, 0.898553, 0.7566, 0.155273, 0.205962, 0.0812958, 0.706155, 0.855733, 0.452243, 0.579904, 0.102569], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: [  FAILED  ] TestRandomInt64QuantileKernel.Overlapped (12 ms)

29: [ RUN      ] TestRandomInt64QuantileKernel.Sliced
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 66.94394890759834
29: Expected Value: 66.943948907598354
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: [  FAILED  ] TestRandomInt64QuantileKernel.Sliced (24 ms)


29: [ RUN      ] TestRandomFloatQuantileKernel.Exact
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 124.6864762710842
29: Expected Value: 124.68647627108422
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0.455953, 0.921543, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506, 0.383346, 0.936233, 0.339629, 0.297952, 0.900499, 0.857184, 0.653614, 0.129542, 0.217169, 0.388928, 0.17698, 0.326413, 0.909206, 0.0306526, 0.974719, 0.703773, 0.993273, 0.380596, 0.233652, 0.234122, 0.630908, 0.530852, 0.666203, 0.234246, 0.921481, 1, 0.727928, 0.832278, 0.293703, 0.355026, 0.0545722, 0.590572, 0.699486, 0.269062, 0.722889, 0.696988, 0.173468, 0.508949, 0.599501, 0.458897, 0.983599, 0.331484, 0.865528, 0.461627, 0.400035, 0.168063, 0.157134, 0.109909, 0.710068, 0.182637, 0.690934, 0.135252, 0.899454, 0.504379, 0.660139, 0.764871, 0.853747, 0.848719, 0.0272836, 0.518163, 0.759279, 0.970537, 0.809002, 0.486462, 0.447079, 0.0464962, 0.973203, 0.54377, 0.541084, 0.291505, 0.619145, 0.911483, 0.728837, 0.636963, 0.776182, 0.034613, 0.4667, 0.128537, 0.536565, 0.557826, 0.0278804, 0.658133, 0.640968, 0.214674, 0, 0.803819, 0.877152, 0.95029, 0.423806, 0.493793], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: [  FAILED  ] TestRandomFloatQuantileKernel.Exact (0 ms)

29: [ RUN      ] TestRandomFloatQuantileKernel.Sliced
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 124.78534557968042
29: Expected Value: 124.78534557968041
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 124.78534557968042
29: Expected Value: 124.78534557968041
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 56.062646181940785
29: Expected Value: 56.062646181940778
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3577: Failure
29: Value of: (quantiles[j] == numeric_scalar->value) || (std::isnan(quantiles[j]) && std::isnan(numeric_scalar->value))
29:   Actual: false
29: Expected: true
29:   Actual Value: 82.431365553561236
29: Expected Value: 82.431365553561221
29: Google Test trace:
29: /builddir/build/BUILD/libarrow-16.1.0-build/apache-arrow-16.1.0/cpp/src/arrow/compute/kernels/aggregate_test.cc:3563: Quantile Options: {q=[0.64286, 0.766231, 0.473496, 0, 1, 0.516919, 0.910294, 0.685856, 0.488483, 0.583506], interpolation=LINEAR, skip_nulls=true, min_count=0}
29: 
29: [  FAILED  ] TestRandomFloatQuantileKernel.Sliced (0 ms)

@pitrou
Copy link
Member

pitrou commented Nov 19, 2024

From hardware info, the failure happens on neoverse-n1, probably in a virtual machine due to low cpu count.
I tested on a neoverse-n1 machine, still cannot reproduce the error. This is strange.

Perhaps it may depend on FPU settings, or on compiler options?

@pitrou
Copy link
Member

pitrou commented Nov 19, 2024

By the way, looking at one of the failing values, the values are only different at the last bit of precision:

>>> x = 124.6864762710842
>>> y = 124.68647627108422
>>> x.hex()
'0x1.f2bef3a2b7259p+6'
>>> y.hex()
'0x1.f2bef3a2b725ap+6'
>>> math.nextafter(x, math.inf)
124.68647627108422
>>> math.nextafter(x, math.inf) == y
True

@cyb70289
Copy link
Contributor

Managed to reproduce this error by adding below compiler options. Trying to narrow down the culprit.

-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 \
-specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 \
-flto=auto -ffat-lto-objects -fexceptions \
-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 \
-Wp,-D_GLIBCXX_ASSERTIONS

@cyb70289
Copy link
Contributor

Per my test, -Wp,-D_GLIBCXX_ASSERTIONS leads to this error. Surprisingly.

@pitrou
Copy link
Member

pitrou commented Nov 20, 2024

Per my test, -Wp,-D_GLIBCXX_ASSERTIONS leads to this error. Surprisingly.

I took a look at the kind of things that _GLIBCXX_ASSERTIONS enables and I don't think any of them would directly affect numerical precision.

I think what happens is that enabling _GLIBCXX_ASSERTIONS may have the side effect of changing optimization opportunities and code generation by the compiler, and it can in the end translate into numerical precision discrepancies.

What happens if you keep -Wp,-D_GLIBCXX_ASSERTIONS but remove the LTO options? LTO sounds far more likely to produce such issues.

@cyb70289
Copy link
Contributor

I only toggled CMAKE_CXX_FLAGS option -Wp,-D_GLIBCXX_ASSERTIONS, and removed all other options.

ut passed:
cmake -DARROW_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DARROW_COMPUTE=ON

ut failed:
cmake -DARROW_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DARROW_COMPUTE=ON -DCMAKE_CXX_FLAGS="-Wp,-D_GLIBCXX_ASSERTIONS"

@cyb70289
Copy link
Contributor

cyb70289 commented Nov 21, 2024

Looks to me it's a compiler bug.

The point is from below code line in aggregate_test.cc. The same equation is used at quantile kernel side.
It calculates fraction * input[lower_index + 1] + (1 - fraction) * input[lower_index]

Floating point addition is not commutative (i.e., a+b != b+a), it's important we do not swap the two addends.
But from below disassembled code, if GLIBCXX_ASSERTIONS is enabled, the generated code swaps the two addends FMA operations.

with -Wp,-D_GLIBCXX_ASSERTIONS:
wrong: calculates (1 - fraction) * input[lower_index] + input[lower_index+1] * fraction

  47c3d4:       1e6e1000        fmov    d0, #1.000000000000000000e+00
  47c3d8:       1e7f3800        fsub    d0, d0, d31      // d0 = 1 - fraction
  47c3dc:       fc606abe        ldr     d30, [x21, x0]   // d30 = input[lower_index+1]
  47c3e0:       5e61dbde        scvtf   d30, d30
  47c3e4:       1e7f0bdf        fmul    d31, d30, d31    // d31 = d30 * fraction = input[lower_index+1] * fraction
  47c3e8:       eb01033f        cmp     x25, x1
  47c3ec:       54fffba9        b.ls    47c360
  47c3f0:       8b0002a1        add     x1, x21, x0
  47c3f4:       aa1403e0        mov     x0, x20
  47c3f8:       fc5f803e        ldur    d30, [x1, #-8]   // d30 = input[lower_index]
  47c3fc:       5e61dbde        scvtf   d30, d30
  47c400:       1f5e7c00        fmadd   d0, d0, d30, d31 // d0 = d0 * d30 + d31 = (1 - fraction) * input[lower_index] + input[lower_index+1] * fraction

without -Wp,-D_GLIBCXX_ASSERTIONS:
correct: calculates fraction * input[lower_index+1] + input[lower_index] * (1 - fraction)

  47b6a4:       fc616a7f        ldr     d31, [x19, x1]   // d31 = input[lower_index]
  47b6a8:       1e6e101d        fmov    d29, #1.000000000000000000e+00
  47b6ac:       fd40041e        ldr     d30, [x0, #8]    // d30 = input[lower_index+1]
  47b6b0:       1e603bbd        fsub    d29, d29, d0     // d29 = 1 - fraction
  47b6b4:       5e61dbff        scvtf   d31, d31
  47b6b8:       aa1603e0        mov     x0, x22
  47b6bc:       5e61dbde        scvtf   d30, d30
  47b6c0:       1e7d0bff        fmul    d31, d31, d29    // d31 =  input[lower_index] * (1 - fraction)
  47b6c4:       1f5e7c00        fmadd   d0, d0, d30, d31 // d0 = d0 * d30 + d31 = fraction * input[lower_index+1] + input[lower_index] * (1 - fraction)

I tried deliberately swap the two addends at the quantile kernel side, the test passed.

@pitrou
Copy link
Member

pitrou commented Nov 21, 2024

Floating point addition is not commutative (i.e., a+b != b+a)

That sounds unexpected to me? At least with "normal" (non-NaN) operands. Can you give examples of operands whose addition is non-commutative?

@cyb70289
Copy link
Contributor

I cannot find an example.
I dumped the operands of error case, as shown in below test code.

Build with gcc -O3.
On Arm server, it outputs mismatch:

f=0.071641, a=86.263564, b=82.135635
r1 = 82.43136555356123551519
r2 = 82.43136555356122130434
!!!!!! MISMATCH !!!!!!
r1 register = 40549b9b7e444aa7
r2 register = 40549b9b7e444aa6

On x86 server, no error:

f=0.071641, a=86.263564, b=82.135635
r1 = 82.43136555356123551519
r2 = 82.43136555356123551519

test code

#include <stdio.h>

// 64bit double register dumped from error case
volatile long fl=0x3fb257174cbebc00, al=0x405590de3a8ef93d, bl=0x405488ae3e2af9f6;

int main() {
    volatile double f = *(volatile double*)&fl;
    volatile double a = *(volatile double*)&al;
    volatile double b = *(volatile double*)&bl;
    printf("f=%f, a=%f, b=%f\n", f, a, b);

    double r1 = f * a + (1 - f) * b;
    double r2 = (1 - f) * b + f * a;
    printf("r1 = %.20f\n", r1);
    printf("r2 = %.20f\n", r2);
    if (r1 != r2) {
        printf("!!!!!! MISMATCH !!!!!!\n");
        printf("r1 register = %lx\n", *(long*)&r1);
        printf("r2 register = %lx\n", *(long*)&r2);
    }

    return 0;
}

@pitrou
Copy link
Member

pitrou commented Nov 21, 2024

Okay, so that might be because the compiled code uses FMADD which potentially removes one rounding step, yielding slightly different results.

We can probably simply relax the test a tiny little bit.

Given that this is gonna come up in other situations, we may add some helper functions:

bool WithinUlp(float left, float right, int n_ulps);
bool WithinUlp(double left, double right, int n_ulps);

void AssertWithinUlp(float left, float right, int n_ulps);
void AssertWithinUlp(double left, double right, int n_ulps);

I can write those helpers if that sounds ok.

@cyb70289
Copy link
Contributor

I can write those helpers if that sounds ok.

Yes, thanks @pitrou !

@cyb70289
Copy link
Contributor

Okay, so that might be because the compiled code uses FMADD which potentially removes one rounding step, yielding slightly different results.

You are right. x86 also fails the test if build with -mfma.

@ArchangeGabriel
Copy link
Author

(JFTR, addition and multiplication should be commutative for floating point numbers, associative is what they might not be)

@cyb70289
Copy link
Contributor

(JFTR, addition and multiplication should be commutative for floating point numbers, associative is what they might not be)

Indeed.

But for fma operation, IMO compiler should always stick to one ordering to prevent surprising result.
fma(a, b, c*d) != fma(c, d, a*b)
though a*b + c*d = c*d + a*b

@pitrou pitrou changed the title Test failure in arrow-compute-aggregate-test [C++] Test failure in arrow-compute-aggregate-test Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants